Rockchip open source Document mediawiki http://opensource.rock-chips.com/wiki_Main_Page MediaWiki 1.28.0 first-letter Media Special Talk User User talk Rockchip open source Document Rockchip open source Document talk File File talk MediaWiki MediaWiki talk Template Template talk Help Help talk Category Category talk U-Boot 0 11 70 2017-02-21T06:54:52Z Admin 1 创建页面,内容为“ *[http://processors.wiki.ti.com/index.php/Booting_Linux_kernel_using_U-Boot#Setting_up 1&nbsp;Setting up] *[http://processors.wiki.ti.com/index.php/Booting_Linux_k...” wikitext text/x-wiki *[http://processors.wiki.ti.com/index.php/Booting_Linux_kernel_using_U-Boot#Setting_up 1&nbsp;Setting up] *[http://processors.wiki.ti.com/index.php/Booting_Linux_kernel_using_U-Boot#Booting 2&nbsp;Booting] **[http://processors.wiki.ti.com/index.php/Booting_Linux_kernel_using_U-Boot#SDRAM 2.1&nbsp;SDRAM] **[http://processors.wiki.ti.com/index.php/Booting_Linux_kernel_using_U-Boot#SPI_Flash 2.2&nbsp;SPI Flash] **[http://processors.wiki.ti.com/index.php/Booting_Linux_kernel_using_U-Boot#NAND_Flash_.28ramdisk_as_rootfs.29 2.3&nbsp;NAND Flash (ramdisk as rootfs)] **[http://processors.wiki.ti.com/index.php/Booting_Linux_kernel_using_U-Boot#NAND_Flash_.28jffs2_image_as_rootfs.29 2.4&nbsp;NAND Flash (jffs2 image as rootfs)] **[http://processors.wiki.ti.com/index.php/Booting_Linux_kernel_using_U-Boot#NAND_Flash_.28UBIFS_image_as_rootfs.29 2.5&nbsp;NAND Flash (UBIFS image as rootfs)] **[http://processors.wiki.ti.com/index.php/Booting_Linux_kernel_using_U-Boot#NOR_Flash 2.6&nbsp;NOR Flash] **[http://processors.wiki.ti.com/index.php/Booting_Linux_kernel_using_U-Boot#USB_Storage 2.7&nbsp;USB Storage] 8ce5d7e43d2ac55098a2dcc58bee5bb79ea9077b Fastboot 0 12 104 2017-02-22T02:47:26Z Admin 1 创建页面,内容为“ == [[|1.1Fastboot]]主要支持命令 == === [[|1.1.1获取信息]] === {| border="1" cellpadding="0" cellspacing="0" width="760" |- | style="width:608px;" | fas...” wikitext text/x-wiki == [[1.1Fastboot]]主要支持命令 == === [[1.1.1获取信息]] === {| border="1" cellpadding="0" cellspacing="0" width="760" |- | style="width:608px;" | fastboot getvar version&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 获得版本 fastboot getvar version-bootloader&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 获得版本 fastboot getvar unlocked&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 获得解锁情况 fastboot getvar secure&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 获得锁住情况(与unlock相反) fastboot getvar product&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 获得产品信息 fastboot getvar serialno&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 获得序列号 fastboot getvar partition-type:<partition_name>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 获得指定分区类型 fastboot getvar partition-size:<partition_name>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 获得指定分区大小 fastboot getvar partition-offset:<partition_name>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 获得指定分区偏移 |} === 1.1.2&nbsp;[[镜像烧写]] === fastboot flash <partition_name> <filename>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 烧写固件 (如:fastboot flash system system.img。 烧写parameter/loader时,需指定分区名为”parameter”/”loader”) fastboot update <filename>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 烧写升级包 (升级包通过在android源码中make updatepackage生成) == 1.2&nbsp;[[重启]] == {| border="0" cellpadding="0" cellspacing="0" width="760" |- | style="width:608px;" | fastboot oem recovery&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 重启进recovery fastboot oem recovery:wipe_data&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 重启恢复出厂设置 fastboot reboot&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 重启 fastboot reboot-bootloader&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 重启进入rockusb烧写模式 fastboot continue&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 重启 |} === 1.2.1&nbsp;[[解锁和锁住设备]] === fastboot oem unlock&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 解锁 fastboot oem unlock_accept&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 确认解锁 (需要在fastboot oem unlock命令后,5秒内输入) fastboot oem lock&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 锁住设备 === 1.2.2&nbsp;[[特殊命令]] === fastboot boot <kernel> [ <ramdisk> ]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 临时从指定固件启动 (kernel目前支持Image/zImage,需要将dtb存于kernel末尾,或者resource分区中) fastboot oem log&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 获取串口log信息 fastboot oem ucmd <UBOOT cmds>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 运行UBOOT命令 == 1.3&nbsp;[[Fastboot]]解锁 == fastboot锁住状态下,不允许烧写及执行oem命令,初始状态为锁住。 解锁流程大致如下: 1、执行fastboot oem unlock 2、5秒内继续执行fastboot oem unlock_accept 3、机器会重启进入recovery恢复出厂设置 4、再次进入fastboot,则fastboot getvar unlocked应该返回"yes"(设备已解锁) &nbsp; 如果设备进入fastboot状态后,fastboot命令提示未发现设备,则需要在命令中加入-i参数指定设备vid,例如fastboot -i 0x2207 getvar unlocked 3dd98cb0ef3f862a23e3a5bbd9afa0d87f150d12 Main Page 0 16 133 2017-02-28T08:41:01Z Admin 1 Created page with " welcome to RK Linux community = (此测试用。) = '''已安装MediaWiki。''' <br/> [http://10.10.10.12:8444/index.php?title=Testcontent test] 入门 ( 此段测..." wikitext text/x-wiki welcome to RK Linux community = (此测试用。) = '''已安装MediaWiki。''' <br/> [http://10.10.10.12:8444/index.php?title=Testcontent test] 入门 ( 此段测试用。) *[http://10.10.10.12:8444/index.php?title=Testcontent3 MediaWiki配置设置列表] *[https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:FAQ/zh-hans MediaWiki常见问题] *[https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce MediaWiki发布邮件列表] *[https://www.mediawiki.org/wiki/Special:MyLanguage/Localisation#Translation_resources 本地化MediaWiki到您的语言] *[https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Combating_spam 了解如何在您的wiki上打击破坏] [http://blog.itpub.net/23718752/viewspace-2133139 .itpub.net/23718752/viewspace-2133139]" title="MySQL误操作数据恢复的简单实践(r11笔记第67天)">MySQL误操作数据恢复的简单实...</a> &nbsp; &nbsp; &nbsp; = overview = Welcome to the Rockchip Linux Driver Package Development Guide. It is intended for software engineers to help them understand the RK Linux&nbsp;Driver&nbsp;Package, commonly known as Linux&nbsp;for Rockchip.&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; = socs and feature = &nbsp; {| align="left" border="1" cellpadding="1" cellspacing="1" |- ! scope="col" | &nbsp; ! scope="col" | soc ! scope="col" | &nbsp; ! scope="col" | &nbsp; ! scope="col" | &nbsp; |- | &nbsp; | RV1108 | &nbsp; | &nbsp; | &nbsp; |- | &nbsp; | RK1608 | &nbsp; | &nbsp; | &nbsp; |- | &nbsp; | RK3188 | &nbsp; | &nbsp; | &nbsp; |- | &nbsp; | RK3036 | &nbsp; | &nbsp; | &nbsp; |- | &nbsp; | RK3066 | &nbsp; | &nbsp; | &nbsp; |- | &nbsp; | RK3288 | &nbsp; | &nbsp; | &nbsp; |- | &nbsp; | RK3399 | &nbsp; | &nbsp; | &nbsp; |- | &nbsp; | RK3328 | &nbsp; | &nbsp; | &nbsp; |- | &nbsp; | RK3228H | &nbsp; | &nbsp; | &nbsp; |- | &nbsp; | &nbsp; | &nbsp; | &nbsp; | &nbsp; |} &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; = Getting Started = *&nbsp; ===== package for starting ===== *&nbsp; ===== reference board preparation ===== *&nbsp; &nbsp; ===== boot options ===== *SPI 接口 *eMMC 接口 *SDMMC 接口 ===== Linux Host System Prerequisites ===== *&nbsp; ===== extract RK Linux driver package ===== *&nbsp; ===== tool ===== *&nbsp; ===== flashing the boot loader and kernel ===== *&nbsp; ===== configuration NFS root on the Linux host ===== *&nbsp; ===== getting the kernel sources ===== *&nbsp; ===== building kernel ===== *&nbsp; ===== determining version and platform information ===== *&nbsp; ===== bug reporting ===== &nbsp; = &nbsp; = = U-Boot Guide = ===== requirements ===== ===== tools ===== Boot_merger tool Resource_tool&nbsp; Trust_merger tool ===== toolchain ===== platform configuration system configuration ===== downloading ===== ===== building uboot ===== ===== Flashing U-Boot ===== ===== changing the eMMC partition layout ===== ===== testing root filesystem by Device ===== ===== <br/> building the device tree compiler ===== ===== adding a compiled kernel to the root file system ===== ===== &nbsp; ===== &nbsp; &nbsp; = &nbsp; = = Linux = Linux distribution [[Javascript:;|-&nbsp;Linux]] [http://rockchip.wikidot.com/linux-user-guide Users guide]<br/> [http://rockchip.wikidot.com/rootfs Rootfs overview]<br/> &nbsp; [[Javascript:;|-&nbsp;Support&nbsp;Packages]] [http://rockchip.wikidot.com/libmali libmali]<br/> [http://rockchip.wikidot.com/xserver xserver]<br/> [http://rockchip.wikidot.com/adb adb]<br/> [http://rockchip.wikidot.com/rockchip-va-driver rockchip-va-driver]<br/> [http://rockchip.wikidot.com/libvdpau-rockchip libvdpau-rockchip] [[Javascript:;|-&nbsp;Develop]] [http://rockchip.wikidot.com/partitions Partitions]<br/> [http://rockchip.wikidot.com/cross-compile App Cross Compile]<br/> [http://rockchip.wikidot.com/update Upgrade Firmware] ===== changelog ===== = kernel = &nbsp; [[Javascript:;|-&nbsp;Quick&nbsp;Start]] [http://rockchip.wikidot.com/build-kernel Build Kernel]<br/> [http://rockchip.wikidot.com/howto-kernel Develop-Tips] [[Javascript:;|-&nbsp;Display]] [http://rockchip.wikidot.com/lvds LVDS]<br/> [http://rockchip.wikidot.com/mipi MIPI-DSI]<br/> [http://rockchip.wikidot.com/edp eDP]<br/> [http://rockchip.wikidot.com/hdmi HDMI]<br/> [http://rockchip.wikidot.com/hdcp HDCP]<br/> [http://rockchip.wikidot.com/dp Display Port] [[Javascript:;|-&nbsp;USB]] [http://rockchip.wikidot.com/usb USB OTG]<br/> [http://rockchip.wikidot.com/usb USB Host]<br/> [http://rockchip.wikidot.com/usb USB Type C] [[Javascript:;|-&nbsp;Storage]] [http://rockchip.wikidot.com/nand Nand]<br/> [http://rockchip.wikidot.com/emmc eMMC]<br/> [http://rockchip.wikidot.com/sdcard SD CARD] [[Javascript:;|-&nbsp;Audio]] [http://rockchip.wikidot.com/HDMI-AUDIO HDMI-AUDIO]<br/> [http://rockchip.wikidot.com/i2s I2S]<br/> [http://rockchip.wikidot.com/spdif SPDIF] [[Javascript:;|-&nbsp;Connectivity]] [http://rockchip.wikidot.com/sdio SDIO]<br/> [http://rockchip.wikidot.com/pcie PCIe]<br/> [http://rockchip.wikidot.com/ethernet Ethernet] [[Javascript:;|-&nbsp;Graphics]] [http://rockchip.wikidot.com/rga RGA]<br/> [http://rockchip.wikidot.com/gpu GPU] [[Javascript:;|-&nbsp;Video]] [http://rockchip.wikidot.com/mipicsi MIPI-CSI]<br/> [http://rockchip.wikidot.com/v4l2 V4L2] [[Javascript:;|-&nbsp;Power]] [http://rockchip.wikidot.com/power-manage Sleep]<br/> [http://rockchip.wikidot.com/cpu-dvfs CPU DVFS]<br/> [http://rockchip.wikidot.com/gpu-dvfs GPU DVFS]<br/> [http://rockchip.wikidot.com/gpu-dvfs DDR DVFS] [[Javascript:;|-&nbsp;Other]] [http://rockchip.wikidot.com/pwm PWM]<br/> [http://rockchip.wikidot.com/i2c I2C]<br/> [http://rockchip.wikidot.com/spi SPI]<br/> [http://rockchip.wikidot.com/uart UART]<br/> [http://rockchip.wikidot.com/saradc SAR-ADC]<br/> [http://rockchip.wikidot.com/tsadc TS-ADC]<br/> [http://rockchip.wikidot.com/watchdog WatchDog] = &nbsp; = &nbsp; &nbsp; &nbsp; &nbsp; = howto = </div> &nbsp; == development == jtag &nbsp; &nbsp; &nbsp; &nbsp; = referencelinks = &nbsp; [http://rockchip.wikidot.com/ http://rockchip.wikidot.com/] = FAQ = this part will list some q = glossary = = license = = 下载 = [[DDR_support_list|DDR support list]]&nbsp;[http://10.10.10.12:8444/index.php?title=特殊:文件列表 http://10.10.10.12:8444/images/9/9e/RK_DDR_Support_List_Ver2.24.pdf] nand emmc 支持列表 chip roadmap = community = text 6c93a86d8a24dd9e483d9f5a0bcb749772556f3b 134 133 2017-02-28T08:46:22Z Kever 2 wikitext text/x-wiki welcome to RK Linux community = (此测试用。) = '''已安装MediaWiki。''' <br/> [http://10.10.10.12:8444/index.php?title=Testcontent test] 入门 ( 此段测试用。) *[http://10.10.10.12:8444/index.php?title=Testcontent3 MediaWiki配置设置列表] *[https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:FAQ/zh-hans MediaWiki常见问题] *[https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce MediaWiki发布邮件列表] *[https://www.mediawiki.org/wiki/Special:MyLanguage/Localisation#Translation_resources 本地化MediaWiki到您的语言] *[https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Combating_spam 了解如何在您的wiki上打击破坏] [http://blog.itpub.net/23718752/viewspace-2133139 .itpub.net/23718752/viewspace-2133139]" title="MySQL误操作数据恢复的简单实践(r11笔记第67天)">MySQL误操作数据恢复的简单实...</a> &nbsp; &nbsp; &nbsp; = overview = Welcome to the Rockchip Linux Driver Package Development Guide. It is intended for software engineers to help them understand the RK Linux&nbsp;Driver&nbsp;Package, commonly known as Linux&nbsp;for Rockchip.&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; = socs and feature = &nbsp; {| align="left" border="1" cellpadding="1" cellspacing="1" |- ! scope="col" | &nbsp; ! scope="col" | soc ! scope="col" | &nbsp; ! scope="col" | &nbsp; ! scope="col" | &nbsp; |- | &nbsp; | RV1108 | &nbsp; | &nbsp; | &nbsp; |- | &nbsp; | RK1608 | &nbsp; | &nbsp; | &nbsp; |- | &nbsp; | RK3188 | &nbsp; | &nbsp; | &nbsp; |- | &nbsp; | RK3036 | &nbsp; | &nbsp; | &nbsp; |- | &nbsp; | RK3066 | &nbsp; | &nbsp; | &nbsp; |- | &nbsp; | RK3288 | &nbsp; | &nbsp; | &nbsp; |- | &nbsp; | RK3399 | &nbsp; | &nbsp; | &nbsp; |- | &nbsp; | RK3328 | &nbsp; | &nbsp; | &nbsp; |- | &nbsp; | RK3228H | &nbsp; | &nbsp; | &nbsp; |- | &nbsp; | &nbsp; | &nbsp; | &nbsp; | &nbsp; |} &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; = Getting Started = *&nbsp; ===== package for starting ===== *&nbsp; reference board preparation *&nbsp; <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">$ hello world</div> ===== boot options ===== *SPI 接口 *eMMC 接口 *SDMMC 接口 ===== Linux Host System Prerequisites ===== *&nbsp; ===== extract RK Linux driver package ===== *&nbsp; ===== tool ===== *&nbsp; ===== flashing the boot loader and kernel ===== *&nbsp; ===== configuration NFS root on the Linux host ===== *&nbsp; ===== getting the kernel sources ===== *&nbsp; ===== building kernel ===== *&nbsp; ===== determining version and platform information ===== *&nbsp; ===== bug reporting ===== &nbsp; = &nbsp; = = U-Boot Guide = ===== requirements ===== ===== tools ===== Boot_merger tool Resource_tool&nbsp; Trust_merger tool ===== toolchain ===== platform configuration system configuration ===== downloading ===== ===== building uboot ===== ===== Flashing U-Boot ===== ===== changing the eMMC partition layout ===== ===== testing root filesystem by Device ===== ===== <br/> building the device tree compiler ===== ===== adding a compiled kernel to the root file system ===== ===== &nbsp; ===== &nbsp; &nbsp; = &nbsp; = = Linux = Linux distribution [[Javascript:;|-&nbsp;Linux]] [http://rockchip.wikidot.com/linux-user-guide Users guide]<br/> [http://rockchip.wikidot.com/rootfs Rootfs overview]<br/> &nbsp; [[Javascript:;|-&nbsp;Support&nbsp;Packages]] [http://rockchip.wikidot.com/libmali libmali]<br/> [http://rockchip.wikidot.com/xserver xserver]<br/> [http://rockchip.wikidot.com/adb adb]<br/> [http://rockchip.wikidot.com/rockchip-va-driver rockchip-va-driver]<br/> [http://rockchip.wikidot.com/libvdpau-rockchip libvdpau-rockchip] [[Javascript:;|-&nbsp;Develop]] [http://rockchip.wikidot.com/partitions Partitions]<br/> [http://rockchip.wikidot.com/cross-compile App Cross Compile]<br/> [http://rockchip.wikidot.com/update Upgrade Firmware] ===== changelog ===== = kernel = &nbsp; [[Javascript:;|-&nbsp;Quick&nbsp;Start]] [http://rockchip.wikidot.com/build-kernel Build Kernel]<br/> [http://rockchip.wikidot.com/howto-kernel Develop-Tips] [[Javascript:;|-&nbsp;Display]] [http://rockchip.wikidot.com/lvds LVDS]<br/> [http://rockchip.wikidot.com/mipi MIPI-DSI]<br/> [http://rockchip.wikidot.com/edp eDP]<br/> [http://rockchip.wikidot.com/hdmi HDMI]<br/> [http://rockchip.wikidot.com/hdcp HDCP]<br/> [http://rockchip.wikidot.com/dp Display Port] [[Javascript:;|-&nbsp;USB]] [http://rockchip.wikidot.com/usb USB OTG]<br/> [http://rockchip.wikidot.com/usb USB Host]<br/> [http://rockchip.wikidot.com/usb USB Type C] [[Javascript:;|-&nbsp;Storage]] [http://rockchip.wikidot.com/nand Nand]<br/> [http://rockchip.wikidot.com/emmc eMMC]<br/> [http://rockchip.wikidot.com/sdcard SD CARD] [[Javascript:;|-&nbsp;Audio]] [http://rockchip.wikidot.com/HDMI-AUDIO HDMI-AUDIO]<br/> [http://rockchip.wikidot.com/i2s I2S]<br/> [http://rockchip.wikidot.com/spdif SPDIF] [[Javascript:;|-&nbsp;Connectivity]] [http://rockchip.wikidot.com/sdio SDIO]<br/> [http://rockchip.wikidot.com/pcie PCIe]<br/> [http://rockchip.wikidot.com/ethernet Ethernet] [[Javascript:;|-&nbsp;Graphics]] [http://rockchip.wikidot.com/rga RGA]<br/> [http://rockchip.wikidot.com/gpu GPU] [[Javascript:;|-&nbsp;Video]] [http://rockchip.wikidot.com/mipicsi MIPI-CSI]<br/> [http://rockchip.wikidot.com/v4l2 V4L2] [[Javascript:;|-&nbsp;Power]] [http://rockchip.wikidot.com/power-manage Sleep]<br/> [http://rockchip.wikidot.com/cpu-dvfs CPU DVFS]<br/> [http://rockchip.wikidot.com/gpu-dvfs GPU DVFS]<br/> [http://rockchip.wikidot.com/gpu-dvfs DDR DVFS] [[Javascript:;|-&nbsp;Other]] [http://rockchip.wikidot.com/pwm PWM]<br/> [http://rockchip.wikidot.com/i2c I2C]<br/> [http://rockchip.wikidot.com/spi SPI]<br/> [http://rockchip.wikidot.com/uart UART]<br/> [http://rockchip.wikidot.com/saradc SAR-ADC]<br/> [http://rockchip.wikidot.com/tsadc TS-ADC]<br/> [http://rockchip.wikidot.com/watchdog WatchDog] = &nbsp; = &nbsp; &nbsp; &nbsp; &nbsp; = howto = </div> &nbsp; == development == jtag &nbsp; &nbsp; &nbsp; &nbsp; = referencelinks = &nbsp; [http://rockchip.wikidot.com/ http://rockchip.wikidot.com/] = FAQ = this part will list some q = glossary = = license = = 下载 = [[DDR_support_list|DDR support list]]&nbsp;[http://10.10.10.12:8444/index.php?title=特殊:文件列表 http://10.10.10.12:8444/images/9/9e/RK_DDR_Support_List_Ver2.24.pdf] nand emmc 支持列表 chip roadmap = community = text a7e01e54bb151b552a41c830587894261fdbf9a6 135 134 2017-03-01T01:15:29Z Admin 1 wikitext text/x-wiki = '''Hardware Document''' = {| border="1" cellpadding="0" cellspacing="0" |- | style="width:92px;" | SoC | style="width:286px;" | Description | style="width:189px;" | Download |- | style="width:92px;" | RK3288 | style="width:286px;" | Quad-core Cortex-A17 | style="width:189px;" | TRM, Datasheet,Schematic |- | style="width:92px;" | RK3328 | style="width:286px;" | Quad-core Cortex-A53 | style="width:189px;" | TRM, Datasheet,Schematic |- | style="width:92px;" | RK3399 | style="width:286px;" | Dual-core Cortex-A72, Quad-core Cortex-A53 | style="width:189px;" | TRM, Datasheet,Schematic |} = &nbsp; = = '''Software development&nbsp;''' = *'''&nbsp; &nbsp;Porting guide for Linux based OS/Distribution''' &nbsp; &nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Debian(链接到对应二级目录) &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Yocto(链接到对应二级目录) &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Buildroot(链接到对应二级目录) &nbsp; *'''&nbsp; BSP module user guide''' &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Rockchip U-Boot (链到二级 rockchip-uboot页面) &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Rockchip Kernel (链到二级 rockchip-kernel页面) &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Upstream U-Boot (链到二级 upstream-uboot页面) &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Upstream Kernel (链到二级 upstream-kernel页面) &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Upstream ATF (链到二级 upstream-atf页面) &nbsp; *'''&nbsp; &nbsp;Graphic and Video module user guide''' &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;GPU-MALI400/450(链接到对应二级目录) (waylane和X11是否需要分开?) &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;GPU-T760 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;GPU-T860 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Gstreamer &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;MPP &nbsp; *'''Tool and Firmware Upgrade''' &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Rockusb(链接到对应二级目录) &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Rkdevelptool 60bc40ab50a3563cc43d1369ce7e7abfd78f6769 136 135 2017-03-01T01:27:39Z Admin 1 wikitext text/x-wiki = '''Hardware Document''' = {| border="1" cellpadding="0" cellspacing="0" |- | style="width:92px;" | SoC | style="width:286px;" | Description | style="width:189px;" | Download |- | style="width:92px;" | RK3288 | style="width:286px;" | Quad-core Cortex-A17 | style="width:189px;" | [[TRM|TRM]], [[Datasheet]],[[Schematic]] |- | style="width:92px;" | RK3328 | style="width:286px;" | Quad-core Cortex-A53 | style="width:189px;" | [[TRM]], [[Datasheet]],[[Schematic]] |- | style="width:92px;" | RK3399 | style="width:286px;" | Dual-core Cortex-A72, Quad-core Cortex-A53 | style="width:189px;" | [[TRM]], [[Datasheet]],[[Schematic]] |} = &nbsp; = = '''Software development&nbsp;''' = *'''&nbsp; &nbsp;Porting guide for Linux based OS/Distribution''' &nbsp; &nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Debian]](链接到对应二级目录) &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Yocto]](链接到对应二级目录) &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Buildroot]](链接到对应二级目录) &nbsp; *'''&nbsp; BSP module user guide''' &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Rockchip_U-Boot]] (链到二级 rockchip-uboot页面) &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Rockchip_Kernel]] (链到二级 rockchip-kernel页面) &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Upstream_U-Boot|Upstream U-Boot ]](链到二级 upstream-uboot页面) &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Upstream_Kernel]] (链到二级 upstream-kernel页面) &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Upstream_ATF]] (链到二级 upstream-atf页面) &nbsp; *'''&nbsp; &nbsp;Graphic and Video module user guide''' &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[GPU-MALI400/450]](链接到对应二级目录) (waylane和X11是否需要分开?) &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[GPU-T760]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[GPU-T860]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Gstreamer]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[MPP]] &nbsp; *'''Tool and Firmware Upgrade''' &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Rockusb]](链接到对应二级目录) &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Rkdevelptool]] 682cb2f269a1b9fd1ebecd117c8308ee4d543f1c 137 136 2017-03-01T06:50:53Z Kever 2 wikitext text/x-wiki = '''Hardware Document''' = {| border="1" cellpadding="0" cellspacing="0" |- | style="width:92px;" | SoC | style="width:286px;" | Description | style="width:189px;" | Download |- | style="width:92px;" | RK3288 | style="width:286px;" | Quad-core Cortex-A17 CPU, MALI-T760 GPU | style="width:189px;" | [[TRM|TRM]], [[Datasheet|Datasheet]],[[Schematic|Schematic]] |- | style="width:92px;" | RK3328 | style="width:286px;" | Quad-core Cortex-A53 CPU,MALI-450MP2 GPU | style="width:189px;" | [[TRM|TRM]], [[Datasheet|Datasheet]],[[Schematic|Schematic]] |- | style="width:92px;" | RK3399 | style="width:286px;" | Dual-core Cortex-A72, Quad-core Cortex-A53 CPU, MALI-T860 GPU | style="width:189px;" | [[TRM|TRM]], [[Datasheet|Datasheet]],[[Schematic|Schematic]] |} = &nbsp; = = '''Software development&nbsp;''' = *'''&nbsp; &nbsp;Porting guide for Linux based OS/Distribution''' &nbsp; &nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Debian]](链接到对应二级目录) &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Yocto]](链接到对应二级目录) &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Buildroot]](链接到对应二级目录) &nbsp; *'''&nbsp; BSP module user guide''' &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Rockchip_U-Boot]] (链到二级 rockchip-uboot页面) &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Rockchip_Kernel]] (链到二级 rockchip-kernel页面) &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Upstream_U-Boot|Upstream U-Boot ]](链到二级 upstream-uboot页面) &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Upstream_Kernel]] (链到二级 upstream-kernel页面) &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Upstream_ATF]] (链到二级 upstream-atf页面) &nbsp; *'''&nbsp; &nbsp;Graphic and Video module user guide''' &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[GPU-MALI400/450]](链接到对应二级目录) (waylane和X11是否需要分开?) &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[GPU-T760]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[GPU-T860]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Gstreamer]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[MPP]] &nbsp; *'''Tool and Firmware Upgrade''' &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Rockusb]](链接到对应二级目录) &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Rkdevelptool]] 982cc53632fc8783d3c05cd030962177ff7dae86 138 137 2017-03-01T09:07:45Z Kever 2 wikitext text/x-wiki = '''Hardware Document''' = {| border="1" cellpadding="0" cellspacing="0" |- | style="width:92px;" | SoC | style="width:286px;" | Description | style="width:189px;" | Download |- | style="width:92px;" | RK3288 | style="width:286px;" | Quad-core Cortex-A17 CPU, MALI-T760 GPU | style="width:189px;" | [[TRM|TRM]], [[Datasheet|Datasheet]],[[Schematic|Schematic]] |- | style="width:92px;" | RK3328 | style="width:286px;" | Quad-core Cortex-A53 CPU,MALI-450MP2 GPU | style="width:189px;" | [[TRM|TRM]], [[Datasheet|Datasheet]],[[Schematic|Schematic]] |- | style="width:92px;" | RK3399 | style="width:286px;" | Dual-core Cortex-A72, Quad-core Cortex-A53 CPU, MALI-T860 GPU | style="width:189px;" | [[TRM|TRM]], [[Datasheet|Datasheet]],[[Schematic|Schematic]] |} = &nbsp; = = '''Software development&nbsp;''' = *'''&nbsp; &nbsp;Porting guide for Linux based OS/Distribution''' &nbsp; &nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Debian|Debian]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Yocto|Yocto]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Buildroot|Buildroot]] &nbsp; *'''&nbsp; BSP module user guide''' &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Rockchip_U-Boot|Rockchip_U-Boot]]&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Rockchip_Kernel|Rockchip_Kernel]]&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Upstream_U-Boot|Upstream U-Boot]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Upstream_Kernel|Upstream_Kernel]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Upstream_ATF|Upstream_ATF]] &nbsp; *'''&nbsp; &nbsp;Graphic and Video module user guide''' &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Display_Server|Display Server]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Gstreamer|Gstreamer]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[MPP|MPP]] &nbsp; *'''Tool and Firmware Upgrade''' &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Rockusb|Rockusb]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Rkdevelptool|Rkdevelptool]] 9ad62c018d1fa36c620b80f6a4f3f8e281f84918 139 138 2017-03-01T09:08:35Z Kever 2 wikitext text/x-wiki = '''Hardware Document''' = {| border="1" cellpadding="0" cellspacing="0" |- | style="width:92px;" | <p style="text-align: center;">SoC</p> | style="width:286px;" | <p style="text-align: center;">Description</p> | style="width:189px;" | <p style="text-align: center;">Download</p> |- | style="width:92px;" | <p style="text-align: center;">RK3288</p> | style="width:286px;" | Quad-core Cortex-A17 CPU, MALI-T760 GPU | style="width:189px;" | [[TRM|TRM]], [[Datasheet|Datasheet]],[[Schematic|Schematic]] |- | style="width:92px;" | <p style="text-align: center;">RK3328</p> | style="width:286px;" | Quad-core Cortex-A53 CPU,MALI-450MP2 GPU | style="width:189px;" | [[TRM|TRM]], [[Datasheet|Datasheet]],[[Schematic|Schematic]] |- | style="width:92px;" | <p style="text-align: center;">RK3399</p> | style="width:286px;" | Dual-core Cortex-A72, Quad-core Cortex-A53 CPU, MALI-T860 GPU | style="width:189px;" | [[TRM|TRM]], [[Datasheet|Datasheet]],[[Schematic|Schematic]] |} = &nbsp; = = '''Software development&nbsp;''' = *'''&nbsp; &nbsp;Porting guide for Linux based OS/Distribution''' &nbsp; &nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Debian|Debian]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Yocto|Yocto]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Buildroot|Buildroot]] &nbsp; *'''&nbsp; BSP module user guide''' &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Rockchip_U-Boot|Rockchip_U-Boot]]&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Rockchip_Kernel|Rockchip_Kernel]]&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Upstream_U-Boot|Upstream U-Boot]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Upstream_Kernel|Upstream_Kernel]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Upstream_ATF|Upstream_ATF]] &nbsp; *'''&nbsp; &nbsp;Graphic and Video module user guide''' &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Display_Server|Display Server]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Gstreamer|Gstreamer]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[MPP|MPP]] &nbsp; *'''Tool and Firmware Upgrade''' &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Rockusb|Rockusb]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Rkdevelptool|Rkdevelptool]] 9838cf48f5fb29a9d16f6c826eee18aeeac4120b 141 139 2017-03-01T09:23:31Z Admin 1 wikitext text/x-wiki &nbsp; = '''Hardware Document''' = {| border="1" cellpadding="0" cellspacing="0" |- | style="width:92px;" | <p style="text-align: center;">SoC</p> | style="width:286px;" | <p style="text-align: center;">Description</p> | style="width:189px;" | <p style="text-align: center;">Download</p> |- | style="width:92px;" | <p style="text-align: center;">RK3288</p> | style="width:286px;" | Quad-core Cortex-A17 CPU, MALI-T760 GPU | style="width:189px;" | [http://10.10.10.12:8444/index.php?title=TRM TRM], [[Datasheet|Datasheet]],[[Schematic|Schematic]] |- | style="width:92px;" | <p style="text-align: center;">RK3328</p> | style="width:286px;" | Quad-core Cortex-A53 CPU,MALI-450MP2 GPU | style="width:189px;" | [[TRM|TRM]], [[Datasheet|Datasheet]],[[Schematic|Schematic]] |- | style="width:92px;" | <p style="text-align: center;">RK3399</p> | style="width:286px;" | Dual-core Cortex-A72, Quad-core Cortex-A53 CPU, MALI-T860 GPU | style="width:189px;" | [[TRM|TRM]], [[Datasheet|Datasheet]],[[Schematic|Schematic]] |} = &nbsp; = = '''Software development&nbsp;''' = *'''&nbsp; &nbsp;Porting guide for Linux based OS/Distribution''' &nbsp; &nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Debian|Debian]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Yocto|Yocto]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Buildroot|Buildroot]] &nbsp; *'''&nbsp; BSP module user guide''' &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Rockchip_U-Boot|Rockchip_U-Boot]]&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Rockchip_Kernel|Rockchip_Kernel]]&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Upstream_U-Boot|Upstream U-Boot]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Upstream_Kernel|Upstream_Kernel]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Upstream_ATF|Upstream_ATF]] &nbsp; *'''&nbsp; &nbsp;Graphic and Video module user guide''' &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Display_Server|Display Server]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Gstreamer|Gstreamer]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[MPP|MPP]] &nbsp; *'''Tool and Firmware Upgrade''' &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Rockusb|Rockusb]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Rkdevelptool|Rkdevelptool]] b50bb36284ecb34b2fb05061ca429a0dd50fe89c 144 141 2017-03-01T10:07:05Z Kever 2 wikitext text/x-wiki &nbsp; = '''Hardware Document''' = {| border="1" cellpadding="0" cellspacing="0" |- | style="width:92px;" | <p style="text-align: center;">SoC</p> | style="width:286px;" | <p style="text-align: center;">Description</p> | style="width:189px;" | <p style="text-align: center;">Download</p> |- | style="width:92px;" | <p style="text-align: center;">[[RK3288]]</p> | style="width:286px;" | Quad-core Cortex-A17 CPU, MALI-T760 GPU | style="width:189px;" | [http://10.10.10.12:8444/index.php?title=TRM TRM], [[Datasheet|Datasheet]],[[Schematic|Schematic]] |- | style="width:92px;" | <p style="text-align: center;">[[RK3328]]</p> | style="width:286px;" | Quad-core Cortex-A53 CPU,MALI-450MP2 GPU | style="width:189px;" | [[TRM|TRM]], [[Datasheet|Datasheet]],[[Schematic|Schematic]] |- | style="width:92px;" | <p style="text-align: center;">[[RK3399]]</p> | style="width:286px;" | Dual-core Cortex-A72, Quad-core Cortex-A53 CPU, MALI-T860 GPU | style="width:189px;" | [[TRM|TRM]], [[Datasheet|Datasheet]],[[Schematic|Schematic]] |} = &nbsp; = = '''Software development&nbsp;''' = *'''&nbsp; &nbsp;Porting guide for Linux based OS/Distribution''' &nbsp; &nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Debian|Debian]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Yocto|Yocto]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Buildroot|Buildroot]] &nbsp; *'''&nbsp; BSP module user guide''' &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Rockchip_U-Boot|Rockchip_U-Boot]]&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Rockchip_Kernel|Rockchip_Kernel]]&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Upstream_U-Boot|Upstream U-Boot]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Upstream_Kernel|Upstream_Kernel]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Upstream_ATF|Upstream_ATF]] &nbsp; *'''&nbsp; &nbsp;Graphic and Video module user guide''' &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Display_Server|Display Server]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Gstreamer|Gstreamer]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[MPP|MPP]] &nbsp; *'''Tool and Firmware Upgrade''' &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Rockusb|Rockusb]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Rkdevelptool|Rkdevelptool]] bfb1a94ce3ccfe9b9c953f91bf32a4d57e237f15 Upstream Kernel 0 19 143 2017-03-01T10:03:08Z Kever 2 Created page with " Rockchip is woring on upstream SoC support to Mainline kernel: https://www.kernel.org/ SoC support including: RK3036, RK3066, RK3188, RK3288, RK3368, RK3399" wikitext text/x-wiki Rockchip is woring on upstream SoC support to Mainline kernel: https://www.kernel.org/ SoC support including: RK3036, RK3066, RK3188, RK3288, RK3368, RK3399 7d83f17733606680a57ade4c9adfa2f85485c995 RK3288 0 20 145 2017-03-01T10:07:47Z Kever 2 Created page with " = Overview = A31 powered by 4 CPU and 8 GPU (Power VR SGX544 for Ployer and Power VR SGX544MP2 for Onda). A31 Graph A31 CPU architecture consists of quad ARM Cortex-A7..." wikitext text/x-wiki = Overview = A31 powered by 4 CPU and 8 GPU (Power VR SGX544 for Ployer and Power VR SGX544MP2 for Onda). A31 Graph A31 CPU architecture consists of quad ARM Cortex-A7 cores to deliver decent computing capability while consuming less power, and integrates the PowerVR SGX544 GPU. It also features&nbsp;[http://linux-sunxi.org/Cedar_Engine Cedar Engine]&nbsp;multimedia processing unit that is capable of up to 2160p (3840x1080@30fps 4k resolution or 1080p 3D decoding) video decoding, with integrated HDMI 1.4 output support, and H.264 HP (High Profile) in 1080p at 30fps video encoding. Proper Linux support now difficult for A31 due to the&nbsp;[http://linux-sunxi.org/Power_VR Power VR]&nbsp;GPU, though; however, its kernel source is available[http://git.rhombus-tech.net/linux [1]]&nbsp;now and also for U-boot[http://git.rhombus-tech.net/?p=u-boot.git;a=tree;h=refs/heads/allwinner-sunxi-a31;hb=refs/heads/allwinner-sunxi-a31 [2]]. == Cortex-A7 == Cortex-A7 is 100% ISA compatible with the Cortex-A15, this includes the new virtualization instructions, integer divide support and 40-bit memory addressing. Any code running on an A15 can run on a Cortex A7, just slower. This is a very important feature as it enables SoC vendors to build chips with both Cortex A7 and Cortex A15 cores, switching between them depending on workload requirements. ARM calls this a big.LITTLE configuration.<sup id="cite_ref-2">[http://linux-sunxi.org/A31#cite_note-2 [2]]</sup><sup id="cite_ref-3">[http://linux-sunxi.org/A31#cite_note-3 [3]]</sup><sup id="cite_ref-4">[http://linux-sunxi.org/A31#cite_note-4 [4]]</sup> == A31s == The A31s is the same die as the A31 in a different package. In terms of hardware specification and functionality they are identical. = A31 SoC Features = *CPU: **ARM Cortex-A7 Quad-Core ([http://infocenter.arm.com/help/topic/com.arm.doc.epm016887/index.html revision r0p3]) **256KB L1-Cache **1MB L2-Cache *GPU: **[http://linux-sunxi.org/Power_VR Power VR]&nbsp;SGX 544 **Eight logic cores (8 shader engines) **Comply with Open GL ES2.0, Open CL1.x, DX 9_3 *Video: **UHD H.264 4K ×2K @30fps video decoding **Full HD video decoding **BD Directory, BD ISO and BD m2ts video decoding **H.264 High Profile&nbsp;1080P@60fps encoding **3840x1080@30fps 3D decoding **Comply with RTSP, HTTP, HLS, RTMP, MMS streaming media protocol *Display: **Dual-Channel LVDS 1920&nbsp;×1080@60fps **4-lane MIPI DSI 1920 × 1200@ 60fps **Dual-Channel RGB/CPU 2048&nbsp;×1536@60fps **Integrated HDMI 1.4 4K ×2K@ 30fps *Camera: **Integrated Parallel & MIPI I/F sensor **Integrated Powerful ISP, supporting Raw Data CMOS sensor **5M/8M/12M CMOS Sensor supported **8/10/12-bit RGB Bayer sensor supported *Memory: **Dual-Channel LPDDR2/DDR3/DDR3L Controller **Dual-Channel NAND FLASH Controller **64-bit ECC *PMIC: **A31exclusively tailor-made PMIC&nbsp;[http://linux-sunxi.org/AXP221 AXP221] **21-CH power output and 2.2A Flash charging **Comply with USB 3.0 power supply standard *Embedded Controller: **[http://linux-sunxi.org/AR100 AR100], an OpenRISC controller. Manages deep powersave modes. *Audio: **Integrated HI-FI 100dB Audio Codec **Three MIC **One MIC with Noise cancellation *OS: **Support Android 4.2 or up **Support Microsoft Windows 8 520f36281a24758507bf9c5c70b79e84126ce6bd 177 145 2017-03-06T03:04:57Z Admin 1 wikitext text/x-wiki = Overview = The RK3288 offer &nbsp;extendable, leading&nbsp;performance,long-standing heritage&nbsp;which integrated&nbsp;&nbsp;Quad-core&nbsp;Cortex-A17, , ideally suited for&nbsp;<br/> the tablet,box and chromebook. SK hynix 8Gb&nbsp;<br/> DDR4 SDRAMs offer fully synchronous operations referenced to both rising and falling edges of the clock.&nbsp;<br/> While all addresses and control inputs are latched on the rising edges of the CK (falling edges of the CK),&nbsp;<br/> Data, Data strobes and Write data masks inputs are sampled on both rising and falling edges of it. The&nbsp;<br/> data paths are internally pipelined and 8-bit prefetched to achieve very high bandwidth. = A31 SoC Features = *CPU: **ARM Cortex-A7 Quad-Core ([http://infocenter.arm.com/help/topic/com.arm.doc.epm016887/index.html revision r0p3]) **256KB L1-Cache **1MB L2-Cache *GPU: **[http://linux-sunxi.org/Power_VR Power VR]&nbsp;SGX 544 **Eight logic cores (8 shader engines) **Comply with Open GL ES2.0, Open CL1.x, DX 9_3 *Video: **UHD H.264 4K ×2K @30fps video decoding **Full HD video decoding **BD Directory, BD ISO and BD m2ts video decoding **H.264 High Profile&nbsp;1080P@60fps encoding **3840x1080@30fps 3D decoding **Comply with RTSP, HTTP, HLS, RTMP, MMS streaming media protocol *Display: **Dual-Channel LVDS 1920&nbsp;×1080@60fps **4-lane MIPI DSI 1920 × 1200@ 60fps **Dual-Channel RGB/CPU 2048&nbsp;×1536@60fps **Integrated HDMI 1.4 4K ×2K@ 30fps *Camera: **Integrated Parallel & MIPI I/F sensor **Integrated Powerful ISP, supporting Raw Data CMOS sensor **5M/8M/12M CMOS Sensor supported **8/10/12-bit RGB Bayer sensor supported *Memory: **Dual-Channel LPDDR2/DDR3/DDR3L Controller **Dual-Channel NAND FLASH Controller **64-bit ECC *PMIC: **A31exclusively tailor-made PMIC&nbsp;[http://linux-sunxi.org/AXP221 AXP221] **21-CH power output and 2.2A Flash charging **Comply with USB 3.0 power supply standard *Embedded Controller: **[http://linux-sunxi.org/AR100 AR100], an OpenRISC controller. Manages deep powersave modes. *Audio: **Integrated HI-FI 100dB Audio Codec **Three MIC **One MIC with Noise cancellation *OS: **Support Android 4.2 or up **Support Microsoft Windows 8 b3e4f5e81564d9c2a0dfe22fd6d09cc5fce4972b 178 177 2017-03-06T03:51:49Z Admin 1 wikitext text/x-wiki = Overview = The RK3288 offer a extentable, leading&nbsp;performance,long-standing heritage platform,ideally suited for &nbsp;set-top box solution, tablet and chromebook.The platform is integrated with a Quad-Core Cortex-A17 which up to 1.8Ghz and ARM Mali-T764&nbsp;which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. are optimal for applications such as imaging/video, communication and broadband infrastructure, industrial, medical, test and measurement, high-end computing, and performance audio applications. Quite simply, TI offers a vast assortment of floating/fixed point single core&nbsp;and&nbsp;options that address the most mission critical design challenges to the most cost or power-sensitive application needs. SK hynix 8Gb&nbsp;DDR4 SDRAMs offer fully synchronous operations referenced to both rising and falling edges of the clock.&nbsp;<br/> While all addresses and control inputs are latched on the rising edges of the CK (falling edges of the CK),&nbsp;<br/> Data, Data strobes and Write data masks inputs are sampled on both rising and falling edges of it. The&nbsp;<br/> data paths are internally pipelined and 8-bit prefetched to achieve very high bandwidth. = A31 SoC Features = *CPU: **ARM Cortex-A7 Quad-Core ([http://infocenter.arm.com/help/topic/com.arm.doc.epm016887/index.html revision r0p3]) **256KB L1-Cache **1MB L2-Cache *GPU: **[http://linux-sunxi.org/Power_VR Power VR]&nbsp;SGX 544 **Eight logic cores (8 shader engines) **Comply with Open GL ES2.0, Open CL1.x, DX 9_3 *Video: **UHD H.264 4K ×2K @30fps video decoding **Full HD video decoding **BD Directory, BD ISO and BD m2ts video decoding **H.264 High Profile&nbsp;1080P@60fps encoding **3840x1080@30fps 3D decoding **Comply with RTSP, HTTP, HLS, RTMP, MMS streaming media protocol *Display: **Dual-Channel LVDS 1920&nbsp;×1080@60fps **4-lane MIPI DSI 1920 × 1200@ 60fps **Dual-Channel RGB/CPU 2048&nbsp;×1536@60fps **Integrated HDMI 1.4 4K ×2K@ 30fps *Camera: **Integrated Parallel & MIPI I/F sensor **Integrated Powerful ISP, supporting Raw Data CMOS sensor **5M/8M/12M CMOS Sensor supported **8/10/12-bit RGB Bayer sensor supported *Memory: **Dual-Channel LPDDR2/DDR3/DDR3L Controller **Dual-Channel NAND FLASH Controller **64-bit ECC *PMIC: **A31exclusively tailor-made PMIC&nbsp;[http://linux-sunxi.org/AXP221 AXP221] **21-CH power output and 2.2A Flash charging **Comply with USB 3.0 power supply standard *Embedded Controller: **[http://linux-sunxi.org/AR100 AR100], an OpenRISC controller. Manages deep powersave modes. *Audio: **Integrated HI-FI 100dB Audio Codec **Three MIC **One MIC with Noise cancellation *OS: **Support Android 4.2 or up **Support Microsoft Windows 8 18f1e74f52f5f49b479e87489f1d96cf5cca7753 179 178 2017-03-06T03:59:06Z Admin 1 wikitext text/x-wiki = Overview = The RK3288 offer a extentable, leading&nbsp;performance,long-standing heritage platform,ideally suited for &nbsp;set-top box solution, tablet and chromebook.The platform is integrated with a Quad-Core Cortex-A17 which up to 1.8Ghz and ARM Mali-T764&nbsp;which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11.A&nbsp;vast assortment of interface provided a hacker friendly platform. Futhermore,it cost low() are optimal for applications such as imaging/video, communication and broadband infrastructure, industrial, medical, test and measurement, high-end computing, and performance audio applications. Quite simply, TI offers a vast assortment of floating/fixed point single core&nbsp;and&nbsp;options that address the most mission critical design challenges to the most cost or power-sensitive application needs. offer fully synchronous operations referenced to&nbsp;<br/> While all addresses and control inputs are latched on the rising edges of the CK (falling edges of the CK),&nbsp;<br/> Data, Data strobes and Write data masks inputs are sampled on both rising and falling edges of it. The&nbsp;<br/> data paths are internally pipelined and 8-bit prefetched to achieve very high bandwidth. = A31 SoC Features = *CPU: **ARM Cortex-A7 Quad-Core ([http://infocenter.arm.com/help/topic/com.arm.doc.epm016887/index.html revision r0p3]) **256KB L1-Cache **1MB L2-Cache *GPU: **[http://linux-sunxi.org/Power_VR Power VR]&nbsp;SGX 544 **Eight logic cores (8 shader engines) **Comply with Open GL ES2.0, Open CL1.x, DX 9_3 *Video: **UHD H.264 4K ×2K @30fps video decoding **Full HD video decoding **BD Directory, BD ISO and BD m2ts video decoding **H.264 High Profile&nbsp;1080P@60fps encoding **3840x1080@30fps 3D decoding **Comply with RTSP, HTTP, HLS, RTMP, MMS streaming media protocol *Display: **Dual-Channel LVDS 1920&nbsp;×1080@60fps **4-lane MIPI DSI 1920 × 1200@ 60fps **Dual-Channel RGB/CPU 2048&nbsp;×1536@60fps **Integrated HDMI 1.4 4K ×2K@ 30fps *Camera: **Integrated Parallel & MIPI I/F sensor **Integrated Powerful ISP, supporting Raw Data CMOS sensor **5M/8M/12M CMOS Sensor supported **8/10/12-bit RGB Bayer sensor supported *Memory: **Dual-Channel LPDDR2/DDR3/DDR3L Controller **Dual-Channel NAND FLASH Controller **64-bit ECC *PMIC: **A31exclusively tailor-made PMIC&nbsp;[http://linux-sunxi.org/AXP221 AXP221] **21-CH power output and 2.2A Flash charging **Comply with USB 3.0 power supply standard *Embedded Controller: **[http://linux-sunxi.org/AR100 AR100], an OpenRISC controller. Manages deep powersave modes. *Audio: **Integrated HI-FI 100dB Audio Codec **Three MIC **One MIC with Noise cancellation *OS: **Support Android 4.2 or up **Support Microsoft Windows 8 6bfed29641d731a7b5206ec72e98b500d7bf19d4 181 179 2017-03-06T11:27:31Z Admin 1 wikitext text/x-wiki = Overview = The RK3288 offer a extentable, leading&nbsp;performance,long-standing heritage platform,ideally suited for &nbsp;set-top box solution, tablet and chromebook.The platform is integrated with a Quad-Core Cortex-A17 which up to 1.8Ghz and ARM Mali-T764&nbsp;which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11.A&nbsp;vast assortment of interface provided a friendly solution to develop. Futhermore, the power consumption is&nbsp;optimal for applications such as imaging/video, communication and broadband infrastructure,and performance audio applications. = A31 SoC Features = *CPU: **ARM Cortex-A7 Quad-Core ([http://infocenter.arm.com/help/topic/com.arm.doc.epm016887/index.html revision r0p3]) **256KB L1-Cache **1MB L2-Cache *GPU: **[http://linux-sunxi.org/Power_VR Power VR]&nbsp;SGX 544 **Eight logic cores (8 shader engines) **Comply with Open GL ES2.0, Open CL1.x, DX 9_3 *Video: **UHD H.264 4K ×2K @30fps video decoding **Full HD video decoding **BD Directory, BD ISO and BD m2ts video decoding **H.264 High Profile&nbsp;1080P@60fps encoding **3840x1080@30fps 3D decoding **Comply with RTSP, HTTP, HLS, RTMP, MMS streaming media protocol *Display: **Dual-Channel LVDS 1920&nbsp;×1080@60fps **4-lane MIPI DSI 1920 × 1200@ 60fps **Dual-Channel RGB/CPU 2048&nbsp;×1536@60fps **Integrated HDMI 1.4 4K ×2K@ 30fps *Camera: **Integrated Parallel & MIPI I/F sensor **Integrated Powerful ISP, supporting Raw Data CMOS sensor **5M/8M/12M CMOS Sensor supported **8/10/12-bit RGB Bayer sensor supported *Memory: **Dual-Channel LPDDR2/DDR3/DDR3L Controller **Dual-Channel NAND FLASH Controller **64-bit ECC *PMIC: **A31exclusively tailor-made PMIC&nbsp;[http://linux-sunxi.org/AXP221 AXP221] **21-CH power output and 2.2A Flash charging **Comply with USB 3.0 power supply standard *Embedded Controller: **[http://linux-sunxi.org/AR100 AR100], an OpenRISC controller. Manages deep powersave modes. *Audio: **Integrated HI-FI 100dB Audio Codec **Three MIC **One MIC with Noise cancellation *OS: **Support Android 4.2 or up **Support Microsoft Windows 8 f386f8a51f22baa4674b62dad1a105941fbe0212 182 181 2017-03-06T12:23:54Z Admin 1 wikitext text/x-wiki = Overview = The RK3288 offer a extentable, leading&nbsp;performance,long-standing heritage platform,ideally suited for &nbsp;set-top box solution, tablet and chromebook.The platform is integrated with a Quad-Core Cortex-A17 which up to 1.8Ghz and ARM Mali-T764&nbsp;which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11.A&nbsp;vast assortment of interface provided a friendly solution to develop. Futhermore, the power consumption is&nbsp;optimal for applications such as imaging/video, communication and broadband infrastructure,and performance audio applications. = RK3288 SoC Features = *CPU: **Quad Core Cortex-A17&nbsp;up to 1.8GHz **32KB L1-Cache **1MB L2-Cache *GPU: **ARM Mali-T764 GPU, with TE, ASTC, AFBC technology **Quad core 3D Graphics engine **Dual core 2D Graphics engine **Comply with&nbsp;OpenGL ES1.1/2.0/3.0, OpenVG1.1, OpenCL, DirectX11 *Display: **4Kx2K@60fpsHDMI2.0 **Up to 3840X2160 display resolution **Support dual-channel LVDS/dual-channel MIPI-DSI/eDP1.1 *Camera: **Support up to 5M pixels **8bits/10bits/12bits raw data interface&nbsp; *Memory: **Dual channels 64-bit DRAM controller **Support DDR3/DDR3L, LPDDR2, LPDDR3 *Connectivity: **Embedded 13M ISP and MIPI-CSI2 interface *Audio: **I2S/PCM with 8 channels *OS: **Support Android 4.2 or up 77a7b0018277597ee7187aa2d355dae3faaeded7 RK3399 0 21 146 2017-03-02T10:08:19Z Chery 9 Created page with "= Overview = == Cortex-A7 == = SoC Features = &nbsp; = History = &nbsp; = Documentation = &nbsp; = Software = == Original SDKs == = Devices = = See also = = Owners..." wikitext text/x-wiki = Overview = == Cortex-A7 == = SoC Features = &nbsp; = History = &nbsp; = Documentation = &nbsp; = Software = == Original SDKs == = Devices = = See also = = Owners of the SoC on IRC = = Commuity Support = = References = = Exteneral Links = &nbsp; 51e447da58df3871c3e1014ff2c4a0f7352dd45c 147 146 2017-03-03T02:12:48Z Chery 9 wikitext text/x-wiki = Overview = == Cortex-A7 == = SoC Features = &nbsp; = History = &nbsp; = Documentation = &nbsp; = Software = == Borad configuration == {| |- ! <span style="color:#ffffff;"><span style="background-color:#0000ff;">board</span></span> ! <span style="color:#ffffff;"><span style="background-color:#0000ff;">kernel</span></span> ! <span style="color:#ffffff;"><span style="background-color:#0000ff;">uboot</span></span> ! <span style="color:#ffffff;"><span style="background-color:#0000ff;">dts</span></span> |- | rk3399-excavator | rockchip_linux_defconfig | rk3399_linux_defconfig && evb-rk3399_defconfig | rk3399-sapphire-excavator-linux.dts |} == Chip configuration == {| |- ! <span style="color:#FFFFFF;"><span style="background-color:#0000FF;">chip</span></span> ! <span style="color:#FFFFFF;"><span style="background-color:#0000FF;">Kernel eMMC index</span></span> ! <span style="color:#FFFFFF;"><span style="background-color:#0000FF;">Kernel SD index</span></span> ! <span style="color:#FFFFFF;"><span style="background-color:#0000FF;">Uboot eMMC index</span></span> ! <span style="color:#FFFFFF;"><span style="background-color:#0000FF;">Uboot SD index</span></span> ! <span style="color:#FFFFFF;"><span style="background-color:#0000FF;">Baud speed</span></span> |- | style="text-align: center;" | RK3399 | style="text-align: center;" | 1 | style="text-align: center;" | 0 | style="text-align: center;" | 0 | style="text-align: center;" | 1 | style="text-align: center;" | 1500000 or 115200 |} == How to get the sources == The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code.&nbsp;Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github. RK3399 optimized Debian & Buildroot <pre><code>repo init -u [https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests] -m rk3399.xml repo sync</code> </pre> == How to build the sources == === Build Environment === Please use GCC 5 <pre><code>$ sudo apt-get install git-core gitk git-gui gcc-arm-linux-gnueabihf u-boot-tools device-tree-compiler gcc-aarch64-linux-gnu mtools parted</code></pre> === Installing the build tools and download source === Please follow&nbsp;[http://rockchip.wikidot.com/linux-user-guide linux user guide]&nbsp;to install the build tools and download source. === Building kernel === For ARM V8 (RK3399 optimized SDK) <pre><code>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</code></pre> === Building uboot === For RK3399 optimized SDK (rkproduct uboot) <pre><code>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</code></pre> === Building rootfs === ==== Debian ==== Yu can download the prebuilt image directly. [http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive] or you could use the&nbsp;[https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script]&nbsp;from Rockchip to build rootfs yourselves. ==== Yocto ==== If you want to use Yocto to build your rootfs see&nbsp;[http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide]&nbsp;for detail. ==== Buildroot ==== If you want to use Buildroot to build your rootfs see&nbsp;[http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide]&nbsp;for detail. &nbsp; = Devices = = See also = = Owners of the SoC on IRC = = Commuity Support = = References = = Exteneral Links = &nbsp; 6b83607fbd1a2fa524bd2bf5de9ecbfbf2a737ad 148 147 2017-03-03T02:17:39Z Chery 9 wikitext text/x-wiki = Overview = == Cortex-A7 == = SoC Features = &nbsp; = History = &nbsp; = Documentation = &nbsp; = Software = == Borad configuration == {| |- ! <span style="color:#ffffff;"><span style="background-color:#0000ff;">board</span></span> ! <span style="color:#ffffff;"><span style="background-color:#0000ff;">kernel</span></span> ! <span style="color:#ffffff;"><span style="background-color:#0000ff;">uboot</span></span> ! <span style="color:#ffffff;"><span style="background-color:#0000ff;">dts</span></span> |- | rk3399-excavator | rockchip_linux_defconfig | rk3399_linux_defconfig && evb-rk3399_defconfig | rk3399-sapphire-excavator-linux.dts |} == Chip configuration == {| |- ! <span style="color:#FFFFFF;"><span style="background-color:#0000FF;">chip</span></span> ! <span style="color:#FFFFFF;"><span style="background-color:#0000FF;">Kernel eMMC index</span></span> ! <span style="color:#FFFFFF;"><span style="background-color:#0000FF;">Kernel SD index</span></span> ! <span style="color:#FFFFFF;"><span style="background-color:#0000FF;">Uboot eMMC index</span></span> ! <span style="color:#FFFFFF;"><span style="background-color:#0000FF;">Uboot SD index</span></span> ! <span style="color:#FFFFFF;"><span style="background-color:#0000FF;">Baud speed</span></span> |- | style="text-align: center;" | RK3399 | style="text-align: center;" | 1 | style="text-align: center;" | 0 | style="text-align: center;" | 0 | style="text-align: center;" | 1 | style="text-align: center;" | 1500000 or 115200 |} == How to get the sources == The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code.&nbsp;Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github. RK3399 optimized Debian & Buildroot <pre><code>repo init -u [https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests] -m rk3399.xml repo sync</code> </pre> == How to build the sources == === Build Environment === Please use GCC 5 <pre><code>$ sudo apt-get install git-core gitk git-gui gcc-arm-linux-gnueabihf u-boot-tools device-tree-compiler gcc-aarch64-linux-gnu mtools parted</code></pre> === Installing the build tools and download source === Please follow&nbsp;[http://rockchip.wikidot.com/linux-user-guide linux user guide]&nbsp;to install the build tools and download source. === Building kernel === For ARM V8 (RK3399 optimized SDK) <pre><code>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</code></pre> === Building uboot === For RK3399 optimized SDK (rkproduct uboot) <pre><code>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</code></pre> === Building rootfs === ==== Debian ==== Yu can download the prebuilt image directly. [http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive] or you could use the&nbsp;[https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script]&nbsp;from Rockchip to build rootfs yourselves. ==== Yocto ==== If you want to use Yocto to build your rootfs see&nbsp;[http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide]&nbsp;for detail. ==== Buildroot ==== If you want to use Buildroot to build your rootfs see&nbsp;[http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide]&nbsp;for detail. &nbsp; = Devices = If you need the rk3399-excavator&nbsp;board, please go through&nbsp;the following&nbsp;contact information. <pre><code>Telephone: 4007700590 Email: service@rock-chips.com</code></pre> = See also = = Owners of the SoC on IRC = = Commuity Support = = References = = Exteneral Links = &nbsp; 7a85a1348e08fad6e46c215192b8c9693a8800a7 149 148 2017-03-03T02:18:13Z Chery 9 wikitext text/x-wiki = Overview = == Cortex-A7 == = SoC Features = &nbsp; = History = &nbsp; = Documentation = &nbsp; = Software = == Borad configuration == {| |- ! <span style="color:#ffffff;"><span style="background-color:#0000ff;">board</span></span> ! <span style="color:#ffffff;"><span style="background-color:#0000ff;">kernel</span></span> ! <span style="color:#ffffff;"><span style="background-color:#0000ff;">uboot</span></span> ! <span style="color:#ffffff;"><span style="background-color:#0000ff;">dts</span></span> |- | rk3399-excavator | rockchip_linux_defconfig | rk3399_linux_defconfig && evb-rk3399_defconfig | rk3399-sapphire-excavator-linux.dts |} == Chip configuration == {| |- ! <span style="color:#FFFFFF;"><span style="background-color:#0000FF;">chip</span></span> ! <span style="color:#FFFFFF;"><span style="background-color:#0000FF;">Kernel eMMC index</span></span> ! <span style="color:#FFFFFF;"><span style="background-color:#0000FF;">Kernel SD index</span></span> ! <span style="color:#FFFFFF;"><span style="background-color:#0000FF;">Uboot eMMC index</span></span> ! <span style="color:#FFFFFF;"><span style="background-color:#0000FF;">Uboot SD index</span></span> ! <span style="color:#FFFFFF;"><span style="background-color:#0000FF;">Baud speed</span></span> |- | style="text-align: center;" | RK3399 | style="text-align: center;" | 1 | style="text-align: center;" | 0 | style="text-align: center;" | 0 | style="text-align: center;" | 1 | style="text-align: center;" | 1500000 or 115200 |} == How to get the sources == The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code.&nbsp;Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github. RK3399 optimized Debian & Buildroot <pre><code>repo init -u [https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests] -m rk3399.xml repo sync</code> </pre> == How to build the sources == === Build Environment === Please use GCC 5 <pre><code>$ sudo apt-get install git-core gitk git-gui gcc-arm-linux-gnueabihf u-boot-tools device-tree-compiler gcc-aarch64-linux-gnu mtools parted</code></pre> === Installing the build tools and download source === Please follow&nbsp;[http://rockchip.wikidot.com/linux-user-guide linux user guide]&nbsp;to install the build tools and download source. === Building kernel === For ARM V8 (RK3399 optimized SDK) <pre><code>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</code></pre> === Building uboot === For RK3399 optimized SDK (rkproduct uboot) <pre><code>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</code></pre> === Building rootfs === ==== Debian ==== Yu can download the prebuilt image directly. [http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive] or you could use the&nbsp;[https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script]&nbsp;from Rockchip to build rootfs yourselves. ==== Yocto ==== If you want to use Yocto to build your rootfs see&nbsp;[http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide]&nbsp;for detail. ==== Buildroot ==== If you want to use Buildroot to build your rootfs see&nbsp;[http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide]&nbsp;for detail. &nbsp; = Devices = If you need the rk3399-excavator&nbsp;board, please go through&nbsp;the following&nbsp;contact information. <pre>Telephone: 4007700590 Email: service@rock-chips.com</pre> = See also = = Owners of the SoC on IRC = = Commuity Support = = References = = Exteneral Links = &nbsp; 996fd8e7e7c5589e15f80ecbfb8d3caaa60c8d32 150 149 2017-03-03T02:18:45Z Chery 9 wikitext text/x-wiki = Overview = == Cortex-A7 == = SoC Features = &nbsp; = History = &nbsp; = Documentation = &nbsp; = Software = == Borad configuration == {| |- ! <span style="color:#ffffff;"><span style="background-color:#0000ff;">board</span></span> ! <span style="color:#ffffff;"><span style="background-color:#0000ff;">kernel</span></span> ! <span style="color:#ffffff;"><span style="background-color:#0000ff;">uboot</span></span> ! <span style="color:#ffffff;"><span style="background-color:#0000ff;">dts</span></span> |- | rk3399-excavator | rockchip_linux_defconfig | rk3399_linux_defconfig && evb-rk3399_defconfig | rk3399-sapphire-excavator-linux.dts |} == Chip configuration == {| |- ! <span style="color:#FFFFFF;"><span style="background-color:#0000FF;">chip</span></span> ! <span style="color:#FFFFFF;"><span style="background-color:#0000FF;">Kernel eMMC index</span></span> ! <span style="color:#FFFFFF;"><span style="background-color:#0000FF;">Kernel SD index</span></span> ! <span style="color:#FFFFFF;"><span style="background-color:#0000FF;">Uboot eMMC index</span></span> ! <span style="color:#FFFFFF;"><span style="background-color:#0000FF;">Uboot SD index</span></span> ! <span style="color:#FFFFFF;"><span style="background-color:#0000FF;">Baud speed</span></span> |- | style="text-align: center;" | RK3399 | style="text-align: center;" | 1 | style="text-align: center;" | 0 | style="text-align: center;" | 0 | style="text-align: center;" | 1 | style="text-align: center;" | 1500000 or 115200 |} == How to get the sources == The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code.&nbsp;Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github. RK3399 optimized Debian & Buildroot <pre><code>repo init -u [https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests] -m rk3399.xml repo sync</code> </pre> == How to build the sources == === Build Environment === Please use GCC 5 <pre><code>$ sudo apt-get install git-core gitk git-gui gcc-arm-linux-gnueabihf u-boot-tools device-tree-compiler gcc-aarch64-linux-gnu mtools parted</code></pre> === Installing the build tools and download source === Please follow&nbsp;[http://rockchip.wikidot.com/linux-user-guide linux user guide]&nbsp;to install the build tools and download source. === Building kernel === For ARM V8 (RK3399 optimized SDK) <pre><code>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</code></pre> === Building uboot === For RK3399 optimized SDK (rkproduct uboot) <pre><code>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</code></pre> === Building rootfs === ==== Debian ==== Yu can download the prebuilt image directly. [http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive] or you could use the&nbsp;[https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script]&nbsp;from Rockchip to build rootfs yourselves. ==== Yocto ==== If you want to use Yocto to build your rootfs see&nbsp;[http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide]&nbsp;for detail. ==== Buildroot ==== If you want to use Buildroot to build your rootfs see&nbsp;[http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide]&nbsp;for detail. &nbsp; = Devices = If you need the rk3399-excavator&nbsp;board, please go through&nbsp;the following&nbsp;contact information. <pre>Telephone: 4007700590 Email: service@rock-chips.com</pre> = See also = = Owners of the SoC on IRC = = Commuity Support = = References = = Exteneral Links = &nbsp; 32a468f997bcda1d25dfc0805df09b5b1c2ed518 151 150 2017-03-03T02:19:06Z Chery 9 wikitext text/x-wiki = Overview = == Cortex-A7 == = SoC Features = &nbsp; = History = &nbsp; = Documentation = &nbsp; = Software = == Borad configuration == {| |- ! <span style="color:#ffffff;"><span style="background-color:#0000ff;">board</span></span> ! <span style="color:#ffffff;"><span style="background-color:#0000ff;">kernel</span></span> ! <span style="color:#ffffff;"><span style="background-color:#0000ff;">uboot</span></span> ! <span style="color:#ffffff;"><span style="background-color:#0000ff;">dts</span></span> |- | rk3399-excavator | rockchip_linux_defconfig | rk3399_linux_defconfig && evb-rk3399_defconfig | rk3399-sapphire-excavator-linux.dts |} == Chip configuration == {| |- ! <span style="color:#FFFFFF;"><span style="background-color:#0000FF;">chip</span></span> ! <span style="color:#FFFFFF;"><span style="background-color:#0000FF;">Kernel eMMC index</span></span> ! <span style="color:#FFFFFF;"><span style="background-color:#0000FF;">Kernel SD index</span></span> ! <span style="color:#FFFFFF;"><span style="background-color:#0000FF;">Uboot eMMC index</span></span> ! <span style="color:#FFFFFF;"><span style="background-color:#0000FF;">Uboot SD index</span></span> ! <span style="color:#FFFFFF;"><span style="background-color:#0000FF;">Baud speed</span></span> |- | style="text-align: center;" | RK3399 | style="text-align: center;" | 1 | style="text-align: center;" | 0 | style="text-align: center;" | 0 | style="text-align: center;" | 1 | style="text-align: center;" | 1500000 or 115200 |} == How to get the sources == The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code.&nbsp;Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github. RK3399 optimized Debian & Buildroot <pre><code>repo init -u [https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests] -m rk3399.xml repo sync</code> </pre> == How to build the sources == === Build Environment === Please use GCC 5 <pre><code>$ sudo apt-get install git-core gitk git-gui gcc-arm-linux-gnueabihf u-boot-tools device-tree-compiler gcc-aarch64-linux-gnu mtools parted</code></pre> === Installing the build tools and download source === Please follow&nbsp;[http://rockchip.wikidot.com/linux-user-guide linux user guide]&nbsp;to install the build tools and download source. === Building kernel === For ARM V8 (RK3399 optimized SDK) <pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre> === Building uboot === For RK3399 optimized SDK (rkproduct uboot) <pre><code>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</code></pre> === Building rootfs === ==== Debian ==== Yu can download the prebuilt image directly. [http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive] or you could use the&nbsp;[https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script]&nbsp;from Rockchip to build rootfs yourselves. ==== Yocto ==== If you want to use Yocto to build your rootfs see&nbsp;[http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide]&nbsp;for detail. ==== Buildroot ==== If you want to use Buildroot to build your rootfs see&nbsp;[http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide]&nbsp;for detail. &nbsp; = Devices = If you need the rk3399-excavator&nbsp;board, please go through&nbsp;the following&nbsp;contact information. <pre>Telephone: 4007700590 Email: service@rock-chips.com</pre> = See also = = Owners of the SoC on IRC = = Commuity Support = = References = = Exteneral Links = &nbsp; ebd307ecee908045122481b856216398665bb88e 152 151 2017-03-03T02:19:48Z Chery 9 wikitext text/x-wiki = Overview = == Cortex-A7 == = SoC Features = &nbsp; = History = &nbsp; = Documentation = &nbsp; = Software = == Borad configuration == {| |- ! <span style="color:#ffffff;"><span style="background-color:#0000ff;">board</span></span> ! <span style="color:#ffffff;"><span style="background-color:#0000ff;">kernel</span></span> ! <span style="color:#ffffff;"><span style="background-color:#0000ff;">uboot</span></span> ! <span style="color:#ffffff;"><span style="background-color:#0000ff;">dts</span></span> |- | rk3399-excavator | rockchip_linux_defconfig | rk3399_linux_defconfig && evb-rk3399_defconfig | rk3399-sapphire-excavator-linux.dts |} == Chip configuration == {| |- ! <span style="color:#FFFFFF;"><span style="background-color:#0000FF;">chip</span></span> ! <span style="color:#FFFFFF;"><span style="background-color:#0000FF;">Kernel eMMC index</span></span> ! <span style="color:#FFFFFF;"><span style="background-color:#0000FF;">Kernel SD index</span></span> ! <span style="color:#FFFFFF;"><span style="background-color:#0000FF;">Uboot eMMC index</span></span> ! <span style="color:#FFFFFF;"><span style="background-color:#0000FF;">Uboot SD index</span></span> ! <span style="color:#FFFFFF;"><span style="background-color:#0000FF;">Baud speed</span></span> |- | style="text-align: center;" | RK3399 | style="text-align: center;" | 1 | style="text-align: center;" | 0 | style="text-align: center;" | 0 | style="text-align: center;" | 1 | style="text-align: center;" | 1500000 or 115200 |} == How to get the sources == The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code.&nbsp;Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github. RK3399 optimized Debian & Buildroot <pre><code>repo init -u [https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests] -m rk3399.xml repo sync</code> </pre> == How to build the sources == === Build Environment === Please use GCC 5 <pre>$ sudo apt-get install git-core gitk git-gui gcc-arm-linux-gnueabihf u-boot-tools device-tree-compiler gcc-aarch64-linux-gnu mtools parted</pre> === Installing the build tools and download source === Please follow&nbsp;[http://rockchip.wikidot.com/linux-user-guide linux user guide]&nbsp;to install the build tools and download source. === Building kernel === For ARM V8 (RK3399 optimized SDK) <pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre> === Building uboot === For RK3399 optimized SDK (rkproduct uboot) <pre><code>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</code></pre> === Building rootfs === ==== Debian ==== Yu can download the prebuilt image directly. [http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive] or you could use the&nbsp;[https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script]&nbsp;from Rockchip to build rootfs yourselves. ==== Yocto ==== If you want to use Yocto to build your rootfs see&nbsp;[http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide]&nbsp;for detail. ==== Buildroot ==== If you want to use Buildroot to build your rootfs see&nbsp;[http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide]&nbsp;for detail. &nbsp; = Devices = If you need the rk3399-excavator&nbsp;board, please go through&nbsp;the following&nbsp;contact information. <pre>Telephone: 4007700590 Email: service@rock-chips.com</pre> = See also = = Owners of the SoC on IRC = = Commuity Support = = References = = Exteneral Links = &nbsp; 7a1504ae22c7556805f40bb75c4fae089e11f7c5 153 152 2017-03-03T02:20:11Z Chery 9 wikitext text/x-wiki = Overview = == Cortex-A7 == = SoC Features = &nbsp; = History = &nbsp; = Documentation = &nbsp; = Software = == Borad configuration == {| |- ! <span style="color:#ffffff;"><span style="background-color:#0000ff;">board</span></span> ! <span style="color:#ffffff;"><span style="background-color:#0000ff;">kernel</span></span> ! <span style="color:#ffffff;"><span style="background-color:#0000ff;">uboot</span></span> ! <span style="color:#ffffff;"><span style="background-color:#0000ff;">dts</span></span> |- | rk3399-excavator | rockchip_linux_defconfig | rk3399_linux_defconfig && evb-rk3399_defconfig | rk3399-sapphire-excavator-linux.dts |} == Chip configuration == {| |- ! <span style="color:#FFFFFF;"><span style="background-color:#0000FF;">chip</span></span> ! <span style="color:#FFFFFF;"><span style="background-color:#0000FF;">Kernel eMMC index</span></span> ! <span style="color:#FFFFFF;"><span style="background-color:#0000FF;">Kernel SD index</span></span> ! <span style="color:#FFFFFF;"><span style="background-color:#0000FF;">Uboot eMMC index</span></span> ! <span style="color:#FFFFFF;"><span style="background-color:#0000FF;">Uboot SD index</span></span> ! <span style="color:#FFFFFF;"><span style="background-color:#0000FF;">Baud speed</span></span> |- | style="text-align: center;" | RK3399 | style="text-align: center;" | 1 | style="text-align: center;" | 0 | style="text-align: center;" | 0 | style="text-align: center;" | 1 | style="text-align: center;" | 1500000 or 115200 |} == How to get the sources == The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code.&nbsp;Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github. RK3399 optimized Debian & Buildroot <pre>repo init -u [https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests] -m rk3399.xml repo sync </pre> == How to build the sources == === Build Environment === Please use GCC 5 <pre>$ sudo apt-get install git-core gitk git-gui gcc-arm-linux-gnueabihf u-boot-tools device-tree-compiler gcc-aarch64-linux-gnu mtools parted</pre> === Installing the build tools and download source === Please follow&nbsp;[http://rockchip.wikidot.com/linux-user-guide linux user guide]&nbsp;to install the build tools and download source. === Building kernel === For ARM V8 (RK3399 optimized SDK) <pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre> === Building uboot === For RK3399 optimized SDK (rkproduct uboot) <pre><code>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</code></pre> === Building rootfs === ==== Debian ==== Yu can download the prebuilt image directly. [http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive] or you could use the&nbsp;[https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script]&nbsp;from Rockchip to build rootfs yourselves. ==== Yocto ==== If you want to use Yocto to build your rootfs see&nbsp;[http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide]&nbsp;for detail. ==== Buildroot ==== If you want to use Buildroot to build your rootfs see&nbsp;[http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide]&nbsp;for detail. &nbsp; = Devices = If you need the rk3399-excavator&nbsp;board, please go through&nbsp;the following&nbsp;contact information. <pre>Telephone: 4007700590 Email: service@rock-chips.com</pre> = See also = = Owners of the SoC on IRC = = Commuity Support = = References = = Exteneral Links = &nbsp; 9c1793f116000a024e2299b36a4a8eedc45caba5 154 153 2017-03-03T02:24:17Z Chery 9 wikitext text/x-wiki = Overview = == Cortex-A7 == = SoC Features = &nbsp; = History = &nbsp; = Documentation = &nbsp; = Software = == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" style="line-height: 1.6; width: 639px;" |- | style="width: 119px; text-align: center;" | <span style="color:#FFFFFF;"><span style="background-color:#0000CD;">board</span></span> | style="width: 172px; text-align: center;" | <span style="color:#FFFFFF;"><span style="background-color:#0000CD;">kernel</span></span> | style="width: 124px; text-align: center;" | <span style="color:#FFFFFF;"><span style="background-color:#0000CD;">uboot</span></span> | style="width: 201px; text-align: center;" | <span style="color:#FFFFFF;"><span style="background-color:#0000CD;">dts</span></span> |- | style="width: 119px; text-align: center;" | rk3399-excavator | style="width: 172px; text-align: center;" | rockchip_linux_defconfig | style="width: 124px; text-align: center;" | rk3399_linux_defconfig | style="width: 201px; text-align: center;" | rk3399-sapphire-excavator-linux.dts |} == Chip configuration == {| |- ! <span style="color:#FFFFFF;"><span style="background-color:#0000FF;">chip</span></span> ! <span style="color:#FFFFFF;"><span style="background-color:#0000FF;">Kernel eMMC index</span></span> ! <span style="color:#FFFFFF;"><span style="background-color:#0000FF;">Kernel SD index</span></span> ! <span style="color:#FFFFFF;"><span style="background-color:#0000FF;">Uboot eMMC index</span></span> ! <span style="color:#FFFFFF;"><span style="background-color:#0000FF;">Uboot SD index</span></span> ! <span style="color:#FFFFFF;"><span style="background-color:#0000FF;">Baud speed</span></span> |- | style="text-align: center;" | RK3399 | style="text-align: center;" | 1 | style="text-align: center;" | 0 | style="text-align: center;" | 0 | style="text-align: center;" | 1 | style="text-align: center;" | 1500000 or 115200 |} &nbsp; == How to get the sources == The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code.&nbsp;Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github. RK3399 optimized Debian & Buildroot <pre>repo init -u [https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests] -m rk3399.xml repo sync </pre> == How to build the sources == === Build Environment === Please use GCC 5 <pre>$ sudo apt-get install git-core gitk git-gui gcc-arm-linux-gnueabihf u-boot-tools device-tree-compiler gcc-aarch64-linux-gnu mtools parted</pre> === Installing the build tools and download source === Please follow&nbsp;[http://rockchip.wikidot.com/linux-user-guide linux user guide]&nbsp;to install the build tools and download source. &nbsp; === Building kernel === For ARM V8 (RK3399 optimized SDK) <pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre> === Building uboot === For RK3399 optimized SDK (rkproduct uboot) <pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre> === Building rootfs === ==== Debian ==== Yu can download the prebuilt image directly. [http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive] or you could use the&nbsp;[https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script]&nbsp;from Rockchip to build rootfs yourselves. ==== Yocto ==== If you want to use Yocto to build your rootfs see&nbsp;[http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide]&nbsp;for detail. ==== Buildroot ==== If you want to use Buildroot to build your rootfs see&nbsp;[http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide]&nbsp;for detail. &nbsp; = Devices = If you need the rk3399-excavator&nbsp;board, please go through&nbsp;the following&nbsp;contact information. <pre>Telephone: 4007700590 Email: service@rock-chips.com</pre> = See also = = Owners of the SoC on IRC = = Commuity Support = = References = = Exteneral Links = &nbsp; c71e6a7573da73eb2e2265889a5242777c60dd9a 155 154 2017-03-03T02:33:05Z Chery 9 wikitext text/x-wiki = Overview = == Cortex-A7 == = SoC Features = &nbsp; = History = &nbsp; = Documentation = &nbsp; = Software = == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" style="line-height: 1.6; width: 639px;" |- | style="width: 119px; text-align: center;" | <span style="color:#FFFFFF;"><span style="background-color:#0000CD;">board</span></span> | style="width: 172px; text-align: center;" | <span style="color:#FFFFFF;"><span style="background-color:#0000CD;">kernel</span></span> | style="width: 124px; text-align: center;" | <span style="color:#FFFFFF;"><span style="background-color:#0000CD;">uboot</span></span> | style="width: 201px; text-align: center;" | <span style="color:#FFFFFF;"><span style="background-color:#0000CD;">dts</span></span> |- | style="width: 119px; text-align: center;" | rk3399-excavator | style="width: 172px; text-align: center;" | rockchip_linux_defconfig | style="width: 124px; text-align: center;" | rk3399_linux_defconfig | style="width: 201px; text-align: center;" | rk3399-sapphire-excavator-linux.dts |} == Chip configuration == {| |- ! <span style="color:#FFFFFF;"><span style="background-color:#0000FF;">chip</span></span> ! <span style="color:#FFFFFF;"><span style="background-color:#0000FF;">Kernel eMMC index</span></span> ! <span style="color:#FFFFFF;"><span style="background-color:#0000FF;">Kernel SD index</span></span> ! <span style="color:#FFFFFF;"><span style="background-color:#0000FF;">Uboot eMMC index</span></span> ! <span style="color:#FFFFFF;"><span style="background-color:#0000FF;">Uboot SD index</span></span> ! <span style="color:#FFFFFF;"><span style="background-color:#0000FF;">Baud speed</span></span> |- | style="text-align: center;" | RK3399 | style="text-align: center;" | 1 | style="text-align: center;" | 0 | style="text-align: center;" | 0 | style="text-align: center;" | 1 | style="text-align: center;" | 1500000 or 115200 |} &nbsp; == How to get the sources == The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code.&nbsp;Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github. RK3399 optimized Debian & Buildroot <pre>repo init -u [https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests] -m rk3399.xml repo sync </pre> == How to build the sources == === Build Environment === You need a 64-bit&nbsp;Ubuntu. Note: old versions&nbsp;Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so Install&nbsp;ARM cross-compile tool chain and compile kernel relative&nbsp;software package:&nbsp; $ sudo apt-get install gcc-arm-linux-gnueabihf \ gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev \ libssl1.0.0 libssl-dev === Installing the build tools and download source === Please follow&nbsp;[http://rockchip.wikidot.com/linux-user-guide linux user guide]&nbsp;to install the build tools and download source. &nbsp; === Building kernel === For ARM V8 (RK3399 optimized SDK) <pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre> === Building uboot === For RK3399 optimized SDK (rkproduct uboot) <pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre> === Building rootfs === ==== Debian ==== Yu can download the prebuilt image directly. [http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive] or you could use the&nbsp;[https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script]&nbsp;from Rockchip to build rootfs yourselves. ==== Yocto ==== If you want to use Yocto to build your rootfs see&nbsp;[http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide]&nbsp;for detail. ==== Buildroot ==== If you want to use Buildroot to build your rootfs see&nbsp;[http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide]&nbsp;for detail. &nbsp; = Devices = If you need the rk3399-excavator&nbsp;board, please go through&nbsp;the following&nbsp;contact information. <pre>Telephone: 4007700590 Email: service@rock-chips.com</pre> = See also = = Owners of the SoC on IRC = = Commuity Support = = References = = Exteneral Links = &nbsp; f0e3771d252bd03757c67b5076662285709da9da 157 155 2017-03-03T03:17:31Z Chery 9 wikitext text/x-wiki = Overview = == Cortex-A7 == = SoC Features = &nbsp; = History = &nbsp; = Documentation = &nbsp; = Software = == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" style="line-height: 1.6; width: 639px;" |- | style="width: 119px; text-align: center;" | <span style="color:#FFFFFF;"><span style="background-color:#0000CD;">board</span></span> | style="width: 172px; text-align: center;" | <span style="color:#FFFFFF;"><span style="background-color:#0000CD;">kernel</span></span> | style="width: 124px; text-align: center;" | <span style="color:#FFFFFF;"><span style="background-color:#0000CD;">uboot</span></span> | style="width: 201px; text-align: center;" | <span style="color:#FFFFFF;"><span style="background-color:#0000CD;">dts</span></span> |- | style="width: 119px; text-align: center;" | rk3399-excavator | style="width: 172px; text-align: center;" | rockchip_linux_defconfig | style="width: 124px; text-align: center;" | rk3399_linux_defconfig | style="width: 201px; text-align: center;" | rk3399-sapphire-excavator-linux.dts |} == Chip configuration == {| |- ! <span style="color:#FFFFFF;"><span style="background-color:#0000FF;">chip</span></span> ! <span style="color:#FFFFFF;"><span style="background-color:#0000FF;">Kernel eMMC index</span></span> ! <span style="color:#FFFFFF;"><span style="background-color:#0000FF;">Kernel SD index</span></span> ! <span style="color:#FFFFFF;"><span style="background-color:#0000FF;">Uboot eMMC index</span></span> ! <span style="color:#FFFFFF;"><span style="background-color:#0000FF;">Uboot SD index</span></span> ! <span style="color:#FFFFFF;"><span style="background-color:#0000FF;">Baud speed</span></span> |- | style="text-align: center;" | RK3399 | style="text-align: center;" | 1 | style="text-align: center;" | 0 | style="text-align: center;" | 0 | style="text-align: center;" | 1 | style="text-align: center;" | 1500000 or 115200 |} &nbsp; == How to get the sources == The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code.&nbsp;Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github. RK3399 optimized Debian & Buildroot <pre>repo init -u [https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests] -m rk3399.xml repo sync </pre> == How to build the sources == === Build Environment === You need a 64-bit&nbsp;Ubuntu. Note: old versions&nbsp;Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so Install&nbsp;ARM cross-compile tool chain and compile kernel relative&nbsp;software package:&nbsp; $ sudo apt-get install gcc-arm-linux-gnueabihf&nbsp;gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev === Installing the build tools and download source === Please follow&nbsp;[http://rockchip.wikidot.com/linux-user-guide linux user guide]&nbsp;to install the build tools and download source. &nbsp; === Building kernel === For ARM V8 (RK3399 optimized SDK) <pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre> === Building uboot === For RK3399 optimized SDK (rkproduct uboot) <pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre> === Building rootfs === ==== Debian ==== Yu can download the prebuilt image directly. [http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive] or you could use the&nbsp;[https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script]&nbsp;from Rockchip to build rootfs yourselves. ==== Yocto ==== If you want to use Yocto to build your rootfs see&nbsp;[http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide]&nbsp;for detail. ==== Buildroot ==== If you want to use Buildroot to build your rootfs see&nbsp;[http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide]&nbsp;for detail. &nbsp; = Devices = If you need the rk3399-excavator&nbsp;board, please go through&nbsp;the following&nbsp;contact information. <pre>Telephone: 4007700590 Email: service@rock-chips.com</pre> = See also = = Owners of the SoC on IRC = = Commuity Support = = References = = Exteneral Links = &nbsp; 7cb2e7116a7d2e8dee7967b15cdb774e0f01586a 160 157 2017-03-03T06:55:57Z Kevan 10 wikitext text/x-wiki = Overview = == Cortex-A7 == = SoC Features = &nbsp; = History = &nbsp; = Documentation = &nbsp; = Software = == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" style="line-height: 1.6; width: 639px;" |- | style="width: 119px; text-align: center;" | <span style="color:#FFFFFF;"><span style="background-color:#0000CD;">board</span></span> | style="width: 172px; text-align: center;" | <span style="color:#FFFFFF;"><span style="background-color:#0000CD;">kernel</span></span> | style="width: 124px; text-align: center;" | <span style="color:#FFFFFF;"><span style="background-color:#0000CD;">uboot</span></span> | style="width: 201px; text-align: center;" | <span style="color:#FFFFFF;"><span style="background-color:#0000CD;">dts</span></span> |- | style="width: 119px; text-align: center;" | rk3399-excavator | style="width: 172px; text-align: center;" | rockchip_linux_defconfig | style="width: 124px; text-align: center;" | rk3399_linux_defconfig | style="width: 201px; text-align: center;" | rk3399-sapphire-excavator-linux.dts |} == Chip configuration == {| |- ! <span style="color:#FFFFFF;"><span style="background-color:#0000FF;">chip</span></span> ! <span style="color:#FFFFFF;"><span style="background-color:#0000FF;">Kernel eMMC index</span></span> ! <span style="color:#FFFFFF;"><span style="background-color:#0000FF;">Kernel SD index</span></span> ! <span style="color:#FFFFFF;"><span style="background-color:#0000FF;">Uboot eMMC index</span></span> ! <span style="color:#FFFFFF;"><span style="background-color:#0000FF;">Uboot SD index</span></span> ! <span style="color:#FFFFFF;"><span style="background-color:#0000FF;">Baud speed</span></span> |- | style="text-align: center;" | RK3399 | style="text-align: center;" | 1 | style="text-align: center;" | 0 | style="text-align: center;" | 0 | style="text-align: center;" | 1 | style="text-align: center;" | 1500000 or 115200 |} &nbsp; == How to get the sources == The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code.&nbsp;Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github. RK3399 optimized Debian & Buildroot <pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml repo sync </pre> == How to build the sources == === Build Environment === You need a 64-bit&nbsp;Ubuntu. Note: old versions&nbsp;Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so Install&nbsp;ARM cross-compile tool chain and compile kernel relative&nbsp;software package:&nbsp; $ sudo apt-get install gcc-arm-linux-gnueabihf&nbsp;gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev === Installing the build tools and download source === Please follow&nbsp;[http://rockchip.wikidot.com/linux-user-guide linux user guide]&nbsp;to install the build tools and download source. &nbsp; === Building kernel === For ARM V8 (RK3399 optimized SDK) <pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre> === Building uboot === For RK3399 optimized SDK (rkproduct uboot) <pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre> === Building rootfs === ==== Debian ==== Yu can download the prebuilt image directly. [http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive] or you could use the&nbsp;[https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script]&nbsp;from Rockchip to build rootfs yourselves. ==== Yocto ==== If you want to use Yocto to build your rootfs see&nbsp;[http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide]&nbsp;for detail. ==== Buildroot ==== If you want to use Buildroot to build your rootfs see&nbsp;[http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide]&nbsp;for detail. &nbsp; = Devices = If you need the rk3399-excavator&nbsp;board, please go through&nbsp;the following&nbsp;contact information. <pre>Telephone: 4007700590 Email: service@rock-chips.com</pre> = See also = = Owners of the SoC on IRC = = Commuity Support = = References = = Exteneral Links = &nbsp; f6dce6156945374a886dbf2e3fa58e70594d7614 161 160 2017-03-03T06:56:45Z Kevan 10 wikitext text/x-wiki = Overview = == Cortex-A7 == = SoC Features = &nbsp; = History = &nbsp; = Documentation = &nbsp; = Software = == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" style="line-height: 1.6; width: 639px;" |- | style="width: 119px; text-align: center;" | <span style="color:#FFFFFF;"><span style="background-color:#0000CD;">board</span></span> | style="width: 172px; text-align: center;" | <span style="color:#FFFFFF;"><span style="background-color:#0000CD;">kernel</span></span> | style="width: 124px; text-align: center;" | <span style="color:#FFFFFF;"><span style="background-color:#0000CD;">uboot</span></span> | style="width: 201px; text-align: center;" | <span style="color:#FFFFFF;"><span style="background-color:#0000CD;">dts</span></span> |- | style="width: 119px; text-align: center;" | rk3399-excavator | style="width: 172px; text-align: center;" | rockchip_linux_defconfig | style="width: 124px; text-align: center;" | rk3399_linux_defconfig | style="width: 201px; text-align: center;" | rk3399-sapphire-excavator-linux.dts |} == Chip configuration == {| |- ! <span style="color:#FFFFFF;"><span style="background-color:#0000FF;">chip</span></span> ! <span style="color:#FFFFFF;"><span style="background-color:#0000FF;">Kernel eMMC index</span></span> ! <span style="color:#FFFFFF;"><span style="background-color:#0000FF;">Kernel SD index</span></span> ! <span style="color:#FFFFFF;"><span style="background-color:#0000FF;">Uboot eMMC index</span></span> ! <span style="color:#FFFFFF;"><span style="background-color:#0000FF;">Uboot SD index</span></span> ! <span style="color:#FFFFFF;"><span style="background-color:#0000FF;">Baud speed</span></span> |- | style="text-align: center;" | RK3399 | style="text-align: center;" | 1 | style="text-align: center;" | 0 | style="text-align: center;" | 0 | style="text-align: center;" | 1 | style="text-align: center;" | 1500000 |} &nbsp; == How to get the sources == The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code.&nbsp;Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github. RK3399 optimized Debian & Buildroot <pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml repo sync </pre> == How to build the sources == === Build Environment === You need a 64-bit&nbsp;Ubuntu. Note: old versions&nbsp;Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so Install&nbsp;ARM cross-compile tool chain and compile kernel relative&nbsp;software package:&nbsp; $ sudo apt-get install gcc-arm-linux-gnueabihf&nbsp;gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev === Installing the build tools and download source === Please follow&nbsp;[http://rockchip.wikidot.com/linux-user-guide linux user guide]&nbsp;to install the build tools and download source. &nbsp; === Building kernel === For ARM V8 (RK3399 optimized SDK) <pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre> === Building uboot === For RK3399 optimized SDK (rkproduct uboot) <pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre> === Building rootfs === ==== Debian ==== Yu can download the prebuilt image directly. [http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive] or you could use the&nbsp;[https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script]&nbsp;from Rockchip to build rootfs yourselves. ==== Yocto ==== If you want to use Yocto to build your rootfs see&nbsp;[http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide]&nbsp;for detail. ==== Buildroot ==== If you want to use Buildroot to build your rootfs see&nbsp;[http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide]&nbsp;for detail. &nbsp; = Devices = If you need the rk3399-excavator&nbsp;board, please go through&nbsp;the following&nbsp;contact information. <pre>Telephone: 4007700590 Email: service@rock-chips.com</pre> = See also = = Owners of the SoC on IRC = = Commuity Support = = References = = Exteneral Links = &nbsp; d30114f96ac6cd545c78c7ed2322892b3b598f8c 162 161 2017-03-03T06:57:26Z Kevan 10 wikitext text/x-wiki = Overview = == Cortex-A7 == = SoC Features = &nbsp; = History = &nbsp; = Documentation = &nbsp; = Software = == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" style="line-height: 1.6; width: 768px;" |- | style="width: 119px; text-align: center;" | <span style="color:#FFFFFF;"><span style="background-color:#0000CD;">board</span></span> | style="width: 172px; text-align: center;" | <span style="color:#FFFFFF;"><span style="background-color:#0000CD;">kernel</span></span> | style="width: 124px; text-align: center;" | <span style="color:#FFFFFF;"><span style="background-color:#0000CD;">uboot</span></span> | style="width: 310px; text-align: center;" | <span style="color:#FFFFFF;"><span style="background-color:#0000CD;">dts</span></span> |- | style="width: 119px; text-align: center;" | rk3399-excavator | style="width: 172px; text-align: center;" | rockchip_linux_defconfig | style="width: 124px; text-align: center;" | rk3399_linux_defconfig | style="width: 310px; text-align: center;" | rk3399-sapphire-excavator-linux.dts |} &nbsp; == Chip configuration == {| |- ! <span style="color:#FFFFFF;"><span style="background-color:#0000FF;">chip</span></span> ! <span style="color:#FFFFFF;"><span style="background-color:#0000FF;">Kernel eMMC index</span></span> ! <span style="color:#FFFFFF;"><span style="background-color:#0000FF;">Kernel SD index</span></span> ! <span style="color:#FFFFFF;"><span style="background-color:#0000FF;">Uboot eMMC index</span></span> ! <span style="color:#FFFFFF;"><span style="background-color:#0000FF;">Uboot SD index</span></span> ! <span style="color:#FFFFFF;"><span style="background-color:#0000FF;">Baud speed</span></span> |- | style="text-align: center;" | RK3399 | style="text-align: center;" | 1 | style="text-align: center;" | 0 | style="text-align: center;" | 0 | style="text-align: center;" | 1 | style="text-align: center;" | 1500000 |} &nbsp; == How to get the sources == The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code.&nbsp;Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github. RK3399 optimized Debian & Buildroot <pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml repo sync </pre> == How to build the sources == === Build Environment === You need a 64-bit&nbsp;Ubuntu. Note: old versions&nbsp;Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so Install&nbsp;ARM cross-compile tool chain and compile kernel relative&nbsp;software package:&nbsp; $ sudo apt-get install gcc-arm-linux-gnueabihf&nbsp;gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev === Installing the build tools and download source === Please follow&nbsp;[http://rockchip.wikidot.com/linux-user-guide linux user guide]&nbsp;to install the build tools and download source. &nbsp; === Building kernel === For ARM V8 (RK3399 optimized SDK) <pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre> === Building uboot === For RK3399 optimized SDK (rkproduct uboot) <pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre> === Building rootfs === ==== Debian ==== Yu can download the prebuilt image directly. [http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive] or you could use the&nbsp;[https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script]&nbsp;from Rockchip to build rootfs yourselves. ==== Yocto ==== If you want to use Yocto to build your rootfs see&nbsp;[http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide]&nbsp;for detail. ==== Buildroot ==== If you want to use Buildroot to build your rootfs see&nbsp;[http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide]&nbsp;for detail. &nbsp; = Devices = If you need the rk3399-excavator&nbsp;board, please go through&nbsp;the following&nbsp;contact information. <pre>Telephone: 4007700590 Email: service@rock-chips.com</pre> = See also = = Owners of the SoC on IRC = = Commuity Support = = References = = Exteneral Links = &nbsp; 7b3a813f1617eba345887f2c5dfbb54a5c4d112c 163 162 2017-03-03T07:50:45Z Kevan 10 wikitext text/x-wiki = Overview = == RK3399 is a low power, high performance processor for mobile phones, personal mobile<br/> internet device and other digital multimedia applications, and integrates dual-core<br/> Cortex-A72 and quad-core Cortex-A53 with separately NEON coprocessor == = SoC Features = &nbsp; = History = &nbsp; = Documentation = &nbsp; = Software = == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" style="line-height: 1.6; width: 768px;" |- | style="width: 119px; text-align: center;" | <span style="color:#FFFFFF;"><span style="background-color:#0000CD;">board</span></span> | style="width: 172px; text-align: center;" | <span style="color:#FFFFFF;"><span style="background-color:#0000CD;">kernel</span></span> | style="width: 124px; text-align: center;" | <span style="color:#FFFFFF;"><span style="background-color:#0000CD;">uboot</span></span> | style="width: 310px; text-align: center;" | <span style="color:#FFFFFF;"><span style="background-color:#0000CD;">dts</span></span> |- | style="width: 119px; text-align: center;" | rk3399-excavator | style="width: 172px; text-align: center;" | rockchip_linux_defconfig | style="width: 124px; text-align: center;" | rk3399_linux_defconfig | style="width: 310px; text-align: center;" | rk3399-sapphire-excavator-linux.dts |} &nbsp; == Chip configuration == {| |- ! <span style="color:#FFFFFF;"><span style="background-color:#0000FF;">chip</span></span> ! <span style="color:#FFFFFF;"><span style="background-color:#0000FF;">Kernel eMMC index</span></span> ! <span style="color:#FFFFFF;"><span style="background-color:#0000FF;">Kernel SD index</span></span> ! <span style="color:#FFFFFF;"><span style="background-color:#0000FF;">Uboot eMMC index</span></span> ! <span style="color:#FFFFFF;"><span style="background-color:#0000FF;">Uboot SD index</span></span> ! <span style="color:#FFFFFF;"><span style="background-color:#0000FF;">Baud speed</span></span> |- | style="text-align: center;" | RK3399 | style="text-align: center;" | 1 | style="text-align: center;" | 0 | style="text-align: center;" | 0 | style="text-align: center;" | 1 | style="text-align: center;" | 1500000 |} &nbsp; == How to get the sources == The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code.&nbsp;Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github. RK3399 optimized Debian & Buildroot <pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml repo sync </pre> == How to build the sources == === Build Environment === You need a 64-bit&nbsp;Ubuntu. Note: old versions&nbsp;Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so Install&nbsp;ARM cross-compile tool chain and compile kernel relative&nbsp;software package:&nbsp; $ sudo apt-get install gcc-arm-linux-gnueabihf&nbsp;gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev === Installing the build tools and download source === Please follow&nbsp;[http://rockchip.wikidot.com/linux-user-guide linux user guide]&nbsp;to install the build tools and download source. &nbsp; === Building kernel === For ARM V8 (RK3399 optimized SDK) <pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre> === Building uboot === For RK3399 optimized SDK (rkproduct uboot) <pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre> === Building rootfs === ==== Debian ==== Yu can download the prebuilt image directly. [http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive] or you could use the&nbsp;[https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script]&nbsp;from Rockchip to build rootfs yourselves. ==== Yocto ==== If you want to use Yocto to build your rootfs see&nbsp;[http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide]&nbsp;for detail. ==== Buildroot ==== If you want to use Buildroot to build your rootfs see&nbsp;[http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide]&nbsp;for detail. &nbsp; = Devices = If you need the rk3399-excavator&nbsp;board, please go through&nbsp;the following&nbsp;contact information. <pre>Telephone: 4007700590 Email: service@rock-chips.com</pre> = See also = = Owners of the SoC on IRC = = Commuity Support = = References = = Exteneral Links = &nbsp; 83637d34b2c71c98ecc1f004add61dfb119f779f 164 163 2017-03-03T07:52:11Z Kevan 10 wikitext text/x-wiki = Overview = == Cortex-A72 == == RK3399 is a low power, high performance processor for mobile phones, personal mobile<br/> internet device and other digital multimedia applications, and integrates dual-core<br/> Cortex-A72 and quad-core Cortex-A53 with separately NEON coprocessor == = SoC Features = &nbsp; = History = &nbsp; = Documentation = &nbsp; = Software = == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" style="line-height: 1.6; width: 768px;" |- | style="width: 119px; text-align: center;" | <span style="color:#FFFFFF;"><span style="background-color:#0000CD;">board</span></span> | style="width: 172px; text-align: center;" | <span style="color:#FFFFFF;"><span style="background-color:#0000CD;">kernel</span></span> | style="width: 124px; text-align: center;" | <span style="color:#FFFFFF;"><span style="background-color:#0000CD;">uboot</span></span> | style="width: 310px; text-align: center;" | <span style="color:#FFFFFF;"><span style="background-color:#0000CD;">dts</span></span> |- | style="width: 119px; text-align: center;" | rk3399-excavator | style="width: 172px; text-align: center;" | rockchip_linux_defconfig | style="width: 124px; text-align: center;" | rk3399_linux_defconfig | style="width: 310px; text-align: center;" | rk3399-sapphire-excavator-linux.dts |} &nbsp; == Chip configuration == {| |- ! <span style="color:#FFFFFF;"><span style="background-color:#0000FF;">chip</span></span> ! <span style="color:#FFFFFF;"><span style="background-color:#0000FF;">Kernel eMMC index</span></span> ! <span style="color:#FFFFFF;"><span style="background-color:#0000FF;">Kernel SD index</span></span> ! <span style="color:#FFFFFF;"><span style="background-color:#0000FF;">Uboot eMMC index</span></span> ! <span style="color:#FFFFFF;"><span style="background-color:#0000FF;">Uboot SD index</span></span> ! <span style="color:#FFFFFF;"><span style="background-color:#0000FF;">Baud speed</span></span> |- | style="text-align: center;" | RK3399 | style="text-align: center;" | 1 | style="text-align: center;" | 0 | style="text-align: center;" | 0 | style="text-align: center;" | 1 | style="text-align: center;" | 1500000 |} &nbsp; == How to get the sources == The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code.&nbsp;Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github. RK3399 optimized Debian & Buildroot <pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml repo sync </pre> == How to build the sources == === Build Environment === You need a 64-bit&nbsp;Ubuntu. Note: old versions&nbsp;Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so Install&nbsp;ARM cross-compile tool chain and compile kernel relative&nbsp;software package:&nbsp; $ sudo apt-get install gcc-arm-linux-gnueabihf&nbsp;gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev === Installing the build tools and download source === Please follow&nbsp;[http://rockchip.wikidot.com/linux-user-guide linux user guide]&nbsp;to install the build tools and download source. &nbsp; === Building kernel === For ARM V8 (RK3399 optimized SDK) <pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre> === Building uboot === For RK3399 optimized SDK (rkproduct uboot) <pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre> === Building rootfs === ==== Debian ==== Yu can download the prebuilt image directly. [http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive] or you could use the&nbsp;[https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script]&nbsp;from Rockchip to build rootfs yourselves. ==== Yocto ==== If you want to use Yocto to build your rootfs see&nbsp;[http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide]&nbsp;for detail. ==== Buildroot ==== If you want to use Buildroot to build your rootfs see&nbsp;[http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide]&nbsp;for detail. &nbsp; = Devices = If you need the rk3399-excavator&nbsp;board, please go through&nbsp;the following&nbsp;contact information. <pre>Telephone: 4007700590 Email: service@rock-chips.com</pre> = See also = = Owners of the SoC on IRC = = Commuity Support = = References = = Exteneral Links = &nbsp; 416dfccba4e4ae55b8ac46713eb347a30d8c3bad 165 164 2017-03-03T07:53:39Z Kevan 10 wikitext text/x-wiki = Overview = == Cortex-A72 == == &nbsp; == = SoC Features = &nbsp; = History = &nbsp; = Documentation = &nbsp; = Software = == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" style="line-height: 1.6; width: 768px;" |- | style="width: 119px; text-align: center;" | <span style="color:#FFFFFF;"><span style="background-color:#0000CD;">board</span></span> | style="width: 172px; text-align: center;" | <span style="color:#FFFFFF;"><span style="background-color:#0000CD;">kernel</span></span> | style="width: 124px; text-align: center;" | <span style="color:#FFFFFF;"><span style="background-color:#0000CD;">uboot</span></span> | style="width: 310px; text-align: center;" | <span style="color:#FFFFFF;"><span style="background-color:#0000CD;">dts</span></span> |- | style="width: 119px; text-align: center;" | rk3399-excavator | style="width: 172px; text-align: center;" | rockchip_linux_defconfig | style="width: 124px; text-align: center;" | rk3399_linux_defconfig | style="width: 310px; text-align: center;" | rk3399-sapphire-excavator-linux.dts |} &nbsp; == Chip configuration == {| |- ! <span style="color:#FFFFFF;"><span style="background-color:#0000FF;">chip</span></span> ! <span style="color:#FFFFFF;"><span style="background-color:#0000FF;">Kernel eMMC index</span></span> ! <span style="color:#FFFFFF;"><span style="background-color:#0000FF;">Kernel SD index</span></span> ! <span style="color:#FFFFFF;"><span style="background-color:#0000FF;">Uboot eMMC index</span></span> ! <span style="color:#FFFFFF;"><span style="background-color:#0000FF;">Uboot SD index</span></span> ! <span style="color:#FFFFFF;"><span style="background-color:#0000FF;">Baud speed</span></span> |- | style="text-align: center;" | RK3399 | style="text-align: center;" | 1 | style="text-align: center;" | 0 | style="text-align: center;" | 0 | style="text-align: center;" | 1 | style="text-align: center;" | 1500000 |} &nbsp; == How to get the sources == The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code.&nbsp;Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github. RK3399 optimized Debian & Buildroot <pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml repo sync </pre> == How to build the sources == === Build Environment === You need a 64-bit&nbsp;Ubuntu. Note: old versions&nbsp;Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so Install&nbsp;ARM cross-compile tool chain and compile kernel relative&nbsp;software package:&nbsp; $ sudo apt-get install gcc-arm-linux-gnueabihf&nbsp;gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev === Installing the build tools and download source === Please follow&nbsp;[http://rockchip.wikidot.com/linux-user-guide linux user guide]&nbsp;to install the build tools and download source. &nbsp; === Building kernel === For ARM V8 (RK3399 optimized SDK) <pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre> === Building uboot === For RK3399 optimized SDK (rkproduct uboot) <pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre> === Building rootfs === ==== Debian ==== Yu can download the prebuilt image directly. [http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive] or you could use the&nbsp;[https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script]&nbsp;from Rockchip to build rootfs yourselves. ==== Yocto ==== If you want to use Yocto to build your rootfs see&nbsp;[http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide]&nbsp;for detail. ==== Buildroot ==== If you want to use Buildroot to build your rootfs see&nbsp;[http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide]&nbsp;for detail. &nbsp; = Devices = If you need the rk3399-excavator&nbsp;board, please go through&nbsp;the following&nbsp;contact information. <pre>Telephone: 4007700590 Email: service@rock-chips.com</pre> = See also = = Owners of the SoC on IRC = = Commuity Support = = References = = Exteneral Links = &nbsp; 176407b8a81311e7b76d2deb6a7806f0a6ca0f94 173 165 2017-03-03T09:44:24Z Chery 9 wikitext text/x-wiki = Overview = == Cortex-A72 == == &nbsp; == = SoC Features = &nbsp; = History = &nbsp; = Documentation = &nbsp; = Software = == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" style="line-height: 1.6; width: 768px;" |- | style="width: 119px; text-align: center;" | <span style="color:#FFFFFF;"><span style="background-color:#0000CD;">board</span></span> | style="width: 172px; text-align: center;" | <span style="color:#FFFFFF;"><span style="background-color:#0000CD;">kernel</span></span> | style="width: 124px; text-align: center;" | <span style="color:#FFFFFF;"><span style="background-color:#0000CD;">uboot</span></span> | style="width: 310px; text-align: center;" | <span style="color:#FFFFFF;"><span style="background-color:#0000CD;">dts</span></span> |- | style="width: 119px; text-align: center;" | rk3399-excavator | style="width: 172px; text-align: center;" | rockchip_linux_defconfig | style="width: 124px; text-align: center;" | rk3399_linux_defconfig | style="width: 310px; text-align: center;" | rk3399-sapphire-excavator-linux.dts |} &nbsp; == Chip configuration == {| |- ! <span style="color:#FFFFFF;"><span style="background-color:#0000FF;">chip</span></span> ! <span style="color:#FFFFFF;"><span style="background-color:#0000FF;">Kernel eMMC index</span></span> ! <span style="color:#FFFFFF;"><span style="background-color:#0000FF;">Kernel SD index</span></span> ! <span style="color:#FFFFFF;"><span style="background-color:#0000FF;">Uboot eMMC index</span></span> ! <span style="color:#FFFFFF;"><span style="background-color:#0000FF;">Uboot SD index</span></span> ! <span style="color:#FFFFFF;"><span style="background-color:#0000FF;">Baud speed</span></span> |- | style="text-align: center;" | RK3399 | style="text-align: center;" | 1 | style="text-align: center;" | 0 | style="text-align: center;" | 0 | style="text-align: center;" | 1 | style="text-align: center;" | 1500000 |} &nbsp; == How to get the sources == The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code.&nbsp;Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github. RK3399 optimized Debian & Buildroot <pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml repo sync </pre> == How to build the sources == === Build Environment === You need a 64-bit&nbsp;Ubuntu. Note: old versions&nbsp;Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so Install&nbsp;ARM cross-compile tool chain and compile kernel relative&nbsp;software package:&nbsp; $ sudo apt-get install gcc-arm-linux-gnueabihf&nbsp;gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev === Installing the build tools and download source === Please follow&nbsp;[http://rockchip.wikidot.com/linux-user-guide linux user guide]&nbsp;to install the build tools and download source. &nbsp; === Building kernel === For ARM V8 (RK3399 optimized SDK) <pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre> === Building uboot === For RK3399 optimized SDK (rkproduct uboot) <pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre> === Building rootfs === ==== Debian ==== Yu can download the prebuilt image directly. [http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive] or you could use the&nbsp;[https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script]&nbsp;from Rockchip to build rootfs yourselves. ==== Yocto ==== If you want to use Yocto to build your rootfs see&nbsp;[http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide]&nbsp;for detail. ==== Buildroot ==== If you want to use Buildroot to build your rootfs see&nbsp;[http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide]&nbsp;for detail. &nbsp; = Devices = If you need the rk3399-excavator&nbsp;board, please communicate through&nbsp;the following&nbsp;contact information. <pre>Telephone: 4007700590 Email: service@rock-chips.com</pre> = See also = = Owners of the SoC on IRC = = Commuity Support = = References = = Exteneral Links = &nbsp; d2c7e97d2e29163ed4aa36f65dc217dc201c0843 175 173 2017-03-03T09:57:44Z Chery 9 wikitext text/x-wiki = Overview = == Cortex-A72 == == &nbsp; == = SoC Features = &nbsp; = History = &nbsp; = Documentation = &nbsp; = Software = == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" style="line-height: 1.6; width: 768px;" |- | style="width: 119px; text-align: center;" | '''board''' | style="width: 172px; text-align: center;" | '''kernel''' | style="width: 124px; text-align: center;" | '''uboot''' | style="width: 310px; text-align: center;" | '''dts''' |- | style="width: 119px; text-align: center;" | rk3399-excavator | style="width: 172px; text-align: center;" | rockchip_linux_defconfig | style="width: 124px; text-align: center;" | rk3399_linux_defconfig | style="width: 310px; text-align: center;" | rk3399-sapphire-excavator-linux.dts |} &nbsp; == Chip configuration == {| |- ! <span style="color:#FFFFFF;"><span style="background-color:#0000FF;">chip</span></span> ! <span style="color:#FFFFFF;"><span style="background-color:#0000FF;">Kernel eMMC index</span></span> ! <span style="color:#FFFFFF;"><span style="background-color:#0000FF;">Kernel SD index</span></span> ! <span style="color:#FFFFFF;"><span style="background-color:#0000FF;">Uboot eMMC index</span></span> ! <span style="color:#FFFFFF;"><span style="background-color:#0000FF;">Uboot SD index</span></span> ! <span style="color:#FFFFFF;"><span style="background-color:#0000FF;">Baud speed</span></span> |- | style="text-align: center;" | RK3399 | style="text-align: center;" | 1 | style="text-align: center;" | 0 | style="text-align: center;" | 0 | style="text-align: center;" | 1 | style="text-align: center;" | 1500000 |} &nbsp; == How to get the sources == The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code.&nbsp;Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github. RK3399 optimized Debian & Buildroot <pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml repo sync </pre> == How to build the sources == === Build Environment === You need a 64-bit&nbsp;Ubuntu. Note: old versions&nbsp;Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so Install&nbsp;ARM cross-compile tool chain and compile kernel relative&nbsp;software package:&nbsp; $ sudo apt-get install gcc-arm-linux-gnueabihf&nbsp;gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev === Installing the build tools and download source === Please follow&nbsp;[http://rockchip.wikidot.com/linux-user-guide linux user guide]&nbsp;to install the build tools and download source. &nbsp; === Building kernel === For ARM V8 (RK3399 optimized SDK) <pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre> === Building uboot === For RK3399 optimized SDK (rkproduct uboot) <pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre> === Building rootfs === ==== Debian ==== Yu can download the prebuilt image directly. [http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive] or you could use the&nbsp;[https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script]&nbsp;from Rockchip to build rootfs yourselves. ==== Yocto ==== If you want to use Yocto to build your rootfs see&nbsp;[http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide]&nbsp;for detail. ==== Buildroot ==== If you want to use Buildroot to build your rootfs see&nbsp;[http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide]&nbsp;for detail. &nbsp; = Devices = If you need the rk3399-excavator&nbsp;board, please communicate through&nbsp;the following&nbsp;contact information. <pre>Telephone: 4007700590 Email: service@rock-chips.com</pre> = See also = = Owners of the SoC on IRC = = Commuity Support = = References = = Exteneral Links = &nbsp; a2b7785f5622d7fa2d1fc0bae1475b6965d793ae 176 175 2017-03-03T10:05:41Z Chery 9 wikitext text/x-wiki = Overview = == Cortex-A72 == == &nbsp; == = SoC Features = &nbsp; = History = &nbsp; = Documentation = &nbsp; = Software = == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" style="line-height: 1.6; width: 768px;" |- | style="width: 119px; text-align: center;" | '''board''' | style="width: 172px; text-align: center;" | '''kernel''' | style="width: 124px; text-align: center;" | '''uboot''' | style="width: 310px; text-align: center;" | '''dts''' |- | style="width: 119px; text-align: center;" | rk3399-excavator | style="width: 172px; text-align: center;" | rockchip_linux_defconfig | style="width: 124px; text-align: center;" | rk3399_linux_defconfig | style="width: 310px; text-align: center;" | rk3399-sapphire-excavator-linux.dts |} &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" style="width: 737px;" |- | style="width: 68px; text-align: center;" | '''chip''' | style="width: 140px; text-align: center;" | '''Kernel eMMC index''' | style="width: 143px; text-align: center;" | '''Kernel SD index''' | style="width: 140px; text-align: center;" | '''Uboot eMMC index''' | style="width: 118px; text-align: center;" | '''Uboot SD index''' | style="width: 95px; text-align: center;" | '''Baud speed''' |- | style="width: 68px; text-align: center;" | RK3399 | style="width: 140px; text-align: center;" | 1 | style="width: 143px; text-align: center;" | 0 | style="width: 140px; text-align: center;" | 0 | style="width: 118px; text-align: center;" | 1 | style="width: 95px; text-align: center;" | 1500000 |} == How to get the sources == The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code.&nbsp;Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github. RK3399 optimized Debian & Buildroot <pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml repo sync </pre> == How to build the sources == === Build Environment === You need a 64-bit&nbsp;Ubuntu. Note: old versions&nbsp;Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so Install&nbsp;ARM cross-compile tool chain and compile kernel relative&nbsp;software package:&nbsp; $ sudo apt-get install gcc-arm-linux-gnueabihf&nbsp;gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev === Installing the build tools and download source === Please follow&nbsp;[http://rockchip.wikidot.com/linux-user-guide linux user guide]&nbsp;to install the build tools and download source. &nbsp; === Building kernel === For ARM V8 (RK3399 optimized SDK) <pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre> === Building uboot === For RK3399 optimized SDK (rkproduct uboot) <pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre> === Building rootfs === ==== Debian ==== Yu can download the prebuilt image directly. [http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive] or you could use the&nbsp;[https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script]&nbsp;from Rockchip to build rootfs yourselves. ==== Yocto ==== If you want to use Yocto to build your rootfs see&nbsp;[http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide]&nbsp;for detail. ==== Buildroot ==== If you want to use Buildroot to build your rootfs see&nbsp;[http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide]&nbsp;for detail. &nbsp; = Devices = If you need the rk3399-excavator&nbsp;board, please communicate through&nbsp;the following&nbsp;contact information. <pre>Telephone: 4007700590 Email: service@rock-chips.com</pre> = See also = = Owners of the SoC on IRC = = Commuity Support = = References = = Exteneral Links = &nbsp; 5974608f42a0f39f50f579aafb8912b202f08f16 180 176 2017-03-06T09:17:51Z Chery 9 wikitext text/x-wiki = Overview = = SoC Features = &nbsp; = History = &nbsp; = Documentation = &nbsp; = Software = == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" style="line-height: 1.6; width: 768px;" |- | style="width: 119px; text-align: center;" | '''board''' | style="width: 172px; text-align: center;" | '''kernel''' | style="width: 124px; text-align: center;" | '''uboot''' | style="width: 310px; text-align: center;" | '''dts''' |- | style="width: 119px; text-align: center;" | rk3399-excavator | style="width: 172px; text-align: center;" | rockchip_linux_defconfig | style="width: 124px; text-align: center;" | rk3399_linux_defconfig | style="width: 310px; text-align: center;" | rk3399-sapphire-excavator-linux.dts |} &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" style="width: 737px;" |- | style="width: 68px; text-align: center;" | '''chip''' | style="width: 140px; text-align: center;" | '''Kernel eMMC index''' | style="width: 143px; text-align: center;" | '''Kernel SD index''' | style="width: 140px; text-align: center;" | '''Uboot eMMC index''' | style="width: 118px; text-align: center;" | '''Uboot SD index''' | style="width: 95px; text-align: center;" | '''Baud speed''' |- | style="width: 68px; text-align: center;" | RK3399 | style="width: 140px; text-align: center;" | 1 | style="width: 143px; text-align: center;" | 0 | style="width: 140px; text-align: center;" | 0 | style="width: 118px; text-align: center;" | 1 | style="width: 95px; text-align: center;" | 1500000 |} == How to get the sources == The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code.&nbsp;Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github. RK3399 optimized Debian & Buildroot <pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml repo sync </pre> == How to build the sources == === Build Environment === You need a 64-bit&nbsp;Ubuntu. Note: old versions&nbsp;Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so Install&nbsp;ARM cross-compile tool chain and compile kernel relative&nbsp;software package:&nbsp; $ sudo apt-get install gcc-arm-linux-gnueabihf&nbsp;gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev === Installing the build tools and download source === Please follow&nbsp;[http://rockchip.wikidot.com/linux-user-guide linux user guide]&nbsp;to install the build tools and download source. &nbsp; === Building kernel === For ARM V8 (RK3399 optimized SDK) <pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre> === Building uboot === For RK3399 optimized SDK (rkproduct uboot) <pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre> === Building rootfs === ==== Debian ==== Yu can download the prebuilt image directly. [http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive] or you could use the&nbsp;[https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script]&nbsp;from Rockchip to build rootfs yourselves. ==== Yocto ==== If you want to use Yocto to build your rootfs see&nbsp;[http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide]&nbsp;for detail. ==== Buildroot ==== If you want to use Buildroot to build your rootfs see&nbsp;[http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide]&nbsp;for detail. &nbsp; = Devices = If you need the rk3399-excavator&nbsp;board, please communicate through&nbsp;the following&nbsp;contact information. <pre>Telephone: 4007700590 Email: service@rock-chips.com</pre> = See also = = Owners of the SoC on IRC = = Commuity Support = = References = = Exteneral Links = &nbsp; 108f5de2bf6bc5797156649cd0023422b5d0aa15 183 180 2017-03-06T12:33:00Z Admin 1 wikitext text/x-wiki = Overview = = SoC Features = *CPU: **Dual-core ARM Cortex-A72 MPCore and&nbsp;Quad-core ARM Cortex-A53 MPCore&nbsp; **32KB L1-Cache **1MB L2-Cache *GPU: **ARM Mali-T764 GPU, with TE, ASTC, AFBC technology **Quad core 3D Graphics engine **Dual core 2D Graphics engine **Comply with&nbsp;OpenGL ES1.1/2.0/3.0, OpenVG1.1, OpenCL, DirectX11 *Display: **4Kx2K@60fpsHDMI2.0 **Up to 3840X2160 display resolution **Support dual-channel LVDS/dual-channel MIPI-DSI/eDP1.1 *Camera: **Support up to 5M pixels **8bits/10bits/12bits raw data interface&nbsp; *Memory: **Dual channels 64-bit DRAM controller **Support DDR3/DDR3L, LPDDR2, LPDDR3 *Connectivity: **Embedded 13M ISP and MIPI-CSI2 interface *Audio: **I2S/PCM with 8 channels *OS: **Support Android 4.2 or up = History = &nbsp; = Documentation = &nbsp; = Software = == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" style="line-height: 1.6; width: 768px;" |- | style="width: 119px; text-align: center;" | '''board''' | style="width: 172px; text-align: center;" | '''kernel''' | style="width: 124px; text-align: center;" | '''uboot''' | style="width: 310px; text-align: center;" | '''dts''' |- | style="width: 119px; text-align: center;" | rk3399-excavator | style="width: 172px; text-align: center;" | rockchip_linux_defconfig | style="width: 124px; text-align: center;" | rk3399_linux_defconfig | style="width: 310px; text-align: center;" | rk3399-sapphire-excavator-linux.dts |} &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" style="width: 737px;" |- | style="width: 68px; text-align: center;" | '''chip''' | style="width: 140px; text-align: center;" | '''Kernel eMMC index''' | style="width: 143px; text-align: center;" | '''Kernel SD index''' | style="width: 140px; text-align: center;" | '''Uboot eMMC index''' | style="width: 118px; text-align: center;" | '''Uboot SD index''' | style="width: 95px; text-align: center;" | '''Baud speed''' |- | style="width: 68px; text-align: center;" | RK3399 | style="width: 140px; text-align: center;" | 1 | style="width: 143px; text-align: center;" | 0 | style="width: 140px; text-align: center;" | 0 | style="width: 118px; text-align: center;" | 1 | style="width: 95px; text-align: center;" | 1500000 |} == How to get the sources == The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code.&nbsp;Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github. RK3399 optimized Debian & Buildroot <pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml repo sync </pre> == How to build the sources == === Build Environment === You need a 64-bit&nbsp;Ubuntu. Note: old versions&nbsp;Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so Install&nbsp;ARM cross-compile tool chain and compile kernel relative&nbsp;software package:&nbsp; $ sudo apt-get install gcc-arm-linux-gnueabihf&nbsp;gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev === Installing the build tools and download source === Please follow&nbsp;[http://rockchip.wikidot.com/linux-user-guide linux user guide]&nbsp;to install the build tools and download source. &nbsp; === Building kernel === For ARM V8 (RK3399 optimized SDK) <pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre> === Building uboot === For RK3399 optimized SDK (rkproduct uboot) <pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre> === Building rootfs === ==== Debian ==== Yu can download the prebuilt image directly. [http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive] or you could use the&nbsp;[https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script]&nbsp;from Rockchip to build rootfs yourselves. ==== Yocto ==== If you want to use Yocto to build your rootfs see&nbsp;[http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide]&nbsp;for detail. ==== Buildroot ==== If you want to use Buildroot to build your rootfs see&nbsp;[http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide]&nbsp;for detail. &nbsp; = Devices = If you need the rk3399-excavator&nbsp;board, please communicate through&nbsp;the following&nbsp;contact information. <pre>Telephone: 4007700590 Email: service@rock-chips.com</pre> = See also = = Owners of the SoC on IRC = = Commuity Support = = References = = Exteneral Links = &nbsp; e43678c248810d064744445e0cfeda99433db0e5 Talk:Debian 1 23 158 2017-03-03T03:23:16Z Jacob 6 Created page with " debian的guide我一直是弄成一步一步来的那种,就是一个指令一个指令的输入,build kernel build uboot build rootfs,烧uboot,做gpt,烧rootfs,..." wikitext text/x-wiki debian的guide我一直是弄成一步一步来的那种,就是一个指令一个指令的输入,build kernel build uboot build rootfs,烧uboot,做gpt,烧rootfs,每步都列出来 可以借此让用debian的人熟悉我们每个的步骤,少问点问题,可以知道自己哪里错了。。 &nbsp; 因为用debian主要的几个场景还是给community user爱好者以及第一次是使用rk linux的customer评估用,后面基于这个开发也不太需要集成脚本之类的,从我们现在工程师的使用来看,因为debian apt东西比较方便,大家的烧image都是自己有自己的方法,比如ssh,比如串口,比如ums。。。 f3f4ce0df9e1311b43fd760f31fc6684d9e902e5 159 158 2017-03-03T03:25:18Z Jacob 6 wikitext text/x-wiki debian的guide我一直是弄成一步一步来的那种,就是一个指令一个指令的输入,build kernel build uboot build rootfs,烧uboot,做gpt,烧rootfs,每步都列出来 可以借此让用debian的人熟悉我们每个的步骤,少问点问题,可以知道自己哪里错了。。 &nbsp; 因为用debian主要的几个场景还是给community user爱好者以及第一次是使用rk linux的customer评估用,后面基于这个开发也不太需要集成脚本之类的,从我们现在工程师的使用来看,因为debian apt东西比较方便,大家的烧image都是自己有自己的方法,比如ssh,比如串口,比如ums。。。 &nbsp; 这里主要的问题主要是rk-uboot和upstream-uboot的一些方法要分开写,我这里先写upstream uboot的,二部看一下写rk-uboot的 6ce401b24a92974dc9edd3c68df50d5025937705 RK3328 0 24 166 2017-03-03T08:33:49Z Admin 1 Created page with " = Overview =" wikitext text/x-wiki = Overview = e565917e597336d73068b5a002c04af440d70aec 167 166 2017-03-03T08:35:43Z Admin 1 wikitext text/x-wiki = Overview = = &nbsp;Cortex-A53 = dd6f4329b52b87dcb74c8f6c301f398a19d1c838 168 167 2017-03-03T08:35:55Z Admin 1 wikitext text/x-wiki = Overview = = Cortex-A53 = 27875b6de5f87f6d5ddad35a38aaa411e2da738b 169 168 2017-03-03T09:15:46Z Admin 1 wikitext text/x-wiki = Overview = &nbsp; &nbsp; &nbsp; == Cortex-A53 == &nbsp; = SoC Features = *CPU: **ARM Cortex-A53&nbsp;Quad-Core&nbsp; *GPU **&nbsp;Mali-450MP2 **Comply with Open GL ES1.1/2.0 *Multi-Media: **4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps **1080P other video decoders (VC-1, MPEG-1/2/4, VP8) **1080P video encoder for H.264 and H.265 **Support HDR10 ,HLG HDR , Support conversion between SDR and HDR *Display: **HDMI 2.0a for 4K@60Hz with HDCP 1.4/2.2 **Support conversion between Rec.2020 and Rec.709 *Camera: *Memory: **LPDDR3/DDR3/DDR3L/DDR4 **eMMC 4.51,SDCard, SPI Flash *PMIC: *Embedded Controller: *Audio: *OS: ceec8b7e3d6185fab2f771b9934d6f8f84206554 170 169 2017-03-03T09:18:42Z Admin 1 wikitext text/x-wiki = Overview = = &nbsp; = &nbsp; &nbsp; == Cortex-A53 == &nbsp; = SoC Features = *CPU: **ARM Cortex-A53&nbsp;Quad-Core&nbsp; *GPU **&nbsp;Mali-450MP2 **Comply with Open GL ES1.1/2.0 *Multi-Media: **4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps **1080P other video decoders (VC-1, MPEG-1/2/4, VP8) **1080P video encoder for H.264 and H.265 **Support HDR10 ,HLG HDR , Support conversion between SDR and HDR *Display: **HDMI 2.0a for 4K@60Hz with HDCP 1.4/2.2 **Support conversion between Rec.2020 and Rec.709 *Camera: *Memory: **LPDDR3/DDR3/DDR3L/DDR4 **eMMC 4.51,SDCard, SPI Flash *PMIC: *Embedded Controller: *Audio: *OS: 8599a85908c45bf2f110d11d10cd792856ffa89c 171 170 2017-03-03T09:19:11Z Admin 1 wikitext text/x-wiki = Overview = &nbsp; == Cortex-A53 == &nbsp; = SoC Features = *CPU: **ARM Cortex-A53&nbsp;Quad-Core&nbsp; *GPU **&nbsp;Mali-450MP2 **Comply with Open GL ES1.1/2.0 *Multi-Media: **4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps **1080P other video decoders (VC-1, MPEG-1/2/4, VP8) **1080P video encoder for H.264 and H.265 **Support HDR10 ,HLG HDR , Support conversion between SDR and HDR *Display: **HDMI 2.0a for 4K@60Hz with HDCP 1.4/2.2 **Support conversion between Rec.2020 and Rec.709 *Camera: *Memory: **LPDDR3/DDR3/DDR3L/DDR4 **eMMC 4.51,SDCard, SPI Flash *PMIC: *Embedded Controller: *Audio: *OS: 367e5549db6ae2ad155fa6a43ebee99b179ea812 172 171 2017-03-03T09:36:41Z Admin 1 wikitext text/x-wiki = Overview = RK3328 consists of Quad-core A53 application processor . Quad-core Cortex-A53 is integrated with separate Neon and FPU coprocessor, also with shared L2 Cache.&nbsp; Lots of high-performance interface to get very flexible solution, such as multi-channel display with HDMI2.0a, TV Encoder. TrustZone and crypto hardware are integrated for security. 32bits DDR3/DDR3L/DDR4/LPDDR3 provides high memory bandwidths. <!--[if gte mso 9]><xml> <o:OLEObject Type="Embed" ProgID="Visio.Drawing.11" ShapeID="_x0000_i1025" DrawAspect="Content" ObjectID="_1550067703"> </o:OLEObject> </xml><![endif]--> <!--[if gte mso 9]><xml> <o:OLEObject Type="Embed" ProgID="Visio.Drawing.11" ShapeID="_x0000_i1025" DrawAspect="Content" ObjectID="_1550067703"> </o:OLEObject> </xml><![endif]--> &nbsp; == Cortex-A53 == &nbsp; = SoC Features = *CPU: **ARM Cortex-A53&nbsp;Quad-Core&nbsp; *GPU **&nbsp;Mali-450MP2 **Comply with Open GL ES1.1/2.0 *Multi-Media: **4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps **1080P other video decoders (VC-1, MPEG-1/2/4, VP8) **1080P video encoder for H.264 and H.265 **Support HDR10 ,HLG HDR , Support conversion between SDR and HDR *Display: **HDMI 2.0a for 4K@60Hz with HDCP 1.4/2.2 **Support conversion between Rec.2020 and Rec.709 *Camera: *Memory: **LPDDR3/DDR3/DDR3L/DDR4 **eMMC 4.51,SDCard, SPI Flash *PMIC: *Embedded Controller: *Audio: *OS: 5c8627c2dccb9c93399bf594b5405a9b7fe25a97 174 172 2017-03-03T09:51:26Z Admin 1 wikitext text/x-wiki = Overview = RK3328 consists of Quad-core A53 application processor . Quad-core Cortex-A53 is integrated with separate Neon and FPU coprocessor, also with shared L2 Cache.&nbsp; Lots of high-performance interface to get very flexible solution, such as multi-channel display with HDMI2.0a, TV Encoder. TrustZone and crypto hardware are integrated for security. 32bits DDR3/DDR3L/DDR4/LPDDR3 provides high memory bandwidths. <!--[if gte mso 9]><xml> <o:OLEObject Type="Embed" ProgID="Visio.Drawing.11" ShapeID="_x0000_i1025" DrawAspect="Content" ObjectID="_1550067703"> </o:OLEObject> </xml><![endif]--> <!--[if gte mso 9]><xml> <o:OLEObject Type="Embed" ProgID="Visio.Drawing.11" ShapeID="_x0000_i1025" DrawAspect="Content" ObjectID="_1550067703"> </o:OLEObject> </xml><![endif]--> &nbsp; == Cortex-A53 == &nbsp; = SoC Features = *CPU: **ARM Cortex-A53&nbsp;Quad-Core&nbsp; *GPU **&nbsp;Mali-450MP2 **Comply with Open GL ES1.1/2.0 *Multi-Media: **4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps **1080P other video decoders (VC-1, MPEG-1/2/4, VP8) **1080P video encoder for H.264 and H.265 **Support HDR10 ,HLG HDR , Support conversion between SDR and HDR *Display: **HDMI 2.0a for 4K@60Hz with HDCP 1.4/2.2 **Support conversion between Rec.2020 and Rec.709 *Camera: *Memory: **LPDDR3/DDR3/DDR3L/DDR4 **eMMC 4.51,SDCard, SPI Flash *PMIC: *Embedded Controller: *Audio: *OS: 16239f821f75091843e602e8fd91c558d55ab8f4 RK3399 0 21 184 183 2017-03-06T12:33:44Z Admin 1 wikitext text/x-wiki = Overview = = SoC Features = *CPU: **Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU **Frequency is over 2.0GHz (Big cluster) *GPU: **ARM Mali-T764 GPU, with TE, ASTC, AFBC technology **Quad core 3D Graphics engine **Dual core 2D Graphics engine **Comply with&nbsp;OpenGL ES1.1/2.0/3.0, OpenVG1.1, OpenCL, DirectX11 *Display: **4Kx2K@60fpsHDMI2.0 **Up to 3840X2160 display resolution **Support dual-channel LVDS/dual-channel MIPI-DSI/eDP1.1 *Camera: **Support up to 5M pixels **8bits/10bits/12bits raw data interface&nbsp; *Memory: **Dual channels 64-bit DRAM controller **Support DDR3/DDR3L, LPDDR2, LPDDR3 *Connectivity: **Embedded 13M ISP and MIPI-CSI2 interface *Audio: **I2S/PCM with 8 channels *OS: **Support Android 4.2 or up = History = &nbsp; = Documentation = &nbsp; = Software = == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" style="line-height: 1.6; width: 768px;" |- | style="width: 119px; text-align: center;" | '''board''' | style="width: 172px; text-align: center;" | '''kernel''' | style="width: 124px; text-align: center;" | '''uboot''' | style="width: 310px; text-align: center;" | '''dts''' |- | style="width: 119px; text-align: center;" | rk3399-excavator | style="width: 172px; text-align: center;" | rockchip_linux_defconfig | style="width: 124px; text-align: center;" | rk3399_linux_defconfig | style="width: 310px; text-align: center;" | rk3399-sapphire-excavator-linux.dts |} &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" style="width: 737px;" |- | style="width: 68px; text-align: center;" | '''chip''' | style="width: 140px; text-align: center;" | '''Kernel eMMC index''' | style="width: 143px; text-align: center;" | '''Kernel SD index''' | style="width: 140px; text-align: center;" | '''Uboot eMMC index''' | style="width: 118px; text-align: center;" | '''Uboot SD index''' | style="width: 95px; text-align: center;" | '''Baud speed''' |- | style="width: 68px; text-align: center;" | RK3399 | style="width: 140px; text-align: center;" | 1 | style="width: 143px; text-align: center;" | 0 | style="width: 140px; text-align: center;" | 0 | style="width: 118px; text-align: center;" | 1 | style="width: 95px; text-align: center;" | 1500000 |} == How to get the sources == The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code.&nbsp;Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github. RK3399 optimized Debian & Buildroot <pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml repo sync </pre> == How to build the sources == === Build Environment === You need a 64-bit&nbsp;Ubuntu. Note: old versions&nbsp;Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so Install&nbsp;ARM cross-compile tool chain and compile kernel relative&nbsp;software package:&nbsp; $ sudo apt-get install gcc-arm-linux-gnueabihf&nbsp;gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev === Installing the build tools and download source === Please follow&nbsp;[http://rockchip.wikidot.com/linux-user-guide linux user guide]&nbsp;to install the build tools and download source. &nbsp; === Building kernel === For ARM V8 (RK3399 optimized SDK) <pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre> === Building uboot === For RK3399 optimized SDK (rkproduct uboot) <pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre> === Building rootfs === ==== Debian ==== Yu can download the prebuilt image directly. [http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive] or you could use the&nbsp;[https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script]&nbsp;from Rockchip to build rootfs yourselves. ==== Yocto ==== If you want to use Yocto to build your rootfs see&nbsp;[http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide]&nbsp;for detail. ==== Buildroot ==== If you want to use Buildroot to build your rootfs see&nbsp;[http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide]&nbsp;for detail. &nbsp; = Devices = If you need the rk3399-excavator&nbsp;board, please communicate through&nbsp;the following&nbsp;contact information. <pre>Telephone: 4007700590 Email: service@rock-chips.com</pre> = See also = = Owners of the SoC on IRC = = Commuity Support = = References = = Exteneral Links = &nbsp; 3b3fbd924b9591df782a5241eb64fdbb78d032a3 185 184 2017-03-07T01:51:03Z Admin 1 wikitext text/x-wiki = Overview = = SoC Features = *CPU: **Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU **Frequency is over 2.0GHz (Big cluster) *GPU: **&nbsp;Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenVG1.1, OpenCL, DX11 **Supports AFBC (ARM Frame Buffer Compression) *Display: **Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600 **Dual channel MIPI-DSI (4 lanes per channel) **eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR **HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2 **DisplayPort 1.2 (4 lanes, up to 4K 60Hz) **Supports Rec.2020 and conversion to Rec.709 *Camera: **&nbsp;Dual 8M ISP and dual channel MIPI CSI-2 receive interface *Memory: **Dual channels 64-bit DRAM controller **Support DDR3/DDR3L, LPDDR3, LPDDR4 *Connectivity: **PCIe 2.1 (4 full-duplex lanes with 20Gbps) **Embedded low power MCU for other application **8 channels I2S supports 8 channels RX or 8 channels TX &nbsp; = History = &nbsp; = Documentation = &nbsp; = Software = == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" style="line-height: 1.6; width: 768px;" |- | style="width: 119px; text-align: center;" | '''board''' | style="width: 172px; text-align: center;" | '''kernel''' | style="width: 124px; text-align: center;" | '''uboot''' | style="width: 310px; text-align: center;" | '''dts''' |- | style="width: 119px; text-align: center;" | rk3399-excavator | style="width: 172px; text-align: center;" | rockchip_linux_defconfig | style="width: 124px; text-align: center;" | rk3399_linux_defconfig | style="width: 310px; text-align: center;" | rk3399-sapphire-excavator-linux.dts |} &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" style="width: 737px;" |- | style="width: 68px; text-align: center;" | '''chip''' | style="width: 140px; text-align: center;" | '''Kernel eMMC index''' | style="width: 143px; text-align: center;" | '''Kernel SD index''' | style="width: 140px; text-align: center;" | '''Uboot eMMC index''' | style="width: 118px; text-align: center;" | '''Uboot SD index''' | style="width: 95px; text-align: center;" | '''Baud speed''' |- | style="width: 68px; text-align: center;" | RK3399 | style="width: 140px; text-align: center;" | 1 | style="width: 143px; text-align: center;" | 0 | style="width: 140px; text-align: center;" | 0 | style="width: 118px; text-align: center;" | 1 | style="width: 95px; text-align: center;" | 1500000 |} == How to get the sources == The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code.&nbsp;Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github. RK3399 optimized Debian & Buildroot <pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml repo sync </pre> == How to build the sources == === Build Environment === You need a 64-bit&nbsp;Ubuntu. Note: old versions&nbsp;Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so Install&nbsp;ARM cross-compile tool chain and compile kernel relative&nbsp;software package:&nbsp; $ sudo apt-get install gcc-arm-linux-gnueabihf&nbsp;gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev === Installing the build tools and download source === Please follow&nbsp;[http://rockchip.wikidot.com/linux-user-guide linux user guide]&nbsp;to install the build tools and download source. &nbsp; === Building kernel === For ARM V8 (RK3399 optimized SDK) <pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre> === Building uboot === For RK3399 optimized SDK (rkproduct uboot) <pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre> === Building rootfs === ==== Debian ==== Yu can download the prebuilt image directly. [http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive] or you could use the&nbsp;[https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script]&nbsp;from Rockchip to build rootfs yourselves. ==== Yocto ==== If you want to use Yocto to build your rootfs see&nbsp;[http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide]&nbsp;for detail. ==== Buildroot ==== If you want to use Buildroot to build your rootfs see&nbsp;[http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide]&nbsp;for detail. &nbsp; = Devices = If you need the rk3399-excavator&nbsp;board, please communicate through&nbsp;the following&nbsp;contact information. <pre>Telephone: 4007700590 Email: service@rock-chips.com</pre> = See also = = Owners of the SoC on IRC = = Commuity Support = = References = = Exteneral Links = &nbsp; 239275dbfcb8fe538ad66271f27696f748335993 199 185 2017-03-07T03:25:06Z Chery 9 wikitext text/x-wiki = Overview = = SoC Features = *CPU: **Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU **Frequency is over 1.8GHz (Big cluster) *GPU: **&nbsp;Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenVG1.1, OpenCL, DX11 **Supports AFBC (ARM Frame Buffer Compression) *Display: **Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600 **Dual channel MIPI-DSI (4 lanes per channel) **eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR **HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2 **DisplayPort 1.2 (4 lanes, up to 4K 60Hz) **Supports Rec.2020 and conversion to Rec.709 *Camera: **&nbsp;Dual 8M ISP and dual channel MIPI CSI-2 receive interface *Memory: **Dual channels 64-bit DRAM controller **Support DDR3/DDR3L, LPDDR3, LPDDR4 *Connectivity: **PCIe 2.1 (4 full-duplex lanes with 20Gbps) **Embedded low power MCU for other application **8 channels I2S supports 8 channels RX or 8 channels TX &nbsp; = History = &nbsp; = Documentation = &nbsp; = Software = == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" style="line-height: 1.6; width: 768px;" |- | style="width: 119px; text-align: center;" | '''board''' | style="width: 172px; text-align: center;" | '''kernel''' | style="width: 124px; text-align: center;" | '''uboot''' | style="width: 310px; text-align: center;" | '''dts''' |- | style="width: 119px; text-align: center;" | rk3399-excavator | style="width: 172px; text-align: center;" | rockchip_linux_defconfig | style="width: 124px; text-align: center;" | rk3399_linux_defconfig | style="width: 310px; text-align: center;" | rk3399-sapphire-excavator-linux.dts |} &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" style="width: 737px;" |- | style="width: 68px; text-align: center;" | '''chip''' | style="width: 140px; text-align: center;" | '''Kernel eMMC index''' | style="width: 143px; text-align: center;" | '''Kernel SD index''' | style="width: 140px; text-align: center;" | '''Uboot eMMC index''' | style="width: 118px; text-align: center;" | '''Uboot SD index''' | style="width: 95px; text-align: center;" | '''Baud speed''' |- | style="width: 68px; text-align: center;" | RK3399 | style="width: 140px; text-align: center;" | 1 | style="width: 143px; text-align: center;" | 0 | style="width: 140px; text-align: center;" | 0 | style="width: 118px; text-align: center;" | 1 | style="width: 95px; text-align: center;" | 1500000 |} == How to get the sources == The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code.&nbsp;Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github. RK3399 optimized Debian & Buildroot <pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml repo sync </pre> == How to build the sources == === Build Environment === You need a 64-bit&nbsp;Ubuntu. Note: old versions&nbsp;Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so Install&nbsp;ARM cross-compile tool chain and compile kernel relative&nbsp;software package:&nbsp; $ sudo apt-get install gcc-arm-linux-gnueabihf&nbsp;gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev === Installing the build tools and download source === Please follow&nbsp;[http://rockchip.wikidot.com/linux-user-guide linux user guide]&nbsp;to install the build tools and download source. &nbsp; === Building kernel === For ARM V8 (RK3399 optimized SDK) <pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre> === Building uboot === For RK3399 optimized SDK (rkproduct uboot) <pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre> === Building rootfs === ==== Debian ==== Yu can download the prebuilt image directly. [http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive] or you could use the&nbsp;[https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script]&nbsp;from Rockchip to build rootfs yourselves. ==== Yocto ==== If you want to use Yocto to build your rootfs see&nbsp;[http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide]&nbsp;for detail. ==== Buildroot ==== If you want to use Buildroot to build your rootfs see&nbsp;[http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide]&nbsp;for detail. &nbsp; = Devices = If you need the rk3399-excavator&nbsp;board, please communicate through&nbsp;the following&nbsp;contact information. <pre>Telephone: 4007700590 Email: service@rock-chips.com</pre> = See also = = Owners of the SoC on IRC = = Commuity Support = = References = = Exteneral Links = &nbsp; 0807e57e3c02fbc30cae65712d26dbe1becdca7d 200 199 2017-03-07T03:46:00Z Dxj 11 wikitext text/x-wiki = Overview = = SoC Features = *CPU: **Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU **Frequency is over 1.8GHz (Big cluster) *GPU: **&nbsp;Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenVG1.1, OpenCL, DX11 **Supports AFBC (ARM Frame Buffer Compression) *Display: **Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600 **Dual channel MIPI-DSI (4 lanes per channel) **eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR **HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2 **DisplayPort 1.2 (4 lanes, up to 4K 60Hz) **Supports Rec.2020 and conversion to Rec.709 *Camera: **&nbsp;Dual mipi CSI,dual ISP, each up to 13M&nbsp; *Memory: **Dual channels 64-bit DRAM controller **Support DDR3/DDR3L, LPDDR3, LPDDR4 *Connectivity: **PCIe 2.1 (4 full-duplex lanes with 20Gbps) **Embedded low power MCU for other application **8 channels I2S supports 8 channels RX or 8 channels TX &nbsp; = History = &nbsp; = Documentation = &nbsp; = Software = == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" style="line-height: 1.6; width: 768px;" |- | style="width: 119px; text-align: center;" | '''board''' | style="width: 172px; text-align: center;" | '''kernel''' | style="width: 124px; text-align: center;" | '''uboot''' | style="width: 310px; text-align: center;" | '''dts''' |- | style="width: 119px; text-align: center;" | rk3399-excavator | style="width: 172px; text-align: center;" | rockchip_linux_defconfig | style="width: 124px; text-align: center;" | rk3399_linux_defconfig | style="width: 310px; text-align: center;" | rk3399-sapphire-excavator-linux.dts |} &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" style="width: 737px;" |- | style="width: 68px; text-align: center;" | '''chip''' | style="width: 140px; text-align: center;" | '''Kernel eMMC index''' | style="width: 143px; text-align: center;" | '''Kernel SD index''' | style="width: 140px; text-align: center;" | '''Uboot eMMC index''' | style="width: 118px; text-align: center;" | '''Uboot SD index''' | style="width: 95px; text-align: center;" | '''Baud speed''' |- | style="width: 68px; text-align: center;" | RK3399 | style="width: 140px; text-align: center;" | 1 | style="width: 143px; text-align: center;" | 0 | style="width: 140px; text-align: center;" | 0 | style="width: 118px; text-align: center;" | 1 | style="width: 95px; text-align: center;" | 1500000 |} == How to get the sources == The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code.&nbsp;Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github. RK3399 optimized Debian & Buildroot <pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml repo sync </pre> == How to build the sources == === Build Environment === You need a 64-bit&nbsp;Ubuntu. Note: old versions&nbsp;Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so Install&nbsp;ARM cross-compile tool chain and compile kernel relative&nbsp;software package:&nbsp; $ sudo apt-get install gcc-arm-linux-gnueabihf&nbsp;gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev === Installing the build tools and download source === Please follow&nbsp;[http://rockchip.wikidot.com/linux-user-guide linux user guide]&nbsp;to install the build tools and download source. &nbsp; === Building kernel === For ARM V8 (RK3399 optimized SDK) <pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre> === Building uboot === For RK3399 optimized SDK (rkproduct uboot) <pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre> === Building rootfs === ==== Debian ==== Yu can download the prebuilt image directly. [http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive] or you could use the&nbsp;[https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script]&nbsp;from Rockchip to build rootfs yourselves. ==== Yocto ==== If you want to use Yocto to build your rootfs see&nbsp;[http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide]&nbsp;for detail. ==== Buildroot ==== If you want to use Buildroot to build your rootfs see&nbsp;[http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide]&nbsp;for detail. &nbsp; = Devices = If you need the rk3399-excavator&nbsp;board, please communicate through&nbsp;the following&nbsp;contact information. <pre>Telephone: 4007700590 Email: service@rock-chips.com</pre> = See also = = Owners of the SoC on IRC = = Commuity Support = = References = = Exteneral Links = &nbsp; 2197d88dc4f1cfd6d9bae06017e4664c8e4e4f5a 201 200 2017-03-07T06:50:01Z Chery 9 wikitext text/x-wiki = Overview = RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications. = SoC Features = *CPU: **Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU **Frequency is over 1.8GHz (Big cluster) *GPU: **&nbsp;Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenVG1.1, OpenCL, DX11 **Supports AFBC (ARM Frame Buffer Compression) *Display: **Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600 **Dual channel MIPI-DSI (4 lanes per channel) **eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR **HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2 **DisplayPort 1.2 (4 lanes, up to 4K 60Hz) **Supports Rec.2020 and conversion to Rec.709 *Camera: **&nbsp;Dual mipi CSI,dual ISP, each up to 13M&nbsp; *Memory: **Dual channels 64-bit DRAM controller **Support DDR3/DDR3L, LPDDR3, LPDDR4 *Connectivity: **PCIe 2.1 (4 full-duplex lanes with 20Gbps) **Embedded low power MCU for other application **8 channels I2S supports 8 channels RX or 8 channels TX &nbsp; = History = &nbsp; = Documentation = &nbsp; = Software = == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" style="line-height: 1.6; width: 768px;" |- | style="width: 119px; text-align: center;" | '''board''' | style="width: 172px; text-align: center;" | '''kernel''' | style="width: 124px; text-align: center;" | '''uboot''' | style="width: 310px; text-align: center;" | '''dts''' |- | style="width: 119px; text-align: center;" | rk3399-excavator | style="width: 172px; text-align: center;" | rockchip_linux_defconfig | style="width: 124px; text-align: center;" | rk3399_linux_defconfig | style="width: 310px; text-align: center;" | rk3399-sapphire-excavator-linux.dts |} &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" style="width: 737px;" |- | style="width: 68px; text-align: center;" | '''chip''' | style="width: 140px; text-align: center;" | '''Kernel eMMC index''' | style="width: 143px; text-align: center;" | '''Kernel SD index''' | style="width: 140px; text-align: center;" | '''Uboot eMMC index''' | style="width: 118px; text-align: center;" | '''Uboot SD index''' | style="width: 95px; text-align: center;" | '''Baud speed''' |- | style="width: 68px; text-align: center;" | RK3399 | style="width: 140px; text-align: center;" | 1 | style="width: 143px; text-align: center;" | 0 | style="width: 140px; text-align: center;" | 0 | style="width: 118px; text-align: center;" | 1 | style="width: 95px; text-align: center;" | 1500000 |} == How to get the sources == The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code.&nbsp;Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github. RK3399 optimized Debian & Buildroot <pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml repo sync </pre> == How to build the sources == === Build Environment === You need a 64-bit&nbsp;Ubuntu. Note: old versions&nbsp;Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so Install&nbsp;ARM cross-compile tool chain and compile kernel relative&nbsp;software package:&nbsp; $ sudo apt-get install gcc-arm-linux-gnueabihf&nbsp;gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev === Installing the build tools and download source === Please follow&nbsp;[http://rockchip.wikidot.com/linux-user-guide linux user guide]&nbsp;to install the build tools and download source. &nbsp; === Building kernel === For ARM V8 (RK3399 optimized SDK) <pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre> === Building uboot === For RK3399 optimized SDK (rkproduct uboot) <pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre> === Building rootfs === ==== Debian ==== Yu can download the prebuilt image directly. [http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive] or you could use the&nbsp;[https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script]&nbsp;from Rockchip to build rootfs yourselves. ==== Yocto ==== If you want to use Yocto to build your rootfs see&nbsp;[http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide]&nbsp;for detail. ==== Buildroot ==== If you want to use Buildroot to build your rootfs see&nbsp;[http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide]&nbsp;for detail. &nbsp; = Devices = If you need the rk3399-excavator&nbsp;board, please communicate through&nbsp;the following&nbsp;contact information. <pre>Telephone: 4007700590 Email: service@rock-chips.com</pre> = See also = = Owners of the SoC on IRC = = Commuity Support = = References = = Exteneral Links = &nbsp; 2a8ee944767bdc01dd22a781baedb9cab34f1e76 202 201 2017-03-07T06:51:03Z Chery 9 wikitext text/x-wiki = Overview = &nbsp; &nbsp; &nbsp; &nbsp;RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> &nbsp; &nbsp; &nbsp; &nbsp;Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> &nbsp; &nbsp; &nbsp; &nbsp;Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> &nbsp; &nbsp; &nbsp; &nbsp;RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications. = SoC Features = *CPU: **Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU **Frequency is over 1.8GHz (Big cluster) *GPU: **&nbsp;Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenVG1.1, OpenCL, DX11 **Supports AFBC (ARM Frame Buffer Compression) *Display: **Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600 **Dual channel MIPI-DSI (4 lanes per channel) **eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR **HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2 **DisplayPort 1.2 (4 lanes, up to 4K 60Hz) **Supports Rec.2020 and conversion to Rec.709 *Camera: **&nbsp;Dual mipi CSI,dual ISP, each up to 13M&nbsp; *Memory: **Dual channels 64-bit DRAM controller **Support DDR3/DDR3L, LPDDR3, LPDDR4 *Connectivity: **PCIe 2.1 (4 full-duplex lanes with 20Gbps) **Embedded low power MCU for other application **8 channels I2S supports 8 channels RX or 8 channels TX &nbsp; = History = &nbsp; = Documentation = &nbsp; = Software = == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" style="line-height: 1.6; width: 768px;" |- | style="width: 119px; text-align: center;" | '''board''' | style="width: 172px; text-align: center;" | '''kernel''' | style="width: 124px; text-align: center;" | '''uboot''' | style="width: 310px; text-align: center;" | '''dts''' |- | style="width: 119px; text-align: center;" | rk3399-excavator | style="width: 172px; text-align: center;" | rockchip_linux_defconfig | style="width: 124px; text-align: center;" | rk3399_linux_defconfig | style="width: 310px; text-align: center;" | rk3399-sapphire-excavator-linux.dts |} &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" style="width: 737px;" |- | style="width: 68px; text-align: center;" | '''chip''' | style="width: 140px; text-align: center;" | '''Kernel eMMC index''' | style="width: 143px; text-align: center;" | '''Kernel SD index''' | style="width: 140px; text-align: center;" | '''Uboot eMMC index''' | style="width: 118px; text-align: center;" | '''Uboot SD index''' | style="width: 95px; text-align: center;" | '''Baud speed''' |- | style="width: 68px; text-align: center;" | RK3399 | style="width: 140px; text-align: center;" | 1 | style="width: 143px; text-align: center;" | 0 | style="width: 140px; text-align: center;" | 0 | style="width: 118px; text-align: center;" | 1 | style="width: 95px; text-align: center;" | 1500000 |} == How to get the sources == The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code.&nbsp;Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github. RK3399 optimized Debian & Buildroot <pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml repo sync </pre> == How to build the sources == === Build Environment === You need a 64-bit&nbsp;Ubuntu. Note: old versions&nbsp;Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so Install&nbsp;ARM cross-compile tool chain and compile kernel relative&nbsp;software package:&nbsp; $ sudo apt-get install gcc-arm-linux-gnueabihf&nbsp;gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev === Installing the build tools and download source === Please follow&nbsp;[http://rockchip.wikidot.com/linux-user-guide linux user guide]&nbsp;to install the build tools and download source. &nbsp; === Building kernel === For ARM V8 (RK3399 optimized SDK) <pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre> === Building uboot === For RK3399 optimized SDK (rkproduct uboot) <pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre> === Building rootfs === ==== Debian ==== Yu can download the prebuilt image directly. [http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive] or you could use the&nbsp;[https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script]&nbsp;from Rockchip to build rootfs yourselves. ==== Yocto ==== If you want to use Yocto to build your rootfs see&nbsp;[http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide]&nbsp;for detail. ==== Buildroot ==== If you want to use Buildroot to build your rootfs see&nbsp;[http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide]&nbsp;for detail. &nbsp; = Devices = If you need the rk3399-excavator&nbsp;board, please communicate through&nbsp;the following&nbsp;contact information. <pre>Telephone: 4007700590 Email: service@rock-chips.com</pre> = See also = = Owners of the SoC on IRC = = Commuity Support = = References = = Exteneral Links = &nbsp; f45d70928aa8c660bb312cf5ceaf48e8b543a8c7 203 202 2017-03-07T06:51:21Z Dxj 11 wikitext text/x-wiki = Overview = &nbsp; &nbsp; &nbsp; &nbsp;RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> &nbsp; &nbsp; &nbsp; &nbsp;Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> &nbsp; &nbsp; &nbsp; &nbsp;Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> &nbsp; &nbsp; &nbsp; &nbsp;RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications. = SoC Features = *CPU: **Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU **Frequency is over 1.8GHz (Big cluster) *GPU: **&nbsp;Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenVG1.1, OpenCL, DX11 **Supports AFBC (ARM Frame Buffer Compression) *Display: **Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600 **Dual channel MIPI-DSI (4 lanes per channel) **eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR **HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2 **DisplayPort 1.2 (4 lanes, up to 4K 60Hz) **Supports Rec.2020 and conversion to Rec.709 *Camera: **&nbsp;Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels *Memory: **Dual channels 64-bit DRAM controller **Support DDR3/DDR3L, LPDDR3, LPDDR4 *Connectivity: **PCIe 2.1 (4 full-duplex lanes with 20Gbps) **Embedded low power MCU for other application **8 channels I2S supports 8 channels RX or 8 channels TX &nbsp; = History = &nbsp; = Documentation = &nbsp; = Software = == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" style="line-height: 1.6; width: 768px;" |- | style="width: 119px; text-align: center;" | '''board''' | style="width: 172px; text-align: center;" | '''kernel''' | style="width: 124px; text-align: center;" | '''uboot''' | style="width: 310px; text-align: center;" | '''dts''' |- | style="width: 119px; text-align: center;" | rk3399-excavator | style="width: 172px; text-align: center;" | rockchip_linux_defconfig | style="width: 124px; text-align: center;" | rk3399_linux_defconfig | style="width: 310px; text-align: center;" | rk3399-sapphire-excavator-linux.dts |} &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" style="width: 737px;" |- | style="width: 68px; text-align: center;" | '''chip''' | style="width: 140px; text-align: center;" | '''Kernel eMMC index''' | style="width: 143px; text-align: center;" | '''Kernel SD index''' | style="width: 140px; text-align: center;" | '''Uboot eMMC index''' | style="width: 118px; text-align: center;" | '''Uboot SD index''' | style="width: 95px; text-align: center;" | '''Baud speed''' |- | style="width: 68px; text-align: center;" | RK3399 | style="width: 140px; text-align: center;" | 1 | style="width: 143px; text-align: center;" | 0 | style="width: 140px; text-align: center;" | 0 | style="width: 118px; text-align: center;" | 1 | style="width: 95px; text-align: center;" | 1500000 |} == How to get the sources == The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code.&nbsp;Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github. RK3399 optimized Debian & Buildroot <pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml repo sync </pre> == How to build the sources == === Build Environment === You need a 64-bit&nbsp;Ubuntu. Note: old versions&nbsp;Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so Install&nbsp;ARM cross-compile tool chain and compile kernel relative&nbsp;software package:&nbsp; $ sudo apt-get install gcc-arm-linux-gnueabihf&nbsp;gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev === Installing the build tools and download source === Please follow&nbsp;[http://rockchip.wikidot.com/linux-user-guide linux user guide]&nbsp;to install the build tools and download source. &nbsp; === Building kernel === For ARM V8 (RK3399 optimized SDK) <pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre> === Building uboot === For RK3399 optimized SDK (rkproduct uboot) <pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre> === Building rootfs === ==== Debian ==== Yu can download the prebuilt image directly. [http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive] or you could use the&nbsp;[https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script]&nbsp;from Rockchip to build rootfs yourselves. ==== Yocto ==== If you want to use Yocto to build your rootfs see&nbsp;[http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide]&nbsp;for detail. ==== Buildroot ==== If you want to use Buildroot to build your rootfs see&nbsp;[http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide]&nbsp;for detail. &nbsp; = Devices = If you need the rk3399-excavator&nbsp;board, please communicate through&nbsp;the following&nbsp;contact information. <pre>Telephone: 4007700590 Email: service@rock-chips.com</pre> = See also = = Owners of the SoC on IRC = = Commuity Support = = References = = Exteneral Links = &nbsp; 756648e318303e72a47ca4b01ac03b62f18504a3 204 203 2017-03-07T06:51:56Z Chery 9 wikitext text/x-wiki = Overview = RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications. = SoC Features = *CPU: **Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU **Frequency is over 1.8GHz (Big cluster) *GPU: **&nbsp;Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenVG1.1, OpenCL, DX11 **Supports AFBC (ARM Frame Buffer Compression) *Display: **Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600 **Dual channel MIPI-DSI (4 lanes per channel) **eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR **HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2 **DisplayPort 1.2 (4 lanes, up to 4K 60Hz) **Supports Rec.2020 and conversion to Rec.709 *Camera: **&nbsp;Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels *Memory: **Dual channels 64-bit DRAM controller **Support DDR3/DDR3L, LPDDR3, LPDDR4 *Connectivity: **PCIe 2.1 (4 full-duplex lanes with 20Gbps) **Embedded low power MCU for other application **8 channels I2S supports 8 channels RX or 8 channels TX &nbsp; = History = &nbsp; = Documentation = &nbsp; = Software = == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" style="line-height: 1.6; width: 768px;" |- | style="width: 119px; text-align: center;" | '''board''' | style="width: 172px; text-align: center;" | '''kernel''' | style="width: 124px; text-align: center;" | '''uboot''' | style="width: 310px; text-align: center;" | '''dts''' |- | style="width: 119px; text-align: center;" | rk3399-excavator | style="width: 172px; text-align: center;" | rockchip_linux_defconfig | style="width: 124px; text-align: center;" | rk3399_linux_defconfig | style="width: 310px; text-align: center;" | rk3399-sapphire-excavator-linux.dts |} &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" style="width: 737px;" |- | style="width: 68px; text-align: center;" | '''chip''' | style="width: 140px; text-align: center;" | '''Kernel eMMC index''' | style="width: 143px; text-align: center;" | '''Kernel SD index''' | style="width: 140px; text-align: center;" | '''Uboot eMMC index''' | style="width: 118px; text-align: center;" | '''Uboot SD index''' | style="width: 95px; text-align: center;" | '''Baud speed''' |- | style="width: 68px; text-align: center;" | RK3399 | style="width: 140px; text-align: center;" | 1 | style="width: 143px; text-align: center;" | 0 | style="width: 140px; text-align: center;" | 0 | style="width: 118px; text-align: center;" | 1 | style="width: 95px; text-align: center;" | 1500000 |} == How to get the sources == The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code.&nbsp;Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github. RK3399 optimized Debian & Buildroot <pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml repo sync </pre> == How to build the sources == === Build Environment === You need a 64-bit&nbsp;Ubuntu. Note: old versions&nbsp;Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so Install&nbsp;ARM cross-compile tool chain and compile kernel relative&nbsp;software package:&nbsp; $ sudo apt-get install gcc-arm-linux-gnueabihf&nbsp;gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev === Installing the build tools and download source === Please follow&nbsp;[http://rockchip.wikidot.com/linux-user-guide linux user guide]&nbsp;to install the build tools and download source. &nbsp; === Building kernel === For ARM V8 (RK3399 optimized SDK) <pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre> === Building uboot === For RK3399 optimized SDK (rkproduct uboot) <pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre> === Building rootfs === ==== Debian ==== Yu can download the prebuilt image directly. [http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive] or you could use the&nbsp;[https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script]&nbsp;from Rockchip to build rootfs yourselves. ==== Yocto ==== If you want to use Yocto to build your rootfs see&nbsp;[http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide]&nbsp;for detail. ==== Buildroot ==== If you want to use Buildroot to build your rootfs see&nbsp;[http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide]&nbsp;for detail. &nbsp; = Devices = If you need the rk3399-excavator&nbsp;board, please communicate through&nbsp;the following&nbsp;contact information. <pre>Telephone: 4007700590 Email: service@rock-chips.com</pre> = See also = = Owners of the SoC on IRC = = Commuity Support = = References = = Exteneral Links = &nbsp; 07dcf1e2229de8e2cec1527f863bb7a5b953940f 206 204 2017-03-07T07:38:37Z Chery 9 wikitext text/x-wiki = Overview = RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications. = SoC Features = *CPU: **Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU **Frequency is over 1.8GHz (Big cluster) *GPU: **&nbsp;Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenVG1.1, OpenCL, DX11 **Supports AFBC (ARM Frame Buffer Compression) *Display: **Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600 **Dual channel MIPI-DSI (4 lanes per channel) **eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR **HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2 **DisplayPort 1.2 (4 lanes, up to 4K 60Hz) **Supports Rec.2020 and conversion to Rec.709 *Camera: **&nbsp;Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels *Memory: **Dual channels 64-bit DRAM controller **Support DDR3/DDR3L, LPDDR3, LPDDR4 *Connectivity: **PCIe 2.1 (4 full-duplex lanes with 20Gbps) **Embedded low power MCU for other application **8 channels I2S supports 8 channels RX or 8 channels TX &nbsp; = History = &nbsp; = Documentation = &nbsp; = Software = == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" style="line-height: 1.6; width: 768px;" |- | style="width: 119px; text-align: center;" | '''board''' | style="width: 172px; text-align: center;" | '''kernel''' | style="width: 124px; text-align: center;" | '''uboot''' | style="width: 310px; text-align: center;" | '''dts''' |- | style="width: 119px; text-align: center;" | rk3399-excavator | style="width: 172px; text-align: center;" | rockchip_linux_defconfig | style="width: 124px; text-align: center;" | rk3399_linux_defconfig | style="width: 310px; text-align: center;" | rk3399-sapphire-excavator-linux.dts |} &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" style="width: 859px;" |- | style="width: 68px; text-align: center;" | '''chip''' | style="width: 181px; text-align: center;" | '''Kernel eMMC index''' | style="width: 142px; text-align: center;" | '''Kernel SD index''' | style="width: 158px; text-align: center;" | '''Uboot eMMC index''' | style="width: 146px; text-align: center;" | '''Uboot SD index''' | style="width: 132px; text-align: center;" | '''Baud speed''' |- | style="width: 68px; text-align: center;" | RK3399 | style="width: 181px; text-align: center;" | 1 | style="width: 142px; text-align: center;" | 0 | style="width: 158px; text-align: center;" | 0 | style="width: 146px; text-align: center;" | 1 | style="width: 132px; text-align: center;" | 1500000 |} == How to get the sources == The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code.&nbsp;Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github. RK3399 optimized Debian & Buildroot <pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml repo sync </pre> == How to build the sources == === Build Environment === You need a 64-bit&nbsp;Ubuntu. Note: old versions&nbsp;Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so Install&nbsp;ARM cross-compile tool chain and compile kernel relative&nbsp;software package:&nbsp; $ sudo apt-get install gcc-arm-linux-gnueabihf&nbsp;gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev === Installing the build tools and download source === Please follow&nbsp;[http://rockchip.wikidot.com/linux-user-guide linux user guide]&nbsp;to install the build tools and download source. &nbsp; === Building kernel === For ARM V8 (RK3399 optimized SDK) <pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre> === Building uboot === For RK3399 optimized SDK (rkproduct uboot) <pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre> === Building rootfs === ==== Debian ==== Yu can download the prebuilt image directly. [http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive] or you could use the&nbsp;[https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script]&nbsp;from Rockchip to build rootfs yourselves. ==== Yocto ==== If you want to use Yocto to build your rootfs see&nbsp;[http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide]&nbsp;for detail. ==== Buildroot ==== If you want to use Buildroot to build your rootfs see&nbsp;[http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide]&nbsp;for detail. &nbsp; = Devices = If you need the rk3399-excavator&nbsp;board, please communicate through&nbsp;the following&nbsp;contact information. <pre>Telephone: 4007700590 Email: service@rock-chips.com</pre> = See also = = Owners of the SoC on IRC = = Commuity Support = = References = = Exteneral Links = &nbsp; bca12969e5df5ab784aa9cdf6d37e4d496ad256a 219 206 2017-03-07T09:57:17Z Chery 9 wikitext text/x-wiki = Overview = RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications. = SoC Features = *CPU: **Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU **Frequency is over 1.8GHz (Big cluster) *GPU: **&nbsp;Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11 **Supports AFBC (ARM Frame Buffer Compression) *Display: **Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600 **Dual channel MIPI-DSI (4 lanes per channel) **eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR **HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2 **DisplayPort 1.2 (4 lanes, up to 4K 60Hz) **Supports Rec.2020 and conversion to Rec.709 *Camera: **&nbsp;Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels *Memory: **Dual channels 64-bit DRAM controller **Support DDR3/DDR3L, LPDDR3, LPDDR4 *Connectivity: **PCIe 2.1 (4 full-duplex lanes with 20Gbps) **Embedded low power MCU for other application **8 channels I2S supports 8 channels RX or 8 channels TX &nbsp; = History = &nbsp; = Documentation = &nbsp; = Software = == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" style="line-height: 1.6; width: 768px;" |- | style="width: 119px; text-align: center;" | '''board''' | style="width: 172px; text-align: center;" | '''kernel''' | style="width: 124px; text-align: center;" | '''uboot''' | style="width: 310px; text-align: center;" | '''dts''' |- | style="width: 119px; text-align: center;" | rk3399-excavator | style="width: 172px; text-align: center;" | rockchip_linux_defconfig | style="width: 124px; text-align: center;" | rk3399_linux_defconfig | style="width: 310px; text-align: center;" | rk3399-sapphire-excavator-linux.dts |} &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" style="width: 859px;" |- | style="width: 68px; text-align: center;" | '''chip''' | style="width: 181px; text-align: center;" | '''Kernel eMMC index''' | style="width: 142px; text-align: center;" | '''Kernel SD index''' | style="width: 158px; text-align: center;" | '''Uboot eMMC index''' | style="width: 146px; text-align: center;" | '''Uboot SD index''' | style="width: 132px; text-align: center;" | '''Baud speed''' |- | style="width: 68px; text-align: center;" | RK3399 | style="width: 181px; text-align: center;" | 1 | style="width: 142px; text-align: center;" | 0 | style="width: 158px; text-align: center;" | 0 | style="width: 146px; text-align: center;" | 1 | style="width: 132px; text-align: center;" | 1500000 |} == How to get the sources == The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code.&nbsp;Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github. RK3399 optimized Debian & Buildroot <pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml repo sync </pre> == How to build the sources == === Build Environment === You need a 64-bit&nbsp;Ubuntu. Note: old versions&nbsp;Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so Install&nbsp;ARM cross-compile tool chain and compile kernel relative&nbsp;software package:&nbsp; $ sudo apt-get install gcc-arm-linux-gnueabihf&nbsp;gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev === Installing the build tools and download source === Please follow&nbsp;[http://rockchip.wikidot.com/linux-user-guide linux user guide]&nbsp;to install the build tools and download source. &nbsp; === Building kernel === For ARM V8 (RK3399 optimized SDK) <pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre> === Building uboot === For RK3399 optimized SDK (rkproduct uboot) <pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre> === Building rootfs === ==== Debian ==== Yu can download the prebuilt image directly. [http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive] or you could use the&nbsp;[https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script]&nbsp;from Rockchip to build rootfs yourselves. ==== Yocto ==== If you want to use Yocto to build your rootfs see&nbsp;[http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide]&nbsp;for detail. ==== Buildroot ==== If you want to use Buildroot to build your rootfs see&nbsp;[http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide]&nbsp;for detail. &nbsp; = Devices = If you need the rk3399-excavator&nbsp;board, please communicate through&nbsp;the following&nbsp;contact information. <pre>Telephone: 4007700590 Email: service@rock-chips.com</pre> = See also = = Owners of the SoC on IRC = = Commuity Support = = References = = Exteneral Links = &nbsp; fb661afbcc40d90675ebc920dfe1c00865f442ae 220 219 2017-03-07T10:06:21Z Chery 9 wikitext text/x-wiki = Overview = RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications. = SoC Features = *CPU: **Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU **Frequency is over 1.8GHz (Big cluster) *GPU: **&nbsp;Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11 **Supports AFBC (ARM Frame Buffer Compression) *Display: **Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600 **Dual channel MIPI-DSI (4 lanes per channel) **eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR **HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2 **DisplayPort 1.2 (4 lanes, up to 4K 60Hz) **Supports Rec.2020 and conversion to Rec.709 *Camera: **&nbsp;Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels *Memory: **Dual channels 64-bit DRAM controller **Support DDR3/DDR3L, LPDDR3, LPDDR4 *Connectivity: **PCIe 2.1 (4 full-duplex lanes with 20Gbps) **Embedded low power MCU for other application **8 channels I2S supports 8 channels RX or 8 channels TX &nbsp; = History = &nbsp; = Documentation = &nbsp; = Software = == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" style="line-height: 1.6; width: 768px;" |- | style="width: 119px; text-align: center;" | '''board''' | style="width: 172px; text-align: center;" | '''kernel''' | style="width: 124px; text-align: center;" | '''uboot''' | style="width: 310px; text-align: center;" | '''dts''' |- | style="width: 119px; text-align: center;" | rk3399-excavator | style="width: 172px; text-align: center;" | rockchip_linux_defconfig | style="width: 124px; text-align: center;" | rk3399_linux_defconfig | style="width: 310px; text-align: center;" | rk3399-sapphire-excavator-linux.dts |} &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" style="width: 859px;" |- | style="width: 68px; text-align: center;" | '''chip''' | style="width: 181px; text-align: center;" | '''Kernel eMMC index''' | style="width: 142px; text-align: center;" | '''Kernel SD index''' | style="width: 158px; text-align: center;" | '''Uboot eMMC index''' | style="width: 146px; text-align: center;" | '''Uboot SD index''' | style="width: 132px; text-align: center;" | '''Baud speed''' |- | style="width: 68px; text-align: center;" | RK3399 | style="width: 181px; text-align: center;" | 1 | style="width: 142px; text-align: center;" | 0 | style="width: 158px; text-align: center;" | 0 | style="width: 146px; text-align: center;" | 1 | style="width: 132px; text-align: center;" | 1500000 |} == How to get the sources == The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code.&nbsp;Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github. RK3399 optimized Debian & Buildroot <pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml repo sync </pre> == How to build the sources == === Build Environment === You need a 64-bit&nbsp;Ubuntu. Note: old versions&nbsp;Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so Install&nbsp;ARM cross-compile tool chain and compile kernel relative&nbsp;software package:&nbsp; $ sudo apt-get install gcc-arm-linux-gnueabihf&nbsp;gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev === Installing the build tools and download source === Please follow&nbsp;[http://rockchip.wikidot.com/linux-user-guide linux user guide]&nbsp;to install the build tools and download source. &nbsp; === Building kernel === For ARM V8 (RK3399 optimized SDK) <pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre> === Building uboot === For RK3399 optimized SDK (rkproduct uboot) <pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre> === Building rootfs === ==== Debian ==== you could refer to [[Media:RK3399_Linux_Debian_System_Development_Guide|RK3399 Linux Debian System Development Guide]]&nbsp;from Rockchip to build rootfs yourselves. ==== Buildroot ==== you could refer to [[Media:RK3399_Linux_Debian_System_Development_Guide|RK3399 Linux Buildroot System Development Guide]]&nbsp;from Rockchip to build rootfs yourselves. &nbsp; = Devices = If you need the rk3399-excavator&nbsp;board, please communicate through&nbsp;the following&nbsp;contact information. <pre>Telephone: 4007700590 Email: service@rock-chips.com</pre> = See also = = Owners of the SoC on IRC = = Commuity Support = = References = = Exteneral Links = &nbsp; 34745ab66f0806bd83dcb55e24878abb83ab5172 232 220 2017-03-07T11:41:31Z Admin 1 wikitext text/x-wiki = Overview = RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications. = SoC Features = *CPU: **Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU **Frequency is over 1.8GHz (Big cluster) *GPU: **&nbsp;Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11 **Supports AFBC (ARM Frame Buffer Compression) *Display: **Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600 **Dual channel MIPI-DSI (4 lanes per channel) **eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR **HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2 **DisplayPort 1.2 (4 lanes, up to 4K 60Hz) **Supports Rec.2020 and conversion to Rec.709 *Camera: **&nbsp;Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels *Memory: **Dual channels 64-bit DRAM controller **Support DDR3/DDR3L, LPDDR3, LPDDR4 *Connectivity: **PCIe 2.1 (4 full-duplex lanes with 20Gbps) **Embedded low power MCU for other application **8 channels I2S supports 8 channels RX or 8 channels TX &nbsp; = History = &nbsp; = Documentation = &nbsp; = Software = == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" style="line-height: 1.6; width: 768px;" |- | style="width: 119px; text-align: center;" | '''board''' | style="width: 172px; text-align: center;" | '''kernel''' | style="width: 124px; text-align: center;" | '''uboot''' | style="width: 310px; text-align: center;" | '''dts''' |- | style="width: 119px; text-align: center;" | rk3399-excavator | style="width: 172px; text-align: center;" | rockchip_linux_defconfig | style="width: 124px; text-align: center;" | rk3399_linux_defconfig | style="width: 310px; text-align: center;" | rk3399-sapphire-excavator-linux.dts |} &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" style="width: 859px;" |- | style="width: 68px; text-align: center;" | '''chip''' | style="width: 181px; text-align: center;" | '''Kernel eMMC index''' | style="width: 142px; text-align: center;" | '''Kernel SD index''' | style="width: 158px; text-align: center;" | '''Uboot eMMC index''' | style="width: 146px; text-align: center;" | '''Uboot SD index''' | style="width: 132px; text-align: center;" | '''Baud speed''' |- | style="width: 68px; text-align: center;" | RK3399 | style="width: 181px; text-align: center;" | 1 | style="width: 142px; text-align: center;" | 0 | style="width: 158px; text-align: center;" | 0 | style="width: 146px; text-align: center;" | 1 | style="width: 132px; text-align: center;" | 1500000 |} == How to get the sources == The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code.&nbsp;Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github. RK3399 optimized Debian & Buildroot <pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml repo sync </pre> == How to build the sources == === Build Environment === You need a 64-bit&nbsp;Ubuntu. Note: old versions&nbsp;Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so Install&nbsp;ARM cross-compile tool chain and compile kernel relative&nbsp;software package:&nbsp; $ sudo apt-get install gcc-arm-linux-gnueabihf&nbsp;gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev === Installing the build tools and download source === Please follow&nbsp;[http://rockchip.wikidot.com/linux-user-guide linux user guide]&nbsp;to install the build tools and download source. &nbsp; === Building kernel === For ARM V8 (RK3399 optimized SDK) <pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre> === Building uboot === For RK3399 optimized SDK (rkproduct uboot) <pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre> === Building rootfs === ==== Debian ==== you could refer to [[Media:RK3399_Linux_Debian_System_Development_Guide|RK3399 Linux Debian System Development Guide]]&nbsp;from Rockchip to build rootfs yourselves. ==== Buildroot ==== you could refer to [[Media:RK3399_Linux_Debian_System_Development_Guide|RK3399 Linux Buildroot System Development Guide]]&nbsp;from Rockchip to build rootfs yourselves. &nbsp; = Devices = If you need the rk3399-excavator&nbsp;board, please communicate through&nbsp;the following&nbsp;contact information. <pre>Telephone: 4007700590 Email: service@rock-chips.com</pre> = See also = [[RK3288|RK3288]] [[RK3328]] = Owners of the SoC on IRC = = Commuity Support = = References = = Exteneral Links = &nbsp; 6c1b97600b9bd2b4ebb52d3e4ea27bca1a0bf6b8 238 232 2017-03-07T11:56:04Z Admin 1 wikitext text/x-wiki = Overview = RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications. = SoC Features = *CPU: **Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU **Frequency is over 1.8GHz (Big cluster) *GPU: **&nbsp;Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11 **Supports AFBC (ARM Frame Buffer Compression) *Display: **Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600 **Dual channel MIPI-DSI (4 lanes per channel) **eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR **HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2 **DisplayPort 1.2 (4 lanes, up to 4K 60Hz) **Supports Rec.2020 and conversion to Rec.709 *Camera: **&nbsp;Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels *Memory: **Dual channels 64-bit DRAM controller **Support DDR3/DDR3L, LPDDR3, LPDDR4 *Connectivity: **PCIe 2.1 (4 full-duplex lanes with 20Gbps) **Embedded low power MCU for other application **8 channels I2S supports 8 channels RX or 8 channels TX &nbsp; = History = &nbsp; = Documentation = &nbsp; = Software = == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" style="line-height: 1.6; width: 768px;" |- | style="width: 119px; text-align: center;" | '''board''' | style="width: 172px; text-align: center;" | '''kernel''' | style="width: 124px; text-align: center;" | '''uboot''' | style="width: 310px; text-align: center;" | '''dts''' |- | style="width: 119px; text-align: center;" | rk3399-excavator | style="width: 172px; text-align: center;" | rockchip_linux_defconfig | style="width: 124px; text-align: center;" | rk3399_linux_defconfig | style="width: 310px; text-align: center;" | rk3399-sapphire-excavator-linux.dts |} &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" style="width: 859px;" |- | style="width: 68px; text-align: center;" | '''chip''' | style="width: 181px; text-align: center;" | '''Kernel eMMC index''' | style="width: 142px; text-align: center;" | '''Kernel SD index''' | style="width: 158px; text-align: center;" | '''Uboot eMMC index''' | style="width: 146px; text-align: center;" | '''Uboot SD index''' | style="width: 132px; text-align: center;" | '''Baud speed''' |- | style="width: 68px; text-align: center;" | RK3399 | style="width: 181px; text-align: center;" | 1 | style="width: 142px; text-align: center;" | 0 | style="width: 158px; text-align: center;" | 0 | style="width: 146px; text-align: center;" | 1 | style="width: 132px; text-align: center;" | 1500000 |} == How to get the sources == The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code.&nbsp;Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github. RK3399 optimized Debian & Buildroot <pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml repo sync </pre> == How to build the sources == === Build Environment === You need a 64-bit&nbsp;Ubuntu. Note: old versions&nbsp;Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so Install&nbsp;ARM cross-compile tool chain and compile kernel relative&nbsp;software package:&nbsp; $ sudo apt-get install gcc-arm-linux-gnueabihf&nbsp;gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev === Installing the build tools and download source === Please follow&nbsp;[http://rockchip.wikidot.com/linux-user-guide linux user guide]&nbsp;to install the build tools and download source. &nbsp; === Building kernel === For ARM V8 (RK3399 optimized SDK) <pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre> === Building uboot === For RK3399 optimized SDK (rkproduct uboot) <pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre> === Building rootfs === ==== Debian ==== you could refer to [[Media:RK3399_Linux_Debian_System_Development_Guide|RK3399 Linux Debian System Development Guide]]&nbsp;from Rockchip to build rootfs yourselves. ==== Buildroot ==== you could refer to [[Media:RK3399_Linux_Debian_System_Development_Guide|RK3399 Linux Buildroot System Development Guide]]&nbsp;from Rockchip to build rootfs yourselves. &nbsp; = Devices = If you need the [[rk3399-excavator board|rk3399-excavator&nbsp;board]], please communicate through&nbsp;the following&nbsp;contact information. <pre>Telephone: 4007700590 Email: service@rock-chips.com</pre> = See also = [[RK3288|RK3288]] [[RK3328]] = Owners of the SoC on IRC = = Commuity Support = = References = = Exteneral Links = &nbsp; 09cdcb1e9425b089e59900bd56079346cfa81316 RK3328 0 24 186 174 2017-03-07T02:06:14Z Admin 1 wikitext text/x-wiki *[https://linux-sunxi.org/A31#Overview 1&nbsp;Overview] **[https://linux-sunxi.org/A31#Cortex-A7 1.1&nbsp;Cortex-A7] **[https://linux-sunxi.org/A31#A31s 1.2&nbsp;A31s] *[https://linux-sunxi.org/A31#A31_SoC_Features 2&nbsp;A31 SoC Features] *[https://linux-sunxi.org/A31#History 3&nbsp;History] *[https://linux-sunxi.org/A31#Documentation 4&nbsp;Documentation] *[https://linux-sunxi.org/A31#Software 5&nbsp;Software] **[https://linux-sunxi.org/A31#Original_SDKs 5.1&nbsp;Original SDKs] **[https://linux-sunxi.org/A31#GPL_Violations 5.2&nbsp;GPL Violations] ***[https://linux-sunxi.org/A31#a31_hummbingbird_V3.3_v2_kfb_0k_SDK 5.2.1&nbsp;a31_hummbingbird_V3.3_v2_kfb_0k SDK] ****[https://linux-sunxi.org/A31#kernel 5.2.1.1&nbsp;kernel] ****[https://linux-sunxi.org/A31#u-boot 5.2.1.2&nbsp;u-boot] ***[https://linux-sunxi.org/A31#a31_V4.5_MerriiLinux_Humming_SDK 5.2.2&nbsp;a31_V4.5_MerriiLinux_Humming SDK] ****[https://linux-sunxi.org/A31#kernel_2 5.2.2.1&nbsp;kernel] ****[https://linux-sunxi.org/A31#u-boot_2 5.2.2.2&nbsp;u-boot] ***[https://linux-sunxi.org/A31#a31_v4.5_hummingbird_kfb_ok_SDK 5.2.3&nbsp;a31_v4.5_hummingbird_kfb_ok SDK] ****[https://linux-sunxi.org/A31#kernel_3 5.2.3.1&nbsp;kernel] ****[https://linux-sunxi.org/A31#u-boot_3 5.2.3.2&nbsp;u-boot] *[https://linux-sunxi.org/A31#Devices 6&nbsp;Devices] *[https://linux-sunxi.org/A31#See_also 7&nbsp;See also] *[https://linux-sunxi.org/A31#Owners_of_the_SoC_on_IRC 8&nbsp;Owners of the SoC on IRC] *[https://linux-sunxi.org/A31#Community_Support 9&nbsp;Community Support] *[https://linux-sunxi.org/A31#References 10&nbsp;References] *[https://linux-sunxi.org/A31#External_links 11&nbsp;External links] = Overview = RK3328 consists of Quad-core A53 application processor . Quad-core Cortex-A53 is integrated with separate Neon and FPU coprocessor, also with shared L2 Cache.&nbsp; Lots of high-performance interface to get very flexible solution, such as multi-channel display with HDMI2.0a, TV Encoder. TrustZone and crypto hardware are integrated for security. 32bits DDR3/DDR3L/DDR4/LPDDR3 provides high memory bandwidths. <!--[if gte mso 9]><xml> <o:OLEObject Type="Embed" ProgID="Visio.Drawing.11" ShapeID="_x0000_i1025" DrawAspect="Content" ObjectID="_1550067703"> </o:OLEObject> </xml><![endif]--> <!--[if gte mso 9]><xml> <o:OLEObject Type="Embed" ProgID="Visio.Drawing.11" ShapeID="_x0000_i1025" DrawAspect="Content" ObjectID="_1550067703"> </o:OLEObject> </xml><![endif]--> &nbsp; == Cortex-A53 == &nbsp; = SoC Features = *CPU: **ARM Cortex-A53&nbsp;Quad-Core&nbsp; *GPU **&nbsp;Mali-450MP2 **Comply with Open GL ES1.1/2.0 *Multi-Media: **4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps **1080P other video decoders (VC-1, MPEG-1/2/4, VP8) **1080P video encoder for H.264 and H.265 **Support HDR10 ,HLG HDR , Support conversion between SDR and HDR *Display: **HDMI 2.0a for 4K@60Hz with HDCP 1.4/2.2 **Support conversion between Rec.2020 and Rec.709 *Camera: *Memory: **LPDDR3/DDR3/DDR3L/DDR4 **eMMC 4.51,SDCard, SPI Flash *PMIC: *Embedded Controller: *Audio: *OS: b84cb7bb6ad7d83d0cacdc72cdd3789be999ba9c 188 186 2017-03-07T02:10:08Z Admin 1 wikitext text/x-wiki *[https://linux-sunxi.org/A31#Overview 1&nbsp;Overview] **[https://linux-sunxi.org/A31#Cortex-A7 1.1&nbsp;Cortex-A7] **[https://linux-sunxi.org/A31#A31s 1.2&nbsp;A31s] *[https://linux-sunxi.org/A31#A31_SoC_Features 2&nbsp;A31 SoC Features] *[https://linux-sunxi.org/A31#History 3&nbsp;History] *[https://linux-sunxi.org/A31#Documentation 4&nbsp;Documentation] *[https://linux-sunxi.org/A31#Software 5&nbsp;Software] **[https://linux-sunxi.org/A31#Original_SDKs 5.1&nbsp;Original SDKs] **[https://linux-sunxi.org/A31#GPL_Violations 5.2&nbsp;GPL Violations] ***[https://linux-sunxi.org/A31#a31_hummbingbird_V3.3_v2_kfb_0k_SDK 5.2.1&nbsp;a31_hummbingbird_V3.3_v2_kfb_0k SDK] ****[https://linux-sunxi.org/A31#kernel 5.2.1.1&nbsp;kernel] ****[https://linux-sunxi.org/A31#u-boot 5.2.1.2&nbsp;u-boot] ***[https://linux-sunxi.org/A31#a31_V4.5_MerriiLinux_Humming_SDK 5.2.2&nbsp;a31_V4.5_MerriiLinux_Humming SDK] ****[https://linux-sunxi.org/A31#kernel_2 5.2.2.1&nbsp;kernel] ****[https://linux-sunxi.org/A31#u-boot_2 5.2.2.2&nbsp;u-boot] ***[https://linux-sunxi.org/A31#a31_v4.5_hummingbird_kfb_ok_SDK 5.2.3&nbsp;a31_v4.5_hummingbird_kfb_ok SDK] ****[https://linux-sunxi.org/A31#kernel_3 5.2.3.1&nbsp;kernel] ****[https://linux-sunxi.org/A31#u-boot_3 5.2.3.2&nbsp;u-boot] *[https://linux-sunxi.org/A31#Devices 6&nbsp;Devices] *[https://linux-sunxi.org/A31#See_also 7&nbsp;See also] *[https://linux-sunxi.org/A31#Owners_of_the_SoC_on_IRC 8&nbsp;Owners of the SoC on IRC] *[https://linux-sunxi.org/A31#Community_Support 9&nbsp;Community Support] *[https://linux-sunxi.org/A31#References 10&nbsp;References] *[https://linux-sunxi.org/A31#External_links 11&nbsp;External links] = Overview = RK3328 consists of Quad-core A53 application processor . Quad-core Cortex-A53 is integrated with separate Neon and FPU coprocessor, also with shared L2 Cache.&nbsp; Lots of high-performance interface to get very flexible solution, such as multi-channel display with HDMI2.0a, TV Encoder. TrustZone and crypto hardware are integrated for security. 32bits DDR3/DDR3L/DDR4/LPDDR3 provides high memory bandwidths. <!--[if gte mso 9]><xml> <o:OLEObject Type="Embed" ProgID="Visio.Drawing.11" ShapeID="_x0000_i1025" DrawAspect="Content" ObjectID="_1550067703"> </o:OLEObject> </xml><![endif]--> <!--[if gte mso 9]><xml> <o:OLEObject Type="Embed" ProgID="Visio.Drawing.11" ShapeID="_x0000_i1025" DrawAspect="Content" ObjectID="_1550067703"> </o:OLEObject> </xml><![endif]--> &nbsp; == Cortex-A53 == &nbsp; = SoC Features = *CPU: **ARM Cortex-A53&nbsp;Quad-Core&nbsp; *GPU **&nbsp;Mali-450MP2 **Comply with Open GL ES1.1/2.0 *Multi-Media: **4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps **1080P other video decoders (VC-1, MPEG-1/2/4, VP8) **1080P video encoder for H.264 and H.265 **Support HDR10 ,HLG HDR , Support conversion between SDR and HDR *Display: **HDMI 2.0a for 4K@60Hz with HDCP 1.4/2.2 **Support conversion between Rec.2020 and Rec.709 *Camera: *Memory: **LPDDR3/DDR3/DDR3L/DDR4 **eMMC 4.51,SDCard, SPI Flash *PMIC: *Embedded Controller: *Audio: *OS: History Documentation Software Borad configuration board kernel uboot dts rk3399-excavator rockchip_linux_defconfig rk3399_linux_defconfig rk3399-sapphire-excavator-linux.dts Chip configuration chip Kernel eMMC index Kernel SD index Uboot eMMC index Uboot SD index Baud speed RK3399 1 0 0 1 1500000 How to get the sources The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code. Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github. RK3399 optimized Debian & Buildroot repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml repo sync How to build the sources Build Environment You need a 64-bit Ubuntu. Note: old versions Ubuntu maybe have compatibility issues. Use below commands to install Ubuntu packages: $ sudo apt-get install git gnupg flex bison gperf build-essential \ zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \ libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \ libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \ python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn u/libGL.so Install ARM cross-compile tool chain and compile kernel relative software package:  $ sudo apt-get install gcc-arm-linux-gnueabihf gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev Installing the build tools and download source Please follow linux user guide to install the build tools and download source. Building kernel For ARM V8 (RK3399 optimized SDK) make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4 Building uboot For RK3399 optimized SDK (rkproduct uboot) CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all Building rootfs Debian Yu can download the prebuilt image directly. Baidu Pan、Google Drive or you could use the rootfs-build-script from Rockchip to build rootfs yourselves. Yocto If you want to use Yocto to build your rootfs see yocto-user-guide for detail. Buildroot If you want to use Buildroot to build your rootfs see buildroot-user-guide for detail. Devices If you need the rk3399-excavator board, please communicate through the following contact information. Telephone: 4007700590 Email: service@rock-chips.com See also Owners of the SoC on IRC Commuity Support References Exteneral Links 4a0532e8dedb1c167aa63928dc7a09fe6efc8ad9 189 188 2017-03-07T02:10:49Z Admin 1 wikitext text/x-wiki = Overview = RK3328 consists of Quad-core A53 application processor . Quad-core Cortex-A53 is integrated with separate Neon and FPU coprocessor, also with shared L2 Cache.&nbsp; Lots of high-performance interface to get very flexible solution, such as multi-channel display with HDMI2.0a, TV Encoder. TrustZone and crypto hardware are integrated for security. 32bits DDR3/DDR3L/DDR4/LPDDR3 provides high memory bandwidths. <!--[if gte mso 9]><xml> <o:OLEObject Type="Embed" ProgID="Visio.Drawing.11" ShapeID="_x0000_i1025" DrawAspect="Content" ObjectID="_1550067703"> </o:OLEObject> </xml><![endif]--> <!--[if gte mso 9]><xml> <o:OLEObject Type="Embed" ProgID="Visio.Drawing.11" ShapeID="_x0000_i1025" DrawAspect="Content" ObjectID="_1550067703"> </o:OLEObject> </xml><![endif]--> &nbsp; == Cortex-A53 == &nbsp; = SoC Features = *CPU: **ARM Cortex-A53&nbsp;Quad-Core&nbsp; *GPU **&nbsp;Mali-450MP2 **Comply with Open GL ES1.1/2.0 *Multi-Media: **4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps **1080P other video decoders (VC-1, MPEG-1/2/4, VP8) **1080P video encoder for H.264 and H.265 **Support HDR10 ,HLG HDR , Support conversion between SDR and HDR *Display: **HDMI 2.0a for 4K@60Hz with HDCP 1.4/2.2 **Support conversion between Rec.2020 and Rec.709 *Camera: *Memory: **LPDDR3/DDR3/DDR3L/DDR4 **eMMC 4.51,SDCard, SPI Flash *PMIC: *Embedded Controller: *Audio: *OS: = History = &nbsp; = Documentation = &nbsp; &nbsp; &nbsp; = Software = == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" |- | '''board''' | '''kernel''' | '''uboot''' | '''dts''' |- | rk3399-excavator | rockchip_linux_defconfig | rk3399_linux_defconfig | rk3399-sapphire-excavator-linux.dts |} &nbsp; &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" |- | '''chip''' | '''Kernel eMMC index''' | '''Kernel SD index''' | '''Uboot eMMC index''' | '''Uboot SD index''' | '''Baud speed''' |- | RK3399 | 1 | 0 | 0 | 1 | 1500000 |} == How to get the sources == The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code.&nbsp;Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github. RK3399 optimized Debian & Buildroot <pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml repo sync </pre> == How to build the sources == === Build Environment === You need a 64-bit&nbsp;Ubuntu. Note: old versions&nbsp;Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so Install&nbsp;ARM cross-compile tool chain and compile kernel relative&nbsp;software package:&nbsp; $ sudo apt-get install gcc-arm-linux-gnueabihf&nbsp;gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev === Installing the build tools and download source === Please follow&nbsp;[http://rockchip.wikidot.com/linux-user-guide linux user guide]&nbsp;to install the build tools and download source. &nbsp; === Building kernel === For ARM V8 (RK3399 optimized SDK) <pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre> === Building uboot === For RK3399 optimized SDK (rkproduct uboot) <pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre> === Building rootfs === ==== Debian ==== Yu can download the prebuilt image directly. [http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive] or you could use the&nbsp;[https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script]&nbsp;from Rockchip to build rootfs yourselves. ==== Yocto ==== If you want to use Yocto to build your rootfs see&nbsp;[http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide]&nbsp;for detail. ==== Buildroot ==== If you want to use Buildroot to build your rootfs see&nbsp;[http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide]&nbsp;for detail. &nbsp; &nbsp; = Devices = If you need the rk3399-excavator&nbsp;board, please communicate through&nbsp;the following&nbsp;contact information. <pre>Telephone: 4007700590 Email: service@rock-chips.com</pre> = See also = = Owners of the SoC on IRC = = Commuity Support = = References = = Exteneral Links = &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 68678b2523616dd1917b8cdb1078ad27df4654ba 194 189 2017-03-07T02:20:05Z Admin 1 wikitext text/x-wiki = Overview = RK3328 consists of Quad-core A53 application processor . Quad-core Cortex-A53 is integrated with separate Neon and FPU coprocessor, also with shared L2 Cache.&nbsp; Lots of high-performance interface to get very flexible solution, such as multi-channel display with HDMI2.0a, TV Encoder. TrustZone and crypto hardware are integrated for security. 32bits DDR3/DDR3L/DDR4/LPDDR3 provides high memory bandwidths. <!--[if gte mso 9]><xml> <o:OLEObject Type="Embed" ProgID="Visio.Drawing.11" ShapeID="_x0000_i1025" DrawAspect="Content" ObjectID="_1550067703"> </o:OLEObject> </xml><![endif]--> <!--[if gte mso 9]><xml> <o:OLEObject Type="Embed" ProgID="Visio.Drawing.11" ShapeID="_x0000_i1025" DrawAspect="Content" ObjectID="_1550067703"> </o:OLEObject> </xml><![endif]--> &nbsp; == Cortex-A53 == &nbsp; = RK3328 SoC Features = *CPU: **ARM Cortex-A53&nbsp;Quad-Core&nbsp; *GPU **&nbsp;Mali-450MP2 **Comply with Open GL ES1.1/2.0 *Multi-Media: **4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps **1080P other video decoders (VC-1, MPEG-1/2/4, VP8) **1080P video encoder for H.264 and H.265 **Support HDR10 ,HLG HDR , Support conversion between SDR and HDR *Display: **HDMI 2.0a for 4K@60Hz with HDCP 1.4/2.2 **Support conversion between Rec.2020 and Rec.709 *Camera: *Memory: **LPDDR3/DDR3/DDR3L/DDR4 **eMMC 4.51,SDCard, SPI Flash *PMIC: *Embedded Controller: *Audio: *OS: = History = &nbsp; = Documentation = &nbsp; &nbsp; &nbsp; = Software = == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" |- | '''board''' | '''kernel''' | '''uboot''' | '''dts''' |- | rk3399-excavator | rockchip_linux_defconfig | rk3399_linux_defconfig | rk3399-sapphire-excavator-linux.dts |} &nbsp; &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" |- | '''chip''' | '''Kernel eMMC index''' | '''Kernel SD index''' | '''Uboot eMMC index''' | '''Uboot SD index''' | '''Baud speed''' |- | RK3399 | 1 | 0 | 0 | 1 | 1500000 |} == How to get the sources == The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code.&nbsp;Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github. RK3399 optimized Debian & Buildroot <pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml repo sync </pre> == How to build the sources == === Build Environment === You need a 64-bit&nbsp;Ubuntu. Note: old versions&nbsp;Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so Install&nbsp;ARM cross-compile tool chain and compile kernel relative&nbsp;software package:&nbsp; $ sudo apt-get install gcc-arm-linux-gnueabihf&nbsp;gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev === Installing the build tools and download source === Please follow&nbsp;[http://rockchip.wikidot.com/linux-user-guide linux user guide]&nbsp;to install the build tools and download source. &nbsp; === Building kernel === For ARM V8 (RK3399 optimized SDK) <pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre> === Building uboot === For RK3399 optimized SDK (rkproduct uboot) <pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre> === Building rootfs === ==== Debian ==== Yu can download the prebuilt image directly. [http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive] or you could use the&nbsp;[https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script]&nbsp;from Rockchip to build rootfs yourselves. ==== Yocto ==== If you want to use Yocto to build your rootfs see&nbsp;[http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide]&nbsp;for detail. ==== Buildroot ==== If you want to use Buildroot to build your rootfs see&nbsp;[http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide]&nbsp;for detail. &nbsp; &nbsp; = Devices = If you need the rk3399-excavator&nbsp;board, please communicate through&nbsp;the following&nbsp;contact information. <pre>Telephone: 4007700590 Email: service@rock-chips.com</pre> = See also = = Owners of the SoC on IRC = = Commuity Support = = References = = Exteneral Links = &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 3f7f6a4816d477ab8332809728e672fa1208cba7 195 194 2017-03-07T02:21:51Z Admin 1 wikitext text/x-wiki = Overview = RK3328 consists of Quad-core A53 application processor . Quad-core Cortex-A53 is integrated with separate Neon and FPU coprocessor, also with shared L2 Cache.&nbsp; Lots of high-performance interface to get very flexible solution, such as multi-channel display with HDMI2.0a, TV Encoder. TrustZone and crypto hardware are integrated for security. 32bits DDR3/DDR3L/DDR4/LPDDR3 provides high memory bandwidths. <!--[if gte mso 9]><xml> <o:OLEObject Type="Embed" ProgID="Visio.Drawing.11" ShapeID="_x0000_i1025" DrawAspect="Content" ObjectID="_1550067703"> </o:OLEObject> </xml><![endif]--> <!--[if gte mso 9]><xml> <o:OLEObject Type="Embed" ProgID="Visio.Drawing.11" ShapeID="_x0000_i1025" DrawAspect="Content" ObjectID="_1550067703"> </o:OLEObject> </xml><![endif]--> &nbsp; == Cortex-A53 == &nbsp; = RK3328 SoC Features = *CPU: **ARM Cortex-A53&nbsp;Quad-Core&nbsp; *GPU **&nbsp;Mali-450MP2 **Comply with Open GL ES1.1/2.0 *Multi-Media: **4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps **1080P other video decoders (VC-1, MPEG-1/2/4, VP8) **1080P video encoder for H.264 and H.265 **Support HDR10 ,HLG HDR , Support conversion between SDR and HDR *Display: **HDMI 2.0a for 4K@60Hz with HDCP 1.4/2.2 **Support conversion between Rec.2020 and Rec.709 *Camera: *Memory: **LPDDR3/DDR3/DDR3L/DDR4 **eMMC 4.51,SDCard, SPI Flash *PMIC: *Embedded Controller: *Audio: *OS: = History = &nbsp; = Documentation = &nbsp; &nbsp; &nbsp; = Software = == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" |- | '''board''' | '''kernel''' | '''uboot''' | '''dts''' |- | RK_EVB_RK3228H_BOX_RK805_DDR3 | rockchip_linux_defconfig | rk3328_linux_defconfig | rk3328r-linux.dts |} &nbsp; &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" |- | '''chip''' | '''Kernel eMMC index''' | '''Kernel SD index''' | '''Uboot eMMC index''' | '''Uboot SD index''' | '''Baud speed''' |- | RK3399 | 1 | 0 | 0 | 1 | 1500000 |} == How to get the sources == The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code.&nbsp;Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github. RK3399 optimized Debian & Buildroot <pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml repo sync </pre> == How to build the sources == === Build Environment === You need a 64-bit&nbsp;Ubuntu. Note: old versions&nbsp;Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so Install&nbsp;ARM cross-compile tool chain and compile kernel relative&nbsp;software package:&nbsp; $ sudo apt-get install gcc-arm-linux-gnueabihf&nbsp;gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev === Installing the build tools and download source === Please follow&nbsp;[http://rockchip.wikidot.com/linux-user-guide linux user guide]&nbsp;to install the build tools and download source. &nbsp; === Building kernel === For ARM V8 (RK3399 optimized SDK) <pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre> === Building uboot === For RK3399 optimized SDK (rkproduct uboot) <pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre> === Building rootfs === ==== Debian ==== Yu can download the prebuilt image directly. [http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive] or you could use the&nbsp;[https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script]&nbsp;from Rockchip to build rootfs yourselves. ==== Yocto ==== If you want to use Yocto to build your rootfs see&nbsp;[http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide]&nbsp;for detail. ==== Buildroot ==== If you want to use Buildroot to build your rootfs see&nbsp;[http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide]&nbsp;for detail. &nbsp; &nbsp; = Devices = If you need the rk3399-excavator&nbsp;board, please communicate through&nbsp;the following&nbsp;contact information. <pre>Telephone: 4007700590 Email: service@rock-chips.com</pre> = See also = = Owners of the SoC on IRC = = Commuity Support = = References = = Exteneral Links = &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; b2206a4f8e40d3c0aeb4703bafdf67b9eab24766 196 195 2017-03-07T03:03:24Z Admin 1 wikitext text/x-wiki = Overview = RK3328 offers a high-integration and cost efficient SOC for 4K HDR OTT/IPTV.&nbsp;multi-channel display&nbsp;with HDMI2.0a, TV Encoder Lots of high-performance interface to get very flexible solution, such as multi-channel display with HDMI2.0a, TV Encoder. TrustZone and crypto hardware are integrated for security. 32bits DDR3/DDR3L/DDR4/LPDDR3 provides high memory bandwidths. <!--[if gte mso 9]><xml> <o:OLEObject Type="Embed" ProgID="Visio.Drawing.11" ShapeID="_x0000_i1025" DrawAspect="Content" ObjectID="_1550067703"> </o:OLEObject> </xml><![endif]--> <!--[if gte mso 9]><xml> <o:OLEObject Type="Embed" ProgID="Visio.Drawing.11" ShapeID="_x0000_i1025" DrawAspect="Content" ObjectID="_1550067703"> </o:OLEObject> </xml><![endif]--> == Cortex-A53 == Quad-core Cortex-A53 is integrated with separate Neon and FPU coprocessor, also with shared L2 Cache.&nbsp; = RK3328 SoC Features = *CPU: **ARM Cortex-A53&nbsp;Quad-Core&nbsp; *GPU **&nbsp;Mali-450MP2 **Comply with Open GL ES1.1/2.0 *Multi-Media: **4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps **1080P other video decoders (VC-1, MPEG-1/2/4, VP8) **1080P video encoder for H.264 and H.265 **Support HDR10 ,HLG HDR , Support conversion between SDR and HDR *Display: **HDMI 2.0a for 4K@60Hz with HDCP 1.4/2.2 **Support conversion between Rec.2020 and Rec.709 *Camera: *Memory: **LPDDR3/DDR3/DDR3L/DDR4 **eMMC 4.51,SDCard, SPI Flash *PMIC: *Embedded Controller: *Audio: *OS: = History = &nbsp; = Documentation = &nbsp; &nbsp; &nbsp; = Software = == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" |- | '''board''' | '''kernel''' | '''uboot''' | '''dts''' |- | RK_EVB_RK3228H_BOX_RK805_DDR3 | rockchip_linux_defconfig | rk3328_linux_defconfig | rk3328r-linux.dts |} &nbsp; &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" |- | '''chip''' | '''Kernel eMMC index''' | '''Kernel SD index''' | '''Uboot eMMC index''' | '''Uboot SD index''' | '''Baud speed''' |- | RK3399 | 1 | 0 | 0 | 1 | 1500000 |} == How to get the sources == The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code.&nbsp;Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github. RK3399 optimized Debian & Buildroot <pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml repo sync </pre> == How to build the sources == === Build Environment === You need a 64-bit&nbsp;Ubuntu. Note: old versions&nbsp;Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so Install&nbsp;ARM cross-compile tool chain and compile kernel relative&nbsp;software package:&nbsp; $ sudo apt-get install gcc-arm-linux-gnueabihf&nbsp;gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev === Installing the build tools and download source === Please follow&nbsp;[http://rockchip.wikidot.com/linux-user-guide linux user guide]&nbsp;to install the build tools and download source. &nbsp; === Building kernel === For ARM V8 (RK3399 optimized SDK) <pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre> === Building uboot === For RK3399 optimized SDK (rkproduct uboot) <pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre> === Building rootfs === ==== Debian ==== Yu can download the prebuilt image directly. [http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive] or you could use the&nbsp;[https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script]&nbsp;from Rockchip to build rootfs yourselves. ==== Yocto ==== If you want to use Yocto to build your rootfs see&nbsp;[http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide]&nbsp;for detail. ==== Buildroot ==== If you want to use Buildroot to build your rootfs see&nbsp;[http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide]&nbsp;for detail. &nbsp; &nbsp; = Devices = If you need the rk3399-excavator&nbsp;board, please communicate through&nbsp;the following&nbsp;contact information. <pre>Telephone: 4007700590 Email: service@rock-chips.com</pre> = See also = = Owners of the SoC on IRC = = Commuity Support = = References = = Exteneral Links = &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 36e56673d642daa80a688da03bc07fdd8a6e8544 197 196 2017-03-07T03:06:10Z Admin 1 wikitext text/x-wiki = Overview = RK3328 offers a high-integration and cost efficient SOC for 4K HDR OTT/IPTV.&nbsp;multi-channel display&nbsp;with HDMI2.0a, TV Encoder Lots of high-performance interface to get very flexible solution, such as multi-channel display with HDMI2.0a, TV Encoder. TrustZone and crypto hardware are integrated for security. 32bits DDR3/DDR3L/DDR4/LPDDR3 provides high memory bandwidths. <!--[if gte mso 9]><xml> <o:OLEObject Type="Embed" ProgID="Visio.Drawing.11" ShapeID="_x0000_i1025" DrawAspect="Content" ObjectID="_1550067703"> </o:OLEObject> </xml><![endif]--> <!--[if gte mso 9]><xml> <o:OLEObject Type="Embed" ProgID="Visio.Drawing.11" ShapeID="_x0000_i1025" DrawAspect="Content" ObjectID="_1550067703"> </o:OLEObject> </xml><![endif]--> == Cortex-A53 == Quad-core Cortex-A53 is integrated with separate Neon and FPU coprocessor, also with shared L2 Cache.&nbsp; = RK3328 SoC Features = *CPU: **ARM Cortex-A53&nbsp;Quad-Core&nbsp; *GPU **&nbsp;Mali-450MP2 **Comply with Open GL ES1.1/2.0 *Multi-Media: **4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps **1080P other video decoders (VC-1, MPEG-1/2/4, VP8) **1080P video encoder for H.264 and H.265 **Support HDR10 ,HLG HDR , Support conversion between SDR and HDR *Display: **HDMI 2.0a for 4K@60Hz with HDCP 1.4/2.2 **Support conversion between Rec.2020 and Rec.709 *Camera: *Memory: **LPDDR3/DDR3/DDR3L/DDR4 **eMMC 4.51,SDCard, SPI Flash *PMIC: *Embedded Controller: *Audio: *OS: = History = &nbsp; = Documentation = &nbsp; &nbsp; &nbsp; = Software = == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" |- | '''board''' | '''kernel''' | '''uboot''' | '''dts''' |- | RK_EVB_RK3228H_BOX_RK805_DDR3 | rockchip_linux_defconfig | rk3328_linux_defconfig | rk3328r-linux.dts |} &nbsp; &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" |- | '''chip''' | '''Kernel eMMC index''' | '''Kernel SD index''' | '''Uboot eMMC index''' | '''Uboot SD index''' | '''Baud speed''' |- | RK3399 | 1 | 0 | 0 | 1 | 1500000 |} == How to get the sources == The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code.&nbsp;Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github. RK3399 optimized Debian & Buildroot <pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml repo sync </pre> == How to build the sources == === Build Environment === You need a 64-bit&nbsp;Ubuntu. Note: old versions&nbsp;Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so Install&nbsp;ARM cross-compile tool chain and compile kernel relative&nbsp;software package:&nbsp; $ sudo apt-get install gcc-arm-linux-gnueabihf&nbsp;gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev === Installing the build tools and download source === Please follow&nbsp;[http://rockchip.wikidot.com/linux-user-guide linux user guide]&nbsp;to install the build tools and download source. &nbsp; === Building kernel === For ARM V8 (RK3399 optimized SDK) <pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre> === Building uboot === For RK3399 optimized SDK (rkproduct uboot) <pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre> === Building rootfs === ==== Debian ==== Yu can download the prebuilt image directly. [http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive] or you could use the&nbsp;[https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script]&nbsp;from Rockchip to build rootfs yourselves. ==== Yocto ==== If you want to use Yocto to build your rootfs see&nbsp;[http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide]&nbsp;for detail. ==== Buildroot ==== If you want to use Buildroot to build your rootfs see&nbsp;[http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide]&nbsp;for detail. &nbsp; &nbsp; = Devices = If you need the rk3399-excavator&nbsp;board, please communicate through&nbsp;the following&nbsp;contact information. <pre>Telephone: 4007700590 Email: service@rock-chips.com</pre> = See also = = Owners of the SoC on IRC = = Commuity Support = = References = = Exteneral Links = &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 93afe839a5cd7b052fe55da98128643a5cf9e455 198 197 2017-03-07T03:10:29Z Admin 1 wikitext text/x-wiki = Overview = RK3328 offers a high-integration and cost efficient SOC for 4K HDR OTT/IPTV.&nbsp;multi-channel display&nbsp;with HDMI2.0a, TV Encoder Lots of high-performance interface to get very flexible solution, such as multi-channel display with HDMI2.0a, TV Encoder. TrustZone and crypto hardware are integrated for security. 32bits DDR3/DDR3L/DDR4/LPDDR3 provides high memory bandwidths. <!--[if gte mso 9]><xml> <o:OLEObject Type="Embed" ProgID="Visio.Drawing.11" ShapeID="_x0000_i1025" DrawAspect="Content" ObjectID="_1550067703"> </o:OLEObject> </xml><![endif]--> <!--[if gte mso 9]><xml> <o:OLEObject Type="Embed" ProgID="Visio.Drawing.11" ShapeID="_x0000_i1025" DrawAspect="Content" ObjectID="_1550067703"> </o:OLEObject> </xml><![endif]--> == Cortex-A53 == Quad-core Cortex-A53 is integrated with separate Neon and FPU coprocessor, also with shared L2 Cache.&nbsp; = RK3328 SoC Features = *CPU: **ARM Cortex-A53&nbsp;Quad-Core&nbsp; *GPU **&nbsp;Mali-450MP2 **Comply with Open GL ES1.1/2.0 *Multi-Media: **4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps **1080P other video decoders (VC-1, MPEG-1/2/4, VP8) **1080P video encoder for H.264 and H.265 **Support HDR10 ,HLG HDR , Support conversion between SDR and HDR *Display: **HDMI 2.0a for 4K@60Hz with HDCP 1.4/2.2 **Support conversion between Rec.2020 and Rec.709 *Memory: **LPDDR3/DDR3/DDR3L/DDR4 **eMMC 4.51,SDCard, SPI Flash *External interface **USB 2.0 x2 and USB 3.0 x1 **100M Ethernet w/ built-in PHY **Built-in CVBS and audio DAC **8 channels I2S IO and 8 chanel digital PDM input (for MIC array) = History = &nbsp; = Documentation = &nbsp; &nbsp; &nbsp; = Software = == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" |- | '''board''' | '''kernel''' | '''uboot''' | '''dts''' |- | RK_EVB_RK3228H_BOX_RK805_DDR3 | rockchip_linux_defconfig | rk3328_linux_defconfig | rk3328r-linux.dts |} &nbsp; &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" |- | '''chip''' | '''Kernel eMMC index''' | '''Kernel SD index''' | '''Uboot eMMC index''' | '''Uboot SD index''' | '''Baud speed''' |- | RK3399 | 1 | 0 | 0 | 1 | 1500000 |} == How to get the sources == The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code.&nbsp;Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github. RK3399 optimized Debian & Buildroot <pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml repo sync </pre> == How to build the sources == === Build Environment === You need a 64-bit&nbsp;Ubuntu. Note: old versions&nbsp;Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so Install&nbsp;ARM cross-compile tool chain and compile kernel relative&nbsp;software package:&nbsp; $ sudo apt-get install gcc-arm-linux-gnueabihf&nbsp;gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev === Installing the build tools and download source === Please follow&nbsp;[http://rockchip.wikidot.com/linux-user-guide linux user guide]&nbsp;to install the build tools and download source. &nbsp; === Building kernel === For ARM V8 (RK3399 optimized SDK) <pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre> === Building uboot === For RK3399 optimized SDK (rkproduct uboot) <pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre> === Building rootfs === ==== Debian ==== Yu can download the prebuilt image directly. [http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive] or you could use the&nbsp;[https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script]&nbsp;from Rockchip to build rootfs yourselves. ==== Yocto ==== If you want to use Yocto to build your rootfs see&nbsp;[http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide]&nbsp;for detail. ==== Buildroot ==== If you want to use Buildroot to build your rootfs see&nbsp;[http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide]&nbsp;for detail. &nbsp; &nbsp; = Devices = If you need the rk3399-excavator&nbsp;board, please communicate through&nbsp;the following&nbsp;contact information. <pre>Telephone: 4007700590 Email: service@rock-chips.com</pre> = See also = = Owners of the SoC on IRC = = Commuity Support = = References = = Exteneral Links = &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 3bb3fd3bf08a411d6a8a2e636ad21220842c96f1 205 198 2017-03-07T07:09:14Z Admin 1 wikitext text/x-wiki = Overview = RK3328 offers a high-integration and power efficiency&nbsp;SOC for 4K HDR OTT/IPTV. Its video processors consist of H.264 video encoder and H.265&nbsp;video encoder Lots of high-performance interface to get very flexible solution, such as multi-channel display with HDMI2.0a, TV Encoder. TrustZone and crypto hardware are integrated for security. 32bits DDR3/DDR3L/DDR4/LPDDR3 provides high memory bandwidths. <!--[if gte mso 9]><xml> <o:OLEObject Type="Embed" ProgID="Visio.Drawing.11" ShapeID="_x0000_i1025" DrawAspect="Content" ObjectID="_1550067703"> </o:OLEObject> </xml><![endif]--> <!--[if gte mso 9]><xml> <o:OLEObject Type="Embed" ProgID="Visio.Drawing.11" ShapeID="_x0000_i1025" DrawAspect="Content" ObjectID="_1550067703"> </o:OLEObject> </xml><![endif]--> == Cortex-A53 == Quad-core Cortex-A53 is integrated with separate Neon and FPU coprocessor, also with shared L2 Cache.&nbsp; = RK3328 SoC Features = *CPU: **ARM Cortex-A53&nbsp;Quad-Core&nbsp; *GPU **&nbsp;Mali-450MP2 **Comply with Open GL ES1.1/2.0 *Multi-Media: **4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps **1080P other video decoders (VC-1, MPEG-1/2/4, VP8) **1080P video encoder for H.264 and H.265 **Support HDR10 ,HLG HDR , Support conversion between SDR and HDR *Display: **HDMI 2.0a for 4K@60Hz with HDCP 1.4/2.2 **Support conversion between Rec.2020 and Rec.709 *Memory: **LPDDR3/DDR3/DDR3L/DDR4 **eMMC 4.51,SDCard, SPI Flash *External interface **USB 2.0 x2 and USB 3.0 x1 **100M Ethernet w/ built-in PHY **Built-in CVBS and audio DAC **8 channels I2S IO and 8 chanel digital PDM input (for MIC array) = History = &nbsp; = Documentation = &nbsp; &nbsp; &nbsp; = Software = == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" |- | '''board''' | '''kernel''' | '''uboot''' | '''dts''' |- | RK_EVB_RK3228H_BOX_RK805_DDR3 | rockchip_linux_defconfig | rk3328_linux_defconfig | rk3328r-linux.dts |} &nbsp; &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" |- | '''chip''' | '''Kernel eMMC index''' | '''Kernel SD index''' | '''Uboot eMMC index''' | '''Uboot SD index''' | '''Baud speed''' |- | RK3399 | 1 | 0 | 0 | 1 | 1500000 |} == How to get the sources == The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code.&nbsp;Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github. RK3399 optimized Debian & Buildroot <pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml repo sync </pre> == How to build the sources == === Build Environment === You need a 64-bit&nbsp;Ubuntu. Note: old versions&nbsp;Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so Install&nbsp;ARM cross-compile tool chain and compile kernel relative&nbsp;software package:&nbsp; $ sudo apt-get install gcc-arm-linux-gnueabihf&nbsp;gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev === Installing the build tools and download source === Please follow&nbsp;[http://rockchip.wikidot.com/linux-user-guide linux user guide]&nbsp;to install the build tools and download source. &nbsp; === Building kernel === For ARM V8 (RK3399 optimized SDK) <pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre> === Building uboot === For RK3399 optimized SDK (rkproduct uboot) <pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre> === Building rootfs === ==== Debian ==== Yu can download the prebuilt image directly. [http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive] or you could use the&nbsp;[https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script]&nbsp;from Rockchip to build rootfs yourselves. ==== Yocto ==== If you want to use Yocto to build your rootfs see&nbsp;[http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide]&nbsp;for detail. ==== Buildroot ==== If you want to use Buildroot to build your rootfs see&nbsp;[http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide]&nbsp;for detail. &nbsp; &nbsp; = Devices = If you need the rk3399-excavator&nbsp;board, please communicate through&nbsp;the following&nbsp;contact information. <pre>Telephone: 4007700590 Email: service@rock-chips.com</pre> = See also = = Owners of the SoC on IRC = = Commuity Support = = References = = Exteneral Links = &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 980b3c57756eaca04a201d674d1bca05867204b5 207 205 2017-03-07T08:36:13Z Admin 1 wikitext text/x-wiki = Overview = RK3328 offers a high-integration and power efficiency&nbsp;SOC for 4K HDR OTT/IPTV. It supports HDR10 ;,HLG,4K ;10bits&nbsp;30fps ;H.264 ;video& ;decoder ;and ;4K ;10bits ;60fps ;H265 ;video decoder Lots of high-performance interface to get very flexible solution, such as multi-channel display with HDMI2.0a, TV Encoder. TrustZone and crypto hardware are integrated for security. 32bits DDR3/DDR3L/DDR4/LPDDR3 provides high memory bandwidths. <!--[if gte mso 9]><xml> <o:OLEObject Type="Embed" ProgID="Visio.Drawing.11" ShapeID="_x0000_i1025" DrawAspect="Content" ObjectID="_1550067703"> </o:OLEObject> </xml><![endif]--> <!--[if gte mso 9]><xml> <o:OLEObject Type="Embed" ProgID="Visio.Drawing.11" ShapeID="_x0000_i1025" DrawAspect="Content" ObjectID="_1550067703"> </o:OLEObject> </xml><![endif]--> == Cortex-A53 == Quad-core Cortex-A53 is integrated with separate Neon and FPU coprocessor, also with shared L2 Cache.&nbsp; = RK3328 SoC Features = *CPU: **ARM Cortex-A53&nbsp;Quad-Core&nbsp; *GPU **&nbsp;Mali-450MP2 **Comply with Open GL ES1.1/2.0 *Multi-Media: **4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps **1080P other video decoders (VC-1, MPEG-1/2/4, VP8) **1080P video encoder for H.264 and H.265 **Support HDR10 ,HLG HDR , Support conversion between SDR and HDR *Display: **HDMI 2.0a for 4K@60Hz with HDCP 1.4/2.2 **Support conversion between Rec.2020 and Rec.709 *Memory: **LPDDR3/DDR3/DDR3L/DDR4 **eMMC 4.51,SDCard, SPI Flash *External interface **USB 2.0 x2 and USB 3.0 x1 **100M Ethernet w/ built-in PHY **Built-in CVBS and audio DAC **8 channels I2S IO and 8 chanel digital PDM input (for MIC array) = History = &nbsp; = Documentation = &nbsp; &nbsp; &nbsp; = Software = == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" |- | '''board''' | '''kernel''' | '''uboot''' | '''dts''' |- | RK_EVB_RK3228H_BOX_RK805_DDR3 | rockchip_linux_defconfig | rk3328_linux_defconfig | rk3328r-linux.dts |} &nbsp; &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" |- | '''chip''' | '''Kernel eMMC index''' | '''Kernel SD index''' | '''Uboot eMMC index''' | '''Uboot SD index''' | '''Baud speed''' |- | RK3399 | 1 | 0 | 0 | 1 | 1500000 |} == How to get the sources == The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code.&nbsp;Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github. RK3399 optimized Debian & Buildroot <pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml repo sync </pre> == How to build the sources == === Build Environment === You need a 64-bit&nbsp;Ubuntu. Note: old versions&nbsp;Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so Install&nbsp;ARM cross-compile tool chain and compile kernel relative&nbsp;software package:&nbsp; $ sudo apt-get install gcc-arm-linux-gnueabihf&nbsp;gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev === Installing the build tools and download source === Please follow&nbsp;[http://rockchip.wikidot.com/linux-user-guide linux user guide]&nbsp;to install the build tools and download source. &nbsp; === Building kernel === For ARM V8 (RK3399 optimized SDK) <pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre> === Building uboot === For RK3399 optimized SDK (rkproduct uboot) <pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre> === Building rootfs === ==== Debian ==== Yu can download the prebuilt image directly. [http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive] or you could use the&nbsp;[https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script]&nbsp;from Rockchip to build rootfs yourselves. ==== Yocto ==== If you want to use Yocto to build your rootfs see&nbsp;[http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide]&nbsp;for detail. ==== Buildroot ==== If you want to use Buildroot to build your rootfs see&nbsp;[http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide]&nbsp;for detail. &nbsp; &nbsp; = Devices = If you need the rk3399-excavator&nbsp;board, please communicate through&nbsp;the following&nbsp;contact information. <pre>Telephone: 4007700590 Email: service@rock-chips.com</pre> = See also = = Owners of the SoC on IRC = = Commuity Support = = References = = Exteneral Links = &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; fcc53a11f973c8a9b66b36cf1d37e3d4315264da 208 207 2017-03-07T08:41:05Z Admin 1 wikitext text/x-wiki = Overview = RK3328 offers a high-integration and power efficiency&nbsp;SOC for 4K HDR OTT/IPTV. It support HDR10 ,HLG HDR ,&nbsp;4K 10bits 30fps H.264 video decoder and 4K 10bits 60fps H265 video decoder.With lots of high-performance interface,such as multi-channel display with HDMI2.0a, TV Encoder,&nbsp;it provided&nbsp;a broad range of performance, price and power consumption points to meet get very flexible solution, . TrustZone and crypto hardware are integrated for security. 32bits DDR3/DDR3L/DDR4/LPDDR3 provides high memory bandwidths. <!--[if gte mso 9]><xml> <o:OLEObject Type="Embed" ProgID="Visio.Drawing.11" ShapeID="_x0000_i1025" DrawAspect="Content" ObjectID="_1550067703"> </o:OLEObject> </xml><![endif]--> <!--[if gte mso 9]><xml> <o:OLEObject Type="Embed" ProgID="Visio.Drawing.11" ShapeID="_x0000_i1025" DrawAspect="Content" ObjectID="_1550067703"> </o:OLEObject> </xml><![endif]--> == Cortex-A53 == Quad-core Cortex-A53 is integrated with separate Neon and FPU coprocessor, also with shared L2 Cache.&nbsp; = RK3328 SoC Features = *CPU: **ARM Cortex-A53&nbsp;Quad-Core&nbsp; *GPU **&nbsp;Mali-450MP2 **Comply with Open GL ES1.1/2.0 *Multi-Media: **4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps **1080P other video decoders (VC-1, MPEG-1/2/4, VP8) **1080P video encoder for H.264 and H.265 **Support HDR10 ,HLG HDR , Support conversion between SDR and HDR *Display: **HDMI 2.0a for 4K@60Hz with HDCP 1.4/2.2 **Support conversion between Rec.2020 and Rec.709 *Memory: **LPDDR3/DDR3/DDR3L/DDR4 **eMMC 4.51,SDCard, SPI Flash *External interface **USB 2.0 x2 and USB 3.0 x1 **100M Ethernet w/ built-in PHY **Built-in CVBS and audio DAC **8 channels I2S IO and 8 chanel digital PDM input (for MIC array) = History = &nbsp; = Documentation = &nbsp; &nbsp; &nbsp; = Software = == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" |- | '''board''' | '''kernel''' | '''uboot''' | '''dts''' |- | RK_EVB_RK3228H_BOX_RK805_DDR3 | rockchip_linux_defconfig | rk3328_linux_defconfig | rk3328r-linux.dts |} &nbsp; &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" |- | '''chip''' | '''Kernel eMMC index''' | '''Kernel SD index''' | '''Uboot eMMC index''' | '''Uboot SD index''' | '''Baud speed''' |- | RK3399 | 1 | 0 | 0 | 1 | 1500000 |} == How to get the sources == The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code.&nbsp;Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github. RK3399 optimized Debian & Buildroot <pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml repo sync </pre> == How to build the sources == === Build Environment === You need a 64-bit&nbsp;Ubuntu. Note: old versions&nbsp;Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so Install&nbsp;ARM cross-compile tool chain and compile kernel relative&nbsp;software package:&nbsp; $ sudo apt-get install gcc-arm-linux-gnueabihf&nbsp;gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev === Installing the build tools and download source === Please follow&nbsp;[http://rockchip.wikidot.com/linux-user-guide linux user guide]&nbsp;to install the build tools and download source. &nbsp; === Building kernel === For ARM V8 (RK3399 optimized SDK) <pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre> === Building uboot === For RK3399 optimized SDK (rkproduct uboot) <pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre> === Building rootfs === ==== Debian ==== Yu can download the prebuilt image directly. [http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive] or you could use the&nbsp;[https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script]&nbsp;from Rockchip to build rootfs yourselves. ==== Yocto ==== If you want to use Yocto to build your rootfs see&nbsp;[http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide]&nbsp;for detail. ==== Buildroot ==== If you want to use Buildroot to build your rootfs see&nbsp;[http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide]&nbsp;for detail. &nbsp; &nbsp; = Devices = If you need the rk3399-excavator&nbsp;board, please communicate through&nbsp;the following&nbsp;contact information. <pre>Telephone: 4007700590 Email: service@rock-chips.com</pre> = See also = = Owners of the SoC on IRC = = Commuity Support = = References = = Exteneral Links = &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 049068031d2f1f4e3e26466cb36783e67c77ecde 209 208 2017-03-07T08:48:48Z Admin 1 wikitext text/x-wiki = Overview = RK3328 offers a high-integration and power efficiency&nbsp;SOC for 4K HDR OTT/IPTV. It support HDR10 ,HLG HDR ,&nbsp;4K 10bits 30fps H.264 video decoder and 4K 10bits 60fps H265 video decoder.With lots of high-performance interface,such as multi-channel display with HDMI2.0a, TV Encoder,&nbsp;it set &nbsp;performance, price and power consumption points to meet get very flexible solution,&nbsp;<!--[if gte mso 9]><xml> <o:OLEObject Type="Embed" ProgID="Visio.Drawing.11" ShapeID="_x0000_i1025" DrawAspect="Content" ObjectID="_1550067703"> </o:OLEObject> </xml><![endif]--> == Cortex-A53 == Quad-core Cortex-A53 is integrated with separate Neon and FPU coprocessor, also with shared L2 Cache.&nbsp; = RK3328 SoC Features = *CPU: **ARM Cortex-A53&nbsp;Quad-Core&nbsp; *GPU **&nbsp;Mali-450MP2 **Comply with Open GL ES1.1/2.0 *Multi-Media: **4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps **1080P other video decoders (VC-1, MPEG-1/2/4, VP8) **1080P video encoder for H.264 and H.265 **Support HDR10 ,HLG HDR , Support conversion between SDR and HDR *Display: **HDMI 2.0a for 4K@60Hz with HDCP 1.4/2.2 **Support conversion between Rec.2020 and Rec.709 *Memory: **LPDDR3/DDR3/DDR3L/DDR4 **eMMC 4.51,SDCard, SPI Flash *External interface **USB 2.0 x2 and USB 3.0 x1 **100M Ethernet w/ built-in PHY **Built-in CVBS and audio DAC **8 channels I2S IO and 8 chanel digital PDM input (for MIC array) = History = &nbsp; = Documentation = &nbsp; &nbsp; &nbsp; = Software = == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" |- | '''board''' | '''kernel''' | '''uboot''' | '''dts''' |- | RK_EVB_RK3228H_BOX_RK805_DDR3 | rockchip_linux_defconfig | rk3328_linux_defconfig | rk3328r-linux.dts |} &nbsp; &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" |- | '''chip''' | '''Kernel eMMC index''' | '''Kernel SD index''' | '''Uboot eMMC index''' | '''Uboot SD index''' | '''Baud speed''' |- | RK3399 | 1 | 0 | 0 | 1 | 1500000 |} == How to get the sources == The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code.&nbsp;Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github. RK3399 optimized Debian & Buildroot <pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml repo sync </pre> == How to build the sources == === Build Environment === You need a 64-bit&nbsp;Ubuntu. Note: old versions&nbsp;Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so Install&nbsp;ARM cross-compile tool chain and compile kernel relative&nbsp;software package:&nbsp; $ sudo apt-get install gcc-arm-linux-gnueabihf&nbsp;gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev === Installing the build tools and download source === Please follow&nbsp;[http://rockchip.wikidot.com/linux-user-guide linux user guide]&nbsp;to install the build tools and download source. &nbsp; === Building kernel === For ARM V8 (RK3399 optimized SDK) <pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre> === Building uboot === For RK3399 optimized SDK (rkproduct uboot) <pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre> === Building rootfs === ==== Debian ==== Yu can download the prebuilt image directly. [http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive] or you could use the&nbsp;[https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script]&nbsp;from Rockchip to build rootfs yourselves. ==== Yocto ==== If you want to use Yocto to build your rootfs see&nbsp;[http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide]&nbsp;for detail. ==== Buildroot ==== If you want to use Buildroot to build your rootfs see&nbsp;[http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide]&nbsp;for detail. &nbsp; &nbsp; = Devices = If you need the rk3399-excavator&nbsp;board, please communicate through&nbsp;the following&nbsp;contact information. <pre>Telephone: 4007700590 Email: service@rock-chips.com</pre> = See also = = Owners of the SoC on IRC = = Commuity Support = = References = = Exteneral Links = &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; edb09243d931b0a9e1647b43e6be34ddc3b6acbd 210 209 2017-03-07T08:49:27Z Admin 1 wikitext text/x-wiki = Overview = RK3328 offers a high-integration and power efficiency&nbsp;SOC for 4K HDR OTT/IPTV. It support HDR10 ,HLG HDR ,&nbsp;4K 10bits 30fps H.264 video decoder and 4K 10bits 60fps H265 video decoder.With lots of high-performance interface,such as multi-channel display with HDMI2.0a, TV Encoder,&nbsp;it set &nbsp;performance, price and power consumption points to meet get very flexible solution,&nbsp;<!--[if gte mso 9]><xml> <o:OLEObject Type="Embed" ProgID="Visio.Drawing.11" ShapeID="_x0000_i1025" DrawAspect="Content" ObjectID="_1550067703"> </o:OLEObject> </xml><![endif]--> == Cortex-A53 == Quad-core Cortex-A53 is integrated with separate Neon and FPU coprocessor, also with shared L2 Cache.&nbsp; = RK3328 SoC Features = *CPU: **ARM Cortex-A53&nbsp;Quad-Core&nbsp; *GPU **&nbsp;Mali-450MP2 **Comply with Open GL ES1.1/2.0 *Multi-Media: **4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps **1080P other video decoders (VC-1, MPEG-1/2/4, VP8) **1080P video encoder for H.264 and H.265 **Support HDR10 ,HLG HDR , Support conversion between SDR and HDR *Display: **HDMI 2.0a for 4K@60Hz with HDCP 1.4/2.2 **Support conversion between Rec.2020 and Rec.709 *Memory: **LPDDR3/DDR3/DDR3L/DDR4 **eMMC 4.51,SDCard, SPI Flash *External interface **USB 2.0 x2 and USB 3.0 x1 **100M Ethernet w/ built-in PHY **Built-in CVBS and audio DAC **8 channels I2S IO and 8 chanel digital PDM input (for MIC array) = History = &nbsp; = Documentation = &nbsp; &nbsp; &nbsp; = Software = == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" |- | '''board''' | '''kernel''' | '''uboot''' | '''dts''' |- | RK_EVB_RK3228H_BOX_RK805_DDR3 | rockchip_linux_defconfig | rk3328_linux_defconfig | rk3328r-linux.dts |} &nbsp; &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" |- | '''chip''' | '''Kernel eMMC index''' | '''Kernel SD index''' | '''Uboot eMMC index''' | '''Uboot SD index''' | '''Baud speed''' |- | RK3399 | 1 | 0 | 0 | 1 | 1500000 |} == How to get the sources == The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code.&nbsp;Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github. RK3399 optimized Debian & Buildroot <pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml repo sync </pre> == How to build the sources == === Build Environment === You need a 64-bit&nbsp;Ubuntu. Note: old versions&nbsp;Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so Install&nbsp;ARM cross-compile tool chain and compile kernel relative&nbsp;software package:&nbsp; $ sudo apt-get install gcc-arm-linux-gnueabihf&nbsp;gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev === Installing the build tools and download source === Please follow&nbsp;[http://rockchip.wikidot.com/linux-user-guide linux user guide]&nbsp;to install the build tools and download source. &nbsp; === Building kernel === For ARM V8 (RK3399 optimized SDK) <pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre> === Building uboot === For RK3399 optimized SDK (rkproduct uboot) <pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre> === Building rootfs === ==== Debian ==== Yu can download the prebuilt image directly. [http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive] or you could use the&nbsp;[https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script]&nbsp;from Rockchip to build rootfs yourselves. ==== Yocto ==== If you want to use Yocto to build your rootfs see&nbsp;[http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide]&nbsp;for detail. ==== Buildroot ==== If you want to use Buildroot to build your rootfs see&nbsp;[http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide]&nbsp;for detail. &nbsp; &nbsp; = Devices = If you need the rk3399-excavator&nbsp;board, please communicate through&nbsp;the following&nbsp;contact information. <pre>Telephone: 4007700590 Email: service@rock-chips.com</pre> = See also = RK3288 RK3399 = Owners of the SoC on IRC = = Commuity Support = = References = = Exteneral Links = &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 93498e3be1a1678d63f198526562bd17a7407caf 211 210 2017-03-07T09:00:26Z Admin 1 wikitext text/x-wiki = Overview = RK3328 offers a high-integration and power efficiency&nbsp;SOC for 4K HDR OTT/IPTV. It support HDR10 ,HLG HDR ,&nbsp;4K 10bits 30fps H.264 video decoder and 4K 10bits 60fps H265 video decoder.Comply with lots of high-performance interface,such as multi-channel display with HDMI2.0a, TV Encoder, the Quad-core GPU can acheive&nbsp;high-resolution display and game. == Cortex-A53 == Quad-core Cortex-A53 is integrated with separate Neon and FPU coprocessor, also with shared L2 Cache.&nbsp; = RK3328 SoC Features = *CPU: **ARM Cortex-A53&nbsp;Quad-Core&nbsp; *GPU **&nbsp;Mali-450MP2 **Comply with Open GL ES1.1/2.0 *Multi-Media: **4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps **1080P other video decoders (VC-1, MPEG-1/2/4, VP8) **1080P video encoder for H.264 and H.265 **Support HDR10 ,HLG HDR , Support conversion between SDR and HDR *Display: **HDMI 2.0a for 4K@60Hz with HDCP 1.4/2.2 **Support conversion between Rec.2020 and Rec.709 *Memory: **LPDDR3/DDR3/DDR3L/DDR4 **eMMC 4.51,SDCard, SPI Flash *External interface **USB 2.0 x2 and USB 3.0 x1 **100M Ethernet w/ built-in PHY **Built-in CVBS and audio DAC **8 channels I2S IO and 8 chanel digital PDM input (for MIC array) = History = &nbsp; = Documentation = &nbsp; &nbsp; &nbsp; = Software = == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" |- | '''board''' | '''kernel''' | '''uboot''' | '''dts''' |- | RK_EVB_RK3228H_BOX_RK805_DDR3 | rockchip_linux_defconfig | rk3328_linux_defconfig | rk3328r-linux.dts |} &nbsp; &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" |- | '''chip''' | '''Kernel eMMC index''' | '''Kernel SD index''' | '''Uboot eMMC index''' | '''Uboot SD index''' | '''Baud speed''' |- | RK3399 | 1 | 0 | 0 | 1 | 1500000 |} == How to get the sources == The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code.&nbsp;Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github. RK3399 optimized Debian & Buildroot <pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml repo sync </pre> == How to build the sources == === Build Environment === You need a 64-bit&nbsp;Ubuntu. Note: old versions&nbsp;Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so Install&nbsp;ARM cross-compile tool chain and compile kernel relative&nbsp;software package:&nbsp; $ sudo apt-get install gcc-arm-linux-gnueabihf&nbsp;gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev === Installing the build tools and download source === Please follow&nbsp;[http://rockchip.wikidot.com/linux-user-guide linux user guide]&nbsp;to install the build tools and download source. &nbsp; === Building kernel === For ARM V8 (RK3399 optimized SDK) <pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre> === Building uboot === For RK3399 optimized SDK (rkproduct uboot) <pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre> === Building rootfs === ==== Debian ==== Yu can download the prebuilt image directly. [http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive] or you could use the&nbsp;[https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script]&nbsp;from Rockchip to build rootfs yourselves. ==== Yocto ==== If you want to use Yocto to build your rootfs see&nbsp;[http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide]&nbsp;for detail. ==== Buildroot ==== If you want to use Buildroot to build your rootfs see&nbsp;[http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide]&nbsp;for detail. &nbsp; &nbsp; = Devices = If you need the rk3399-excavator&nbsp;board, please communicate through&nbsp;the following&nbsp;contact information. <pre>Telephone: 4007700590 Email: service@rock-chips.com</pre> = See also = RK3288 RK3399 = Owners of the SoC on IRC = = Commuity Support = = References = = Exteneral Links = &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 948c21edc65ad8185b9b2cb751a11e2c4b3e6e84 212 211 2017-03-07T09:08:10Z Admin 1 wikitext text/x-wiki = Overview = RK3328 offers a high-integration and power efficiency&nbsp;SOC for 4K HDR OTT/IPTV. It support HDR10 ,HLG HDR ,&nbsp;4K 10bits 30fps H.264 video decoder and 4K 10bits 60fps H265 video decoder.Comply with lots of high-performance interface,such as multi-channel display with HDMI2.0a, TV Encoder, the Quad-core GPU can acheive&nbsp;high-resolution display and game. == Cortex-A53 == Quad-core Cortex-A53 is integrated with separate Neon and FPU coprocessor, also with shared L2 Cache.&nbsp; = RK3328 SoC Features = *CPU: **ARM Cortex-A53&nbsp;Quad-Core&nbsp; *GPU **&nbsp;Mali-450MP4 **Comply with Open GL ES1.1/2.0 *Multi-Media: **4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps **1080P other video decoders (VC-1, MPEG-1/2/4, VP8) **1080P video encoder for H.264 and H.265 **Support HDR10 ,HLG HDR , Support conversion between SDR and HDR *Display: **HDMI 2.0a for 4K@60Hz with HDCP 1.4/2.2 **Support conversion between Rec.2020 and Rec.709 *Memory: **LPDDR3/DDR3/DDR3L/DDR4 **eMMC 4.51,SDCard, SPI Flash *External interface **USB 2.0 x2 and USB 3.0 x1 **100M Ethernet w/ built-in PHY **Built-in CVBS and audio DAC **8 channels I2S IO and 8 chanel digital PDM input (for MIC array) = History = &nbsp; = Documentation = &nbsp; &nbsp; &nbsp; = Software = == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" |- | '''board''' | '''kernel''' | '''uboot''' | '''dts''' |- | RK_EVB_RK3228H_BOX_RK805_DDR3 | rockchip_linux_defconfig | rk3328_linux_defconfig | rk3328r-linux.dts |} &nbsp; &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" |- | '''chip''' | '''Kernel eMMC index''' | '''Kernel SD index''' | '''Uboot eMMC index''' | '''Uboot SD index''' | '''Baud speed''' |- | RK3399 | 1 | 0 | 0 | 1 | 1500000 |} == How to get the sources == The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code.&nbsp;Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github. RK3399 optimized Debian & Buildroot <pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml repo sync </pre> == How to build the sources == === Build Environment === You need a 64-bit&nbsp;Ubuntu. Note: old versions&nbsp;Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so Install&nbsp;ARM cross-compile tool chain and compile kernel relative&nbsp;software package:&nbsp; $ sudo apt-get install gcc-arm-linux-gnueabihf&nbsp;gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev === Installing the build tools and download source === Please follow&nbsp;[http://rockchip.wikidot.com/linux-user-guide linux user guide]&nbsp;to install the build tools and download source. &nbsp; === Building kernel === For ARM V8 (RK3399 optimized SDK) <pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre> === Building uboot === For RK3399 optimized SDK (rkproduct uboot) <pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre> === Building rootfs === ==== Debian ==== Yu can download the prebuilt image directly. [http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive] or you could use the&nbsp;[https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script]&nbsp;from Rockchip to build rootfs yourselves. ==== Yocto ==== If you want to use Yocto to build your rootfs see&nbsp;[http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide]&nbsp;for detail. ==== Buildroot ==== If you want to use Buildroot to build your rootfs see&nbsp;[http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide]&nbsp;for detail. &nbsp; &nbsp; = Devices = If you need the rk3399-excavator&nbsp;board, please communicate through&nbsp;the following&nbsp;contact information. <pre>Telephone: 4007700590 Email: service@rock-chips.com</pre> = See also = RK3288 RK3399 = Owners of the SoC on IRC = = Commuity Support = = References = = Exteneral Links = &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; e073fa18082d3b59966a2f4c54b6880299660204 223 212 2017-03-07T11:00:06Z Admin 1 wikitext text/x-wiki = Overview = RK3328 offers a high-integration and power efficiency&nbsp;SOC for 4K HDR OTT/IPTV. It support HDR10 ,HLG HDR ,&nbsp;4K 10bits 30fps H.264 video decoder and 4K 10bits 60fps H265 video decoder.Comply with lots of high-performance interface,such as multi-channel display with HDMI2.0a, TV Encoder, the Quad-core GPU can acheive&nbsp;high-resolution display and game. == Cortex-A53 == Quad-core Cortex-A53 is integrated with separate Neon and FPU coprocessor, also with shared L2 Cache.&nbsp; = RK3328 SoC Features = *CPU: **ARM Cortex-A53&nbsp;Quad-Core&nbsp; *GPU **&nbsp;Mali-450MP4 **Comply with Open GL ES1.1/2.0 *Multi-Media: **4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps **1080P other video decoders (VC-1, MPEG-1/2/4, VP8) **1080P video encoder for H.264 and H.265 **Support HDR10 ,HLG HDR , Support conversion between SDR and HDR *Display: **HDMI 2.0a for 4K@60Hz with HDCP 1.4/2.2 **Support conversion between Rec.2020 and Rec.709 *Memory: **LPDDR3/DDR3/DDR3L/DDR4 **eMMC 4.51,SDCard, SPI Flash *External interface **USB 2.0 x2 and USB 3.0 x1 **100M Ethernet w/ built-in PHY **Built-in CVBS and audio DAC **8 channels I2S IO and 8 chanel digital PDM input (for MIC array) = History = &nbsp; = Documentation = &nbsp; &nbsp; &nbsp; = Software = == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" |- | '''board''' | '''kernel''' | '''uboot''' | '''dts''' |- | RK_EVB_RK3228H_BOX_RK805_DDR3 | rockchip_linux_defconfig | rk3328_linux_defconfig | rk3328r-linux.dts |} &nbsp; &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" |- | '''chip''' | '''Kernel eMMC index''' | '''Kernel SD index''' | '''Uboot eMMC index''' | '''Uboot SD index''' | '''Baud speed''' |- | RK3399 | 1 | 0 | 0 | 1 | 1500000 |} == How to get the sources == The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code.&nbsp;Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github. RK3399 optimized Debian & Buildroot <pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml repo sync </pre> == How to build the sources == === Build Environment === You need a 64-bit&nbsp;Ubuntu. Note: old versions&nbsp;Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so Install&nbsp;ARM cross-compile tool chain and compile kernel relative&nbsp;software package:&nbsp; $ sudo apt-get install gcc-arm-linux-gnueabihf&nbsp;gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev === Installing the build tools and download source === Please follow&nbsp;[http://rockchip.wikidot.com/linux-user-guide linux user guide]&nbsp;to install the build tools and download source. &nbsp; === Building kernel === For ARM V8 (RK3399 optimized SDK) <pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre> === Building uboot === For RK3399 optimized SDK (rkproduct uboot) <pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre> === Building rootfs === ==== Debian ==== Yu can download the prebuilt image directly. [http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive] or you could use the&nbsp;[https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script]&nbsp;from Rockchip to build rootfs yourselves. ==== Yocto ==== If you want to use Yocto to build your rootfs see&nbsp;[http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide]&nbsp;for detail. ==== Buildroot ==== If you want to use Buildroot to build your rootfs see&nbsp;[http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide]&nbsp;for detail. &nbsp; &nbsp; = Devices = If you need the rk3399-excavator&nbsp;board, please communicate through&nbsp;the following&nbsp;contact information. <pre>Telephone: 4007700590 Email: service@rock-chips.com</pre> = See also = RK3288 RK3399 = Owners of the SoC on IRC = = Commuity Support = = References = 1.https://en.wikipedia.org/wiki/ARM_Cortex-A53 = Exteneral Links = &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 05c21a2350eb9c4f5c2cf81848b42e71fca8a317 233 223 2017-03-07T11:42:19Z Admin 1 wikitext text/x-wiki = Overview = RK3328 offers a high-integration and power efficiency&nbsp;SOC for 4K HDR OTT/IPTV. It support HDR10 ,HLG HDR ,&nbsp;4K 10bits 30fps H.264 video decoder and 4K 10bits 60fps H265 video decoder.Comply with lots of high-performance interface,such as multi-channel display with HDMI2.0a, TV Encoder, the Quad-core GPU can acheive&nbsp;high-resolution display and game. == Cortex-A53 == Quad-core Cortex-A53 is integrated with separate Neon and FPU coprocessor, also with shared L2 Cache.&nbsp; = RK3328 SoC Features = *CPU: **ARM Cortex-A53&nbsp;Quad-Core&nbsp; *GPU **&nbsp;Mali-450MP4 **Comply with Open GL ES1.1/2.0 *Multi-Media: **4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps **1080P other video decoders (VC-1, MPEG-1/2/4, VP8) **1080P video encoder for H.264 and H.265 **Support HDR10 ,HLG HDR , Support conversion between SDR and HDR *Display: **HDMI 2.0a for 4K@60Hz with HDCP 1.4/2.2 **Support conversion between Rec.2020 and Rec.709 *Memory: **LPDDR3/DDR3/DDR3L/DDR4 **eMMC 4.51,SDCard, SPI Flash *External interface **USB 2.0 x2 and USB 3.0 x1 **100M Ethernet w/ built-in PHY **Built-in CVBS and audio DAC **8 channels I2S IO and 8 chanel digital PDM input (for MIC array) = History = &nbsp; = Documentation = &nbsp; &nbsp; &nbsp; = Software = == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" |- | '''board''' | '''kernel''' | '''uboot''' | '''dts''' |- | RK_EVB_RK3228H_BOX_RK805_DDR3 | rockchip_linux_defconfig | rk3328_linux_defconfig | rk3328r-linux.dts |} &nbsp; &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" |- | '''chip''' | '''Kernel eMMC index''' | '''Kernel SD index''' | '''Uboot eMMC index''' | '''Uboot SD index''' | '''Baud speed''' |- | RK3399 | 1 | 0 | 0 | 1 | 1500000 |} == How to get the sources == The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code.&nbsp;Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github. RK3399 optimized Debian & Buildroot <pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml repo sync </pre> == How to build the sources == === Build Environment === You need a 64-bit&nbsp;Ubuntu. Note: old versions&nbsp;Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so Install&nbsp;ARM cross-compile tool chain and compile kernel relative&nbsp;software package:&nbsp; $ sudo apt-get install gcc-arm-linux-gnueabihf&nbsp;gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev === Installing the build tools and download source === Please follow&nbsp;[http://rockchip.wikidot.com/linux-user-guide linux user guide]&nbsp;to install the build tools and download source. &nbsp; === Building kernel === For ARM V8 (RK3399 optimized SDK) <pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre> === Building uboot === For RK3399 optimized SDK (rkproduct uboot) <pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre> === Building rootfs === ==== Debian ==== Yu can download the prebuilt image directly. [http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive] or you could use the&nbsp;[https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script]&nbsp;from Rockchip to build rootfs yourselves. ==== Yocto ==== If you want to use Yocto to build your rootfs see&nbsp;[http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide]&nbsp;for detail. ==== Buildroot ==== If you want to use Buildroot to build your rootfs see&nbsp;[http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide]&nbsp;for detail. &nbsp; &nbsp; = Devices = If you need the rk3399-excavator&nbsp;board, please communicate through&nbsp;the following&nbsp;contact information. <pre>Telephone: 4007700590 Email: service@rock-chips.com</pre> = See also = [[RK3288|RK3288]] [[RK3399|RK3399]] = Owners of the SoC on IRC = = Commuity Support = = References = 1.https://en.wikipedia.org/wiki/ARM_Cortex-A53 = Exteneral Links = &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 0ba57f9d142961b1e8d081163026d3b9d9f9491e RK3288 0 20 187 182 2017-03-07T02:08:59Z Admin 1 wikitext text/x-wiki &nbsp; &nbsp; = Overview = The RK3288 offer a extentable, leading&nbsp;performance,long-standing heritage platform,ideally suited for &nbsp;set-top box solution, tablet and chromebook.The platform is integrated with a Quad-Core Cortex-A17 which up to 1.8Ghz and ARM Mali-T764&nbsp;which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11.A&nbsp;vast assortment of interface provided a friendly solution to develop. Futhermore, the power consumption is&nbsp;optimal for applications such as imaging/video, communication and broadband infrastructure,and performance audio applications. &nbsp; = RK3288 SoC Features = *CPU: **Quad Core Cortex-A17&nbsp;up to 1.8GHz **32KB L1-Cache **1MB L2-Cache *GPU: **ARM Mali-T764 GPU, with TE, ASTC, AFBC technology **Quad core 3D Graphics engine **Dual core 2D Graphics engine **Comply with&nbsp;OpenGL ES1.1/2.0/3.0, OpenVG1.1, OpenCL, DirectX11 *Display: **4Kx2K@60fpsHDMI2.0 **Up to 3840X2160 display resolution **Support dual-channel LVDS/dual-channel MIPI-DSI/eDP1.1 *Camera: **Support up to 5M pixels **8bits/10bits/12bits raw data interface&nbsp; *Memory: **Dual channels 64-bit DRAM controller **Support DDR3/DDR3L, LPDDR2, LPDDR3 *Connectivity: **Embedded 13M ISP and MIPI-CSI2 interface *Audio: **I2S/PCM with 8 channels *OS: **Support Android 4.2 or up = History = &nbsp; = Documentation = &nbsp; &nbsp; &nbsp; = Software = == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" |- | '''board''' | '''kernel''' | '''uboot''' | '''dts''' |- | rk3399-excavator | rockchip_linux_defconfig | rk3399_linux_defconfig | rk3399-sapphire-excavator-linux.dts |} &nbsp; &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" |- | '''chip''' | '''Kernel eMMC index''' | '''Kernel SD index''' | '''Uboot eMMC index''' | '''Uboot SD index''' | '''Baud speed''' |- | RK3399 | 1 | 0 | 0 | 1 | 1500000 |} == How to get the sources == The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code.&nbsp;Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github. RK3399 optimized Debian & Buildroot <pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml repo sync </pre> == How to build the sources == === Build Environment === You need a 64-bit&nbsp;Ubuntu. Note: old versions&nbsp;Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so Install&nbsp;ARM cross-compile tool chain and compile kernel relative&nbsp;software package:&nbsp; $ sudo apt-get install gcc-arm-linux-gnueabihf&nbsp;gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev === Installing the build tools and download source === Please follow&nbsp;[http://rockchip.wikidot.com/linux-user-guide linux user guide]&nbsp;to install the build tools and download source. &nbsp; === Building kernel === For ARM V8 (RK3399 optimized SDK) <pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre> === Building uboot === For RK3399 optimized SDK (rkproduct uboot) <pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre> === Building rootfs === ==== Debian ==== Yu can download the prebuilt image directly. [http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive] or you could use the&nbsp;[https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script]&nbsp;from Rockchip to build rootfs yourselves. ==== Yocto ==== If you want to use Yocto to build your rootfs see&nbsp;[http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide]&nbsp;for detail. ==== Buildroot ==== If you want to use Buildroot to build your rootfs see&nbsp;[http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide]&nbsp;for detail. &nbsp; &nbsp; = Devices = If you need the rk3399-excavator&nbsp;board, please communicate through&nbsp;the following&nbsp;contact information. <pre>Telephone: 4007700590 Email: service@rock-chips.com</pre> = See also = = Owners of the SoC on IRC = = Commuity Support = = References = = Exteneral Links = 1250c8617bed5677d6ffaa559eab7fe165fc3a63 190 187 2017-03-07T02:16:07Z Admin 1 wikitext text/x-wiki &nbsp; &nbsp; = Overview = The RK3288 offer a extentable, leading&nbsp;performance,long-standing heritage platform,ideally suited for &nbsp;set-top box solution, tablet and chromebook.The platform is integrated with a Quad-Core Cortex-A17 which up to 1.8Ghz and ARM Mali-T764&nbsp;which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11.A&nbsp;vast assortment of interface provided a friendly solution to develop. Futhermore, the power consumption is&nbsp;optimal for applications such as imaging/video, communication and broadband infrastructure,and performance audio applications. &nbsp; = RK3288 SoC Features = *CPU: **Quad Core Cortex-A17&nbsp;up to 1.8GHz **32KB L1-Cache **1MB L2-Cache *GPU: **ARM Mali-T764 GPU, with TE, ASTC, AFBC technology **Quad core 3D Graphics engine **Dual core 2D Graphics engine **Comply with&nbsp;OpenGL ES1.1/2.0/3.0, OpenVG1.1, OpenCL, DirectX11 *Display: **4Kx2K@60fpsHDMI2.0 **Up to 3840X2160 display resolution **Support dual-channel LVDS/dual-channel MIPI-DSI/eDP1.1 *Camera: **Support up to 5M pixels **8bits/10bits/12bits raw data interface&nbsp; *Memory: **Dual channels 64-bit DRAM controller **Support DDR3/DDR3L, LPDDR2, LPDDR3 *Connectivity: **Embedded 13M ISP and MIPI-CSI2 interface *Audio: **I2S/PCM with 8 channels *OS: **Support Android 4.2 or up = History = &nbsp; = Documentation = &nbsp; RK3288 datasheet V1.1 &nbsp; = Software = == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" |- | '''board''' | '''kernel''' | '''uboot''' | '''dts''' |- | rk3399-excavator | rockchip_linux_defconfig | rk3399_linux_defconfig | rk3399-sapphire-excavator-linux.dts |} &nbsp; &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" |- | '''chip''' | '''Kernel eMMC index''' | '''Kernel SD index''' | '''Uboot eMMC index''' | '''Uboot SD index''' | '''Baud speed''' |- | RK3399 | 1 | 0 | 0 | 1 | 1500000 |} == How to get the sources == The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code.&nbsp;Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github. RK3399 optimized Debian & Buildroot <pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml repo sync </pre> == How to build the sources == === Build Environment === You need a 64-bit&nbsp;Ubuntu. Note: old versions&nbsp;Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so Install&nbsp;ARM cross-compile tool chain and compile kernel relative&nbsp;software package:&nbsp; $ sudo apt-get install gcc-arm-linux-gnueabihf&nbsp;gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev === Installing the build tools and download source === Please follow&nbsp;[http://rockchip.wikidot.com/linux-user-guide linux user guide]&nbsp;to install the build tools and download source. &nbsp; === Building kernel === For ARM V8 (RK3399 optimized SDK) <pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre> === Building uboot === For RK3399 optimized SDK (rkproduct uboot) <pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre> === Building rootfs === ==== Debian ==== Yu can download the prebuilt image directly. [http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive] or you could use the&nbsp;[https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script]&nbsp;from Rockchip to build rootfs yourselves. ==== Yocto ==== If you want to use Yocto to build your rootfs see&nbsp;[http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide]&nbsp;for detail. ==== Buildroot ==== If you want to use Buildroot to build your rootfs see&nbsp;[http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide]&nbsp;for detail. &nbsp; &nbsp; = Devices = If you need the rk3399-excavator&nbsp;board, please communicate through&nbsp;the following&nbsp;contact information. <pre>Telephone: 4007700590 Email: service@rock-chips.com</pre> = See also = = Owners of the SoC on IRC = = Commuity Support = = References = = Exteneral Links = 11785200e14d70c4592849b3c7901f1cbc3c64ab 191 190 2017-03-07T02:17:25Z Admin 1 wikitext text/x-wiki &nbsp; &nbsp; = Overview = The RK3288 offer a extentable, leading&nbsp;performance,long-standing heritage platform,ideally suited for &nbsp;set-top box solution, tablet and chromebook.The platform is integrated with a Quad-Core Cortex-A17 which up to 1.8Ghz and ARM Mali-T764&nbsp;which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11.A&nbsp;vast assortment of interface provided a friendly solution to develop. Futhermore, the power consumption is&nbsp;optimal for applications such as imaging/video, communication and broadband infrastructure,and performance audio applications. &nbsp; = RK3288 SoC Features = *CPU: **Quad Core Cortex-A17&nbsp;up to 1.8GHz **32KB L1-Cache **1MB L2-Cache *GPU: **ARM Mali-T764 GPU, with TE, ASTC, AFBC technology **Quad core 3D Graphics engine **Dual core 2D Graphics engine **Comply with&nbsp;OpenGL ES1.1/2.0/3.0, OpenVG1.1, OpenCL, DirectX11 *Display: **4Kx2K@60fpsHDMI2.0 **Up to 3840X2160 display resolution **Support dual-channel LVDS/dual-channel MIPI-DSI/eDP1.1 *Camera: **Support up to 5M pixels **8bits/10bits/12bits raw data interface&nbsp; *Memory: **Dual channels 64-bit DRAM controller **Support DDR3/DDR3L, LPDDR2, LPDDR3 *Connectivity: **Embedded 13M ISP and MIPI-CSI2 interface *Audio: **I2S/PCM with 8 channels *OS: **Support Android 4.2 or up = History = &nbsp; = Documentation = &nbsp; RK3288 datasheet V1.1 &nbsp; = Software = == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" |- | '''board''' | '''kernel''' | '''uboot''' | '''dts''' |- | RK3288_MAINBOARD_V3.0 | rockchip_linux_defconfig | rk3288_linux_defconfig | rk3399-sapphire-excavator-linux.dts |} &nbsp; &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" |- | '''chip''' | '''Kernel eMMC index''' | '''Kernel SD index''' | '''Uboot eMMC index''' | '''Uboot SD index''' | '''Baud speed''' |- | RK3399 | 1 | 0 | 0 | 1 | 1500000 |} == How to get the sources == The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code.&nbsp;Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github. RK3399 optimized Debian & Buildroot <pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml repo sync </pre> == How to build the sources == === Build Environment === You need a 64-bit&nbsp;Ubuntu. Note: old versions&nbsp;Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so Install&nbsp;ARM cross-compile tool chain and compile kernel relative&nbsp;software package:&nbsp; $ sudo apt-get install gcc-arm-linux-gnueabihf&nbsp;gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev === Installing the build tools and download source === Please follow&nbsp;[http://rockchip.wikidot.com/linux-user-guide linux user guide]&nbsp;to install the build tools and download source. &nbsp; === Building kernel === For ARM V8 (RK3399 optimized SDK) <pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre> === Building uboot === For RK3399 optimized SDK (rkproduct uboot) <pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre> === Building rootfs === ==== Debian ==== Yu can download the prebuilt image directly. [http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive] or you could use the&nbsp;[https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script]&nbsp;from Rockchip to build rootfs yourselves. ==== Yocto ==== If you want to use Yocto to build your rootfs see&nbsp;[http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide]&nbsp;for detail. ==== Buildroot ==== If you want to use Buildroot to build your rootfs see&nbsp;[http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide]&nbsp;for detail. &nbsp; &nbsp; = Devices = If you need the rk3399-excavator&nbsp;board, please communicate through&nbsp;the following&nbsp;contact information. <pre>Telephone: 4007700590 Email: service@rock-chips.com</pre> = See also = = Owners of the SoC on IRC = = Commuity Support = = References = = Exteneral Links = 72a9cdb32f0049e6bb816592d49a29fd7160d40a 192 191 2017-03-07T02:18:12Z Admin 1 wikitext text/x-wiki &nbsp; &nbsp; = Overview = The RK3288 offer a extentable, leading&nbsp;performance,long-standing heritage platform,ideally suited for &nbsp;set-top box solution, tablet and chromebook.The platform is integrated with a Quad-Core Cortex-A17 which up to 1.8Ghz and ARM Mali-T764&nbsp;which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11.A&nbsp;vast assortment of interface provided a friendly solution to develop. Futhermore, the power consumption is&nbsp;optimal for applications such as imaging/video, communication and broadband infrastructure,and performance audio applications. &nbsp; = RK3288 SoC Features = *CPU: **Quad Core Cortex-A17&nbsp;up to 1.8GHz **32KB L1-Cache **1MB L2-Cache *GPU: **ARM Mali-T764 GPU, with TE, ASTC, AFBC technology **Quad core 3D Graphics engine **Dual core 2D Graphics engine **Comply with&nbsp;OpenGL ES1.1/2.0/3.0, OpenVG1.1, OpenCL, DirectX11 *Display: **4Kx2K@60fpsHDMI2.0 **Up to 3840X2160 display resolution **Support dual-channel LVDS/dual-channel MIPI-DSI/eDP1.1 *Camera: **Support up to 5M pixels **8bits/10bits/12bits raw data interface&nbsp; *Memory: **Dual channels 64-bit DRAM controller **Support DDR3/DDR3L, LPDDR2, LPDDR3 *Connectivity: **Embedded 13M ISP and MIPI-CSI2 interface *Audio: **I2S/PCM with 8 channels *OS: **Support Android 4.2 or up = History = &nbsp; = Documentation = &nbsp; RK3288 datasheet V1.1 &nbsp; = Software = == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" |- | '''board''' | '''kernel''' | '''uboot''' | '''dts''' |- | RK3288_MAINBOARD_V3.0 | rockchip_linux_defconfig | rk3288_linux_defconfig | rk3399-sapphire-excavator-linux.dts |} &nbsp; &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" |- | '''chip''' | '''Kernel eMMC index''' | '''Kernel SD index''' | '''Uboot eMMC index''' | '''Uboot SD index''' | '''Baud speed''' |- | RK3288 | 1 | 0 | 0 | 1 | 115200 |} == How to get the sources == The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code.&nbsp;Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github. RK3399 optimized Debian & Buildroot <pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml repo sync </pre> == How to build the sources == === Build Environment === You need a 64-bit&nbsp;Ubuntu. Note: old versions&nbsp;Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so Install&nbsp;ARM cross-compile tool chain and compile kernel relative&nbsp;software package:&nbsp; $ sudo apt-get install gcc-arm-linux-gnueabihf&nbsp;gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev === Installing the build tools and download source === Please follow&nbsp;[http://rockchip.wikidot.com/linux-user-guide linux user guide]&nbsp;to install the build tools and download source. &nbsp; === Building kernel === For ARM V8 (RK3399 optimized SDK) <pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre> === Building uboot === For RK3399 optimized SDK (rkproduct uboot) <pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre> === Building rootfs === ==== Debian ==== Yu can download the prebuilt image directly. [http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive] or you could use the&nbsp;[https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script]&nbsp;from Rockchip to build rootfs yourselves. ==== Yocto ==== If you want to use Yocto to build your rootfs see&nbsp;[http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide]&nbsp;for detail. ==== Buildroot ==== If you want to use Buildroot to build your rootfs see&nbsp;[http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide]&nbsp;for detail. &nbsp; &nbsp; = Devices = If you need the rk3399-excavator&nbsp;board, please communicate through&nbsp;the following&nbsp;contact information. <pre>Telephone: 4007700590 Email: service@rock-chips.com</pre> = See also = = Owners of the SoC on IRC = = Commuity Support = = References = = Exteneral Links = 093c02b06288f90303cfed420c6601d1f433d2ec 193 192 2017-03-07T02:18:38Z Admin 1 wikitext text/x-wiki &nbsp; &nbsp; = Overview = The RK3288 offer a extentable, leading&nbsp;performance,long-standing heritage platform,ideally suited for &nbsp;set-top box solution, tablet and chromebook.The platform is integrated with a Quad-Core Cortex-A17 which up to 1.8Ghz and ARM Mali-T764&nbsp;which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11.A&nbsp;vast assortment of interface provided a friendly solution to develop. Futhermore, the power consumption is&nbsp;optimal for applications such as imaging/video, communication and broadband infrastructure,and performance audio applications. &nbsp; = RK3288 SoC Features = *CPU: **Quad Core Cortex-A17&nbsp;up to 1.8GHz **32KB L1-Cache **1MB L2-Cache *GPU: **ARM Mali-T764 GPU, with TE, ASTC, AFBC technology **Quad core 3D Graphics engine **Dual core 2D Graphics engine **Comply with&nbsp;OpenGL ES1.1/2.0/3.0, OpenVG1.1, OpenCL, DirectX11 *Display: **4Kx2K@60fpsHDMI2.0 **Up to 3840X2160 display resolution **Support dual-channel LVDS/dual-channel MIPI-DSI/eDP1.1 *Camera: **Support up to 5M pixels **8bits/10bits/12bits raw data interface&nbsp; *Memory: **Dual channels 64-bit DRAM controller **Support DDR3/DDR3L, LPDDR2, LPDDR3 *Connectivity: **Embedded 13M ISP and MIPI-CSI2 interface *Audio: **I2S/PCM with 8 channels *OS: **Support Android 4.2 or up = History = &nbsp; = Documentation = &nbsp; RK3288 datasheet V1.1 &nbsp; = Software = == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" |- | '''board''' | '''kernel''' | '''uboot''' | '''dts''' |- | RK3288_MAINBOARD_V3.0 | rockchip_linux_defconfig | rk3288_linux_defconfig | rk-linux.dts |} &nbsp; &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" |- | '''chip''' | '''Kernel eMMC index''' | '''Kernel SD index''' | '''Uboot eMMC index''' | '''Uboot SD index''' | '''Baud speed''' |- | RK3288 | 1 | 0 | 0 | 1 | 115200 |} == How to get the sources == The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code.&nbsp;Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github. RK3399 optimized Debian & Buildroot <pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml repo sync </pre> == How to build the sources == === Build Environment === You need a 64-bit&nbsp;Ubuntu. Note: old versions&nbsp;Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so Install&nbsp;ARM cross-compile tool chain and compile kernel relative&nbsp;software package:&nbsp; $ sudo apt-get install gcc-arm-linux-gnueabihf&nbsp;gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev === Installing the build tools and download source === Please follow&nbsp;[http://rockchip.wikidot.com/linux-user-guide linux user guide]&nbsp;to install the build tools and download source. &nbsp; === Building kernel === For ARM V8 (RK3399 optimized SDK) <pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre> === Building uboot === For RK3399 optimized SDK (rkproduct uboot) <pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre> === Building rootfs === ==== Debian ==== Yu can download the prebuilt image directly. [http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive] or you could use the&nbsp;[https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script]&nbsp;from Rockchip to build rootfs yourselves. ==== Yocto ==== If you want to use Yocto to build your rootfs see&nbsp;[http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide]&nbsp;for detail. ==== Buildroot ==== If you want to use Buildroot to build your rootfs see&nbsp;[http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide]&nbsp;for detail. &nbsp; &nbsp; = Devices = If you need the rk3399-excavator&nbsp;board, please communicate through&nbsp;the following&nbsp;contact information. <pre>Telephone: 4007700590 Email: service@rock-chips.com</pre> = See also = = Owners of the SoC on IRC = = Commuity Support = = References = = Exteneral Links = af71462d133733bc1747791586a86c6043c898f5 213 193 2017-03-07T09:37:34Z Admin 1 wikitext text/x-wiki &nbsp; &nbsp; = Overview = The RK3288 offer a extentable, leading&nbsp;performance,long-standing heritage platform,ideally suited for &nbsp;set-top box solution, tablet and chromebook.The platform is integrated with a Quad-Core Cortex-A17 which up to 1.8Ghz and ARM Mali-T764&nbsp;which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11.A&nbsp;vast assortment of interface provided a friendly solution to develop. Futhermore, the power consumption is&nbsp;optimal for applications such as imaging/video, communication and broadband infrastructure,and performance audio applications. &nbsp; = RK3288 SoC Features = *CPU: **Quad Core Cortex-A17&nbsp;up to 1.8GHz **32KB L1-Cache **1MB L2-Cache *GPU: **ARM Mali-T764 GPU, with TE, ASTC, AFBC technology **Quad core 3D Graphics engine **Dual core 2D Graphics engine **Comply with&nbsp;OpenGL ES1.1/2.0/3.0, OpenVG1.1, OpenCL, DirectX11 *Display: **4Kx2K@60fpsHDMI2.0 **Up to 3840X2160 display resolution **Support dual-channel LVDS/dual-channel MIPI-DSI/eDP1.1 *Camera: **Support up to 5M pixels **8bits/10bits/12bits raw data interface&nbsp; *Memory: **Dual channels 64-bit DRAM controller **Support DDR3/DDR3L, LPDDR2, LPDDR3 *Connectivity: **Embedded 13M ISP and MIPI-CSI2 interface *Audio: **I2S/PCM with 8 channels *OS: **Support Android 4.2 or up = History = &nbsp; = Documentation = &nbsp; RK3288 datasheet V1.1 &nbsp; = Software = == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" |- | '''board''' | '''kernel''' | '''uboot''' | '''dts''' |- | RK3288_MAINBOARD_V3.0 | rockchip_linux_defconfig | rk3288_linux_defconfig | rk-linux.dts |} &nbsp; &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" |- | '''chip''' | '''Kernel eMMC index''' | '''Kernel SD index''' | '''Uboot eMMC index''' | '''Uboot SD index''' | '''Baud speed''' |- | RK3288 | 1 | 0 | 0 | 1 | 115200 |} == How to get the sources == The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code.&nbsp;Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github. RK3399 optimized Debian & Buildroot <pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml repo sync </pre> == How to build the sources == === Build Environment === You need a 64-bit&nbsp;Ubuntu. Note: old versions&nbsp;Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so Install&nbsp;ARM cross-compile tool chain and compile kernel relative&nbsp;software package:&nbsp; $ sudo apt-get install gcc-arm-linux-gnueabihf&nbsp;gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev === Installing the build tools and download source === Please follow&nbsp;[http://rockchip.wikidot.com/linux-user-guide linux user guide]&nbsp;to install the build tools and download source. &nbsp; === Building kernel === For ARM V8 (RK3399 optimized SDK) <pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre> === Building uboot === For RK3399 optimized SDK (rkproduct uboot) <pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre> === Building rootfs === ==== Debian ==== Yu can download the prebuilt image directly. [http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive] or you could use the&nbsp;[https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script]&nbsp;from Rockchip to build rootfs yourselves. ==== Yocto ==== If you want to use Yocto to build your rootfs see&nbsp;[http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide]&nbsp;for detail. ==== Buildroot ==== If you want to use Buildroot to build your rootfs see&nbsp;[http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide]&nbsp;for detail. &nbsp; &nbsp; = Devices = If you need the rk3399-excavator&nbsp;board, please communicate through&nbsp;the following&nbsp;contact information. <pre>Telephone: 4007700590 Email: service@rock-chips.com</pre> = See also = RK3328 RK3399 = Owners of the SoC on IRC = = Commuity Support = = References = = Exteneral Links = 0fe3fca9d4c9f92b10504f45b8406a991b2e5a7c 214 213 2017-03-07T09:39:03Z Admin 1 wikitext text/x-wiki &nbsp; &nbsp; = Overview = The RK3288 offer a extentable, leading&nbsp;performance,long-standing heritage platform,ideally suited for &nbsp;set-top box solution, tablet and chromebook.The platform is integrated with a Quad-Core Cortex-A17 which up to 1.8Ghz and ARM Mali-T764&nbsp;which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11.A&nbsp;vast assortment of interface provided a friendly solution to develop. Futhermore, the power consumption is&nbsp;optimal for applications such as imaging/video, communication and broadband infrastructure,and performance audio applications. &nbsp; = RK3288 SoC Features = *CPU: **Quad Core Cortex-A17&nbsp;up to 1.8GHz **32KB L1-Cache **1MB L2-Cache *GPU: **ARM Mali-T764 GPU, with TE, ASTC, AFBC technology **Quad core 3D Graphics engine **Dual core 2D Graphics engine **Comply with&nbsp;OpenGL ES1.1/2.0/3.0, OpenVG1.1, OpenCL, DirectX11 *Display: **4Kx2K@60fpsHDMI2.0 **Up to 3840X2160 display resolution **Support dual-channel LVDS/dual-channel MIPI-DSI/eDP1.1 *Camera: **Support up to 5M pixels **8bits/10bits/12bits raw data interface&nbsp; *Memory: **Dual channels 64-bit DRAM controller **Support DDR3/DDR3L, LPDDR2, LPDDR3 *Connectivity: **Embedded 13M ISP and MIPI-CSI2 interface *Audio: **I2S/PCM with 8 channels *OS: **Support Android 4.2 or up = History = &nbsp; = Documentation = &nbsp; RK3288 datasheet V1.1 &nbsp; = Software = == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" |- | '''board''' | '''kernel''' | '''uboot''' | '''dts''' |- | RK3288_MAINBOARD_V3.0 | rockchip_linux_defconfig | rk3288_linux_defconfig | rk-linux.dts |} &nbsp; &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" |- | '''chip''' | '''Kernel eMMC index''' | '''Kernel SD index''' | '''Uboot eMMC index''' | '''Uboot SD index''' | '''Baud speed''' |- | RK3288 | 1 | 0 | 0 | 1 | 115200 |} == How to get the sources == The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code.&nbsp;Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github. RK3399 optimized Debian & Buildroot <pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml repo sync </pre> == How to build the sources == === Build Environment === You need a 64-bit&nbsp;Ubuntu. Note: old versions&nbsp;Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so Install&nbsp;ARM cross-compile tool chain and compile kernel relative&nbsp;software package:&nbsp; $ sudo apt-get install gcc-arm-linux-gnueabihf&nbsp;gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev === Installing the build tools and download source === Please follow&nbsp;[http://rockchip.wikidot.com/linux-user-guide linux user guide]&nbsp;to install the build tools and download source. &nbsp; === Building kernel === For ARM V8 (RK3399 optimized SDK) <pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre> === Building uboot === For RK3399 optimized SDK (rkproduct uboot) <pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre> === Building rootfs === ==== Debian ==== Yu can download the prebuilt image directly. [http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive] or you could use the&nbsp;[https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script]&nbsp;from Rockchip to build rootfs yourselves. ==== Yocto ==== If you want to use Yocto to build your rootfs see&nbsp;[http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide]&nbsp;for detail. ==== Buildroot ==== If you want to use Buildroot to build your rootfs see&nbsp;[http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide]&nbsp;for detail. &nbsp; &nbsp; = Devices = If you need the rk3399-excavator&nbsp;board, please communicate through&nbsp;the following&nbsp;contact information. <pre>Telephone: 4007700590 Email: service@rock-chips.com</pre> = See also = RK3328 RK3399 = Owners of the SoC on IRC = = Commuity Support = = References = = Exteneral Links = http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html a0a55ac01c26c941932203986ff816b783f49779 215 214 2017-03-07T09:39:45Z Admin 1 wikitext text/x-wiki &nbsp; &nbsp; = Overview = The RK3288 offer a extentable, leading&nbsp;performance,long-standing heritage platform,ideally suited for &nbsp;set-top box solution, tablet and chromebook.The platform is integrated with a Quad-Core Cortex-A17 which up to 1.8Ghz and ARM Mali-T764&nbsp;which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11.A&nbsp;vast assortment of interface provided a friendly solution to develop. Futhermore, the power consumption is&nbsp;optimal for applications such as imaging/video, communication and broadband infrastructure,and performance audio applications. &nbsp; = RK3288 SoC Features = *CPU: **Quad Core Cortex-A17&nbsp;up to 1.8GHz **32KB L1-Cache **1MB L2-Cache *GPU: **ARM Mali-T764 GPU, with TE, ASTC, AFBC technology **Quad core 3D Graphics engine **Dual core 2D Graphics engine **Comply with&nbsp;OpenGL ES1.1/2.0/3.0, OpenVG1.1, OpenCL, DirectX11 *Display: **4Kx2K@60fpsHDMI2.0 **Up to 3840X2160 display resolution **Support dual-channel LVDS/dual-channel MIPI-DSI/eDP1.1 *Camera: **Support up to 5M pixels **8bits/10bits/12bits raw data interface&nbsp; *Memory: **Dual channels 64-bit DRAM controller **Support DDR3/DDR3L, LPDDR2, LPDDR3 *Connectivity: **Embedded 13M ISP and MIPI-CSI2 interface *Audio: **I2S/PCM with 8 channels *OS: **Support Android 4.2 or up = History = &nbsp; = Documentation = &nbsp; RK3288 datasheet V1.1 &nbsp; = Software = == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" |- | '''board''' | '''kernel''' | '''uboot''' | '''dts''' |- | RK3288_MAINBOARD_V3.0 | rockchip_linux_defconfig | rk3288_linux_defconfig | rk-linux.dts |} &nbsp; &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" |- | '''chip''' | '''Kernel eMMC index''' | '''Kernel SD index''' | '''Uboot eMMC index''' | '''Uboot SD index''' | '''Baud speed''' |- | RK3288 | 1 | 0 | 0 | 1 | 115200 |} == How to get the sources == The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code.&nbsp;Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github. RK3399 optimized Debian & Buildroot <pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml repo sync </pre> == How to build the sources == === Build Environment === You need a 64-bit&nbsp;Ubuntu. Note: old versions&nbsp;Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so Install&nbsp;ARM cross-compile tool chain and compile kernel relative&nbsp;software package:&nbsp; $ sudo apt-get install gcc-arm-linux-gnueabihf&nbsp;gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev === Installing the build tools and download source === Please follow&nbsp;[http://rockchip.wikidot.com/linux-user-guide linux user guide]&nbsp;to install the build tools and download source. &nbsp; === Building kernel === For ARM V8 (RK3399 optimized SDK) <pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre> === Building uboot === For RK3399 optimized SDK (rkproduct uboot) <pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre> === Building rootfs === ==== Debian ==== Yu can download the prebuilt image directly. [http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive] or you could use the&nbsp;[https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script]&nbsp;from Rockchip to build rootfs yourselves. ==== Yocto ==== If you want to use Yocto to build your rootfs see&nbsp;[http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide]&nbsp;for detail. ==== Buildroot ==== If you want to use Buildroot to build your rootfs see&nbsp;[http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide]&nbsp;for detail. &nbsp; &nbsp; = Devices = If you need the rk3399-excavator&nbsp;board, please communicate through&nbsp;the following&nbsp;contact information. <pre>Telephone: 4007700590 Email: service@rock-chips.com</pre> = See also = RK3328 RK3399 = Owners of the SoC on IRC = = Commuity Support = = References = http://rockchip.wikidot.com/rk3288#toc0 = Exteneral Links = http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html 29f1f5a154db37d0382a8a4315cd8d01432af31b 216 215 2017-03-07T09:43:06Z Admin 1 wikitext text/x-wiki &nbsp; &nbsp; = Overview = The RK3288 offer a extentable, leading&nbsp;performance,long-standing heritage platform,ideally suited for &nbsp;set-top box solution, tablet and chromebook.The platform is integrated with a Quad-Core Cortex-A17 which up to 1.8Ghz and ARM Mali-T764&nbsp;which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11.A&nbsp;vast assortment of interface provided a friendly solution to develop. Futhermore, the power consumption is&nbsp;optimal for applications such as imaging/video, communication and broadband infrastructure,and performance audio applications. &nbsp; = RK3288 SoC Features = *CPU: **Quad Core Cortex-A17&nbsp;up to 1.8GHz **32KB L1-Cache **1MB L2-Cache *GPU: **ARM Mali-T764 GPU, with TE, ASTC, AFBC technology **Quad core 3D Graphics engine **Dual core 2D Graphics engine **Comply with&nbsp;OpenGL ES1.1/2.0/3.0, OpenVG1.1, OpenCL, DirectX11 *Display: **4Kx2K@60fpsHDMI2.0 **Up to 3840X2160 display resolution **Support dual-channel LVDS/dual-channel MIPI-DSI/eDP1.1 *Camera: **Support up to 5M pixels **8bits/10bits/12bits raw data interface&nbsp; *Memory: **Dual channels 64-bit DRAM controller **Support DDR3/DDR3L, LPDDR2, LPDDR3 *Connectivity: **Embedded 13M ISP and MIPI-CSI2 interface *Audio: **I2S/PCM with 8 channels *OS: **Support Android 4.2 or up = History = &nbsp; = Documentation = &nbsp; RK3288 datasheet V1.1 &nbsp; = Software = == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" |- | '''board''' | '''kernel''' | '''uboot''' | '''dts''' |- | RK3288_MAINBOARD_V3.0 | rockchip_linux_defconfig | rk3288_linux_defconfig | rk-linux.dts |} &nbsp; &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" |- | '''chip''' | '''Kernel eMMC index''' | '''Kernel SD index''' | '''Uboot eMMC index''' | '''Uboot SD index''' | '''Baud speed''' |- | RK3288 | 1 | 0 | 0 | 1 | 115200 |} == How to get the sources == The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code.&nbsp;Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github. RK3399 optimized Debian & Buildroot <pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml repo sync </pre> == How to build the sources == === Build Environment === You need a 64-bit&nbsp;Ubuntu. Note: old versions&nbsp;Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so Install&nbsp;ARM cross-compile tool chain and compile kernel relative&nbsp;software package:&nbsp; $ sudo apt-get install gcc-arm-linux-gnueabihf&nbsp;gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev === Installing the build tools and download source === Please follow&nbsp;[http://rockchip.wikidot.com/linux-user-guide linux user guide]&nbsp;to install the build tools and download source. &nbsp; === Building kernel === For ARM V8 (RK3399 optimized SDK) <pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre> === Building uboot === For RK3399 optimized SDK (rkproduct uboot) <pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre> === Building rootfs === ==== Debian ==== Yu can download the prebuilt image directly. [http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive] or you could use the&nbsp;[https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script]&nbsp;from Rockchip to build rootfs yourselves. ==== Yocto ==== If you want to use Yocto to build your rootfs see&nbsp;[http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide]&nbsp;for detail. ==== Buildroot ==== If you want to use Buildroot to build your rootfs see&nbsp;[http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide]&nbsp;for detail. &nbsp; &nbsp; = Devices = If you need the rk3399-excavator&nbsp;board, please communicate through&nbsp;the following&nbsp;contact information. <pre>Telephone: 4007700590 Email: service@rock-chips.com</pre> = See also = RK3328 RK3399 = Owners of the SoC on IRC = = Commuity Support = = References = 1.[http://rockchip.wikidot.com/rk3288#toc0 http://rockchip.wikidot.com/rk3288#toc0] 2.https://en.wikipedia.org/wiki/ARM_Cortex-A17 = Exteneral Links = http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html e17dd92839b5dbaf325945887cab3754222f0fb2 217 216 2017-03-07T09:48:01Z Admin 1 wikitext text/x-wiki &nbsp; &nbsp; = Overview = The RK3288 offer a extensible, leading&nbsp;performance,long-standing heritage platform,ideally suited for &nbsp;set-top box solution, tablet and chromebook.The platform is integrated with a Quad-Core Cortex-A17 which up to 1.8Ghz and ARM Mali-T764&nbsp;which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11.A&nbsp;vast assortment of interface provided a friendly solution to develop. Futhermore, the power consumption is&nbsp;optimal for applications such as imaging/video, communication and broadband infrastructure,and performance audio applications. &nbsp; = RK3288 SoC Features = *CPU: **Quad Core Cortex-A17&nbsp;up to 1.8GHz **32KB L1-Cache **1MB L2-Cache *GPU: **ARM Mali-T764 GPU, with TE, ASTC, AFBC technology **Quad core 3D Graphics engine **Dual core 2D Graphics engine **Comply with&nbsp;OpenGL ES1.1/2.0/3.0, OpenVG1.1, OpenCL, DirectX11 *Display: **4Kx2K@60fpsHDMI2.0 **Up to 3840X2160 display resolution **Support dual-channel LVDS/dual-channel MIPI-DSI/eDP1.1 *Camera: **Support up to 5M pixels **8bits/10bits/12bits raw data interface&nbsp; *Memory: **Dual channels 64-bit DRAM controller **Support DDR3/DDR3L, LPDDR2, LPDDR3 *Connectivity: **Embedded 13M ISP and MIPI-CSI2 interface *Audio: **I2S/PCM with 8 channels *OS: **Support Android 4.2 or up = History = &nbsp; = Documentation = &nbsp; RK3288 datasheet V1.1 &nbsp; = Software = == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" |- | '''board''' | '''kernel''' | '''uboot''' | '''dts''' |- | RK3288_MAINBOARD_V3.0 | rockchip_linux_defconfig | rk3288_linux_defconfig | rk-linux.dts |} &nbsp; &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" |- | '''chip''' | '''Kernel eMMC index''' | '''Kernel SD index''' | '''Uboot eMMC index''' | '''Uboot SD index''' | '''Baud speed''' |- | RK3288 | 1 | 0 | 0 | 1 | 115200 |} == How to get the sources == The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code.&nbsp;Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github. RK3399 optimized Debian & Buildroot <pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml repo sync </pre> == How to build the sources == === Build Environment === You need a 64-bit&nbsp;Ubuntu. Note: old versions&nbsp;Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so Install&nbsp;ARM cross-compile tool chain and compile kernel relative&nbsp;software package:&nbsp; $ sudo apt-get install gcc-arm-linux-gnueabihf&nbsp;gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev === Installing the build tools and download source === Please follow&nbsp;[http://rockchip.wikidot.com/linux-user-guide linux user guide]&nbsp;to install the build tools and download source. &nbsp; === Building kernel === For ARM V8 (RK3399 optimized SDK) <pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre> === Building uboot === For RK3399 optimized SDK (rkproduct uboot) <pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre> === Building rootfs === ==== Debian ==== Yu can download the prebuilt image directly. [http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive] or you could use the&nbsp;[https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script]&nbsp;from Rockchip to build rootfs yourselves. ==== Yocto ==== If you want to use Yocto to build your rootfs see&nbsp;[http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide]&nbsp;for detail. ==== Buildroot ==== If you want to use Buildroot to build your rootfs see&nbsp;[http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide]&nbsp;for detail. &nbsp; &nbsp; = Devices = If you need the rk3399-excavator&nbsp;board, please communicate through&nbsp;the following&nbsp;contact information. <pre>Telephone: 4007700590 Email: service@rock-chips.com</pre> = See also = RK3328 RK3399 = Owners of the SoC on IRC = = Commuity Support = = References = 1.[http://rockchip.wikidot.com/rk3288#toc0 http://rockchip.wikidot.com/rk3288#toc0] 2.https://en.wikipedia.org/wiki/ARM_Cortex-A17 = Exteneral Links = http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html 920c8eedaae97d944f1b196a2591147573215f80 218 217 2017-03-07T09:53:06Z Chery 9 wikitext text/x-wiki &nbsp; &nbsp; = Overview = The RK3288 offers&nbsp;an extensible, leading&nbsp;performance,long-standing heritage platform,ideally suited for &nbsp;set-top box solution, tablet and chromebook.The platform is integrated with a Quad-Core Cortex-A17 which up to 1.8GHz and ARM Mali-T764&nbsp;which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant&nbsp;interfaces provide&nbsp;a friendly solution for product&nbsp;development. Futhermore, the power consumption is&nbsp;optimal for applications such as imaging/video, communication and broadband infrastructure,and performance audio applications. &nbsp; = RK3288 SoC Features = *CPU: **Quad Core Cortex-A17&nbsp;up to 1.8GHz **32KB L1-Cache **1MB L2-Cache *GPU: **ARM Mali-T764 GPU, with TE, ASTC, AFBC technology **Quad core 3D Graphics engine **Dual core 2D Graphics engine **Comply with&nbsp;OpenGL ES1.1/2.0/3.0, OpenVG1.1, OpenCL, DirectX11 *Display: **4Kx2K@60fpsHDMI2.0 **Up to 3840X2160 display resolution **Support dual-channel LVDS/dual-channel MIPI-DSI/eDP1.1 *Camera: **Support up to 5M pixels **8bits/10bits/12bits raw data interface&nbsp; *Memory: **Dual channels 64-bit DRAM controller **Support DDR3/DDR3L, LPDDR2, LPDDR3 *Connectivity: **Embedded 13M ISP and MIPI-CSI2 interface *Audio: **I2S/PCM with 8 channels *OS: **Support Android 4.2 or up = History = &nbsp; = Documentation = &nbsp; RK3288 datasheet V1.1 &nbsp; = Software = == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" |- | '''board''' | '''kernel''' | '''uboot''' | '''dts''' |- | RK3288_MAINBOARD_V3.0 | rockchip_linux_defconfig | rk3288_linux_defconfig | rk-linux.dts |} &nbsp; &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" |- | '''chip''' | '''Kernel eMMC index''' | '''Kernel SD index''' | '''Uboot eMMC index''' | '''Uboot SD index''' | '''Baud speed''' |- | RK3288 | 1 | 0 | 0 | 1 | 115200 |} == How to get the sources == The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code.&nbsp;Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github. RK3399 optimized Debian & Buildroot <pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml repo sync </pre> == How to build the sources == === Build Environment === You need a 64-bit&nbsp;Ubuntu. Note: old versions&nbsp;Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so Install&nbsp;ARM cross-compile tool chain and compile kernel relative&nbsp;software package:&nbsp; $ sudo apt-get install gcc-arm-linux-gnueabihf&nbsp;gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev === Installing the build tools and download source === Please follow&nbsp;[http://rockchip.wikidot.com/linux-user-guide linux user guide]&nbsp;to install the build tools and download source. &nbsp; === Building kernel === For ARM V8 (RK3399 optimized SDK) <pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre> === Building uboot === For RK3399 optimized SDK (rkproduct uboot) <pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre> === Building rootfs === ==== Debian ==== Yu can download the prebuilt image directly. [http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive] or you could use the&nbsp;[https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script]&nbsp;from Rockchip to build rootfs yourselves. ==== Yocto ==== If you want to use Yocto to build your rootfs see&nbsp;[http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide]&nbsp;for detail. ==== Buildroot ==== If you want to use Buildroot to build your rootfs see&nbsp;[http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide]&nbsp;for detail. &nbsp; &nbsp; = Devices = If you need the rk3399-excavator&nbsp;board, please communicate through&nbsp;the following&nbsp;contact information. <pre>Telephone: 4007700590 Email: service@rock-chips.com</pre> = See also = RK3328 RK3399 = Owners of the SoC on IRC = = Commuity Support = = References = 1.[http://rockchip.wikidot.com/rk3288#toc0 http://rockchip.wikidot.com/rk3288#toc0] 2.https://en.wikipedia.org/wiki/ARM_Cortex-A17 = Exteneral Links = http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html 01ffa9c284a45aaa51a806bb5ab0fc6b404fb4db 224 218 2017-03-07T11:22:17Z Admin 1 wikitext text/x-wiki &nbsp; &nbsp; = Overview = The RK3288 offers&nbsp;an extensible, leading&nbsp;performance,long-standing heritage platform,ideally suited for &nbsp;set-top box solution, tablet and chromebook.The platform is integrated with a Quad-Core Cortex-A17 which up to 1.8GHz and ARM Mali-T764&nbsp;which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant&nbsp;interfaces provide&nbsp;a friendly solution for product&nbsp;development. Futhermore, the power consumption is&nbsp;optimal for applications such as imaging/video, communication and broadband infrastructure,and performance audio applications. &nbsp; = RK3288 SoC Features = *CPU: **Quad Core Cortex-A17&nbsp;up to 1.8GHz **32KB L1-Cache **1MB L2-Cache *GPU: **ARM Mali-T764 GPU, with TE, ASTC, AFBC technology **Quad core 3D Graphics engine **Dual core 2D Graphics engine **Comply with&nbsp;OpenGL ES1.1/2.0/3.0, OpenVG1.1, OpenCL, DirectX11 *Display: **4Kx2K@60fpsHDMI2.0 **Up to 3840X2160 display resolution **Support dual-channel LVDS/dual-channel MIPI-DSI/eDP1.1 *Camera: **Support up to 5M pixels **8bits/10bits/12bits raw data interface&nbsp; *Memory: **Dual channels 64-bit DRAM controller **Support DDR3/DDR3L, LPDDR2, LPDDR3 *Connectivity: **Embedded 13M ISP and MIPI-CSI2 interface *Audio: **I2S/PCM with 8 channels *OS: **Support Android 4.2 or up = History = &nbsp; = Documentation = &nbsp; RK3288 datasheet V1.1 &nbsp; = Software = == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" |- | '''board''' | '''kernel''' | '''uboot''' | '''dts''' |- | RK3288_MAINBOARD_V3.0 | rockchip_linux_defconfig | rk3288_linux_defconfig | rk-linux.dts |} &nbsp; &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" |- | '''chip''' | '''Kernel eMMC index''' | '''Kernel SD index''' | '''Uboot eMMC index''' | '''Uboot SD index''' | '''Baud speed''' |- | RK3288 | 1 | 0 | 0 | 1 | 115200 |} == How to get the sources == The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code.&nbsp;Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github. RK3399 optimized Debian & Buildroot <pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml repo sync </pre> == How to build the sources == === Build Environment === You need a 64-bit&nbsp;Ubuntu. Note: old versions&nbsp;Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so Install&nbsp;ARM cross-compile tool chain and compile kernel relative&nbsp;software package:&nbsp; $ sudo apt-get install gcc-arm-linux-gnueabihf&nbsp;gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev === Installing the build tools and download source === Please follow&nbsp;[http://rockchip.wikidot.com/linux-user-guide linux user guide]&nbsp;to install the build tools and download source. &nbsp; === Building kernel === For ARM V8 (RK3399 optimized SDK) <pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre> === Building uboot === For RK3399 optimized SDK (rkproduct uboot) <pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre> === Building rootfs === ==== Debian ==== Yu can download the prebuilt image directly. [http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive] or you could use the&nbsp;[https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script]&nbsp;from Rockchip to build rootfs yourselves. ==== Yocto ==== If you want to use Yocto to build your rootfs see&nbsp;[http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide]&nbsp;for detail. ==== Buildroot ==== If you want to use Buildroot to build your rootfs see&nbsp;[http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide]&nbsp;for detail. &nbsp; &nbsp; = Devices = [http://rockchip.wikidot.com/firefly-rk3288 Firefly-RK3288]<br/> [http://rockchip.wikidot.com/firefly-rk3288-reload Firefly-RK3288 reload]<br/> [http://rockchip.wikidot.com/em3288 EM3288(Cortex-A17 )]<br/> [http://rockchip.wikidot.com/mini3288 MINI3288]<br/> [http://rockchip.wikidot.com/rock2 Rock2 Square]<br/> [http://rockchip.wikidot.com/rock2-full Rock2 Full]<br/> [http://rockchip.wikidot.com/miqi MiQi]<br/> [http://rockchip.wikidot.com/popmetal Popmetal]<br/> [http://rockchip.wikidot.com/fennec Fennec]<br/> [http://rockchip.wikidot.com/phycore phyCORE-RK3288] If you need this&nbsp;board, please contact with the following&nbsp;contact information. <pre>Telephone: 4007700590 Email: service@rock-chips.com</pre> = See also = RK3328 RK3399 = Owners of the SoC on IRC = = Commuity Support = = References = 1.[http://rockchip.wikidot.com/rk3288#toc0 http://rockchip.wikidot.com/rk3288#toc0] 2.https://en.wikipedia.org/wiki/ARM_Cortex-A17 = Exteneral Links = http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html a8f34c7b99961c9edc99dea078ddfcc19ad6540f 225 224 2017-03-07T11:30:54Z Admin 1 wikitext text/x-wiki &nbsp; &nbsp; = Overview = The RK3288 offers&nbsp;an extensible, leading&nbsp;performance,long-standing heritage platform,ideally suited for &nbsp;set-top box solution, tablet and chromebook.The platform is integrated with a Quad-Core Cortex-A17 which up to 1.8GHz and ARM Mali-T764&nbsp;which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant&nbsp;interfaces provide&nbsp;a friendly solution for product&nbsp;development. Futhermore, the power consumption is&nbsp;optimal for applications such as imaging/video, communication and broadband infrastructure,and performance audio applications. &nbsp; = RK3288 SoC Features = *CPU: **Quad Core Cortex-A17&nbsp;up to 1.8GHz **32KB L1-Cache **1MB L2-Cache *GPU: **ARM Mali-T764 GPU, with TE, ASTC, AFBC technology **Quad core 3D Graphics engine **Dual core 2D Graphics engine **Comply with&nbsp;OpenGL ES1.1/2.0/3.0, OpenVG1.1, OpenCL, DirectX11 *Display: **4Kx2K@60fpsHDMI2.0 **Up to 3840X2160 display resolution **Support dual-channel LVDS/dual-channel MIPI-DSI/eDP1.1 *Camera: **Support up to 5M pixels **8bits/10bits/12bits raw data interface&nbsp; *Memory: **Dual channels 64-bit DRAM controller **Support DDR3/DDR3L, LPDDR2, LPDDR3 *Connectivity: **Embedded 13M ISP and MIPI-CSI2 interface *Audio: **I2S/PCM with 8 channels *OS: **Support Android 4.2 or up = History = &nbsp; = Documentation = &nbsp; RK3288 datasheet V1.1 &nbsp; = Software = == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" |- | '''board''' | '''kernel''' | '''uboot''' | '''dts''' |- | RK3288_MAINBOARD_V3.0 | rockchip_linux_defconfig | rk3288_linux_defconfig | rk-linux.dts |} &nbsp; &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" |- | '''chip''' | '''Kernel eMMC index''' | '''Kernel SD index''' | '''Uboot eMMC index''' | '''Uboot SD index''' | '''Baud speed''' |- | RK3288 | 1 | 0 | 0 | 1 | 115200 |} == How to get the sources == The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code.&nbsp;Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github. RK3399 optimized Debian & Buildroot <pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml repo sync </pre> == How to build the sources == === Build Environment === You need a 64-bit&nbsp;Ubuntu. Note: old versions&nbsp;Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so Install&nbsp;ARM cross-compile tool chain and compile kernel relative&nbsp;software package:&nbsp; $ sudo apt-get install gcc-arm-linux-gnueabihf&nbsp;gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev === Installing the build tools and download source === Please follow&nbsp;[http://rockchip.wikidot.com/linux-user-guide linux user guide]&nbsp;to install the build tools and download source. &nbsp; === Building kernel === For ARM V8 (RK3399 optimized SDK) <pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre> === Building uboot === For RK3399 optimized SDK (rkproduct uboot) <pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre> === Building rootfs === ==== Debian ==== Yu can download the prebuilt image directly. [http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive] or you could use the&nbsp;[https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script]&nbsp;from Rockchip to build rootfs yourselves. ==== Yocto ==== If you want to use Yocto to build your rootfs see&nbsp;[http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide]&nbsp;for detail. ==== Buildroot ==== If you want to use Buildroot to build your rootfs see&nbsp;[http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide]&nbsp;for detail. &nbsp; &nbsp; = Devices = [[Firefly-RK3288|Firefly-RK3288]]<br/> [[Firefly-RK3288_reload|Firefly-RK3288 reload]]<br/> [[EM3288(Cortex-A17_)|EM3288(Cortex-A17 )]]<br/> MINI3288<br/> Rock2 Square<br/> Rock2 Full<br/> MiQi<br/> Popmetal<br/> Fennec<br/> phyCORE-RK3288 If you need this&nbsp;board, please contact with the following&nbsp;contact information. <pre>Telephone: 4007700590 Email: service@rock-chips.com</pre> = See also = RK3328 RK3399 = Owners of the SoC on IRC = = Commuity Support = = References = 1.[http://rockchip.wikidot.com/rk3288#toc0 http://rockchip.wikidot.com/rk3288#toc0] 2.https://en.wikipedia.org/wiki/ARM_Cortex-A17 = Exteneral Links = http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html 85371c4027a1e75a6be094d728feb861e0de8d2e 229 225 2017-03-07T11:33:05Z Admin 1 wikitext text/x-wiki &nbsp; &nbsp; = Overview = The RK3288 offers&nbsp;an extensible, leading&nbsp;performance,long-standing heritage platform,ideally suited for &nbsp;set-top box solution, tablet and chromebook.The platform is integrated with a Quad-Core Cortex-A17 which up to 1.8GHz and ARM Mali-T764&nbsp;which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant&nbsp;interfaces provide&nbsp;a friendly solution for product&nbsp;development. Futhermore, the power consumption is&nbsp;optimal for applications such as imaging/video, communication and broadband infrastructure,and performance audio applications. &nbsp; = RK3288 SoC Features = *CPU: **Quad Core Cortex-A17&nbsp;up to 1.8GHz **32KB L1-Cache **1MB L2-Cache *GPU: **ARM Mali-T764 GPU, with TE, ASTC, AFBC technology **Quad core 3D Graphics engine **Dual core 2D Graphics engine **Comply with&nbsp;OpenGL ES1.1/2.0/3.0, OpenVG1.1, OpenCL, DirectX11 *Display: **4Kx2K@60fpsHDMI2.0 **Up to 3840X2160 display resolution **Support dual-channel LVDS/dual-channel MIPI-DSI/eDP1.1 *Camera: **Support up to 5M pixels **8bits/10bits/12bits raw data interface&nbsp; *Memory: **Dual channels 64-bit DRAM controller **Support DDR3/DDR3L, LPDDR2, LPDDR3 *Connectivity: **Embedded 13M ISP and MIPI-CSI2 interface *Audio: **I2S/PCM with 8 channels *OS: **Support Android 4.2 or up = History = &nbsp; = Documentation = &nbsp; RK3288 datasheet V1.1 &nbsp; = Software = == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" |- | '''board''' | '''kernel''' | '''uboot''' | '''dts''' |- | RK3288_MAINBOARD_V3.0 | rockchip_linux_defconfig | rk3288_linux_defconfig | rk-linux.dts |} &nbsp; &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" |- | '''chip''' | '''Kernel eMMC index''' | '''Kernel SD index''' | '''Uboot eMMC index''' | '''Uboot SD index''' | '''Baud speed''' |- | RK3288 | 1 | 0 | 0 | 1 | 115200 |} == How to get the sources == The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code.&nbsp;Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github. RK3399 optimized Debian & Buildroot <pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml repo sync </pre> == How to build the sources == === Build Environment === You need a 64-bit&nbsp;Ubuntu. Note: old versions&nbsp;Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so Install&nbsp;ARM cross-compile tool chain and compile kernel relative&nbsp;software package:&nbsp; $ sudo apt-get install gcc-arm-linux-gnueabihf&nbsp;gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev === Installing the build tools and download source === Please follow&nbsp;[http://rockchip.wikidot.com/linux-user-guide linux user guide]&nbsp;to install the build tools and download source. &nbsp; === Building kernel === For ARM V8 (RK3399 optimized SDK) <pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre> === Building uboot === For RK3399 optimized SDK (rkproduct uboot) <pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre> === Building rootfs === ==== Debian ==== Yu can download the prebuilt image directly. [http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive] or you could use the&nbsp;[https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script]&nbsp;from Rockchip to build rootfs yourselves. ==== Yocto ==== If you want to use Yocto to build your rootfs see&nbsp;[http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide]&nbsp;for detail. ==== Buildroot ==== If you want to use Buildroot to build your rootfs see&nbsp;[http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide]&nbsp;for detail. &nbsp; &nbsp; = Devices = [[Firefly-RK3288|Firefly-RK3288]]<br/> [[Firefly-RK3288_reload|Firefly-RK3288 reload]]<br/> [[EM3288(Cortex-A17_)|EM3288(Cortex-A17 )]]<br/> [[MINI3288|MINI3288]]<br/> [[Rock2_Square|Rock2 Square]]<br/> [[Rock2_Full|Rock2 Full]]<br/> [[MiQi|MiQi]]<br/> [[Popmetal|Popmetal]]<br/> [[Fennec|Fennec]]<br/> [[phyCORE-RK3288|phyCORE-RK3288]] If you need this&nbsp;board, please contact with the following&nbsp;contact information. <pre>Telephone: 4007700590 Email: service@rock-chips.com</pre> = See also = RK3328 RK3399 = Owners of the SoC on IRC = = Commuity Support = = References = 1.[http://rockchip.wikidot.com/rk3288#toc0 http://rockchip.wikidot.com/rk3288#toc0] 2.https://en.wikipedia.org/wiki/ARM_Cortex-A17 = Exteneral Links = http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html b639fca4fc07905d3a1be2cd2dc7d81d95dc77ca 231 229 2017-03-07T11:40:48Z Admin 1 wikitext text/x-wiki &nbsp; &nbsp; = Overview = The RK3288 offers&nbsp;an extensible, leading&nbsp;performance,long-standing heritage platform,ideally suited for &nbsp;set-top box solution, tablet and chromebook.The platform is integrated with a Quad-Core Cortex-A17 which up to 1.8GHz and ARM Mali-T764&nbsp;which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant&nbsp;interfaces provide&nbsp;a friendly solution for product&nbsp;development. Futhermore, the power consumption is&nbsp;optimal for applications such as imaging/video, communication and broadband infrastructure,and performance audio applications. &nbsp; = RK3288 SoC Features = *CPU: **Quad Core Cortex-A17&nbsp;up to 1.8GHz **32KB L1-Cache **1MB L2-Cache *GPU: **ARM Mali-T764 GPU, with TE, ASTC, AFBC technology **Quad core 3D Graphics engine **Dual core 2D Graphics engine **Comply with&nbsp;OpenGL ES1.1/2.0/3.0, OpenVG1.1, OpenCL, DirectX11 *Display: **4Kx2K@60fpsHDMI2.0 **Up to 3840X2160 display resolution **Support dual-channel LVDS/dual-channel MIPI-DSI/eDP1.1 *Camera: **Support up to 5M pixels **8bits/10bits/12bits raw data interface&nbsp; *Memory: **Dual channels 64-bit DRAM controller **Support DDR3/DDR3L, LPDDR2, LPDDR3 *Connectivity: **Embedded 13M ISP and MIPI-CSI2 interface *Audio: **I2S/PCM with 8 channels *OS: **Support Android 4.2 or up = History = &nbsp; = Documentation = &nbsp; RK3288 datasheet V1.1 &nbsp; = Software = == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" |- | '''board''' | '''kernel''' | '''uboot''' | '''dts''' |- | RK3288_MAINBOARD_V3.0 | rockchip_linux_defconfig | rk3288_linux_defconfig | rk-linux.dts |} &nbsp; &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" |- | '''chip''' | '''Kernel eMMC index''' | '''Kernel SD index''' | '''Uboot eMMC index''' | '''Uboot SD index''' | '''Baud speed''' |- | RK3288 | 1 | 0 | 0 | 1 | 115200 |} == How to get the sources == The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code.&nbsp;Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github. RK3399 optimized Debian & Buildroot <pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml repo sync </pre> == How to build the sources == === Build Environment === You need a 64-bit&nbsp;Ubuntu. Note: old versions&nbsp;Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so Install&nbsp;ARM cross-compile tool chain and compile kernel relative&nbsp;software package:&nbsp; $ sudo apt-get install gcc-arm-linux-gnueabihf&nbsp;gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev === Installing the build tools and download source === Please follow&nbsp;[http://rockchip.wikidot.com/linux-user-guide linux user guide]&nbsp;to install the build tools and download source. &nbsp; === Building kernel === For ARM V8 (RK3399 optimized SDK) <pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre> === Building uboot === For RK3399 optimized SDK (rkproduct uboot) <pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre> === Building rootfs === ==== Debian ==== Yu can download the prebuilt image directly. [http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive] or you could use the&nbsp;[https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script]&nbsp;from Rockchip to build rootfs yourselves. ==== Yocto ==== If you want to use Yocto to build your rootfs see&nbsp;[http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide]&nbsp;for detail. ==== Buildroot ==== If you want to use Buildroot to build your rootfs see&nbsp;[http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide]&nbsp;for detail. &nbsp; &nbsp; = Devices = [[Firefly-RK3288|Firefly-RK3288]]<br/> [[Firefly-RK3288_reload|Firefly-RK3288 reload]]<br/> [[EM3288(Cortex-A17_)|EM3288(Cortex-A17 )]]<br/> [[MINI3288|MINI3288]]<br/> [[Rock2_Square|Rock2 Square]]<br/> [[Rock2_Full|Rock2 Full]]<br/> [[MiQi|MiQi]]<br/> [[Popmetal|Popmetal]]<br/> [[Fennec|Fennec]]<br/> [[phyCORE-RK3288|phyCORE-RK3288]] If you need this&nbsp;board, please contact with the following&nbsp;contact information. <pre>Telephone: 4007700590 Email: service@rock-chips.com</pre> = See also = [[RK3328]] [[RK3399|RK3399]] = Owners of the SoC on IRC = = Commuity Support = = References = 1.[http://rockchip.wikidot.com/rk3288#toc0 http://rockchip.wikidot.com/rk3288#toc0] 2.https://en.wikipedia.org/wiki/ARM_Cortex-A17 = Exteneral Links = http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html cfc6c4b2eb969507ebdf0eca4d74ffd0397adb64 234 231 2017-03-07T11:46:47Z Admin 1 wikitext text/x-wiki &nbsp; &nbsp; = Overview = The RK3288 offers&nbsp;an extensible, leading&nbsp;performance,long-standing heritage platform,ideally suited for &nbsp;set-top box solution, tablet and chromebook.The platform is integrated with a Quad-Core Cortex-A17 which up to 1.8GHz and ARM Mali-T764&nbsp;which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant&nbsp;interfaces provide&nbsp;a friendly solution for product&nbsp;development. Futhermore, the power consumption is&nbsp;optimal for applications such as imaging/video, communication and broadband infrastructure,and performance audio applications. &nbsp; = RK3288 SoC Features = *CPU: **Quad Core Cortex-A17&nbsp;up to 1.8GHz **32KB L1-Cache **1MB L2-Cache *GPU: **ARM Mali-T764 GPU, with TE, ASTC, AFBC technology **Quad core 3D Graphics engine **Dual core 2D Graphics engine **Comply with&nbsp;OpenGL ES1.1/2.0/3.0, OpenVG1.1, OpenCL, DirectX11 *Display: **4Kx2K@60fpsHDMI2.0 **Up to 3840X2160 display resolution **Support dual-channel LVDS/dual-channel MIPI-DSI/eDP1.1 *Camera: **Support up to 5M pixels **8bits/10bits/12bits raw data interface&nbsp; *Memory: **Dual channels 64-bit DRAM controller **Support DDR3/DDR3L, LPDDR2, LPDDR3 *Connectivity: **Embedded 13M ISP and MIPI-CSI2 interface *Audio: **I2S/PCM with 8 channels *OS: **Support Android 4.2 or up = History = &nbsp; = Documentation = &nbsp; RK3288 datasheet V1.1 &nbsp; = Software = == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" |- | '''board''' | '''kernel''' | '''uboot''' | '''dts''' |- | RK3288_MAINBOARD_V3.0 | rockchip_linux_defconfig | rk3288_linux_defconfig | rk-linux.dts |} &nbsp; &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" |- | '''chip''' | '''Kernel eMMC index''' | '''Kernel SD index''' | '''Uboot eMMC index''' | '''Uboot SD index''' | '''Baud speed''' |- | RK3288 | 1 | 0 | 0 | 1 | 115200 |} == How to get the sources == The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code.&nbsp;Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github. RK3399 optimized Debian & Buildroot <pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml repo sync </pre> == How to build the sources == === Build Environment === You need a 64-bit&nbsp;Ubuntu. Note: old versions&nbsp;Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so Install&nbsp;ARM cross-compile tool chain and compile kernel relative&nbsp;software package:&nbsp; $ sudo apt-get install gcc-arm-linux-gnueabihf&nbsp;gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev === Installing the build tools and download source === Please follow&nbsp;[http://rockchip.wikidot.com/linux-user-guide linux user guide]&nbsp;to install the build tools and download source. &nbsp; === Building kernel === For ARM V8 (RK3399 optimized SDK) <pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre> === Building uboot === For RK3399 optimized SDK (rkproduct uboot) <pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre> === Building rootfs === ==== Debian ==== Yu can download the prebuilt image directly. [http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive] or you could use the&nbsp;[https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script]&nbsp;from Rockchip to build rootfs yourselves. ==== Yocto ==== If you want to use Yocto to build your rootfs see&nbsp;[http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide]&nbsp;for detail. ==== Buildroot ==== If you want to use Buildroot to build your rootfs see&nbsp;[http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide]&nbsp;for detail. &nbsp; &nbsp; = Devices = [[Firefly-RK3288|Firefly-RK3288]]<br/> [[Firefly-RK3288_reload|Firefly-RK3288 reload]]<br/> [[Rock2_Square|Rock2 Square]]<br/> [[Rock2_Full|Rock2 Full]]<br/> [[MiQi|MiQi]]<br/> [[Popmetal|Popmetal]]<br/> [[Fennec|Fennec]]<br/> [[PhyCORE-RK3288|phyCORE-RK3288]] If you need this&nbsp;board, please contact with the following&nbsp;contact information. <pre>Telephone: 4007700590 Email: service@rock-chips.com</pre> = See also = [[RK3328]] [[RK3399|RK3399]] = Owners of the SoC on IRC = = Commuity Support = = References = 1.[http://rockchip.wikidot.com/rk3288#toc0 http://rockchip.wikidot.com/rk3288#toc0] 2.https://en.wikipedia.org/wiki/ARM_Cortex-A17 = Exteneral Links = http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html ba57318b9ef630b3c958451571f369c30e2d54e5 235 234 2017-03-07T11:49:54Z Admin 1 wikitext text/x-wiki &nbsp; &nbsp; = Overview = The RK3288 offers&nbsp;an extensible, leading&nbsp;performance,long-standing heritage platform,ideally suited for &nbsp;set-top box solution, tablet and chromebook.The platform is integrated with a Quad-Core Cortex-A17 which up to 1.8GHz and ARM Mali-T764&nbsp;which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant&nbsp;interfaces provide&nbsp;a friendly solution for product&nbsp;development. Futhermore, the power consumption is&nbsp;optimal for applications such as imaging/video, communication and broadband infrastructure,and performance audio applications. &nbsp; = RK3288 SoC Features = *CPU: **Quad Core Cortex-A17&nbsp;up to 1.8GHz **32KB L1-Cache **1MB L2-Cache *GPU: **ARM Mali-T764 GPU, with TE, ASTC, AFBC technology **Quad core 3D Graphics engine **Dual core 2D Graphics engine **Comply with&nbsp;OpenGL ES1.1/2.0/3.0, OpenVG1.1, OpenCL, DirectX11 *Display: **4Kx2K@60fpsHDMI2.0 **Up to 3840X2160 display resolution **Support dual-channel LVDS/dual-channel MIPI-DSI/eDP1.1 *Camera: **Support up to 5M pixels **8bits/10bits/12bits raw data interface&nbsp; *Memory: **Dual channels 64-bit DRAM controller **Support DDR3/DDR3L, LPDDR2, LPDDR3 *Connectivity: **Embedded 13M ISP and MIPI-CSI2 interface *Audio: **I2S/PCM with 8 channels *OS: **Support Android 4.2 or up = History = &nbsp; = Documentation = &nbsp; RK3288 datasheet V1.1 &nbsp; = Software = == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" |- | '''board''' | '''kernel''' | '''uboot''' | '''dts''' |- | RK3288_MAINBOARD_V3.0 | rockchip_linux_defconfig | rk3288_linux_defconfig | rk-linux.dts |} &nbsp; &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" |- | '''chip''' | '''Kernel eMMC index''' | '''Kernel SD index''' | '''Uboot eMMC index''' | '''Uboot SD index''' | '''Baud speed''' |- | RK3288 | 1 | 0 | 0 | 1 | 115200 |} == How to get the sources == The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code.&nbsp;Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github. RK3399 optimized Debian & Buildroot <pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml repo sync </pre> == How to build the sources == === Build Environment === You need a 64-bit&nbsp;Ubuntu. Note: old versions&nbsp;Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so Install&nbsp;ARM cross-compile tool chain and compile kernel relative&nbsp;software package:&nbsp; $ sudo apt-get install gcc-arm-linux-gnueabihf&nbsp;gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev === Installing the build tools and download source === Please follow&nbsp;[http://rockchip.wikidot.com/linux-user-guide linux user guide]&nbsp;to install the build tools and download source. &nbsp; === Building kernel === For ARM V8 (RK3399 optimized SDK) <pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre> === Building uboot === For RK3399 optimized SDK (rkproduct uboot) <pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre> === Building rootfs === ==== Debian ==== Yu can download the prebuilt image directly. [http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive] or you could use the&nbsp;[https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script]&nbsp;from Rockchip to build rootfs yourselves. ==== Yocto ==== If you want to use Yocto to build your rootfs see&nbsp;[http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide]&nbsp;for detail. ==== Buildroot ==== If you want to use Buildroot to build your rootfs see&nbsp;[http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide]&nbsp;for detail. &nbsp; &nbsp; = Devices = [[Firefly-RK3288|Firefly-RK3288]]<br/> [[Firefly-RK3288_reload|Firefly-RK3288 reload]]<br/> [[Rock2_Square|Rock2 Square]]<br/> [[Rock2_Full|Rock2 Full]]<br/> [[MiQi|MiQi]]<br/> [[Popmetal|Popmetal]]<br/> [[Fennec|Fennec]]<br/> [[PhyCORE-RK3288|phyCORE-RK3288]] If you need this&nbsp;board, please contact with the following&nbsp;contact information. <pre>Telephone: 4007700590 Email: service@rock-chips.com</pre> = See also = [[RK3328]] [[RK3399|RK3399]] = Owners of the SoC on IRC = = Commuity Support = There is no support for the RK3288&nbsp; = References = 1.[http://rockchip.wikidot.com/rk3288#toc0 http://rockchip.wikidot.com/rk3288#toc0] 2.https://en.wikipedia.org/wiki/ARM_Cortex-A17 = Exteneral Links = http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html 015f2386b69b02b3e9f73015a84880bd94c6f041 File:RK3399 Linux Debian System Development Guide.pdf 6 25 221 2017-03-07T10:09:20Z Chery 9 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 File:RK3399 Linux Buildroot System Development Guide.pdf 6 26 222 2017-03-07T10:14:05Z Chery 9 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 Popmetal 0 29 236 2017-03-07T11:53:49Z Admin 1 Created page with " {| |- | CPU | RK3288 Quad-core ARM Cortex-A17 |- | GPU | Mali 760MP4 |- | Memory | 2GB DDR3 |- | Storage | 16GB eMMC, MicroSD (TF) Card, SATA 2.0 |- | Connectivity | 10/100/1..." wikitext text/x-wiki {| |- | CPU | RK3288 Quad-core ARM Cortex-A17 |- | GPU | Mali 760MP4 |- | Memory | 2GB DDR3 |- | Storage | 16GB eMMC, MicroSD (TF) Card, SATA 2.0 |- | Connectivity | 10/100/1000M Ethernet, 802.11a/b/g/n/ac, 2.4GHz/5GHz + Bluetooth 4.0(support BLE) |- | Interface | 2*USB host, 1*USB OTG, 1*HDMI 2.0, 1*HDMI 1.4, 1*HDMI in, 1*VGA, 1*MIPI, 1*EDP, 2*LVDS, 1*Headphone, 1*line in, 1*Spdif, 1*Mic, 1*I2S, 1*MIPI-CSI, 1*DVP, 1*IR, 2*LED, 1*Serial Port |} a384fe3a7e42a6f4e2d1f8d24b5d31e2cea79be9 RK3328 0 24 243 233 2017-03-08T01:22:32Z Karen 3 wikitext text/x-wiki = Overview = RK3328 offers a high-integration and power efficiency&nbsp;SOC for 4K HDR OTT/IPTV. It support HDR10 ,HLG HDR ,&nbsp;4K 10bits 30fps H.264 video decoder and 4K 10bits 60fps H265 video decoder.Comply with lots of high-performance interface,such as multi-channel display with HDMI2.0a, TV Encoder, the Quad-core GPU can acheive&nbsp;high-resolution display and game. == Cortex-A53 == Quad-core Cortex-A53 is integrated with separate Neon and FPU coprocessor, also with shared L2 Cache.&nbsp; = RK3328 SoC Features = *CPU: **ARM Cortex-A53&nbsp;Quad-Core&nbsp; *GPU **&nbsp;Mali-450MP4 **Comply with Open GL ES1.1/2.0 *Multi-Media: **4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps **1080P other video decoders (VC-1, MPEG-1/2/4, VP8) **1080P video encoder for H.264 and H.265 **Support HDR10 ,HLG HDR , Support conversion between SDR and HDR *Display: **HDMI 2.0a for 4K@60Hz with HDCP 1.4/2.2 **Support conversion between Rec.2020 and Rec.709 *Memory: **LPDDR3/DDR3/DDR3L/DDR4 **eMMC 4.51,SDCard, SPI Flash *External interface **USB 2.0 x2 and USB 3.0 x1 **100M Ethernet w/ built-in PHY **Built-in CVBS and audio DAC **8 channels I2S IO and 8 chanel digital PDM input (for MIC array) = History = &nbsp; = Documentation = &nbsp; &nbsp; &nbsp; = Software = == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" |- | '''board''' | '''kernel''' | '''uboot''' | '''dts''' |- | RK_EVB_RK3228H_BOX_RK805_DDR3 | rockchip_linux_defconfig | rk3328_linux_defconfig | rk3328r-linux.dts |} &nbsp; &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" |- | '''chip''' | '''Kernel eMMC index''' | '''Kernel SD index''' | '''Uboot eMMC index''' | '''Uboot SD index''' | '''Baud speed''' |- | RK3399 | 1 | 0 | 0 | 1 | 1500000 |} == How to get the sources == The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code.&nbsp;Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github. RK3399 optimized Debian & Buildroot <pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml repo sync </pre> == How to build the sources == === Build Environment === You need a 64-bit&nbsp;Ubuntu. Note: old versions&nbsp;Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so Install&nbsp;ARM cross-compile tool chain and compile kernel relative&nbsp;software package:&nbsp; $ sudo apt-get install gcc-arm-linux-gnueabihf&nbsp;gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev === Installing the build tools and download source === Please follow&nbsp;[http://rockchip.wikidot.com/linux-user-guide linux user guide]&nbsp;to install the build tools and download source. &nbsp; === Building kernel === For ARM V8 (RK3399 optimized SDK) <pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre> === Building uboot === For RK3399 optimized SDK (rkproduct uboot) <pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre> === Building rootfs === ==== Debian ==== You&nbsp;can download the prebuilt image directly. [http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive] or you could use the&nbsp;[https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script]&nbsp;from Rockchip to build rootfs yourselves. ==== Yocto ==== If you want to use Yocto to build your rootfs see&nbsp;[http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide]&nbsp;for detail. ==== Buildroot ==== If you want to use Buildroot to build your rootfs see&nbsp;[http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide]&nbsp;for detail. &nbsp; &nbsp; = Devices = If you need the rk3399-excavator&nbsp;board, please communicate through&nbsp;the following&nbsp;contact information. <pre>Telephone: 4007700590 Email: service@rock-chips.com</pre> = See also = [[RK3288|RK3288]] [[RK3399|RK3399]] = Owners of the SoC on IRC = = Commuity Support = = References = 1.https://en.wikipedia.org/wiki/ARM_Cortex-A53 = Exteneral Links = &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cb6668ea0ed4eeb7a85853dbc5e4ea8a6c409ac0 252 243 2017-03-08T02:28:06Z Karen 3 wikitext text/x-wiki = Overview = RK3328 offers a high-integration and power efficiency&nbsp;SOC for 4K HDR OTT/IPTV. It support HDR10 ,HLG HDR ,&nbsp;4K 10bits 30fps H.264 video decoder and 4K 10bits 60fps H265 video decoder.Comply with lots of high-performance interface,such as multi-channel display with HDMI2.0a, TV Encoder, the Quad-core GPU can acheive&nbsp;high-resolution display and game. == Cortex-A53 == Quad-core Cortex-A53 is integrated with separate Neon and FPU coprocessor, also with shared L2 Cache.&nbsp; = RK3328 SoC Features = *CPU: **ARM Cortex-A53&nbsp;Quad-Core&nbsp; *GPU **&nbsp;Mali-450MP4 **Comply with Open GL ES1.1/2.0 *Multi-Media: **4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps **1080P other video decoders (VC-1, MPEG-1/2/4, VP8) **1080P video encoder for H.264 and H.265 **Support HDR10 ,HLG HDR , Support conversion between SDR and HDR *Display: **HDMI 2.0a for 4K@60Hz with HDCP 1.4/2.2 **Support conversion between Rec.2020 and Rec.709 *Memory: **LPDDR3/DDR3/DDR3L/DDR4 **eMMC 4.51,SDCard, SPI Flash *External interface **USB 2.0 x2 and USB 3.0 x1 **100M Ethernet w/ built-in PHY **Built-in CVBS and audio DAC **8 channels I2S IO and 8 chanel digital PDM input (for MIC array) = History = &nbsp; = Documentation = &nbsp; [[RK3228H_datasheet|RK3228H datasheet]] &nbsp; = Software = == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" |- | '''board''' | '''kernel''' | '''uboot''' | '''dts''' |- | RK_EVB_RK3228H_BOX_RK805_DDR3 | rockchip_linux_defconfig | rk3328_linux_defconfig | rk3328r-linux.dts |} &nbsp; &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" |- | '''chip''' | '''Kernel eMMC index''' | '''Kernel SD index''' | '''Uboot eMMC index''' | '''Uboot SD index''' | '''Baud speed''' |- | RK3399 | 1 | 0 | 0 | 1 | 1500000 |} == How to get the sources == The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code.&nbsp;Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github. RK3399 optimized Debian & Buildroot <pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml repo sync </pre> == How to build the sources == === Build Environment === You need a 64-bit&nbsp;Ubuntu. Note: old versions&nbsp;Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so Install&nbsp;ARM cross-compile tool chain and compile kernel relative&nbsp;software package:&nbsp; $ sudo apt-get install gcc-arm-linux-gnueabihf&nbsp;gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev === Installing the build tools and download source === Please follow&nbsp;[http://rockchip.wikidot.com/linux-user-guide linux user guide]&nbsp;to install the build tools and download source. &nbsp; === Building kernel === For ARM V8 (RK3399 optimized SDK) <pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre> === Building uboot === For RK3399 optimized SDK (rkproduct uboot) <pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre> === Building rootfs === ==== Debian ==== You&nbsp;can download the prebuilt image directly. [http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive] or you could use the&nbsp;[https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script]&nbsp;from Rockchip to build rootfs yourselves. ==== Yocto ==== If you want to use Yocto to build your rootfs see&nbsp;[http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide]&nbsp;for detail. ==== Buildroot ==== If you want to use Buildroot to build your rootfs see&nbsp;[http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide]&nbsp;for detail. &nbsp; &nbsp; = Devices = If you need the rk3399-excavator&nbsp;board, please communicate through&nbsp;the following&nbsp;contact information. <pre>Telephone: 4007700590 Email: service@rock-chips.com</pre> = See also = [[RK3288|RK3288]] [[RK3399|RK3399]] = Owners of the SoC on IRC = = Commuity Support = = References = 1.https://en.wikipedia.org/wiki/ARM_Cortex-A53 = Exteneral Links = &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ada51b7eeefc5532640d2495837ad7d5af4e4e11 254 252 2017-03-08T02:36:54Z Karen 3 wikitext text/x-wiki = Overview = RK3328 offers a high-integration and power efficiency&nbsp;SOC for 4K HDR OTT/IPTV. It support HDR10 ,HLG HDR ,&nbsp;4K 10bits 30fps H.264 video decoder and 4K 10bits 60fps H265 video decoder.Comply with lots of high-performance interface,such as multi-channel display with HDMI2.0a, TV Encoder, the Quad-core GPU can acheive&nbsp;high-resolution display and game. == Cortex-A53 == Quad-core Cortex-A53 is integrated with separate Neon and FPU coprocessor, also with shared L2 Cache.&nbsp; = RK3328 SoC Features = *CPU: **ARM Cortex-A53&nbsp;Quad-Core&nbsp; *GPU **&nbsp;Mali-450MP4 **Comply with Open GL ES1.1/2.0 *Multi-Media: **4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps **1080P other video decoders (VC-1, MPEG-1/2/4, VP8) **1080P video encoder for H.264 and H.265 **Support HDR10 ,HLG HDR , Support conversion between SDR and HDR *Display: **HDMI 2.0a for 4K@60Hz with HDCP 1.4/2.2 **Support conversion between Rec.2020 and Rec.709 *Memory: **LPDDR3/DDR3/DDR3L/DDR4 **eMMC 4.51,SDCard, SPI Flash *External interface **USB 2.0 x2 and USB 3.0 x1 **100M Ethernet w/ built-in PHY **Built-in CVBS and audio DAC **8 channels I2S IO and 8 chanel digital PDM input (for MIC array) = History = &nbsp; = Documentation = &nbsp; [[Media:Rockchip_RK3288TRM_V1.1_Part_1-System_and_System_control.pdf​​​​​​​|Rockchip_RK3288TRM_V1.1_Part_1-System_and_System_control.pdf​​​​​​​]] &nbsp; &nbsp; = Software = == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" |- | '''board''' | '''kernel''' | '''uboot''' | '''dts''' |- | RK_EVB_RK3228H_BOX_RK805_DDR3 | rockchip_linux_defconfig | rk3328_linux_defconfig | rk3328r-linux.dts |} &nbsp; &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" |- | '''chip''' | '''Kernel eMMC index''' | '''Kernel SD index''' | '''Uboot eMMC index''' | '''Uboot SD index''' | '''Baud speed''' |- | RK3399 | 1 | 0 | 0 | 1 | 1500000 |} == How to get the sources == The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code.&nbsp;Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github. RK3399 optimized Debian & Buildroot <pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml repo sync </pre> == How to build the sources == === Build Environment === You need a 64-bit&nbsp;Ubuntu. Note: old versions&nbsp;Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so Install&nbsp;ARM cross-compile tool chain and compile kernel relative&nbsp;software package:&nbsp; $ sudo apt-get install gcc-arm-linux-gnueabihf&nbsp;gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev === Installing the build tools and download source === Please follow&nbsp;[http://rockchip.wikidot.com/linux-user-guide linux user guide]&nbsp;to install the build tools and download source. &nbsp; === Building kernel === For ARM V8 (RK3399 optimized SDK) <pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre> === Building uboot === For RK3399 optimized SDK (rkproduct uboot) <pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre> === Building rootfs === ==== Debian ==== You&nbsp;can download the prebuilt image directly. [http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive] or you could use the&nbsp;[https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script]&nbsp;from Rockchip to build rootfs yourselves. ==== Yocto ==== If you want to use Yocto to build your rootfs see&nbsp;[http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide]&nbsp;for detail. ==== Buildroot ==== If you want to use Buildroot to build your rootfs see&nbsp;[http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide]&nbsp;for detail. &nbsp; &nbsp; = Devices = If you need the rk3399-excavator&nbsp;board, please communicate through&nbsp;the following&nbsp;contact information. <pre>Telephone: 4007700590 Email: service@rock-chips.com</pre> = See also = [[RK3288|RK3288]] [[RK3399|RK3399]] = Owners of the SoC on IRC = = Commuity Support = = References = 1.https://en.wikipedia.org/wiki/ARM_Cortex-A53 = Exteneral Links = &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; f3546041d107bff945c9790658b09d1e61843ac1 269 254 2017-03-08T02:56:33Z Karen 3 wikitext text/x-wiki = Overview = RK3328 offers a high-integration and power efficiency&nbsp;SOC for 4K HDR OTT/IPTV. It support HDR10 ,HLG HDR ,&nbsp;4K 10bits 30fps H.264 video decoder and 4K 10bits 60fps H265 video decoder.Comply with lots of high-performance interface,such as multi-channel display with HDMI2.0a, TV Encoder, the Quad-core GPU can acheive&nbsp;high-resolution display and game. == Cortex-A53 == Quad-core Cortex-A53 is integrated with separate Neon and FPU coprocessor, also with shared L2 Cache.&nbsp; = RK3328 SoC Features = *CPU: **ARM Cortex-A53&nbsp;Quad-Core&nbsp; *GPU **&nbsp;Mali-450MP4 **Comply with Open GL ES1.1/2.0 *Multi-Media: **4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps **1080P other video decoders (VC-1, MPEG-1/2/4, VP8) **1080P video encoder for H.264 and H.265 **Support HDR10 ,HLG HDR , Support conversion between SDR and HDR *Display: **HDMI 2.0a for 4K@60Hz with HDCP 1.4/2.2 **Support conversion between Rec.2020 and Rec.709 *Memory: **LPDDR3/DDR3/DDR3L/DDR4 **eMMC 4.51,SDCard, SPI Flash *External interface **USB 2.0 x2 and USB 3.0 x1 **100M Ethernet w/ built-in PHY **Built-in CVBS and audio DAC **8 channels I2S IO and 8 chanel digital PDM input (for MIC array) = History = &nbsp; = Documentation = &nbsp; [http://10.10.10.12:8444/images/9/9e/RK_DDR_Support_List_Ver2.24.pdf RK_DDR_Support_List_Ver2.24] &nbsp; &nbsp; = Software = == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" |- | '''board''' | '''kernel''' | '''uboot''' | '''dts''' |- | RK_EVB_RK3228H_BOX_RK805_DDR3 | rockchip_linux_defconfig | rk3328_linux_defconfig | rk3328r-linux.dts |} &nbsp; &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" |- | '''chip''' | '''Kernel eMMC index''' | '''Kernel SD index''' | '''Uboot eMMC index''' | '''Uboot SD index''' | '''Baud speed''' |- | RK3399 | 1 | 0 | 0 | 1 | 1500000 |} == How to get the sources == The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code.&nbsp;Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github. RK3399 optimized Debian & Buildroot <pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml repo sync </pre> == How to build the sources == === Build Environment === You need a 64-bit&nbsp;Ubuntu. Note: old versions&nbsp;Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so Install&nbsp;ARM cross-compile tool chain and compile kernel relative&nbsp;software package:&nbsp; $ sudo apt-get install gcc-arm-linux-gnueabihf&nbsp;gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev === Installing the build tools and download source === Please follow&nbsp;[http://rockchip.wikidot.com/linux-user-guide linux user guide]&nbsp;to install the build tools and download source. &nbsp; === Building kernel === For ARM V8 (RK3399 optimized SDK) <pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre> === Building uboot === For RK3399 optimized SDK (rkproduct uboot) <pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre> === Building rootfs === ==== Debian ==== You&nbsp;can download the prebuilt image directly. [http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive] or you could use the&nbsp;[https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script]&nbsp;from Rockchip to build rootfs yourselves. ==== Yocto ==== If you want to use Yocto to build your rootfs see&nbsp;[http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide]&nbsp;for detail. ==== Buildroot ==== If you want to use Buildroot to build your rootfs see&nbsp;[http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide]&nbsp;for detail. &nbsp; &nbsp; = Devices = If you need the rk3399-excavator&nbsp;board, please communicate through&nbsp;the following&nbsp;contact information. <pre>Telephone: 4007700590 Email: service@rock-chips.com</pre> = See also = [[RK3288|RK3288]] [[RK3399|RK3399]] = Owners of the SoC on IRC = = Commuity Support = = References = 1.https://en.wikipedia.org/wiki/ARM_Cortex-A53 = Exteneral Links = &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 7f78b8e83f59162492c1a14b9e15fe37e65563cc RK3399 0 21 244 238 2017-03-08T01:27:31Z Chery 9 wikitext text/x-wiki = Overview = RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications. = SoC Features = *CPU: **Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU **Frequency is over 1.8GHz (Big cluster) *GPU: **&nbsp;Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11 **Supports AFBC (ARM Frame Buffer Compression) *Display: **Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600 **Dual channel MIPI-DSI (4 lanes per channel) **eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR **HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2 **DisplayPort 1.2 (4 lanes, up to 4K 60Hz) **Supports Rec.2020 and conversion to Rec.709 *Camera: **&nbsp;Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels *Memory: **Dual channels 64-bit DRAM controller **Support DDR3/DDR3L, LPDDR3, LPDDR4 *Connectivity: **PCIe 2.1 (4 full-duplex lanes with 20Gbps) **Embedded low power MCU for other application **8 channels I2S supports 8 channels RX or 8 channels TX &nbsp; = History = &nbsp; = Documentation = &nbsp; = Software = == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" style="line-height: 1.6; width: 768px;" |- | style="width: 119px; text-align: center;" | '''board''' | style="width: 172px; text-align: center;" | '''kernel''' | style="width: 124px; text-align: center;" | '''uboot''' | style="width: 310px; text-align: center;" | '''dts''' |- | style="width: 119px; text-align: center;" | rk3399-excavator | style="width: 172px; text-align: center;" | rockchip_linux_defconfig | style="width: 124px; text-align: center;" | rk3399_linux_defconfig | style="width: 310px; text-align: center;" | rk3399-sapphire-excavator-linux.dts |} &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" style="width: 859px;" |- | style="width: 68px; text-align: center;" | '''chip''' | style="width: 181px; text-align: center;" | '''Kernel eMMC index''' | style="width: 142px; text-align: center;" | '''Kernel SD index''' | style="width: 158px; text-align: center;" | '''Uboot eMMC index''' | style="width: 146px; text-align: center;" | '''Uboot SD index''' | style="width: 132px; text-align: center;" | '''Baud speed''' |- | style="width: 68px; text-align: center;" | RK3399 | style="width: 181px; text-align: center;" | 1 | style="width: 142px; text-align: center;" | 0 | style="width: 158px; text-align: center;" | 0 | style="width: 146px; text-align: center;" | 1 | style="width: 132px; text-align: center;" | 1500000 |} == How to get the sources == The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code.&nbsp;Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github. RK3399 optimized Debian & Buildroot <pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml repo sync </pre> == How to build the sources == === Build Environment === You need a 64-bit&nbsp;Ubuntu. Note: old versions&nbsp;Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so Install&nbsp;ARM cross-compile tool chain and compile kernel relative&nbsp;software package:&nbsp; $ sudo apt-get install gcc-arm-linux-gnueabihf&nbsp;gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev === Installing the build tools and download source === Please follow&nbsp;[http://rockchip.wikidot.com/linux-user-guide linux user guide]&nbsp;to install the build tools and download source. &nbsp; === Building kernel === For ARM V8 (RK3399 optimized SDK) <pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre> === Building uboot === For RK3399 optimized SDK (rkproduct uboot) <pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre> === Building rootfs === ==== Debian ==== you could refer to [[Media:RK3399_Linux_Debian_System_Development_Guide|RK3399 Linux Debian System Development Guide]]&nbsp;from Rockchip to build rootfs yourselves. ==== Buildroot ==== you could refer to [[Media:RK3399_Linux_Debian_System_Development_Guide|RK3399 Linux Buildroot System Development Guide]]&nbsp;from Rockchip to build rootfs yourselves. &nbsp; = Devices = If you need the rk3399-excavator&nbsp;board, please communicate through&nbsp;the following&nbsp;contact information. <pre>Telephone: 4007700590 Email: service@rock-chips.com</pre> = See also = [[RK3288|RK3288]] [[RK3328]] = Owners of the SoC on IRC = = Commuity Support = = References = = Exteneral Links = &nbsp; 546f43cd6c7d1eecbb29016569c1236a59b9c58e 245 244 2017-03-08T01:39:36Z Admin 1 wikitext text/x-wiki = Overview = RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications. = SoC Features = *CPU: **Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU **Frequency is over 1.8GHz (Big cluster) *GPU: **&nbsp;Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11 **Supports AFBC (ARM Frame Buffer Compression) *Display: **Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600 **Dual channel MIPI-DSI (4 lanes per channel) **eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR **HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2 **DisplayPort 1.2 (4 lanes, up to 4K 60Hz) **Supports Rec.2020 and conversion to Rec.709 *Camera: **&nbsp;Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels *Memory: **Dual channels 64-bit DRAM controller **Support DDR3/DDR3L, LPDDR3, LPDDR4 *Connectivity: **PCIe 2.1 (4 full-duplex lanes with 20Gbps) **Embedded low power MCU for other application **8 channels I2S supports 8 channels RX or 8 channels TX &nbsp; = History = &nbsp; = Documentation = &nbsp; = Software = == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" style="line-height: 1.6; width: 768px;" |- | style="width: 119px; text-align: center;" | '''board''' | style="width: 172px; text-align: center;" | '''kernel''' | style="width: 124px; text-align: center;" | '''uboot''' | style="width: 310px; text-align: center;" | '''dts''' |- | style="width: 119px; text-align: center;" | rk3399-excavator | style="width: 172px; text-align: center;" | rockchip_linux_defconfig | style="width: 124px; text-align: center;" | rk3399_linux_defconfig | style="width: 310px; text-align: center;" | rk3399-sapphire-excavator-linux.dts |} &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" style="width: 859px;" |- | style="width: 68px; text-align: center;" | '''chip''' | style="width: 181px; text-align: center;" | '''Kernel eMMC index''' | style="width: 142px; text-align: center;" | '''Kernel SD index''' | style="width: 158px; text-align: center;" | '''Uboot eMMC index''' | style="width: 146px; text-align: center;" | '''Uboot SD index''' | style="width: 132px; text-align: center;" | '''Baud speed''' |- | style="width: 68px; text-align: center;" | RK3399 | style="width: 181px; text-align: center;" | 1 | style="width: 142px; text-align: center;" | 0 | style="width: 158px; text-align: center;" | 0 | style="width: 146px; text-align: center;" | 1 | style="width: 132px; text-align: center;" | 1500000 |} == How to get the sources == The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code.&nbsp;Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github. RK3399 optimized Debian & Buildroot <pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml repo sync </pre> == How to build the sources == === Build Environment === You need a 64-bit&nbsp;Ubuntu. Note: old versions&nbsp;Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so Install&nbsp;ARM cross-compile tool chain and compile kernel relative&nbsp;software package:&nbsp; $ sudo apt-get install gcc-arm-linux-gnueabihf&nbsp;gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev === Installing the build tools and download source === Please follow&nbsp;[http://rockchip.wikidot.com/linux-user-guide linux user guide]&nbsp;to install the build tools and download source. &nbsp; === Building kernel === For ARM V8 (RK3399 optimized SDK) <pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre> === Building uboot === For RK3399 optimized SDK (rkproduct uboot) <pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre> === Building rootfs === ==== Debian ==== you could refer to [[File:RK3399 Linux Debian System Development Guide.pdf|RK3399 Linux Debian System Development Guide]]&nbsp;from Rockchip to build rootfs yourselves. ==== Buildroot ==== you could refer to [[Media:RK3399_Linux_Debian_System_Development_Guide|RK3399 Linux Buildroot System Development Guide]]&nbsp;from Rockchip to build rootfs yourselves. &nbsp; = Devices = If you need the rk3399-excavator&nbsp;board, please communicate through&nbsp;the following&nbsp;contact information. <pre>Telephone: 4007700590 Email: service@rock-chips.com</pre> = See also = [[RK3288|RK3288]] [[RK3328]] = Owners of the SoC on IRC = = Commuity Support = = References = = Exteneral Links = &nbsp; 581f3c49b11951b418020c1053c0a9bc80875557 246 245 2017-03-08T01:42:33Z Admin 1 wikitext text/x-wiki = Overview = RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications. = SoC Features = *CPU: **Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU **Frequency is over 1.8GHz (Big cluster) *GPU: **&nbsp;Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11 **Supports AFBC (ARM Frame Buffer Compression) *Display: **Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600 **Dual channel MIPI-DSI (4 lanes per channel) **eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR **HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2 **DisplayPort 1.2 (4 lanes, up to 4K 60Hz) **Supports Rec.2020 and conversion to Rec.709 *Camera: **&nbsp;Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels *Memory: **Dual channels 64-bit DRAM controller **Support DDR3/DDR3L, LPDDR3, LPDDR4 *Connectivity: **PCIe 2.1 (4 full-duplex lanes with 20Gbps) **Embedded low power MCU for other application **8 channels I2S supports 8 channels RX or 8 channels TX &nbsp; = History = &nbsp; = Documentation = &nbsp; = Software = == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" style="line-height: 1.6; width: 768px;" |- | style="width: 119px; text-align: center;" | '''board''' | style="width: 172px; text-align: center;" | '''kernel''' | style="width: 124px; text-align: center;" | '''uboot''' | style="width: 310px; text-align: center;" | '''dts''' |- | style="width: 119px; text-align: center;" | rk3399-excavator | style="width: 172px; text-align: center;" | rockchip_linux_defconfig | style="width: 124px; text-align: center;" | rk3399_linux_defconfig | style="width: 310px; text-align: center;" | rk3399-sapphire-excavator-linux.dts |} &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" style="width: 859px;" |- | style="width: 68px; text-align: center;" | '''chip''' | style="width: 181px; text-align: center;" | '''Kernel eMMC index''' | style="width: 142px; text-align: center;" | '''Kernel SD index''' | style="width: 158px; text-align: center;" | '''Uboot eMMC index''' | style="width: 146px; text-align: center;" | '''Uboot SD index''' | style="width: 132px; text-align: center;" | '''Baud speed''' |- | style="width: 68px; text-align: center;" | RK3399 | style="width: 181px; text-align: center;" | 1 | style="width: 142px; text-align: center;" | 0 | style="width: 158px; text-align: center;" | 0 | style="width: 146px; text-align: center;" | 1 | style="width: 132px; text-align: center;" | 1500000 |} == How to get the sources == The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code.&nbsp;Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github. RK3399 optimized Debian & Buildroot <pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml repo sync </pre> == How to build the sources == === Build Environment === You need a 64-bit&nbsp;Ubuntu. Note: old versions&nbsp;Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so Install&nbsp;ARM cross-compile tool chain and compile kernel relative&nbsp;software package:&nbsp; $ sudo apt-get install gcc-arm-linux-gnueabihf&nbsp;gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev === Installing the build tools and download source === Please follow&nbsp;[http://rockchip.wikidot.com/linux-user-guide linux user guide]&nbsp;to install the build tools and download source. &nbsp; === Building kernel === For ARM V8 (RK3399 optimized SDK) <pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre> === Building uboot === For RK3399 optimized SDK (rkproduct uboot) <pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre> === Building rootfs === ==== Debian ==== you could refer to [[Media:RK3399_Linux_Debian_System_Development_Guide.pdf|RK3399 Linux Debian System Development Guide]]&nbsp;from Rockchip to build rootfs yourselves. ==== Buildroot ==== you could refer to [[Media:RK3399_Linux_Debian_System_Development_Guide|RK3399 Linux Buildroot System Development Guide]]&nbsp;from Rockchip to build rootfs yourselves. &nbsp; = Devices = If you need the rk3399-excavator&nbsp;board, please communicate through&nbsp;the following&nbsp;contact information. <pre>Telephone: 4007700590 Email: service@rock-chips.com</pre> = See also = [[RK3288|RK3288]] [[RK3328]] = Owners of the SoC on IRC = = Commuity Support = = References = = Exteneral Links = &nbsp; b72ca9b046083d9efa80b0e921ca2a0d6f8c960a 247 246 2017-03-08T01:50:30Z Chery 9 wikitext text/x-wiki = Overview = RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications. = SoC Features = *CPU: **Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU **Frequency is over 1.8GHz (Big cluster) *GPU: **&nbsp;Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11 **Supports AFBC (ARM Frame Buffer Compression) *Display: **Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600 **Dual channel MIPI-DSI (4 lanes per channel) **eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR **HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2 **DisplayPort 1.2 (4 lanes, up to 4K 60Hz) **Supports Rec.2020 and conversion to Rec.709 *Camera: **&nbsp;Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels *Memory: **Dual channels 64-bit DRAM controller **Support DDR3/DDR3L, LPDDR3, LPDDR4 *Connectivity: **PCIe 2.1 (4 full-duplex lanes with 20Gbps) **Embedded low power MCU for other application **8 channels I2S supports 8 channels RX or 8 channels TX &nbsp; = History = &nbsp; = Documentation = &nbsp; = Software = == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" style="line-height: 1.6; width: 768px;" |- | style="width: 119px; text-align: center;" | '''board''' | style="width: 172px; text-align: center;" | '''kernel''' | style="width: 124px; text-align: center;" | '''uboot''' | style="width: 310px; text-align: center;" | '''dts''' |- | style="width: 119px; text-align: center;" | rk3399-excavator | style="width: 172px; text-align: center;" | rockchip_linux_defconfig | style="width: 124px; text-align: center;" | rk3399_linux_defconfig | style="width: 310px; text-align: center;" | rk3399-sapphire-excavator-linux.dts |} &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" style="width: 859px;" |- | style="width: 68px; text-align: center;" | '''chip''' | style="width: 181px; text-align: center;" | '''Kernel eMMC index''' | style="width: 142px; text-align: center;" | '''Kernel SD index''' | style="width: 158px; text-align: center;" | '''Uboot eMMC index''' | style="width: 146px; text-align: center;" | '''Uboot SD index''' | style="width: 132px; text-align: center;" | '''Baud speed''' |- | style="width: 68px; text-align: center;" | RK3399 | style="width: 181px; text-align: center;" | 1 | style="width: 142px; text-align: center;" | 0 | style="width: 158px; text-align: center;" | 0 | style="width: 146px; text-align: center;" | 1 | style="width: 132px; text-align: center;" | 1500000 |} == How to get the sources == The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code.&nbsp;Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github. RK3399 optimized Debian & Buildroot <pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml repo sync </pre> == How to build the sources == === Build Environment === You need a 64-bit&nbsp;Ubuntu. Note: old versions&nbsp;Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so Install&nbsp;ARM cross-compile tool chain and compile kernel relative&nbsp;software package:&nbsp; $ sudo apt-get install gcc-arm-linux-gnueabihf&nbsp;gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev === Installing the build tools and download source === Please follow&nbsp;[http://rockchip.wikidot.com/linux-user-guide linux user guide]&nbsp;to install the build tools and download source. &nbsp; === Building kernel === For ARM V8 (RK3399 optimized SDK) <pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre> === Building uboot === For RK3399 optimized SDK (rkproduct uboot) <pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre> === Building rootfs === ==== Debian ==== you could refer to [[Media:RK3399_Linux_Debian_System_Development_Guide.pdf|RK3399 Linux Debian System Development Guide]]&nbsp;from Rockchip to build rootfs yourselves. ==== Buildroot ==== you could refer to [[Media:RK3399_Linux_Buildroot_System_Development_Guide.pdf|RK3399 Linux Buildroot System Development Guide]]&nbsp;from Rockchip to build rootfs yourselves. &nbsp; = Devices = If you need the rk3399-excavator&nbsp;board, please communicate through&nbsp;the following&nbsp;contact information. <pre>Telephone: 4007700590 Email: service@rock-chips.com</pre> = See also = [[RK3288|RK3288]] [[RK3328]] = Owners of the SoC on IRC = = Commuity Support = = References = = Exteneral Links = &nbsp; be3d4a7fab7867683b519ad3bcb3cbdb90acc6b1 248 247 2017-03-08T02:22:47Z Chery 9 wikitext text/x-wiki = Overview = RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications. = SoC Features = *CPU: **Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU **Frequency is over 1.8GHz (Big cluster) *GPU: **&nbsp;Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11 **Supports AFBC (ARM Frame Buffer Compression) *Display: **Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600 **Dual channel MIPI-DSI (4 lanes per channel) **eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR **HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2 **DisplayPort 1.2 (4 lanes, up to 4K 60Hz) **Supports Rec.2020 and conversion to Rec.709 *Camera: **&nbsp;Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels *Memory: **Dual channels 64-bit DRAM controller **Support DDR3/DDR3L, LPDDR3, LPDDR4 *Connectivity: **PCIe 2.1 (4 full-duplex lanes with 20Gbps) **Embedded low power MCU for other application **8 channels I2S supports 8 channels RX or 8 channels TX &nbsp; = History = &nbsp; = Documentation = [[Media:RK3399_Linux_Datasheet|RK3399 Linux Datasheet]] [[Media:RK3399_Linux_User_Manual|RK3399 Linux User Manual]] = Software = == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" style="line-height: 1.6; width: 768px;" |- | style="width: 119px; text-align: center;" | '''board''' | style="width: 172px; text-align: center;" | '''kernel''' | style="width: 124px; text-align: center;" | '''uboot''' | style="width: 310px; text-align: center;" | '''dts''' |- | style="width: 119px; text-align: center;" | rk3399-excavator | style="width: 172px; text-align: center;" | rockchip_linux_defconfig | style="width: 124px; text-align: center;" | rk3399_linux_defconfig | style="width: 310px; text-align: center;" | rk3399-sapphire-excavator-linux.dts |} &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" style="width: 859px;" |- | style="width: 68px; text-align: center;" | '''chip''' | style="width: 181px; text-align: center;" | '''Kernel eMMC index''' | style="width: 142px; text-align: center;" | '''Kernel SD index''' | style="width: 158px; text-align: center;" | '''Uboot eMMC index''' | style="width: 146px; text-align: center;" | '''Uboot SD index''' | style="width: 132px; text-align: center;" | '''Baud speed''' |- | style="width: 68px; text-align: center;" | RK3399 | style="width: 181px; text-align: center;" | 1 | style="width: 142px; text-align: center;" | 0 | style="width: 158px; text-align: center;" | 0 | style="width: 146px; text-align: center;" | 1 | style="width: 132px; text-align: center;" | 1500000 |} == How to get the sources == The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code.&nbsp;Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github. RK3399 optimized Debian & Buildroot <pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml repo sync </pre> == How to build the sources == === Build Environment === You need a 64-bit&nbsp;Ubuntu. Note: old versions&nbsp;Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so Install&nbsp;ARM cross-compile tool chain and compile kernel relative&nbsp;software package:&nbsp; $ sudo apt-get install gcc-arm-linux-gnueabihf&nbsp;gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev === Installing the build tools and download source === Please follow&nbsp;[http://rockchip.wikidot.com/linux-user-guide linux user guide]&nbsp;to install the build tools and download source. &nbsp; === Building kernel === For ARM V8 (RK3399 optimized SDK) <pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre> === Building uboot === For RK3399 optimized SDK (rkproduct uboot) <pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre> === Building rootfs === ==== Debian ==== you could refer to [[Media:RK3399_Linux_Debian_System_Development_Guide.pdf|RK3399 Linux Debian System Development Guide]]&nbsp;from Rockchip to build rootfs yourselves. ==== Buildroot ==== you could refer to [[Media:RK3399_Linux_Buildroot_System_Development_Guide.pdf|RK3399 Linux Buildroot System Development Guide]]&nbsp;from Rockchip to build rootfs yourselves. &nbsp; = Devices = If you need the rk3399-excavator&nbsp;board, please communicate through&nbsp;the following&nbsp;contact information. <pre>Telephone: 4007700590 Email: service@rock-chips.com</pre> = See also = [[RK3288|RK3288]] [[RK3328]] = Owners of the SoC on IRC = = Commuity Support = = References = = Exteneral Links = &nbsp; 889da5e00394d7006716fe43831bab6d26e44417 255 248 2017-03-08T02:40:27Z Karen 3 wikitext text/x-wiki = Overview = RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications. = SoC Features = *CPU: **Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU **Frequency is over 1.8GHz (Big cluster) *GPU: **&nbsp;Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11 **Supports AFBC (ARM Frame Buffer Compression) *Display: **Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600 **Dual channel MIPI-DSI (4 lanes per channel) **eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR **HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2 **DisplayPort 1.2 (4 lanes, up to 4K 60Hz) **Supports Rec.2020 and conversion to Rec.709 *Camera: **&nbsp;Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels *Memory: **Dual channels 64-bit DRAM controller **Support DDR3/DDR3L, LPDDR3, LPDDR4 *Connectivity: **PCIe 2.1 (4 full-duplex lanes with 20Gbps) **Embedded low power MCU for other application **8 channels I2S supports 8 channels RX or 8 channels TX &nbsp; = History = &nbsp; = Documentation = [[Media:RK3399_Linux_Datasheet|RK3399 Linux Datasheet]] [[Media:RK3399_Linux_User_Manual|RK3399 Linux User Manual]] = Software = == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" style="line-height: 1.6; width: 768px;" |- | style="width: 119px; text-align: center;" | '''board''' | style="width: 172px; text-align: center;" | '''kernel''' | style="width: 124px; text-align: center;" | '''uboot''' | style="width: 310px; text-align: center;" | '''dts''' |- | style="width: 119px; text-align: center;" | rk3399-excavator | style="width: 172px; text-align: center;" | rockchip_linux_defconfig | style="width: 124px; text-align: center;" | rk3399_linux_defconfig | style="width: 310px; text-align: center;" | rk3399-sapphire-excavator-linux.dts |} &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" style="width: 859px;" |- | style="width: 68px; text-align: center;" | '''chip''' | style="width: 181px; text-align: center;" | '''Kernel eMMC index''' | style="width: 142px; text-align: center;" | '''Kernel SD index''' | style="width: 158px; text-align: center;" | '''Uboot eMMC index''' | style="width: 146px; text-align: center;" | '''Uboot SD index''' | style="width: 132px; text-align: center;" | '''Baud speed''' |- | style="width: 68px; text-align: center;" | RK3399 | style="width: 181px; text-align: center;" | 1 | style="width: 142px; text-align: center;" | 0 | style="width: 158px; text-align: center;" | 0 | style="width: 146px; text-align: center;" | 1 | style="width: 132px; text-align: center;" | 1500000 |} == How to get the sources == The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code.&nbsp;Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github. RK3399 optimized Debian & Buildroot <pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml repo sync </pre> == How to build the sources == === Build Environment === You need a 64-bit&nbsp;Ubuntu. Note: old versions&nbsp;Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so Install&nbsp;ARM cross-compile tool chain and compile kernel relative&nbsp;software package:&nbsp; $ sudo apt-get install gcc-arm-linux-gnueabihf&nbsp;gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev === Installing the build tools and download source === Please follow&nbsp;[http://rockchip.wikidot.com/linux-user-guide linux user guide]&nbsp;to install the build tools and download source. &nbsp; === Building kernel === For ARM V8 (RK3399 optimized SDK) <pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre> === Building uboot === For RK3399 optimized SDK (rkproduct uboot) <pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre> === Building rootfs === ==== Debian ==== you could refer to [[Media:RK3399_Linux_Debian_System_Development_Guide.pdf|RK3399 Linux Debian System Development Guide]]&nbsp;from Rockchip to build rootfs yourselves. ==== Buildroot ==== you could refer to [[Media:RK3399_Linux_Buildroot_System_Development_Guide.pdf|RK3399 Linux Buildroot System Development Guide]]&nbsp;from Rockchip to build rootfs yourselves. &nbsp; = Devices = If you need the rk3399-excavator&nbsp;board, please communicate through&nbsp;the following&nbsp;contact information. <pre>Telephone: 4007700590 Email: service@rock-chips.com</pre> = See also = [[RK3288|RK3288]] [[RK3328]] = Owners of the SoC on IRC = = Commuity Support = = References = = Exteneral Links = &nbsp; 1a7de9ee0f9c6e3b67ab72fb2d464e1b23ef644a 256 255 2017-03-08T02:42:44Z Karen 3 wikitext text/x-wiki = Overview = RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications. = SoC Features = *CPU: **Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU **Frequency is over 1.8GHz (Big cluster) *GPU: **&nbsp;Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11 **Supports AFBC (ARM Frame Buffer Compression) *Display: **Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600 **Dual channel MIPI-DSI (4 lanes per channel) **eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR **HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2 **DisplayPort 1.2 (4 lanes, up to 4K 60Hz) **Supports Rec.2020 and conversion to Rec.709 *Camera: **&nbsp;Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels *Memory: **Dual channels 64-bit DRAM controller **Support DDR3/DDR3L, LPDDR3, LPDDR4 *Connectivity: **PCIe 2.1 (4 full-duplex lanes with 20Gbps) **Embedded low power MCU for other application **8 channels I2S supports 8 channels RX or 8 channels TX &nbsp; = History = &nbsp; = Documentation = [[Media:RK3399_Linux_Datasheet.pdf|RK3399 Linux Datasheet]] [[Media:RK3399_Linux_User_Manual|RK3399 Linux User Manual]] = Software = == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" style="line-height: 1.6; width: 768px;" |- | style="width: 119px; text-align: center;" | '''board''' | style="width: 172px; text-align: center;" | '''kernel''' | style="width: 124px; text-align: center;" | '''uboot''' | style="width: 310px; text-align: center;" | '''dts''' |- | style="width: 119px; text-align: center;" | rk3399-excavator | style="width: 172px; text-align: center;" | rockchip_linux_defconfig | style="width: 124px; text-align: center;" | rk3399_linux_defconfig | style="width: 310px; text-align: center;" | rk3399-sapphire-excavator-linux.dts |} &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" style="width: 859px;" |- | style="width: 68px; text-align: center;" | '''chip''' | style="width: 181px; text-align: center;" | '''Kernel eMMC index''' | style="width: 142px; text-align: center;" | '''Kernel SD index''' | style="width: 158px; text-align: center;" | '''Uboot eMMC index''' | style="width: 146px; text-align: center;" | '''Uboot SD index''' | style="width: 132px; text-align: center;" | '''Baud speed''' |- | style="width: 68px; text-align: center;" | RK3399 | style="width: 181px; text-align: center;" | 1 | style="width: 142px; text-align: center;" | 0 | style="width: 158px; text-align: center;" | 0 | style="width: 146px; text-align: center;" | 1 | style="width: 132px; text-align: center;" | 1500000 |} == How to get the sources == The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code.&nbsp;Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github. RK3399 optimized Debian & Buildroot <pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml repo sync </pre> == How to build the sources == === Build Environment === You need a 64-bit&nbsp;Ubuntu. Note: old versions&nbsp;Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so Install&nbsp;ARM cross-compile tool chain and compile kernel relative&nbsp;software package:&nbsp; $ sudo apt-get install gcc-arm-linux-gnueabihf&nbsp;gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev === Installing the build tools and download source === Please follow&nbsp;[http://rockchip.wikidot.com/linux-user-guide linux user guide]&nbsp;to install the build tools and download source. &nbsp; === Building kernel === For ARM V8 (RK3399 optimized SDK) <pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre> === Building uboot === For RK3399 optimized SDK (rkproduct uboot) <pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre> === Building rootfs === ==== Debian ==== you could refer to [[Media:RK3399_Linux_Debian_System_Development_Guide.pdf|RK3399 Linux Debian System Development Guide]]&nbsp;from Rockchip to build rootfs yourselves. ==== Buildroot ==== you could refer to [[Media:RK3399_Linux_Buildroot_System_Development_Guide.pdf|RK3399 Linux Buildroot System Development Guide]]&nbsp;from Rockchip to build rootfs yourselves. &nbsp; = Devices = If you need the rk3399-excavator&nbsp;board, please communicate through&nbsp;the following&nbsp;contact information. <pre>Telephone: 4007700590 Email: service@rock-chips.com</pre> = See also = [[RK3288|RK3288]] [[RK3328]] = Owners of the SoC on IRC = = Commuity Support = = References = = Exteneral Links = &nbsp; 7a0722f542e5c27e012adc20fd0aa38e6f33fdf6 257 256 2017-03-08T02:45:05Z Karen 3 wikitext text/x-wiki = Overview = RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications. = SoC Features = *CPU: **Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU **Frequency is over 1.8GHz (Big cluster) *GPU: **&nbsp;Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11 **Supports AFBC (ARM Frame Buffer Compression) *Display: **Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600 **Dual channel MIPI-DSI (4 lanes per channel) **eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR **HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2 **DisplayPort 1.2 (4 lanes, up to 4K 60Hz) **Supports Rec.2020 and conversion to Rec.709 *Camera: **&nbsp;Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels *Memory: **Dual channels 64-bit DRAM controller **Support DDR3/DDR3L, LPDDR3, LPDDR4 *Connectivity: **PCIe 2.1 (4 full-duplex lanes with 20Gbps) **Embedded low power MCU for other application **8 channels I2S supports 8 channels RX or 8 channels TX &nbsp; = History = &nbsp; = Documentation = [[Media:RK3399_Linux_Datasheet.pdf|RK3399 Linux Datasheet]] [[Media:RK3399_Linux_User_Manual|RK3399 Linux User Manual]] [http://10.10.10.12:8444/index.php?title=File:RK3399_Linux_Debian_System_Development_Guide.pdf RK3399 Linux Debian System Development Guide] &nbsp; = Software = == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" style="line-height: 1.6; width: 768px;" |- | style="width: 119px; text-align: center;" | '''board''' | style="width: 172px; text-align: center;" | '''kernel''' | style="width: 124px; text-align: center;" | '''uboot''' | style="width: 310px; text-align: center;" | '''dts''' |- | style="width: 119px; text-align: center;" | rk3399-excavator | style="width: 172px; text-align: center;" | rockchip_linux_defconfig | style="width: 124px; text-align: center;" | rk3399_linux_defconfig | style="width: 310px; text-align: center;" | rk3399-sapphire-excavator-linux.dts |} &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" style="width: 859px;" |- | style="width: 68px; text-align: center;" | '''chip''' | style="width: 181px; text-align: center;" | '''Kernel eMMC index''' | style="width: 142px; text-align: center;" | '''Kernel SD index''' | style="width: 158px; text-align: center;" | '''Uboot eMMC index''' | style="width: 146px; text-align: center;" | '''Uboot SD index''' | style="width: 132px; text-align: center;" | '''Baud speed''' |- | style="width: 68px; text-align: center;" | RK3399 | style="width: 181px; text-align: center;" | 1 | style="width: 142px; text-align: center;" | 0 | style="width: 158px; text-align: center;" | 0 | style="width: 146px; text-align: center;" | 1 | style="width: 132px; text-align: center;" | 1500000 |} == How to get the sources == The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code.&nbsp;Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github. RK3399 optimized Debian & Buildroot <pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml repo sync </pre> == How to build the sources == === Build Environment === You need a 64-bit&nbsp;Ubuntu. Note: old versions&nbsp;Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so Install&nbsp;ARM cross-compile tool chain and compile kernel relative&nbsp;software package:&nbsp; $ sudo apt-get install gcc-arm-linux-gnueabihf&nbsp;gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev === Installing the build tools and download source === Please follow&nbsp;[http://rockchip.wikidot.com/linux-user-guide linux user guide]&nbsp;to install the build tools and download source. &nbsp; === Building kernel === For ARM V8 (RK3399 optimized SDK) <pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre> === Building uboot === For RK3399 optimized SDK (rkproduct uboot) <pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre> === Building rootfs === ==== Debian ==== you could refer to [[Media:RK3399_Linux_Debian_System_Development_Guide.pdf|RK3399 Linux Debian System Development Guide]]&nbsp;from Rockchip to build rootfs yourselves. ==== Buildroot ==== you could refer to [[Media:RK3399_Linux_Buildroot_System_Development_Guide.pdf|RK3399 Linux Buildroot System Development Guide]]&nbsp;from Rockchip to build rootfs yourselves. &nbsp; = Devices = If you need the rk3399-excavator&nbsp;board, please communicate through&nbsp;the following&nbsp;contact information. <pre>Telephone: 4007700590 Email: service@rock-chips.com</pre> = See also = [[RK3288|RK3288]] [[RK3328]] = Owners of the SoC on IRC = = Commuity Support = = References = = Exteneral Links = &nbsp; bf155698ee9c516f78cb532568237e1d9333f1f2 258 257 2017-03-08T02:45:29Z Karen 3 wikitext text/x-wiki = Overview = RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications. = SoC Features = *CPU: **Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU **Frequency is over 1.8GHz (Big cluster) *GPU: **&nbsp;Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11 **Supports AFBC (ARM Frame Buffer Compression) *Display: **Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600 **Dual channel MIPI-DSI (4 lanes per channel) **eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR **HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2 **DisplayPort 1.2 (4 lanes, up to 4K 60Hz) **Supports Rec.2020 and conversion to Rec.709 *Camera: **&nbsp;Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels *Memory: **Dual channels 64-bit DRAM controller **Support DDR3/DDR3L, LPDDR3, LPDDR4 *Connectivity: **PCIe 2.1 (4 full-duplex lanes with 20Gbps) **Embedded low power MCU for other application **8 channels I2S supports 8 channels RX or 8 channels TX &nbsp; = History = &nbsp; = Documentation = [[Media:RK3399_Linux_Datasheet.pdf|RK3399 Linux Datasheet]] [[Media:RK3399_Linux_User_Manual|RK3399 Linux User Manual]] [[RK3399_Linux_Debian_System_Development_Guide]] &nbsp; = Software = == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" style="line-height: 1.6; width: 768px;" |- | style="width: 119px; text-align: center;" | '''board''' | style="width: 172px; text-align: center;" | '''kernel''' | style="width: 124px; text-align: center;" | '''uboot''' | style="width: 310px; text-align: center;" | '''dts''' |- | style="width: 119px; text-align: center;" | rk3399-excavator | style="width: 172px; text-align: center;" | rockchip_linux_defconfig | style="width: 124px; text-align: center;" | rk3399_linux_defconfig | style="width: 310px; text-align: center;" | rk3399-sapphire-excavator-linux.dts |} &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" style="width: 859px;" |- | style="width: 68px; text-align: center;" | '''chip''' | style="width: 181px; text-align: center;" | '''Kernel eMMC index''' | style="width: 142px; text-align: center;" | '''Kernel SD index''' | style="width: 158px; text-align: center;" | '''Uboot eMMC index''' | style="width: 146px; text-align: center;" | '''Uboot SD index''' | style="width: 132px; text-align: center;" | '''Baud speed''' |- | style="width: 68px; text-align: center;" | RK3399 | style="width: 181px; text-align: center;" | 1 | style="width: 142px; text-align: center;" | 0 | style="width: 158px; text-align: center;" | 0 | style="width: 146px; text-align: center;" | 1 | style="width: 132px; text-align: center;" | 1500000 |} == How to get the sources == The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code.&nbsp;Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github. RK3399 optimized Debian & Buildroot <pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml repo sync </pre> == How to build the sources == === Build Environment === You need a 64-bit&nbsp;Ubuntu. Note: old versions&nbsp;Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so Install&nbsp;ARM cross-compile tool chain and compile kernel relative&nbsp;software package:&nbsp; $ sudo apt-get install gcc-arm-linux-gnueabihf&nbsp;gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev === Installing the build tools and download source === Please follow&nbsp;[http://rockchip.wikidot.com/linux-user-guide linux user guide]&nbsp;to install the build tools and download source. &nbsp; === Building kernel === For ARM V8 (RK3399 optimized SDK) <pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre> === Building uboot === For RK3399 optimized SDK (rkproduct uboot) <pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre> === Building rootfs === ==== Debian ==== you could refer to [[Media:RK3399_Linux_Debian_System_Development_Guide.pdf|RK3399 Linux Debian System Development Guide]]&nbsp;from Rockchip to build rootfs yourselves. ==== Buildroot ==== you could refer to [[Media:RK3399_Linux_Buildroot_System_Development_Guide.pdf|RK3399 Linux Buildroot System Development Guide]]&nbsp;from Rockchip to build rootfs yourselves. &nbsp; = Devices = If you need the rk3399-excavator&nbsp;board, please communicate through&nbsp;the following&nbsp;contact information. <pre>Telephone: 4007700590 Email: service@rock-chips.com</pre> = See also = [[RK3288|RK3288]] [[RK3328]] = Owners of the SoC on IRC = = Commuity Support = = References = = Exteneral Links = &nbsp; f4fbe6a068b5b8c032763298e09f3f340a3a9897 259 258 2017-03-08T02:45:58Z Karen 3 wikitext text/x-wiki = Overview = RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications. = SoC Features = *CPU: **Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU **Frequency is over 1.8GHz (Big cluster) *GPU: **&nbsp;Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11 **Supports AFBC (ARM Frame Buffer Compression) *Display: **Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600 **Dual channel MIPI-DSI (4 lanes per channel) **eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR **HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2 **DisplayPort 1.2 (4 lanes, up to 4K 60Hz) **Supports Rec.2020 and conversion to Rec.709 *Camera: **&nbsp;Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels *Memory: **Dual channels 64-bit DRAM controller **Support DDR3/DDR3L, LPDDR3, LPDDR4 *Connectivity: **PCIe 2.1 (4 full-duplex lanes with 20Gbps) **Embedded low power MCU for other application **8 channels I2S supports 8 channels RX or 8 channels TX &nbsp; = History = &nbsp; = Documentation = [[Media:RK3399_Linux_Datasheet.pdf|RK3399 Linux Datasheet]] [[Media:RK3399_Linux_User_Manual|RK3399 Linux User Manual]] [[RK3399_Linux_Debian_System_Development_Guide.pdf|RK3399_Linux_Debian_System_Development_Guide]] &nbsp; = Software = == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" style="line-height: 1.6; width: 768px;" |- | style="width: 119px; text-align: center;" | '''board''' | style="width: 172px; text-align: center;" | '''kernel''' | style="width: 124px; text-align: center;" | '''uboot''' | style="width: 310px; text-align: center;" | '''dts''' |- | style="width: 119px; text-align: center;" | rk3399-excavator | style="width: 172px; text-align: center;" | rockchip_linux_defconfig | style="width: 124px; text-align: center;" | rk3399_linux_defconfig | style="width: 310px; text-align: center;" | rk3399-sapphire-excavator-linux.dts |} &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" style="width: 859px;" |- | style="width: 68px; text-align: center;" | '''chip''' | style="width: 181px; text-align: center;" | '''Kernel eMMC index''' | style="width: 142px; text-align: center;" | '''Kernel SD index''' | style="width: 158px; text-align: center;" | '''Uboot eMMC index''' | style="width: 146px; text-align: center;" | '''Uboot SD index''' | style="width: 132px; text-align: center;" | '''Baud speed''' |- | style="width: 68px; text-align: center;" | RK3399 | style="width: 181px; text-align: center;" | 1 | style="width: 142px; text-align: center;" | 0 | style="width: 158px; text-align: center;" | 0 | style="width: 146px; text-align: center;" | 1 | style="width: 132px; text-align: center;" | 1500000 |} == How to get the sources == The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code.&nbsp;Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github. RK3399 optimized Debian & Buildroot <pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml repo sync </pre> == How to build the sources == === Build Environment === You need a 64-bit&nbsp;Ubuntu. Note: old versions&nbsp;Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so Install&nbsp;ARM cross-compile tool chain and compile kernel relative&nbsp;software package:&nbsp; $ sudo apt-get install gcc-arm-linux-gnueabihf&nbsp;gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev === Installing the build tools and download source === Please follow&nbsp;[http://rockchip.wikidot.com/linux-user-guide linux user guide]&nbsp;to install the build tools and download source. &nbsp; === Building kernel === For ARM V8 (RK3399 optimized SDK) <pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre> === Building uboot === For RK3399 optimized SDK (rkproduct uboot) <pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre> === Building rootfs === ==== Debian ==== you could refer to [[Media:RK3399_Linux_Debian_System_Development_Guide.pdf|RK3399 Linux Debian System Development Guide]]&nbsp;from Rockchip to build rootfs yourselves. ==== Buildroot ==== you could refer to [[Media:RK3399_Linux_Buildroot_System_Development_Guide.pdf|RK3399 Linux Buildroot System Development Guide]]&nbsp;from Rockchip to build rootfs yourselves. &nbsp; = Devices = If you need the rk3399-excavator&nbsp;board, please communicate through&nbsp;the following&nbsp;contact information. <pre>Telephone: 4007700590 Email: service@rock-chips.com</pre> = See also = [[RK3288|RK3288]] [[RK3328]] = Owners of the SoC on IRC = = Commuity Support = = References = = Exteneral Links = &nbsp; d45e42e2b32675adc4cf2ca272bf8909296de15c 260 259 2017-03-08T02:46:38Z Karen 3 wikitext text/x-wiki = Overview = RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications. = SoC Features = *CPU: **Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU **Frequency is over 1.8GHz (Big cluster) *GPU: **&nbsp;Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11 **Supports AFBC (ARM Frame Buffer Compression) *Display: **Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600 **Dual channel MIPI-DSI (4 lanes per channel) **eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR **HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2 **DisplayPort 1.2 (4 lanes, up to 4K 60Hz) **Supports Rec.2020 and conversion to Rec.709 *Camera: **&nbsp;Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels *Memory: **Dual channels 64-bit DRAM controller **Support DDR3/DDR3L, LPDDR3, LPDDR4 *Connectivity: **PCIe 2.1 (4 full-duplex lanes with 20Gbps) **Embedded low power MCU for other application **8 channels I2S supports 8 channels RX or 8 channels TX &nbsp; = History = &nbsp; = Documentation = [[Media:RK3399_Linux_Datasheet.pdf|RK3399 Linux Datasheet]] [[Media:RK3399_Linux_User_Manual|RK3399 Linux User Manual]] [[RK3399_Linux_Debian_System_Development_Guide.pdf|RK3399_Linux_Debian_System_Development_Guide]] &nbsp; = Software = == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" style="line-height: 1.6; width: 768px;" |- | style="width: 119px; text-align: center;" | '''board''' | style="width: 172px; text-align: center;" | '''kernel''' | style="width: 124px; text-align: center;" | '''uboot''' | style="width: 310px; text-align: center;" | '''dts''' |- | style="width: 119px; text-align: center;" | rk3399-excavator | style="width: 172px; text-align: center;" | rockchip_linux_defconfig | style="width: 124px; text-align: center;" | rk3399_linux_defconfig | style="width: 310px; text-align: center;" | rk3399-sapphire-excavator-linux.dts |} &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" style="width: 859px;" |- | style="width: 68px; text-align: center;" | '''chip''' | style="width: 181px; text-align: center;" | '''Kernel eMMC index''' | style="width: 142px; text-align: center;" | '''Kernel SD index''' | style="width: 158px; text-align: center;" | '''Uboot eMMC index''' | style="width: 146px; text-align: center;" | '''Uboot SD index''' | style="width: 132px; text-align: center;" | '''Baud speed''' |- | style="width: 68px; text-align: center;" | RK3399 | style="width: 181px; text-align: center;" | 1 | style="width: 142px; text-align: center;" | 0 | style="width: 158px; text-align: center;" | 0 | style="width: 146px; text-align: center;" | 1 | style="width: 132px; text-align: center;" | 1500000 |} == How to get the sources == The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code.&nbsp;Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github. RK3399 optimized Debian & Buildroot <pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml repo sync </pre> == How to build the sources == === Build Environment === You need a 64-bit&nbsp;Ubuntu. Note: old versions&nbsp;Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so Install&nbsp;ARM cross-compile tool chain and compile kernel relative&nbsp;software package:&nbsp; $ sudo apt-get install gcc-arm-linux-gnueabihf&nbsp;gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev === Installing the build tools and download source === Please follow&nbsp;[http://rockchip.wikidot.com/linux-user-guide linux user guide]&nbsp;to install the build tools and download source. &nbsp; === Building kernel === For ARM V8 (RK3399 optimized SDK) <pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre> === Building uboot === For RK3399 optimized SDK (rkproduct uboot) <pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre> === Building rootfs === ==== Debian ==== you could refer to [[Media:RK3399_Linux_Debian_System_Development_Guide.pdf|RK3399 Linux Debian System Development Guide]]&nbsp;from Rockchip to build rootfs yourselves. ==== Buildroot ==== you could refer to [[Media:RK3399_Linux_Buildroot_System_Development_Guide.pdf|RK3399 Linux Buildroot System Development Guide]]&nbsp;from Rockchip to build rootfs yourselves. &nbsp; = Devices = If you need the rk3399-excavator&nbsp;board, please communicate through&nbsp;the following&nbsp;contact information. <pre>Telephone: 4007700590 Email: service@rock-chips.com</pre> = See also = [[RK3288|RK3288]] [[RK3328]] = Owners of the SoC on IRC = = Commuity Support = = References = = Exteneral Links = &nbsp; 3d5fce004ddc948ddec10d7ebc5bec2680fe336b 261 260 2017-03-08T02:47:44Z Karen 3 wikitext text/x-wiki = Overview = RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications. = SoC Features = *CPU: **Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU **Frequency is over 1.8GHz (Big cluster) *GPU: **&nbsp;Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11 **Supports AFBC (ARM Frame Buffer Compression) *Display: **Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600 **Dual channel MIPI-DSI (4 lanes per channel) **eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR **HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2 **DisplayPort 1.2 (4 lanes, up to 4K 60Hz) **Supports Rec.2020 and conversion to Rec.709 *Camera: **&nbsp;Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels *Memory: **Dual channels 64-bit DRAM controller **Support DDR3/DDR3L, LPDDR3, LPDDR4 *Connectivity: **PCIe 2.1 (4 full-duplex lanes with 20Gbps) **Embedded low power MCU for other application **8 channels I2S supports 8 channels RX or 8 channels TX &nbsp; = History = &nbsp; = Documentation = [[Media:RK3399_Linux_Datasheet.pdf|RK3399 Linux Datasheet]] [[Media:RK3399_Linux_User_Manual|RK3399 Linux User Manual]] [[RK3399_Linux_Debian_System_Development_Guide.pdf|RK3399_Linux_Debian_System_Development_Guide]] &nbsp; = Software = == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" style="line-height: 1.6; width: 768px;" |- | style="width: 119px; text-align: center;" | '''board''' | style="width: 172px; text-align: center;" | '''kernel''' | style="width: 124px; text-align: center;" | '''uboot''' | style="width: 310px; text-align: center;" | '''dts''' |- | style="width: 119px; text-align: center;" | rk3399-excavator | style="width: 172px; text-align: center;" | rockchip_linux_defconfig | style="width: 124px; text-align: center;" | rk3399_linux_defconfig | style="width: 310px; text-align: center;" | rk3399-sapphire-excavator-linux.dts |} &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" style="width: 859px;" |- | style="width: 68px; text-align: center;" | '''chip''' | style="width: 181px; text-align: center;" | '''Kernel eMMC index''' | style="width: 142px; text-align: center;" | '''Kernel SD index''' | style="width: 158px; text-align: center;" | '''Uboot eMMC index''' | style="width: 146px; text-align: center;" | '''Uboot SD index''' | style="width: 132px; text-align: center;" | '''Baud speed''' |- | style="width: 68px; text-align: center;" | RK3399 | style="width: 181px; text-align: center;" | 1 | style="width: 142px; text-align: center;" | 0 | style="width: 158px; text-align: center;" | 0 | style="width: 146px; text-align: center;" | 1 | style="width: 132px; text-align: center;" | 1500000 |} == How to get the sources == The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code.&nbsp;Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github. RK3399 optimized Debian & Buildroot <pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml repo sync </pre> == How to build the sources == === Build Environment === You need a 64-bit&nbsp;Ubuntu. Note: old versions&nbsp;Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so Install&nbsp;ARM cross-compile tool chain and compile kernel relative&nbsp;software package:&nbsp; $ sudo apt-get install gcc-arm-linux-gnueabihf&nbsp;gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev === Installing the build tools and download source === Please follow&nbsp;[http://rockchip.wikidot.com/linux-user-guide linux user guide]&nbsp;to install the build tools and download source. &nbsp; === Building kernel === For ARM V8 (RK3399 optimized SDK) <pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre> === Building uboot === For RK3399 optimized SDK (rkproduct uboot) <pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre> === Building rootfs === ==== Debian ==== you could refer to [[Media:RK3399_Linux_Debian_System_Development_Guide.pdf|RK3399 Linux Debian System Development Guide]]&nbsp;from Rockchip to build rootfs yourselves. ==== Buildroot ==== you could refer to [[Media:RK3399_Linux_Buildroot_System_Development_Guide.pdf|RK3399 Linux Buildroot System Development Guide]]&nbsp;from Rockchip to build rootfs yourselves. &nbsp; = Devices = If you need the rk3399-excavator&nbsp;board, please communicate through&nbsp;the following&nbsp;contact information. <pre>Telephone: 4007700590 Email: service@rock-chips.com</pre> = See also = [[RK3288|RK3288]] [[RK3328]] = Owners of the SoC on IRC = = Commuity Support = = References = = Exteneral Links = &nbsp; 97fcd745bc3503bfc7be3607288b9e97c238f448 262 261 2017-03-08T02:48:56Z Karen 3 wikitext text/x-wiki = Overview = RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications. = SoC Features = *CPU: **Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU **Frequency is over 1.8GHz (Big cluster) *GPU: **&nbsp;Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11 **Supports AFBC (ARM Frame Buffer Compression) *Display: **Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600 **Dual channel MIPI-DSI (4 lanes per channel) **eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR **HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2 **DisplayPort 1.2 (4 lanes, up to 4K 60Hz) **Supports Rec.2020 and conversion to Rec.709 *Camera: **&nbsp;Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels *Memory: **Dual channels 64-bit DRAM controller **Support DDR3/DDR3L, LPDDR3, LPDDR4 *Connectivity: **PCIe 2.1 (4 full-duplex lanes with 20Gbps) **Embedded low power MCU for other application **8 channels I2S supports 8 channels RX or 8 channels TX &nbsp; = History = &nbsp; = Documentation = [[Media:RK3399_Linux_Datasheet.pdf|RK3399 Linux Datasheet]] [[Media:RK3399_Linux_User_Manual|RK3399 Linux User Manual]] [http://10.10.10.12:8444/images/2/27/RK3399_Linux_Debian_System_Development_Guide.pdf RK3399_Linux_Debian_System_Development_Guide] &nbsp; = Software = == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" style="line-height: 1.6; width: 768px;" |- | style="width: 119px; text-align: center;" | '''board''' | style="width: 172px; text-align: center;" | '''kernel''' | style="width: 124px; text-align: center;" | '''uboot''' | style="width: 310px; text-align: center;" | '''dts''' |- | style="width: 119px; text-align: center;" | rk3399-excavator | style="width: 172px; text-align: center;" | rockchip_linux_defconfig | style="width: 124px; text-align: center;" | rk3399_linux_defconfig | style="width: 310px; text-align: center;" | rk3399-sapphire-excavator-linux.dts |} &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" style="width: 859px;" |- | style="width: 68px; text-align: center;" | '''chip''' | style="width: 181px; text-align: center;" | '''Kernel eMMC index''' | style="width: 142px; text-align: center;" | '''Kernel SD index''' | style="width: 158px; text-align: center;" | '''Uboot eMMC index''' | style="width: 146px; text-align: center;" | '''Uboot SD index''' | style="width: 132px; text-align: center;" | '''Baud speed''' |- | style="width: 68px; text-align: center;" | RK3399 | style="width: 181px; text-align: center;" | 1 | style="width: 142px; text-align: center;" | 0 | style="width: 158px; text-align: center;" | 0 | style="width: 146px; text-align: center;" | 1 | style="width: 132px; text-align: center;" | 1500000 |} == How to get the sources == The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code.&nbsp;Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github. RK3399 optimized Debian & Buildroot <pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml repo sync </pre> == How to build the sources == === Build Environment === You need a 64-bit&nbsp;Ubuntu. Note: old versions&nbsp;Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so Install&nbsp;ARM cross-compile tool chain and compile kernel relative&nbsp;software package:&nbsp; $ sudo apt-get install gcc-arm-linux-gnueabihf&nbsp;gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev === Installing the build tools and download source === Please follow&nbsp;[http://rockchip.wikidot.com/linux-user-guide linux user guide]&nbsp;to install the build tools and download source. &nbsp; === Building kernel === For ARM V8 (RK3399 optimized SDK) <pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre> === Building uboot === For RK3399 optimized SDK (rkproduct uboot) <pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre> === Building rootfs === ==== Debian ==== you could refer to [[Media:RK3399_Linux_Debian_System_Development_Guide.pdf|RK3399 Linux Debian System Development Guide]]&nbsp;from Rockchip to build rootfs yourselves. ==== Buildroot ==== you could refer to [[Media:RK3399_Linux_Buildroot_System_Development_Guide.pdf|RK3399 Linux Buildroot System Development Guide]]&nbsp;from Rockchip to build rootfs yourselves. &nbsp; = Devices = If you need the rk3399-excavator&nbsp;board, please communicate through&nbsp;the following&nbsp;contact information. <pre>Telephone: 4007700590 Email: service@rock-chips.com</pre> = See also = [[RK3288|RK3288]] [[RK3328]] = Owners of the SoC on IRC = = Commuity Support = = References = = Exteneral Links = &nbsp; d8e2bed2ce15b857fe560b3207826643ebf3c407 267 262 2017-03-08T02:55:40Z Admin 1 wikitext text/x-wiki test &nbsp; = Overview = RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications. &nbsp; = SoC Features = *CPU: **Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU **Frequency is over 1.8GHz (Big cluster) *GPU: **&nbsp;Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11 **Supports AFBC (ARM Frame Buffer Compression) *Display: **Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600 **Dual channel MIPI-DSI (4 lanes per channel) **eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR **HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2 **DisplayPort 1.2 (4 lanes, up to 4K 60Hz) **Supports Rec.2020 and conversion to Rec.709 *Camera: **&nbsp;Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels *Memory: **Dual channels 64-bit DRAM controller **Support DDR3/DDR3L, LPDDR3, LPDDR4 *Connectivity: **PCIe 2.1 (4 full-duplex lanes with 20Gbps) **Embedded low power MCU for other application **8 channels I2S supports 8 channels RX or 8 channels TX &nbsp; = History = &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; = Documentation = [[Media:RK3399_Linux_Datasheet.pdf|RK3399 Linux Datasheet]] [[Media:RK3399_Linux_User_Manual|RK3399 Linux User Manual]] [http://10.10.10.12:8444/images/2/27/RK3399_Linux_Debian_System_Development_Guide.pdf RK3399_Linux_Debian_System_Development_Guide] &nbsp; = Software = == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" style="line-height: 1.6; width: 768px;" |- | style="width: 119px; text-align: center;" | '''board''' | style="width: 172px; text-align: center;" | '''kernel''' | style="width: 124px; text-align: center;" | '''uboot''' | style="width: 310px; text-align: center;" | '''dts''' |- | style="width: 119px; text-align: center;" | rk3399-excavator | style="width: 172px; text-align: center;" | rockchip_linux_defconfig | style="width: 124px; text-align: center;" | rk3399_linux_defconfig | style="width: 310px; text-align: center;" | rk3399-sapphire-excavator-linux.dts |} &nbsp; &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" style="width: 859px;" |- | style="width: 68px; text-align: center;" | '''chip''' | style="width: 181px; text-align: center;" | '''Kernel eMMC index''' | style="width: 142px; text-align: center;" | '''Kernel SD index''' | style="width: 158px; text-align: center;" | '''Uboot eMMC index''' | style="width: 146px; text-align: center;" | '''Uboot SD index''' | style="width: 132px; text-align: center;" | '''Baud speed''' |- | style="width: 68px; text-align: center;" | RK3399 | style="width: 181px; text-align: center;" | 1 | style="width: 142px; text-align: center;" | 0 | style="width: 158px; text-align: center;" | 0 | style="width: 146px; text-align: center;" | 1 | style="width: 132px; text-align: center;" | 1500000 |} == How to get the sources == The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code.&nbsp;Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github. RK3399 optimized Debian & Buildroot <pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml repo sync </pre> == How to build the sources == === Build Environment === You need a 64-bit&nbsp;Ubuntu. Note: old versions&nbsp;Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so Install&nbsp;ARM cross-compile tool chain and compile kernel relative&nbsp;software package:&nbsp; $ sudo apt-get install gcc-arm-linux-gnueabihf&nbsp;gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev === Installing the build tools and download source === Please follow&nbsp;[http://rockchip.wikidot.com/linux-user-guide linux user guide]&nbsp;to install the build tools and download source. &nbsp; === Building kernel === For ARM V8 (RK3399 optimized SDK) <pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre> === Building uboot === For RK3399 optimized SDK (rkproduct uboot) <pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre> &nbsp; === Building rootfs === ==== Debian ==== you could refer to [[Media:RK3399_Linux_Debian_System_Development_Guide.pdf|RK3399 Linux Debian System Development Guide]]&nbsp;from Rockchip to build rootfs yourselves. &nbsp; ==== Buildroot ==== you could refer to [[Media:RK3399_Linux_Buildroot_System_Development_Guide.pdf|RK3399 Linux Buildroot System Development Guide]]&nbsp;from Rockchip to build rootfs yourselves. &nbsp; = Devices = If you need the rk3399-excavator&nbsp;board, please communicate through&nbsp;the following&nbsp;contact information. <pre>Telephone: 4007700590 Email: service@rock-chips.com</pre> = See also = [[RK3288|RK3288]] [[RK3328|RK3328]] = Owners of the SoC on IRC = = Commuity Support = = References = = Exteneral Links = &nbsp; 05c11a159b49b06896df7d8a8c544d78751168cc 270 267 2017-03-08T02:56:56Z Karen 3 wikitext text/x-wiki test &nbsp; = Overview = RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications. &nbsp; = SoC Features = *CPU: **Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU **Frequency is over 1.8GHz (Big cluster) *GPU: **&nbsp;Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11 **Supports AFBC (ARM Frame Buffer Compression) *Display: **Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600 **Dual channel MIPI-DSI (4 lanes per channel) **eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR **HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2 **DisplayPort 1.2 (4 lanes, up to 4K 60Hz) **Supports Rec.2020 and conversion to Rec.709 *Camera: **&nbsp;Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels *Memory: **Dual channels 64-bit DRAM controller **Support DDR3/DDR3L, LPDDR3, LPDDR4 *Connectivity: **PCIe 2.1 (4 full-duplex lanes with 20Gbps) **Embedded low power MCU for other application **8 channels I2S supports 8 channels RX or 8 channels TX &nbsp; = History = &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; = Documentation = [[Media:RK3399_Linux_Datasheet.pdf|RK3399 Linux Datasheet]] [[Media:RK3399_Linux_User_Manual|RK3399 Linux User Manual]] [http://10.10.10.12:8444/images/2/27/RK3399_Linux_Debian_System_Development_Guide.pdf RK3399_Linux_Debian_System_Development_Guide] [http://10.10.10.12:8444/images/9/9e/RK_DDR_Support_List_Ver2.24.pdf RK_DDR_Support_List_Ver2.24] = Software = == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" style="line-height: 1.6; width: 768px;" |- | style="width: 119px; text-align: center;" | '''board''' | style="width: 172px; text-align: center;" | '''kernel''' | style="width: 124px; text-align: center;" | '''uboot''' | style="width: 310px; text-align: center;" | '''dts''' |- | style="width: 119px; text-align: center;" | rk3399-excavator | style="width: 172px; text-align: center;" | rockchip_linux_defconfig | style="width: 124px; text-align: center;" | rk3399_linux_defconfig | style="width: 310px; text-align: center;" | rk3399-sapphire-excavator-linux.dts |} &nbsp; &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" style="width: 859px;" |- | style="width: 68px; text-align: center;" | '''chip''' | style="width: 181px; text-align: center;" | '''Kernel eMMC index''' | style="width: 142px; text-align: center;" | '''Kernel SD index''' | style="width: 158px; text-align: center;" | '''Uboot eMMC index''' | style="width: 146px; text-align: center;" | '''Uboot SD index''' | style="width: 132px; text-align: center;" | '''Baud speed''' |- | style="width: 68px; text-align: center;" | RK3399 | style="width: 181px; text-align: center;" | 1 | style="width: 142px; text-align: center;" | 0 | style="width: 158px; text-align: center;" | 0 | style="width: 146px; text-align: center;" | 1 | style="width: 132px; text-align: center;" | 1500000 |} == How to get the sources == The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code.&nbsp;Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github. RK3399 optimized Debian & Buildroot <pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml repo sync </pre> == How to build the sources == === Build Environment === You need a 64-bit&nbsp;Ubuntu. Note: old versions&nbsp;Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so Install&nbsp;ARM cross-compile tool chain and compile kernel relative&nbsp;software package:&nbsp; $ sudo apt-get install gcc-arm-linux-gnueabihf&nbsp;gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev === Installing the build tools and download source === Please follow&nbsp;[http://rockchip.wikidot.com/linux-user-guide linux user guide]&nbsp;to install the build tools and download source. &nbsp; === Building kernel === For ARM V8 (RK3399 optimized SDK) <pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre> === Building uboot === For RK3399 optimized SDK (rkproduct uboot) <pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre> &nbsp; === Building rootfs === ==== Debian ==== you could refer to [[Media:RK3399_Linux_Debian_System_Development_Guide.pdf|RK3399 Linux Debian System Development Guide]]&nbsp;from Rockchip to build rootfs yourselves. &nbsp; ==== Buildroot ==== you could refer to [[Media:RK3399_Linux_Buildroot_System_Development_Guide.pdf|RK3399 Linux Buildroot System Development Guide]]&nbsp;from Rockchip to build rootfs yourselves. &nbsp; = Devices = If you need the rk3399-excavator&nbsp;board, please communicate through&nbsp;the following&nbsp;contact information. <pre>Telephone: 4007700590 Email: service@rock-chips.com</pre> = See also = [[RK3288|RK3288]] [[RK3328|RK3328]] = Owners of the SoC on IRC = = Commuity Support = = References = = Exteneral Links = &nbsp; c0be81956f60820c6647dfc24f1af0704dd600f7 271 270 2017-03-08T03:01:04Z Chery 9 wikitext text/x-wiki Rockchip RK3399 SoC integrates&nbsp;dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor, and with&nbsp;ARM Mali-T864 GPU. &nbsp; = Overview = RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications. &nbsp; = SoC Features = *CPU: **Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU **Frequency is over 1.8GHz (Big cluster) *GPU: **&nbsp;Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11 **Supports AFBC (ARM Frame Buffer Compression) *Display: **Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600 **Dual channel MIPI-DSI (4 lanes per channel) **eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR **HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2 **DisplayPort 1.2 (4 lanes, up to 4K 60Hz) **Supports Rec.2020 and conversion to Rec.709 *Camera: **&nbsp;Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels *Memory: **Dual channels 64-bit DRAM controller **Support DDR3/DDR3L, LPDDR3, LPDDR4 *Connectivity: **PCIe 2.1 (4 full-duplex lanes with 20Gbps) **Embedded low power MCU for other application **8 channels I2S supports 8 channels RX or 8 channels TX &nbsp; = History = &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; = Documentation = [[Media:RK3399_Linux_Datasheet.pdf|RK3399 Linux Datasheet]] [[Media:RK3399_Linux_User_Manual|RK3399 Linux User Manual]] [http://10.10.10.12:8444/images/2/27/RK3399_Linux_Debian_System_Development_Guide.pdf RK3399_Linux_Debian_System_Development_Guide] [http://10.10.10.12:8444/images/9/9e/RK_DDR_Support_List_Ver2.24.pdf RK_DDR_Support_List_Ver2.24] = Software = == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" style="line-height: 1.6; width: 768px;" |- | style="width: 119px; text-align: center;" | '''board''' | style="width: 172px; text-align: center;" | '''kernel''' | style="width: 124px; text-align: center;" | '''uboot''' | style="width: 310px; text-align: center;" | '''dts''' |- | style="width: 119px; text-align: center;" | rk3399-excavator | style="width: 172px; text-align: center;" | rockchip_linux_defconfig | style="width: 124px; text-align: center;" | rk3399_linux_defconfig | style="width: 310px; text-align: center;" | rk3399-sapphire-excavator-linux.dts |} &nbsp; &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" style="width: 859px;" |- | style="width: 68px; text-align: center;" | '''chip''' | style="width: 181px; text-align: center;" | '''Kernel eMMC index''' | style="width: 142px; text-align: center;" | '''Kernel SD index''' | style="width: 158px; text-align: center;" | '''Uboot eMMC index''' | style="width: 146px; text-align: center;" | '''Uboot SD index''' | style="width: 132px; text-align: center;" | '''Baud speed''' |- | style="width: 68px; text-align: center;" | RK3399 | style="width: 181px; text-align: center;" | 1 | style="width: 142px; text-align: center;" | 0 | style="width: 158px; text-align: center;" | 0 | style="width: 146px; text-align: center;" | 1 | style="width: 132px; text-align: center;" | 1500000 |} == How to get the sources == The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code.&nbsp;Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github. RK3399 optimized Debian & Buildroot <pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml repo sync </pre> == How to build the sources == === Build Environment === You need a 64-bit&nbsp;Ubuntu. Note: old versions&nbsp;Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so Install&nbsp;ARM cross-compile tool chain and compile kernel relative&nbsp;software package:&nbsp; $ sudo apt-get install gcc-arm-linux-gnueabihf&nbsp;gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev === Installing the build tools and download source === Please follow&nbsp;[http://rockchip.wikidot.com/linux-user-guide linux user guide]&nbsp;to install the build tools and download source. &nbsp; === Building kernel === For ARM V8 (RK3399 optimized SDK) <pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre> === Building uboot === For RK3399 optimized SDK (rkproduct uboot) <pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre> &nbsp; === Building rootfs === ==== Debian ==== you could refer to [[Media:RK3399_Linux_Debian_System_Development_Guide.pdf|RK3399 Linux Debian System Development Guide]]&nbsp;from Rockchip to build rootfs yourselves. &nbsp; ==== Buildroot ==== you could refer to [[Media:RK3399_Linux_Buildroot_System_Development_Guide.pdf|RK3399 Linux Buildroot System Development Guide]]&nbsp;from Rockchip to build rootfs yourselves. &nbsp; = Devices = If you need the rk3399-excavator&nbsp;board, please communicate through&nbsp;the following&nbsp;contact information. <pre>Telephone: 4007700590 Email: service@rock-chips.com</pre> = See also = [[RK3288|RK3288]] [[RK3328|RK3328]] = Owners of the SoC on IRC = = Commuity Support = = References = = Exteneral Links = &nbsp; 56f779a428d3ff06323b535ddfbbcc86f9dec745 275 271 2017-03-08T03:10:35Z Admin 1 wikitext text/x-wiki Rockchip RK3399 SoC integrates&nbsp;dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor, and with&nbsp;ARM Mali-T864 GPU. &nbsp; {| cellspacing="5" class="infobox" style="width:22em;" |- ! colspan="2" style="text-align:center; font-size:125%; font-weight:bold; background: #dedede;" | A31 |- | colspan="2" style="text-align:center;" | <a href="[https://linux-sunxi.org/File:Allwinner_A31s.jpg https://linux-sunxi.org/File:Allwinner_A31s.jpg]" class="image"><img alt="Allwinner A31s.jpg" src="./A31 - linux-sunxi.org_files/Allwinner_A31s.jpg" width="250" height="250"></a> |- ! scope="row" style="text-align:left;" | Manufacturer | style="" | Allwinner |- ! scope="row" style="text-align:left;" | Process | style="" | 40nm |- ! scope="row" style="text-align:left;" | CPU | style="" | Quad-Core ARM Cortex-A7 |- ! scope="row" style="text-align:left;" | Memory | style="" | 2-channel DDR3/LPDDR2, 2-channel DDR3L, maximum of 4GB total (2GB per channel) |- ! scope="row" style="text-align:left;" | GPU | style="" | SGX544 |- ! colspan="2" style="text-align:center; background: #dedede;" | Connectivity |- ! scope="row" style="text-align:left;" | Video | style="" | HDMI 1.4, MIPI DSI, 2-channel LVDS, 2-channel RGB LCD |- ! scope="row" style="text-align:left;" | Audio | style="" | I2S, PCM |- ! scope="row" style="text-align:left;" | Storage | style="" | 4x SD Card, eMMC NAND, 2-channel raw NAND |- ! scope="row" style="text-align:left;" | USB | style="" | OTG, 2x Host |- ! scope="row" style="text-align:left;" | Release Date | style="" | December 2012 |- ! scope="row" style="text-align:left;" | Website | style="" | <a rel="nofollow" class="external text" href="[http://www.allwinnertech.com/en/product/A31.html http://www.allwinnertech.com/en/product/A31.html]">Product Page</a> |} = Overview = RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications. &nbsp; = SoC Features = *CPU: **Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU **Frequency is over 1.8GHz (Big cluster) *GPU: **&nbsp;Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11 **Supports AFBC (ARM Frame Buffer Compression) *Display: **Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600 **Dual channel MIPI-DSI (4 lanes per channel) **eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR **HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2 **DisplayPort 1.2 (4 lanes, up to 4K 60Hz) **Supports Rec.2020 and conversion to Rec.709 *Camera: **&nbsp;Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels *Memory: **Dual channels 64-bit DRAM controller **Support DDR3/DDR3L, LPDDR3, LPDDR4 *Connectivity: **PCIe 2.1 (4 full-duplex lanes with 20Gbps) **Embedded low power MCU for other application **8 channels I2S supports 8 channels RX or 8 channels TX &nbsp; = History = &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; = Documentation = [[Media:RK3399_Linux_Datasheet.pdf|RK3399 Linux Datasheet]] [[Media:RK3399_Linux_User_Manual|RK3399 Linux User Manual]] [http://10.10.10.12:8444/images/2/27/RK3399_Linux_Debian_System_Development_Guide.pdf RK3399_Linux_Debian_System_Development_Guide] [http://10.10.10.12:8444/images/9/9e/RK_DDR_Support_List_Ver2.24.pdf RK_DDR_Support_List_Ver2.24] = Software = == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" style="line-height: 1.6; width: 768px;" |- | style="width: 119px; text-align: center;" | '''board''' | style="width: 172px; text-align: center;" | '''kernel''' | style="width: 124px; text-align: center;" | '''uboot''' | style="width: 310px; text-align: center;" | '''dts''' |- | style="width: 119px; text-align: center;" | rk3399-excavator | style="width: 172px; text-align: center;" | rockchip_linux_defconfig | style="width: 124px; text-align: center;" | rk3399_linux_defconfig | style="width: 310px; text-align: center;" | rk3399-sapphire-excavator-linux.dts |} &nbsp; &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" style="width: 859px;" |- | style="width: 68px; text-align: center;" | '''chip''' | style="width: 181px; text-align: center;" | '''Kernel eMMC index''' | style="width: 142px; text-align: center;" | '''Kernel SD index''' | style="width: 158px; text-align: center;" | '''Uboot eMMC index''' | style="width: 146px; text-align: center;" | '''Uboot SD index''' | style="width: 132px; text-align: center;" | '''Baud speed''' |- | style="width: 68px; text-align: center;" | RK3399 | style="width: 181px; text-align: center;" | 1 | style="width: 142px; text-align: center;" | 0 | style="width: 158px; text-align: center;" | 0 | style="width: 146px; text-align: center;" | 1 | style="width: 132px; text-align: center;" | 1500000 |} == How to get the sources == The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code.&nbsp;Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github. RK3399 optimized Debian & Buildroot <pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml repo sync </pre> == How to build the sources == === Build Environment === You need a 64-bit&nbsp;Ubuntu. Note: old versions&nbsp;Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so Install&nbsp;ARM cross-compile tool chain and compile kernel relative&nbsp;software package:&nbsp; $ sudo apt-get install gcc-arm-linux-gnueabihf&nbsp;gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev === Installing the build tools and download source === Please follow&nbsp;[http://rockchip.wikidot.com/linux-user-guide linux user guide]&nbsp;to install the build tools and download source. &nbsp; === Building kernel === For ARM V8 (RK3399 optimized SDK) <pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre> === Building uboot === For RK3399 optimized SDK (rkproduct uboot) <pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre> &nbsp; === Building rootfs === ==== Debian ==== you could refer to [[Media:RK3399_Linux_Debian_System_Development_Guide.pdf|RK3399 Linux Debian System Development Guide]]&nbsp;from Rockchip to build rootfs yourselves. &nbsp; ==== Buildroot ==== you could refer to [[Media:RK3399_Linux_Buildroot_System_Development_Guide.pdf|RK3399 Linux Buildroot System Development Guide]]&nbsp;from Rockchip to build rootfs yourselves. &nbsp; = Devices = If you need the rk3399-excavator&nbsp;board, please communicate through&nbsp;the following&nbsp;contact information. <pre>Telephone: 4007700590 Email: service@rock-chips.com</pre> = See also = [[RK3288|RK3288]] [[RK3328|RK3328]] = Owners of the SoC on IRC = = Commuity Support = = References = = Exteneral Links = &nbsp; 2fef9dc590baa95b470c148958caeadeec58752a 276 275 2017-03-08T03:10:43Z Karen 3 wikitext text/x-wiki Rockchip RK3399 SoC integrates&nbsp;dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor, and with&nbsp;ARM Mali-T864 GPU. &nbsp; {| cellspacing="5" class="infobox" style="width:22em;" |- ! colspan="2" style="text-align:center; font-size:125%; font-weight:bold; background: #dedede;" | A31 |- | colspan="2" style="text-align:center;" | <a href="[https://linux-sunxi.org/File:Allwinner_A31s.jpg https://linux-sunxi.org/File:Allwinner_A31s.jpg]" class="image"><img alt="Allwinner A31s.jpg" src="./A31 - linux-sunxi.org_files/Allwinner_A31s.jpg" width="250" height="250"></a> |- ! scope="row" style="text-align:left;" | Manufacturer | style="" | Allwinner |- ! scope="row" style="text-align:left;" | Process | style="" | 40nm |- ! scope="row" style="text-align:left;" | CPU | style="" | Quad-Core ARM Cortex-A7 |- ! scope="row" style="text-align:left;" | Memory | style="" | 2-channel DDR3/LPDDR2, 2-channel DDR3L, maximum of 4GB total (2GB per channel) |- ! scope="row" style="text-align:left;" | GPU | style="" | SGX544 |- ! colspan="2" style="text-align:center; background: #dedede;" | Connectivity |- ! scope="row" style="text-align:left;" | Video | style="" | HDMI 1.4, MIPI DSI, 2-channel LVDS, 2-channel RGB LCD |- ! scope="row" style="text-align:left;" | Audio | style="" | I2S, PCM |- ! scope="row" style="text-align:left;" | Storage | style="" | 4x SD Card, eMMC NAND, 2-channel raw NAND |- ! scope="row" style="text-align:left;" | USB | style="" | OTG, 2x Host |- ! scope="row" style="text-align:left;" | Release Date | style="" | December 2012 |- ! scope="row" style="text-align:left;" | Website | style="" | <a rel="nofollow" class="external text" href="[http://www.allwinnertech.com/en/product/A31.html http://www.allwinnertech.com/en/product/A31.html]">Product Page</a> |} = Overview = RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications. &nbsp; = SoC Features = *CPU: **Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU **Frequency is over 1.8GHz (Big cluster) *GPU: **&nbsp;Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11 **Supports AFBC (ARM Frame Buffer Compression) *Display: **Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600 **Dual channel MIPI-DSI (4 lanes per channel) **eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR **HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2 **DisplayPort 1.2 (4 lanes, up to 4K 60Hz) **Supports Rec.2020 and conversion to Rec.709 *Camera: **&nbsp;Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels *Memory: **Dual channels 64-bit DRAM controller **Support DDR3/DDR3L, LPDDR3, LPDDR4 *Connectivity: **PCIe 2.1 (4 full-duplex lanes with 20Gbps) **Embedded low power MCU for other application **8 channels I2S supports 8 channels RX or 8 channels TX &nbsp; = History = &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; = Documentation = #[http://10.10.10.12:8444/images/6/60/Rockchip_RK3399_Datasheet_V1.6-20170301.pdf Rockchip_RK3399_Datasheet_V1.6-20170301] #[http://10.10.10.12:8444/images/2/27/RK3399_Linux_Debian_System_Development_Guide.pdf RK3399_Linux_Debian_System_Development_Guide] #[http://10.10.10.12:8444/images/9/9e/RK_DDR_Support_List_Ver2.24.pdf RK_DDR_Support_List_Ver2.24] = Software = == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" style="line-height: 1.6; width: 768px;" |- | style="width: 119px; text-align: center;" | '''board''' | style="width: 172px; text-align: center;" | '''kernel''' | style="width: 124px; text-align: center;" | '''uboot''' | style="width: 310px; text-align: center;" | '''dts''' |- | style="width: 119px; text-align: center;" | rk3399-excavator | style="width: 172px; text-align: center;" | rockchip_linux_defconfig | style="width: 124px; text-align: center;" | rk3399_linux_defconfig | style="width: 310px; text-align: center;" | rk3399-sapphire-excavator-linux.dts |} &nbsp; &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" style="width: 859px;" |- | style="width: 68px; text-align: center;" | '''chip''' | style="width: 181px; text-align: center;" | '''Kernel eMMC index''' | style="width: 142px; text-align: center;" | '''Kernel SD index''' | style="width: 158px; text-align: center;" | '''Uboot eMMC index''' | style="width: 146px; text-align: center;" | '''Uboot SD index''' | style="width: 132px; text-align: center;" | '''Baud speed''' |- | style="width: 68px; text-align: center;" | RK3399 | style="width: 181px; text-align: center;" | 1 | style="width: 142px; text-align: center;" | 0 | style="width: 158px; text-align: center;" | 0 | style="width: 146px; text-align: center;" | 1 | style="width: 132px; text-align: center;" | 1500000 |} == How to get the sources == The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code.&nbsp;Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github. RK3399 optimized Debian & Buildroot <pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml repo sync </pre> == How to build the sources == === Build Environment === You need a 64-bit&nbsp;Ubuntu. Note: old versions&nbsp;Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so Install&nbsp;ARM cross-compile tool chain and compile kernel relative&nbsp;software package:&nbsp; $ sudo apt-get install gcc-arm-linux-gnueabihf&nbsp;gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev === Installing the build tools and download source === Please follow&nbsp;[http://rockchip.wikidot.com/linux-user-guide linux user guide]&nbsp;to install the build tools and download source. &nbsp; === Building kernel === For ARM V8 (RK3399 optimized SDK) <pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre> === Building uboot === For RK3399 optimized SDK (rkproduct uboot) <pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre> &nbsp; === Building rootfs === ==== Debian ==== you could refer to [[Media:RK3399_Linux_Debian_System_Development_Guide.pdf|RK3399 Linux Debian System Development Guide]]&nbsp;from Rockchip to build rootfs yourselves. &nbsp; ==== Buildroot ==== you could refer to [[Media:RK3399_Linux_Buildroot_System_Development_Guide.pdf|RK3399 Linux Buildroot System Development Guide]]&nbsp;from Rockchip to build rootfs yourselves. &nbsp; = Devices = If you need the rk3399-excavator&nbsp;board, please communicate through&nbsp;the following&nbsp;contact information. <pre>Telephone: 4007700590 Email: service@rock-chips.com</pre> = See also = [[RK3288|RK3288]] [[RK3328|RK3328]] = Owners of the SoC on IRC = = Commuity Support = = References = = Exteneral Links = &nbsp; 53d5bfa896960d22ea9da38ba09bd2922ba31221 278 276 2017-03-08T03:17:33Z Admin 1 wikitext text/x-wiki Rockchip RK3399 SoC integrates&nbsp;dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor, and with&nbsp;ARM Mali-T864 GPU. &nbsp; {| cellspacing="5" class="infobox" style="width:250px;" |- ! colspan="2" style="text-align:center; font-size:125%; font-weight:bold; background: #dedede;" | A31 |- | colspan="2" style="text-align:center;" | <a href="[https://linux-sunxi.org/File:Allwinner_A31s.jpg https://linux-sunxi.org/File:Allwinner_A31s.jpg]" class="image"><img alt="Allwinner A31s.jpg" src="./A31 - linux-sunxi.org_files/Allwinner_A31s.jpg" width="250" height="250"></a> |- ! scope="row" style="text-align:left;" | Manufacturer | style="" | Allwinner |- ! scope="row" style="text-align:left;" | Process | style="" | 40nm |- ! scope="row" style="text-align:left;" | CPU | style="" | Quad-Core ARM Cortex-A7 |- ! scope="row" style="text-align:left;" | Memory | style="" | 2-channel DDR3/LPDDR2, 2-channel DDR3L, maximum of 4GB total (2GB per channel) |- ! scope="row" style="text-align:left;" | GPU | style="" | SGX544 |- ! colspan="2" style="text-align:center; background: #dedede;" | Connectivity |- ! scope="row" style="text-align:left;" | Video | style="" | HDMI 1.4, MIPI DSI, 2-channel LVDS, 2-channel RGB LCD |- ! scope="row" style="text-align:left;" | Audio | style="" | I2S, PCM |- ! scope="row" style="text-align:left;" | Storage | style="" | 4x SD Card, eMMC NAND, 2-channel raw NAND |- ! scope="row" style="text-align:left;" | USB | style="" | OTG, 2x Host |- ! scope="row" style="text-align:left;" | Release Date | style="" | December 2012 |- ! scope="row" style="text-align:left;" | Website | style="" | <a rel="nofollow" class="external text" href="[http://www.allwinnertech.com/en/product/A31.html http://www.allwinnertech.com/en/product/A31.html]">Product Page</a> |} = Overview = RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications. &nbsp; = SoC Features = *CPU: **Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU **Frequency is over 1.8GHz (Big cluster) *GPU: **&nbsp;Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11 **Supports AFBC (ARM Frame Buffer Compression) *Display: **Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600 **Dual channel MIPI-DSI (4 lanes per channel) **eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR **HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2 **DisplayPort 1.2 (4 lanes, up to 4K 60Hz) **Supports Rec.2020 and conversion to Rec.709 *Camera: **&nbsp;Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels *Memory: **Dual channels 64-bit DRAM controller **Support DDR3/DDR3L, LPDDR3, LPDDR4 *Connectivity: **PCIe 2.1 (4 full-duplex lanes with 20Gbps) **Embedded low power MCU for other application **8 channels I2S supports 8 channels RX or 8 channels TX &nbsp; = History = &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; = Documentation = #[http://10.10.10.12:8444/images/6/60/Rockchip_RK3399_Datasheet_V1.6-20170301.pdf Rockchip_RK3399_Datasheet_V1.6-20170301] #[http://10.10.10.12:8444/images/2/27/RK3399_Linux_Debian_System_Development_Guide.pdf RK3399_Linux_Debian_System_Development_Guide] #[http://10.10.10.12:8444/images/9/9e/RK_DDR_Support_List_Ver2.24.pdf RK_DDR_Support_List_Ver2.24] = Software = == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" style="line-height: 1.6; width: 768px;" |- | style="width: 119px; text-align: center;" | '''board''' | style="width: 172px; text-align: center;" | '''kernel''' | style="width: 124px; text-align: center;" | '''uboot''' | style="width: 310px; text-align: center;" | '''dts''' |- | style="width: 119px; text-align: center;" | rk3399-excavator | style="width: 172px; text-align: center;" | rockchip_linux_defconfig | style="width: 124px; text-align: center;" | rk3399_linux_defconfig | style="width: 310px; text-align: center;" | rk3399-sapphire-excavator-linux.dts |} &nbsp; &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" style="width: 859px;" |- | style="width: 68px; text-align: center;" | '''chip''' | style="width: 181px; text-align: center;" | '''Kernel eMMC index''' | style="width: 142px; text-align: center;" | '''Kernel SD index''' | style="width: 158px; text-align: center;" | '''Uboot eMMC index''' | style="width: 146px; text-align: center;" | '''Uboot SD index''' | style="width: 132px; text-align: center;" | '''Baud speed''' |- | style="width: 68px; text-align: center;" | RK3399 | style="width: 181px; text-align: center;" | 1 | style="width: 142px; text-align: center;" | 0 | style="width: 158px; text-align: center;" | 0 | style="width: 146px; text-align: center;" | 1 | style="width: 132px; text-align: center;" | 1500000 |} == How to get the sources == The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code.&nbsp;Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github. RK3399 optimized Debian & Buildroot <pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml repo sync </pre> == How to build the sources == === Build Environment === You need a 64-bit&nbsp;Ubuntu. Note: old versions&nbsp;Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so Install&nbsp;ARM cross-compile tool chain and compile kernel relative&nbsp;software package:&nbsp; $ sudo apt-get install gcc-arm-linux-gnueabihf&nbsp;gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev === Installing the build tools and download source === Please follow&nbsp;[http://rockchip.wikidot.com/linux-user-guide linux user guide]&nbsp;to install the build tools and download source. &nbsp; === Building kernel === For ARM V8 (RK3399 optimized SDK) <pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre> === Building uboot === For RK3399 optimized SDK (rkproduct uboot) <pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre> &nbsp; === Building rootfs === ==== Debian ==== you could refer to [[Media:RK3399_Linux_Debian_System_Development_Guide.pdf|RK3399 Linux Debian System Development Guide]]&nbsp;from Rockchip to build rootfs yourselves. &nbsp; ==== Buildroot ==== you could refer to [[Media:RK3399_Linux_Buildroot_System_Development_Guide.pdf|RK3399 Linux Buildroot System Development Guide]]&nbsp;from Rockchip to build rootfs yourselves. &nbsp; = Devices = If you need the rk3399-excavator&nbsp;board, please communicate through&nbsp;the following&nbsp;contact information. <pre>Telephone: 4007700590 Email: service@rock-chips.com</pre> = See also = [[RK3288|RK3288]] [[RK3328|RK3328]] = Owners of the SoC on IRC = = Commuity Support = = References = = Exteneral Links = &nbsp; 58802ecc75d038a254c1926603c405fb442e5056 282 278 2017-03-08T03:19:47Z Chery 9 wikitext text/x-wiki Rockchip RK3399 SoC integrates&nbsp;dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor, and with&nbsp;ARM Mali-T864 GPU. &nbsp; {| cellspacing="5" class="infobox" style="width:250px;" |- ! colspan="2" style="text-align:center; font-size:125%; font-weight:bold; background: #dedede;" | A31 |- | colspan="2" style="text-align:center;" | [[File:RK3399 Block Diagram.png]] |- ! scope="row" style="text-align:left;" | Manufacturer | style="" | Allwinner |- ! scope="row" style="text-align:left;" | Process | style="" | 40nm |- ! scope="row" style="text-align:left;" | CPU | style="" | Quad-Core ARM Cortex-A7 |- ! scope="row" style="text-align:left;" | Memory | style="" | 2-channel DDR3/LPDDR2, 2-channel DDR3L, maximum of 4GB total (2GB per channel) |- ! scope="row" style="text-align:left;" | GPU | style="" | SGX544 |- ! colspan="2" style="text-align:center; background: #dedede;" | Connectivity |- ! scope="row" style="text-align:left;" | Video | style="" | HDMI 1.4, MIPI DSI, 2-channel LVDS, 2-channel RGB LCD |- ! scope="row" style="text-align:left;" | Audio | style="" | I2S, PCM |- ! scope="row" style="text-align:left;" | Storage | style="" | 4x SD Card, eMMC NAND, 2-channel raw NAND |- ! scope="row" style="text-align:left;" | USB | style="" | OTG, 2x Host |- ! scope="row" style="text-align:left;" | Release Date | style="" | December 2012 |- ! scope="row" style="text-align:left;" | Website | style="" | <a rel="nofollow" class="external text" href="[http://www.allwinnertech.com/en/product/A31.html http://www.allwinnertech.com/en/product/A31.html]">Product Page</a> |} = Overview = RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications. &nbsp; = SoC Features = *CPU: **Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU **Frequency is over 1.8GHz (Big cluster) *GPU: **&nbsp;Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11 **Supports AFBC (ARM Frame Buffer Compression) *Display: **Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600 **Dual channel MIPI-DSI (4 lanes per channel) **eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR **HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2 **DisplayPort 1.2 (4 lanes, up to 4K 60Hz) **Supports Rec.2020 and conversion to Rec.709 *Camera: **&nbsp;Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels *Memory: **Dual channels 64-bit DRAM controller **Support DDR3/DDR3L, LPDDR3, LPDDR4 *Connectivity: **PCIe 2.1 (4 full-duplex lanes with 20Gbps) **Embedded low power MCU for other application **8 channels I2S supports 8 channels RX or 8 channels TX &nbsp; = History = &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; = Documentation = #[http://10.10.10.12:8444/images/6/60/Rockchip_RK3399_Datasheet_V1.6-20170301.pdf Rockchip_RK3399_Datasheet_V1.6-20170301] #[http://10.10.10.12:8444/images/2/27/RK3399_Linux_Debian_System_Development_Guide.pdf RK3399_Linux_Debian_System_Development_Guide] #[http://10.10.10.12:8444/images/9/9e/RK_DDR_Support_List_Ver2.24.pdf RK_DDR_Support_List_Ver2.24] = Software = == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" style="line-height: 1.6; width: 768px;" |- | style="width: 119px; text-align: center;" | '''board''' | style="width: 172px; text-align: center;" | '''kernel''' | style="width: 124px; text-align: center;" | '''uboot''' | style="width: 310px; text-align: center;" | '''dts''' |- | style="width: 119px; text-align: center;" | rk3399-excavator | style="width: 172px; text-align: center;" | rockchip_linux_defconfig | style="width: 124px; text-align: center;" | rk3399_linux_defconfig | style="width: 310px; text-align: center;" | rk3399-sapphire-excavator-linux.dts |} &nbsp; &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" style="width: 859px;" |- | style="width: 68px; text-align: center;" | '''chip''' | style="width: 181px; text-align: center;" | '''Kernel eMMC index''' | style="width: 142px; text-align: center;" | '''Kernel SD index''' | style="width: 158px; text-align: center;" | '''Uboot eMMC index''' | style="width: 146px; text-align: center;" | '''Uboot SD index''' | style="width: 132px; text-align: center;" | '''Baud speed''' |- | style="width: 68px; text-align: center;" | RK3399 | style="width: 181px; text-align: center;" | 1 | style="width: 142px; text-align: center;" | 0 | style="width: 158px; text-align: center;" | 0 | style="width: 146px; text-align: center;" | 1 | style="width: 132px; text-align: center;" | 1500000 |} == How to get the sources == The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code.&nbsp;Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github. RK3399 optimized Debian & Buildroot <pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml repo sync </pre> == How to build the sources == === Build Environment === You need a 64-bit&nbsp;Ubuntu. Note: old versions&nbsp;Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so Install&nbsp;ARM cross-compile tool chain and compile kernel relative&nbsp;software package:&nbsp; $ sudo apt-get install gcc-arm-linux-gnueabihf&nbsp;gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev === Installing the build tools and download source === Please follow&nbsp;[http://rockchip.wikidot.com/linux-user-guide linux user guide]&nbsp;to install the build tools and download source. &nbsp; === Building kernel === For ARM V8 (RK3399 optimized SDK) <pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre> === Building uboot === For RK3399 optimized SDK (rkproduct uboot) <pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre> &nbsp; === Building rootfs === ==== Debian ==== you could refer to [[Media:RK3399_Linux_Debian_System_Development_Guide.pdf|RK3399 Linux Debian System Development Guide]]&nbsp;from Rockchip to build rootfs yourselves. &nbsp; ==== Buildroot ==== you could refer to [[Media:RK3399_Linux_Buildroot_System_Development_Guide.pdf|RK3399 Linux Buildroot System Development Guide]]&nbsp;from Rockchip to build rootfs yourselves. &nbsp; = Devices = If you need the rk3399-excavator&nbsp;board, please communicate through&nbsp;the following&nbsp;contact information. <pre>Telephone: 4007700590 Email: service@rock-chips.com</pre> = See also = [[RK3288|RK3288]] [[RK3328|RK3328]] = Owners of the SoC on IRC = = Commuity Support = = References = = Exteneral Links = &nbsp; 7678f83935b7f071ef133031665d686696fc70e4 283 282 2017-03-08T03:20:10Z Chery 9 wikitext text/x-wiki Rockchip RK3399 SoC integrates&nbsp;dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor, and with&nbsp;ARM Mali-T864 GPU. &nbsp; {| cellspacing="5" class="infobox" style="width:250px;" |- ! colspan="2" style="text-align:center; font-size:125%; font-weight:bold; background: #dedede;" | RK3399 |- | colspan="2" style="text-align:center;" | [[File:RK3399 Block Diagram.png|RTENOTITLE]] |- ! scope="row" style="text-align:left;" | Manufacturer | style="" | Allwinner |- ! scope="row" style="text-align:left;" | Process | style="" | 40nm |- ! scope="row" style="text-align:left;" | CPU | style="" | Quad-Core ARM Cortex-A7 |- ! scope="row" style="text-align:left;" | Memory | style="" | 2-channel DDR3/LPDDR2, 2-channel DDR3L, maximum of 4GB total (2GB per channel) |- ! scope="row" style="text-align:left;" | GPU | style="" | SGX544 |- ! colspan="2" style="text-align:center; background: #dedede;" | Connectivity |- ! scope="row" style="text-align:left;" | Video | style="" | HDMI 1.4, MIPI DSI, 2-channel LVDS, 2-channel RGB LCD |- ! scope="row" style="text-align:left;" | Audio | style="" | I2S, PCM |- ! scope="row" style="text-align:left;" | Storage | style="" | 4x SD Card, eMMC NAND, 2-channel raw NAND |- ! scope="row" style="text-align:left;" | USB | style="" | OTG, 2x Host |- ! scope="row" style="text-align:left;" | Release Date | style="" | December 2012 |- ! scope="row" style="text-align:left;" | Website | style="" | <a rel="nofollow" class="external text" href="[http://www.allwinnertech.com/en/product/A31.html http://www.allwinnertech.com/en/product/A31.html]">Product Page</a> |} = Overview = RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications. &nbsp; = SoC Features = *CPU: **Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU **Frequency is over 1.8GHz (Big cluster) *GPU: **&nbsp;Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11 **Supports AFBC (ARM Frame Buffer Compression) *Display: **Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600 **Dual channel MIPI-DSI (4 lanes per channel) **eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR **HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2 **DisplayPort 1.2 (4 lanes, up to 4K 60Hz) **Supports Rec.2020 and conversion to Rec.709 *Camera: **&nbsp;Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels *Memory: **Dual channels 64-bit DRAM controller **Support DDR3/DDR3L, LPDDR3, LPDDR4 *Connectivity: **PCIe 2.1 (4 full-duplex lanes with 20Gbps) **Embedded low power MCU for other application **8 channels I2S supports 8 channels RX or 8 channels TX &nbsp; = History = &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; = Documentation = #[http://10.10.10.12:8444/images/6/60/Rockchip_RK3399_Datasheet_V1.6-20170301.pdf Rockchip_RK3399_Datasheet_V1.6-20170301] #[http://10.10.10.12:8444/images/2/27/RK3399_Linux_Debian_System_Development_Guide.pdf RK3399_Linux_Debian_System_Development_Guide] #[http://10.10.10.12:8444/images/9/9e/RK_DDR_Support_List_Ver2.24.pdf RK_DDR_Support_List_Ver2.24] = Software = == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" style="line-height: 1.6; width: 768px;" |- | style="width: 119px; text-align: center;" | '''board''' | style="width: 172px; text-align: center;" | '''kernel''' | style="width: 124px; text-align: center;" | '''uboot''' | style="width: 310px; text-align: center;" | '''dts''' |- | style="width: 119px; text-align: center;" | rk3399-excavator | style="width: 172px; text-align: center;" | rockchip_linux_defconfig | style="width: 124px; text-align: center;" | rk3399_linux_defconfig | style="width: 310px; text-align: center;" | rk3399-sapphire-excavator-linux.dts |} &nbsp; &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" style="width: 859px;" |- | style="width: 68px; text-align: center;" | '''chip''' | style="width: 181px; text-align: center;" | '''Kernel eMMC index''' | style="width: 142px; text-align: center;" | '''Kernel SD index''' | style="width: 158px; text-align: center;" | '''Uboot eMMC index''' | style="width: 146px; text-align: center;" | '''Uboot SD index''' | style="width: 132px; text-align: center;" | '''Baud speed''' |- | style="width: 68px; text-align: center;" | RK3399 | style="width: 181px; text-align: center;" | 1 | style="width: 142px; text-align: center;" | 0 | style="width: 158px; text-align: center;" | 0 | style="width: 146px; text-align: center;" | 1 | style="width: 132px; text-align: center;" | 1500000 |} == How to get the sources == The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code.&nbsp;Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github. RK3399 optimized Debian & Buildroot <pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml repo sync </pre> == How to build the sources == === Build Environment === You need a 64-bit&nbsp;Ubuntu. Note: old versions&nbsp;Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so Install&nbsp;ARM cross-compile tool chain and compile kernel relative&nbsp;software package:&nbsp; $ sudo apt-get install gcc-arm-linux-gnueabihf&nbsp;gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev === Installing the build tools and download source === Please follow&nbsp;[http://rockchip.wikidot.com/linux-user-guide linux user guide]&nbsp;to install the build tools and download source. &nbsp; === Building kernel === For ARM V8 (RK3399 optimized SDK) <pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre> === Building uboot === For RK3399 optimized SDK (rkproduct uboot) <pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre> &nbsp; === Building rootfs === ==== Debian ==== you could refer to [[Media:RK3399_Linux_Debian_System_Development_Guide.pdf|RK3399 Linux Debian System Development Guide]]&nbsp;from Rockchip to build rootfs yourselves. &nbsp; ==== Buildroot ==== you could refer to [[Media:RK3399_Linux_Buildroot_System_Development_Guide.pdf|RK3399 Linux Buildroot System Development Guide]]&nbsp;from Rockchip to build rootfs yourselves. &nbsp; = Devices = If you need the rk3399-excavator&nbsp;board, please communicate through&nbsp;the following&nbsp;contact information. <pre>Telephone: 4007700590 Email: service@rock-chips.com</pre> = See also = [[RK3288|RK3288]] [[RK3328|RK3328]] = Owners of the SoC on IRC = = Commuity Support = = References = = Exteneral Links = &nbsp; 15fbe7b90bcaf33c9651d6b14c6dba3fa8e2b5ef 287 283 2017-03-08T03:34:51Z Chery 9 wikitext text/x-wiki Rockchip RK3399 SoC integrates&nbsp;dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor, and with&nbsp;ARM Mali-T864 GPU. {| cellspacing="5" class="infobox" style="width: 250px;" |- | [[File:RK3399 Block Diagram.png|RTENOTITLE]] |} &nbsp; &nbsp; = Overview = RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications. &nbsp; = SoC Features = *CPU: **Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU **Frequency is over 1.8GHz (Big cluster) *GPU: **&nbsp;Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11 **Supports AFBC (ARM Frame Buffer Compression) *Display: **Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600 **Dual channel MIPI-DSI (4 lanes per channel) **eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR **HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2 **DisplayPort 1.2 (4 lanes, up to 4K 60Hz) **Supports Rec.2020 and conversion to Rec.709 *Camera: **&nbsp;Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels *Memory: **Dual channels 64-bit DRAM controller **Support DDR3/DDR3L, LPDDR3, LPDDR4 *Connectivity: **PCIe 2.1 (4 full-duplex lanes with 20Gbps) **Embedded low power MCU for other application **8 channels I2S supports 8 channels RX or 8 channels TX &nbsp; = History = &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; = Documentation = #[http://10.10.10.12:8444/images/6/60/Rockchip_RK3399_Datasheet_V1.6-20170301.pdf Rockchip_RK3399_Datasheet_V1.6-20170301] #[http://10.10.10.12:8444/images/2/27/RK3399_Linux_Debian_System_Development_Guide.pdf RK3399_Linux_Debian_System_Development_Guide] #[http://10.10.10.12:8444/images/9/9e/RK_DDR_Support_List_Ver2.24.pdf RK_DDR_Support_List_Ver2.24] = Software = == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" style="line-height: 1.6; width: 768px;" |- | style="width: 119px; text-align: center;" | '''board''' | style="width: 172px; text-align: center;" | '''kernel''' | style="width: 124px; text-align: center;" | '''uboot''' | style="width: 310px; text-align: center;" | '''dts''' |- | style="width: 119px; text-align: center;" | rk3399-excavator | style="width: 172px; text-align: center;" | rockchip_linux_defconfig | style="width: 124px; text-align: center;" | rk3399_linux_defconfig | style="width: 310px; text-align: center;" | rk3399-sapphire-excavator-linux.dts |} &nbsp; &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" style="width: 859px;" |- | style="width: 68px; text-align: center;" | '''chip''' | style="width: 181px; text-align: center;" | '''Kernel eMMC index''' | style="width: 142px; text-align: center;" | '''Kernel SD index''' | style="width: 158px; text-align: center;" | '''Uboot eMMC index''' | style="width: 146px; text-align: center;" | '''Uboot SD index''' | style="width: 132px; text-align: center;" | '''Baud speed''' |- | style="width: 68px; text-align: center;" | RK3399 | style="width: 181px; text-align: center;" | 1 | style="width: 142px; text-align: center;" | 0 | style="width: 158px; text-align: center;" | 0 | style="width: 146px; text-align: center;" | 1 | style="width: 132px; text-align: center;" | 1500000 |} == How to get the sources == The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code.&nbsp;Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github. RK3399 optimized Debian & Buildroot <pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml repo sync </pre> == How to build the sources == === Build Environment === You need a 64-bit&nbsp;Ubuntu. Note: old versions&nbsp;Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so Install&nbsp;ARM cross-compile tool chain and compile kernel relative&nbsp;software package:&nbsp; $ sudo apt-get install gcc-arm-linux-gnueabihf&nbsp;gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev === Installing the build tools and download source === Please follow&nbsp;[http://rockchip.wikidot.com/linux-user-guide linux user guide]&nbsp;to install the build tools and download source. &nbsp; === Building kernel === For ARM V8 (RK3399 optimized SDK) <pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre> === Building uboot === For RK3399 optimized SDK (rkproduct uboot) <pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre> &nbsp; === Building rootfs === ==== Debian ==== you could refer to [[Media:RK3399_Linux_Debian_System_Development_Guide.pdf|RK3399 Linux Debian System Development Guide]]&nbsp;from Rockchip to build rootfs yourselves. &nbsp; ==== Buildroot ==== you could refer to [[Media:RK3399_Linux_Buildroot_System_Development_Guide.pdf|RK3399 Linux Buildroot System Development Guide]]&nbsp;from Rockchip to build rootfs yourselves. &nbsp; = Devices = If you need the rk3399-excavator&nbsp;board, please communicate through&nbsp;the following&nbsp;contact information. <pre>Telephone: 4007700590 Email: service@rock-chips.com</pre> = See also = [[RK3288|RK3288]] [[RK3328|RK3328]] = Owners of the SoC on IRC = = Commuity Support = = References = = Exteneral Links = &nbsp; a4be62849b804c0f9823c07608883925d8449842 289 287 2017-03-08T03:35:25Z Chery 9 wikitext text/x-wiki Rockchip RK3399 SoC integrates&nbsp;dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor, and with&nbsp;ARM Mali-T864 GPU. &nbsp; &nbsp; &nbsp; {| cellspacing="5" class="infobox" style="width: 250px;" |- | [[File:RK3399 Block Diagram.png|RTENOTITLE]] |} &nbsp; &nbsp; = Overview = RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications. &nbsp; = SoC Features = *CPU: **Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU **Frequency is over 1.8GHz (Big cluster) *GPU: **&nbsp;Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11 **Supports AFBC (ARM Frame Buffer Compression) *Display: **Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600 **Dual channel MIPI-DSI (4 lanes per channel) **eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR **HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2 **DisplayPort 1.2 (4 lanes, up to 4K 60Hz) **Supports Rec.2020 and conversion to Rec.709 *Camera: **&nbsp;Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels *Memory: **Dual channels 64-bit DRAM controller **Support DDR3/DDR3L, LPDDR3, LPDDR4 *Connectivity: **PCIe 2.1 (4 full-duplex lanes with 20Gbps) **Embedded low power MCU for other application **8 channels I2S supports 8 channels RX or 8 channels TX &nbsp; = History = &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; = Documentation = #[http://10.10.10.12:8444/images/6/60/Rockchip_RK3399_Datasheet_V1.6-20170301.pdf Rockchip_RK3399_Datasheet_V1.6-20170301] #[http://10.10.10.12:8444/images/2/27/RK3399_Linux_Debian_System_Development_Guide.pdf RK3399_Linux_Debian_System_Development_Guide] #[http://10.10.10.12:8444/images/9/9e/RK_DDR_Support_List_Ver2.24.pdf RK_DDR_Support_List_Ver2.24] = Software = == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" style="line-height: 1.6; width: 768px;" |- | style="width: 119px; text-align: center;" | '''board''' | style="width: 172px; text-align: center;" | '''kernel''' | style="width: 124px; text-align: center;" | '''uboot''' | style="width: 310px; text-align: center;" | '''dts''' |- | style="width: 119px; text-align: center;" | rk3399-excavator | style="width: 172px; text-align: center;" | rockchip_linux_defconfig | style="width: 124px; text-align: center;" | rk3399_linux_defconfig | style="width: 310px; text-align: center;" | rk3399-sapphire-excavator-linux.dts |} &nbsp; &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" style="width: 859px;" |- | style="width: 68px; text-align: center;" | '''chip''' | style="width: 181px; text-align: center;" | '''Kernel eMMC index''' | style="width: 142px; text-align: center;" | '''Kernel SD index''' | style="width: 158px; text-align: center;" | '''Uboot eMMC index''' | style="width: 146px; text-align: center;" | '''Uboot SD index''' | style="width: 132px; text-align: center;" | '''Baud speed''' |- | style="width: 68px; text-align: center;" | RK3399 | style="width: 181px; text-align: center;" | 1 | style="width: 142px; text-align: center;" | 0 | style="width: 158px; text-align: center;" | 0 | style="width: 146px; text-align: center;" | 1 | style="width: 132px; text-align: center;" | 1500000 |} == How to get the sources == The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code.&nbsp;Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github. RK3399 optimized Debian & Buildroot <pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml repo sync </pre> == How to build the sources == === Build Environment === You need a 64-bit&nbsp;Ubuntu. Note: old versions&nbsp;Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so Install&nbsp;ARM cross-compile tool chain and compile kernel relative&nbsp;software package:&nbsp; $ sudo apt-get install gcc-arm-linux-gnueabihf&nbsp;gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev === Installing the build tools and download source === Please follow&nbsp;[http://rockchip.wikidot.com/linux-user-guide linux user guide]&nbsp;to install the build tools and download source. &nbsp; === Building kernel === For ARM V8 (RK3399 optimized SDK) <pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre> === Building uboot === For RK3399 optimized SDK (rkproduct uboot) <pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre> &nbsp; === Building rootfs === ==== Debian ==== you could refer to [[Media:RK3399_Linux_Debian_System_Development_Guide.pdf|RK3399 Linux Debian System Development Guide]]&nbsp;from Rockchip to build rootfs yourselves. &nbsp; ==== Buildroot ==== you could refer to [[Media:RK3399_Linux_Buildroot_System_Development_Guide.pdf|RK3399 Linux Buildroot System Development Guide]]&nbsp;from Rockchip to build rootfs yourselves. &nbsp; = Devices = If you need the rk3399-excavator&nbsp;board, please communicate through&nbsp;the following&nbsp;contact information. <pre>Telephone: 4007700590 Email: service@rock-chips.com</pre> = See also = [[RK3288|RK3288]] [[RK3328|RK3328]] = Owners of the SoC on IRC = = Commuity Support = = References = = Exteneral Links = &nbsp; 4d8671cbbd03097a827e086a065fe51ec05e10f3 291 289 2017-03-08T03:36:15Z Chery 9 wikitext text/x-wiki Rockchip RK3399 SoC integrates&nbsp;dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor, and with&nbsp;ARM Mali-T864 GPU. &nbsp; &nbsp; {| cellspacing="5" class="infobox" style="width: 250px;" |- | [[File:RK3399 Block Diagram.png|RTENOTITLE]] |} &nbsp; &nbsp; = Overview = RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications. &nbsp; = SoC Features = *CPU: **Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU **Frequency is over 1.8GHz (Big cluster) *GPU: **&nbsp;Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11 **Supports AFBC (ARM Frame Buffer Compression) *Display: **Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600 **Dual channel MIPI-DSI (4 lanes per channel) **eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR **HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2 **DisplayPort 1.2 (4 lanes, up to 4K 60Hz) **Supports Rec.2020 and conversion to Rec.709 *Camera: **&nbsp;Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels *Memory: **Dual channels 64-bit DRAM controller **Support DDR3/DDR3L, LPDDR3, LPDDR4 *Connectivity: **PCIe 2.1 (4 full-duplex lanes with 20Gbps) **Embedded low power MCU for other application **8 channels I2S supports 8 channels RX or 8 channels TX &nbsp; = History = &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; = Documentation = #[http://10.10.10.12:8444/images/6/60/Rockchip_RK3399_Datasheet_V1.6-20170301.pdf Rockchip_RK3399_Datasheet_V1.6-20170301] #[http://10.10.10.12:8444/images/2/27/RK3399_Linux_Debian_System_Development_Guide.pdf RK3399_Linux_Debian_System_Development_Guide] #[http://10.10.10.12:8444/images/9/9e/RK_DDR_Support_List_Ver2.24.pdf RK_DDR_Support_List_Ver2.24] = Software = == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" style="line-height: 1.6; width: 768px;" |- | style="width: 119px; text-align: center;" | '''board''' | style="width: 172px; text-align: center;" | '''kernel''' | style="width: 124px; text-align: center;" | '''uboot''' | style="width: 310px; text-align: center;" | '''dts''' |- | style="width: 119px; text-align: center;" | rk3399-excavator | style="width: 172px; text-align: center;" | rockchip_linux_defconfig | style="width: 124px; text-align: center;" | rk3399_linux_defconfig | style="width: 310px; text-align: center;" | rk3399-sapphire-excavator-linux.dts |} &nbsp; &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" style="width: 859px;" |- | style="width: 68px; text-align: center;" | '''chip''' | style="width: 181px; text-align: center;" | '''Kernel eMMC index''' | style="width: 142px; text-align: center;" | '''Kernel SD index''' | style="width: 158px; text-align: center;" | '''Uboot eMMC index''' | style="width: 146px; text-align: center;" | '''Uboot SD index''' | style="width: 132px; text-align: center;" | '''Baud speed''' |- | style="width: 68px; text-align: center;" | RK3399 | style="width: 181px; text-align: center;" | 1 | style="width: 142px; text-align: center;" | 0 | style="width: 158px; text-align: center;" | 0 | style="width: 146px; text-align: center;" | 1 | style="width: 132px; text-align: center;" | 1500000 |} == How to get the sources == The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code.&nbsp;Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github. RK3399 optimized Debian & Buildroot <pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml repo sync </pre> == How to build the sources == === Build Environment === You need a 64-bit&nbsp;Ubuntu. Note: old versions&nbsp;Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so Install&nbsp;ARM cross-compile tool chain and compile kernel relative&nbsp;software package:&nbsp; $ sudo apt-get install gcc-arm-linux-gnueabihf&nbsp;gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev === Installing the build tools and download source === Please follow&nbsp;[http://rockchip.wikidot.com/linux-user-guide linux user guide]&nbsp;to install the build tools and download source. &nbsp; === Building kernel === For ARM V8 (RK3399 optimized SDK) <pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre> === Building uboot === For RK3399 optimized SDK (rkproduct uboot) <pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre> &nbsp; === Building rootfs === ==== Debian ==== you could refer to [[Media:RK3399_Linux_Debian_System_Development_Guide.pdf|RK3399 Linux Debian System Development Guide]]&nbsp;from Rockchip to build rootfs yourselves. &nbsp; ==== Buildroot ==== you could refer to [[Media:RK3399_Linux_Buildroot_System_Development_Guide.pdf|RK3399 Linux Buildroot System Development Guide]]&nbsp;from Rockchip to build rootfs yourselves. &nbsp; = Devices = If you need the rk3399-excavator&nbsp;board, please communicate through&nbsp;the following&nbsp;contact information. <pre>Telephone: 4007700590 Email: service@rock-chips.com</pre> = See also = [[RK3288|RK3288]] [[RK3328|RK3328]] = Owners of the SoC on IRC = = Commuity Support = = References = = Exteneral Links = &nbsp; 07a2c06a2f6c0d1939f1a2878c33c26f1a41022d 292 291 2017-03-08T03:36:32Z Chery 9 wikitext text/x-wiki Rockchip RK3399 SoC integrates&nbsp;dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor, and with&nbsp;ARM Mali-T864 GPU. {| cellspacing="5" class="infobox" style="width: 250px;" |- | [[File:RK3399 Block Diagram.png|RTENOTITLE]] |} &nbsp; &nbsp; = Overview = RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications. &nbsp; = SoC Features = *CPU: **Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU **Frequency is over 1.8GHz (Big cluster) *GPU: **&nbsp;Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11 **Supports AFBC (ARM Frame Buffer Compression) *Display: **Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600 **Dual channel MIPI-DSI (4 lanes per channel) **eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR **HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2 **DisplayPort 1.2 (4 lanes, up to 4K 60Hz) **Supports Rec.2020 and conversion to Rec.709 *Camera: **&nbsp;Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels *Memory: **Dual channels 64-bit DRAM controller **Support DDR3/DDR3L, LPDDR3, LPDDR4 *Connectivity: **PCIe 2.1 (4 full-duplex lanes with 20Gbps) **Embedded low power MCU for other application **8 channels I2S supports 8 channels RX or 8 channels TX &nbsp; = History = &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; = Documentation = #[http://10.10.10.12:8444/images/6/60/Rockchip_RK3399_Datasheet_V1.6-20170301.pdf Rockchip_RK3399_Datasheet_V1.6-20170301] #[http://10.10.10.12:8444/images/2/27/RK3399_Linux_Debian_System_Development_Guide.pdf RK3399_Linux_Debian_System_Development_Guide] #[http://10.10.10.12:8444/images/9/9e/RK_DDR_Support_List_Ver2.24.pdf RK_DDR_Support_List_Ver2.24] = Software = == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" style="line-height: 1.6; width: 768px;" |- | style="width: 119px; text-align: center;" | '''board''' | style="width: 172px; text-align: center;" | '''kernel''' | style="width: 124px; text-align: center;" | '''uboot''' | style="width: 310px; text-align: center;" | '''dts''' |- | style="width: 119px; text-align: center;" | rk3399-excavator | style="width: 172px; text-align: center;" | rockchip_linux_defconfig | style="width: 124px; text-align: center;" | rk3399_linux_defconfig | style="width: 310px; text-align: center;" | rk3399-sapphire-excavator-linux.dts |} &nbsp; &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" style="width: 859px;" |- | style="width: 68px; text-align: center;" | '''chip''' | style="width: 181px; text-align: center;" | '''Kernel eMMC index''' | style="width: 142px; text-align: center;" | '''Kernel SD index''' | style="width: 158px; text-align: center;" | '''Uboot eMMC index''' | style="width: 146px; text-align: center;" | '''Uboot SD index''' | style="width: 132px; text-align: center;" | '''Baud speed''' |- | style="width: 68px; text-align: center;" | RK3399 | style="width: 181px; text-align: center;" | 1 | style="width: 142px; text-align: center;" | 0 | style="width: 158px; text-align: center;" | 0 | style="width: 146px; text-align: center;" | 1 | style="width: 132px; text-align: center;" | 1500000 |} == How to get the sources == The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code.&nbsp;Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github. RK3399 optimized Debian & Buildroot <pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml repo sync </pre> == How to build the sources == === Build Environment === You need a 64-bit&nbsp;Ubuntu. Note: old versions&nbsp;Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so Install&nbsp;ARM cross-compile tool chain and compile kernel relative&nbsp;software package:&nbsp; $ sudo apt-get install gcc-arm-linux-gnueabihf&nbsp;gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev === Installing the build tools and download source === Please follow&nbsp;[http://rockchip.wikidot.com/linux-user-guide linux user guide]&nbsp;to install the build tools and download source. &nbsp; === Building kernel === For ARM V8 (RK3399 optimized SDK) <pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre> === Building uboot === For RK3399 optimized SDK (rkproduct uboot) <pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre> &nbsp; === Building rootfs === ==== Debian ==== you could refer to [[Media:RK3399_Linux_Debian_System_Development_Guide.pdf|RK3399 Linux Debian System Development Guide]]&nbsp;from Rockchip to build rootfs yourselves. &nbsp; ==== Buildroot ==== you could refer to [[Media:RK3399_Linux_Buildroot_System_Development_Guide.pdf|RK3399 Linux Buildroot System Development Guide]]&nbsp;from Rockchip to build rootfs yourselves. &nbsp; = Devices = If you need the rk3399-excavator&nbsp;board, please communicate through&nbsp;the following&nbsp;contact information. <pre>Telephone: 4007700590 Email: service@rock-chips.com</pre> = See also = [[RK3288|RK3288]] [[RK3328|RK3328]] = Owners of the SoC on IRC = = Commuity Support = = References = = Exteneral Links = &nbsp; a4be62849b804c0f9823c07608883925d8449842 294 292 2017-03-08T03:38:03Z Admin 1 wikitext text/x-wiki Rockchip RK3399 SoC integrates&nbsp;dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor, and with&nbsp;ARM Mali-T864 GPU. {| cellspacing="5" class="infobox" style="width: 250px;" |- | [[File:RK3399 Block Diagram.png|RTENOTITLE]] |} = Overview = RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications. &nbsp; = SoC Features = *CPU: **Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU **Frequency is over 1.8GHz (Big cluster) *GPU: **&nbsp;Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11 **Supports AFBC (ARM Frame Buffer Compression) *Display: **Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600 **Dual channel MIPI-DSI (4 lanes per channel) **eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR **HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2 **DisplayPort 1.2 (4 lanes, up to 4K 60Hz) **Supports Rec.2020 and conversion to Rec.709 *Camera: **&nbsp;Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels *Memory: **Dual channels 64-bit DRAM controller **Support DDR3/DDR3L, LPDDR3, LPDDR4 *Connectivity: **PCIe 2.1 (4 full-duplex lanes with 20Gbps) **Embedded low power MCU for other application **8 channels I2S supports 8 channels RX or 8 channels TX &nbsp; = History = &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; = Documentation = #[http://10.10.10.12:8444/images/6/60/Rockchip_RK3399_Datasheet_V1.6-20170301.pdf Rockchip_RK3399_Datasheet_V1.6-20170301] #[http://10.10.10.12:8444/images/2/27/RK3399_Linux_Debian_System_Development_Guide.pdf RK3399_Linux_Debian_System_Development_Guide] #[http://10.10.10.12:8444/images/9/9e/RK_DDR_Support_List_Ver2.24.pdf RK_DDR_Support_List_Ver2.24] = Software = == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" style="line-height: 1.6; width: 768px;" |- | style="width: 119px; text-align: center;" | '''board''' | style="width: 172px; text-align: center;" | '''kernel''' | style="width: 124px; text-align: center;" | '''uboot''' | style="width: 310px; text-align: center;" | '''dts''' |- | style="width: 119px; text-align: center;" | rk3399-excavator | style="width: 172px; text-align: center;" | rockchip_linux_defconfig | style="width: 124px; text-align: center;" | rk3399_linux_defconfig | style="width: 310px; text-align: center;" | rk3399-sapphire-excavator-linux.dts |} &nbsp; &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" style="width: 859px;" |- | style="width: 68px; text-align: center;" | '''chip''' | style="width: 181px; text-align: center;" | '''Kernel eMMC index''' | style="width: 142px; text-align: center;" | '''Kernel SD index''' | style="width: 158px; text-align: center;" | '''Uboot eMMC index''' | style="width: 146px; text-align: center;" | '''Uboot SD index''' | style="width: 132px; text-align: center;" | '''Baud speed''' |- | style="width: 68px; text-align: center;" | RK3399 | style="width: 181px; text-align: center;" | 1 | style="width: 142px; text-align: center;" | 0 | style="width: 158px; text-align: center;" | 0 | style="width: 146px; text-align: center;" | 1 | style="width: 132px; text-align: center;" | 1500000 |} == How to get the sources == The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code.&nbsp;Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github. RK3399 optimized Debian & Buildroot <pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml repo sync </pre> == How to build the sources == === Build Environment === You need a 64-bit&nbsp;Ubuntu. Note: old versions&nbsp;Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so Install&nbsp;ARM cross-compile tool chain and compile kernel relative&nbsp;software package:&nbsp; $ sudo apt-get install gcc-arm-linux-gnueabihf&nbsp;gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev === Installing the build tools and download source === Please follow&nbsp;[http://rockchip.wikidot.com/linux-user-guide linux user guide]&nbsp;to install the build tools and download source. &nbsp; === Building kernel === For ARM V8 (RK3399 optimized SDK) <pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre> === Building uboot === For RK3399 optimized SDK (rkproduct uboot) <pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre> &nbsp; === Building rootfs === ==== Debian ==== you could refer to [[Media:RK3399_Linux_Debian_System_Development_Guide.pdf|RK3399 Linux Debian System Development Guide]]&nbsp;from Rockchip to build rootfs yourselves. &nbsp; ==== Buildroot ==== you could refer to [[Media:RK3399_Linux_Buildroot_System_Development_Guide.pdf|RK3399 Linux Buildroot System Development Guide]]&nbsp;from Rockchip to build rootfs yourselves. &nbsp; = Devices = If you need the rk3399-excavator&nbsp;board, please communicate through&nbsp;the following&nbsp;contact information. <pre>Telephone: 4007700590 Email: service@rock-chips.com</pre> = See also = [[RK3288|RK3288]] [[RK3328|RK3328]] = Owners of the SoC on IRC = = Commuity Support = = References = = Exteneral Links = &nbsp; 0265764e4192991057f74cedb391eb5fe5cdca6a 295 294 2017-03-08T03:38:55Z Chery 9 wikitext text/x-wiki Rockchip RK3399 SoC integrates&nbsp;dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor, and with&nbsp;ARM Mali-T864 GPU. {| cellspacing="5" class="infobox" style="width: 250px;" |- | [[File:RK3399 Block Diagram.png|RTENOTITLE]] |} = Overview = RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications. &nbsp; = SoC Features = *CPU: **Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU **Frequency is over 1.8GHz (Big cluster) *GPU: **&nbsp;Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11 **Supports AFBC (ARM Frame Buffer Compression) *Display: **Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600 **Dual channel MIPI-DSI (4 lanes per channel) **eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR **HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2 **DisplayPort 1.2 (4 lanes, up to 4K 60Hz) **Supports Rec.2020 and conversion to Rec.709 *Camera: **&nbsp;Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels *Memory: **Dual channels 64-bit DRAM controller **Support DDR3/DDR3L, LPDDR3, LPDDR4 *Connectivity: **PCIe 2.1 (4 full-duplex lanes with 20Gbps) **Embedded low power MCU for other application **8 channels I2S supports 8 channels RX or 8 channels TX {| border="1" cellpadding="1" cellspacing="5" class="infobox" style="width: 250px;" |- | [[File:RK3399 Block Diagram.png]] |} &nbsp; = History = &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; = Documentation = #[http://10.10.10.12:8444/images/6/60/Rockchip_RK3399_Datasheet_V1.6-20170301.pdf Rockchip_RK3399_Datasheet_V1.6-20170301] #[http://10.10.10.12:8444/images/2/27/RK3399_Linux_Debian_System_Development_Guide.pdf RK3399_Linux_Debian_System_Development_Guide] #[http://10.10.10.12:8444/images/9/9e/RK_DDR_Support_List_Ver2.24.pdf RK_DDR_Support_List_Ver2.24] = Software = == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" style="line-height: 1.6; width: 768px;" |- | style="width: 119px; text-align: center;" | '''board''' | style="width: 172px; text-align: center;" | '''kernel''' | style="width: 124px; text-align: center;" | '''uboot''' | style="width: 310px; text-align: center;" | '''dts''' |- | style="width: 119px; text-align: center;" | rk3399-excavator | style="width: 172px; text-align: center;" | rockchip_linux_defconfig | style="width: 124px; text-align: center;" | rk3399_linux_defconfig | style="width: 310px; text-align: center;" | rk3399-sapphire-excavator-linux.dts |} &nbsp; &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" style="width: 859px;" |- | style="width: 68px; text-align: center;" | '''chip''' | style="width: 181px; text-align: center;" | '''Kernel eMMC index''' | style="width: 142px; text-align: center;" | '''Kernel SD index''' | style="width: 158px; text-align: center;" | '''Uboot eMMC index''' | style="width: 146px; text-align: center;" | '''Uboot SD index''' | style="width: 132px; text-align: center;" | '''Baud speed''' |- | style="width: 68px; text-align: center;" | RK3399 | style="width: 181px; text-align: center;" | 1 | style="width: 142px; text-align: center;" | 0 | style="width: 158px; text-align: center;" | 0 | style="width: 146px; text-align: center;" | 1 | style="width: 132px; text-align: center;" | 1500000 |} == How to get the sources == The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code.&nbsp;Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github. RK3399 optimized Debian & Buildroot <pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml repo sync </pre> == How to build the sources == === Build Environment === You need a 64-bit&nbsp;Ubuntu. Note: old versions&nbsp;Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so Install&nbsp;ARM cross-compile tool chain and compile kernel relative&nbsp;software package:&nbsp; $ sudo apt-get install gcc-arm-linux-gnueabihf&nbsp;gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev === Installing the build tools and download source === Please follow&nbsp;[http://rockchip.wikidot.com/linux-user-guide linux user guide]&nbsp;to install the build tools and download source. &nbsp; === Building kernel === For ARM V8 (RK3399 optimized SDK) <pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre> === Building uboot === For RK3399 optimized SDK (rkproduct uboot) <pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre> &nbsp; === Building rootfs === ==== Debian ==== you could refer to [[Media:RK3399_Linux_Debian_System_Development_Guide.pdf|RK3399 Linux Debian System Development Guide]]&nbsp;from Rockchip to build rootfs yourselves. &nbsp; ==== Buildroot ==== you could refer to [[Media:RK3399_Linux_Buildroot_System_Development_Guide.pdf|RK3399 Linux Buildroot System Development Guide]]&nbsp;from Rockchip to build rootfs yourselves. &nbsp; = Devices = If you need the rk3399-excavator&nbsp;board, please communicate through&nbsp;the following&nbsp;contact information. <pre>Telephone: 4007700590 Email: service@rock-chips.com</pre> = See also = [[RK3288|RK3288]] [[RK3328|RK3328]] = Owners of the SoC on IRC = = Commuity Support = = References = = Exteneral Links = &nbsp; 0160a6566652b76234a4c44f4059f2518f053233 296 295 2017-03-08T03:41:03Z Chery 9 wikitext text/x-wiki Rockchip RK3399 SoC integrates&nbsp;dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor, and with&nbsp;ARM Mali-T864 GPU. {| cellspacing="5" class="infobox" style="width: 250px;" |- | [[File:RK3399 Block Diagram.png|RTENOTITLE]] |} = Overview = RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications. &nbsp; = SoC Features = *CPU: **Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU **Frequency is over 1.8GHz (Big cluster) *GPU: **&nbsp;Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11 **Supports AFBC (ARM Frame Buffer Compression) *Display: **Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600 **Dual channel MIPI-DSI (4 lanes per channel) **eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR **HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2 **DisplayPort 1.2 (4 lanes, up to 4K 60Hz) **Supports Rec.2020 and conversion to Rec.709 *Camera: **&nbsp;Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels *Memory: **Dual channels 64-bit DRAM controller **Support DDR3/DDR3L, LPDDR3, LPDDR4 *Connectivity: **PCIe 2.1 (4 full-duplex lanes with 20Gbps) **Embedded low power MCU for other application **8 channels I2S supports 8 channels RX or 8 channels TX {| border="1" cellpadding="1" cellspacing="5" style="width: 250px;" |- | [[File:RK3399 Block Diagram.png|RTENOTITLE]] |} &nbsp; = History = &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; = Documentation = #[http://10.10.10.12:8444/images/6/60/Rockchip_RK3399_Datasheet_V1.6-20170301.pdf Rockchip_RK3399_Datasheet_V1.6-20170301] #[http://10.10.10.12:8444/images/2/27/RK3399_Linux_Debian_System_Development_Guide.pdf RK3399_Linux_Debian_System_Development_Guide] #[http://10.10.10.12:8444/images/9/9e/RK_DDR_Support_List_Ver2.24.pdf RK_DDR_Support_List_Ver2.24] = Software = == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" style="line-height: 1.6; width: 768px;" |- | style="width: 119px; text-align: center;" | '''board''' | style="width: 172px; text-align: center;" | '''kernel''' | style="width: 124px; text-align: center;" | '''uboot''' | style="width: 310px; text-align: center;" | '''dts''' |- | style="width: 119px; text-align: center;" | rk3399-excavator | style="width: 172px; text-align: center;" | rockchip_linux_defconfig | style="width: 124px; text-align: center;" | rk3399_linux_defconfig | style="width: 310px; text-align: center;" | rk3399-sapphire-excavator-linux.dts |} &nbsp; &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" style="width: 859px;" |- | style="width: 68px; text-align: center;" | '''chip''' | style="width: 181px; text-align: center;" | '''Kernel eMMC index''' | style="width: 142px; text-align: center;" | '''Kernel SD index''' | style="width: 158px; text-align: center;" | '''Uboot eMMC index''' | style="width: 146px; text-align: center;" | '''Uboot SD index''' | style="width: 132px; text-align: center;" | '''Baud speed''' |- | style="width: 68px; text-align: center;" | RK3399 | style="width: 181px; text-align: center;" | 1 | style="width: 142px; text-align: center;" | 0 | style="width: 158px; text-align: center;" | 0 | style="width: 146px; text-align: center;" | 1 | style="width: 132px; text-align: center;" | 1500000 |} == How to get the sources == The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code.&nbsp;Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github. RK3399 optimized Debian & Buildroot <pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml repo sync </pre> == How to build the sources == === Build Environment === You need a 64-bit&nbsp;Ubuntu. Note: old versions&nbsp;Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so Install&nbsp;ARM cross-compile tool chain and compile kernel relative&nbsp;software package:&nbsp; $ sudo apt-get install gcc-arm-linux-gnueabihf&nbsp;gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev === Installing the build tools and download source === Please follow&nbsp;[http://rockchip.wikidot.com/linux-user-guide linux user guide]&nbsp;to install the build tools and download source. &nbsp; === Building kernel === For ARM V8 (RK3399 optimized SDK) <pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre> === Building uboot === For RK3399 optimized SDK (rkproduct uboot) <pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre> &nbsp; === Building rootfs === ==== Debian ==== you could refer to [[Media:RK3399_Linux_Debian_System_Development_Guide.pdf|RK3399 Linux Debian System Development Guide]]&nbsp;from Rockchip to build rootfs yourselves. &nbsp; ==== Buildroot ==== you could refer to [[Media:RK3399_Linux_Buildroot_System_Development_Guide.pdf|RK3399 Linux Buildroot System Development Guide]]&nbsp;from Rockchip to build rootfs yourselves. &nbsp; = Devices = If you need the rk3399-excavator&nbsp;board, please communicate through&nbsp;the following&nbsp;contact information. <pre>Telephone: 4007700590 Email: service@rock-chips.com</pre> = See also = [[RK3288|RK3288]] [[RK3328|RK3328]] = Owners of the SoC on IRC = = Commuity Support = = References = = Exteneral Links = &nbsp; ef5518b55c9e7012ba2db7a570bf1b27c4c25e8a RK3288 0 20 263 235 2017-03-08T02:49:44Z Karen 3 wikitext text/x-wiki &nbsp; &nbsp; = Overview = The RK3288 offers&nbsp;an extensible, leading&nbsp;performance,long-standing heritage platform,ideally suited for &nbsp;set-top box solution, tablet and chromebook.The platform is integrated with a Quad-Core Cortex-A17 which up to 1.8GHz and ARM Mali-T764&nbsp;which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant&nbsp;interfaces provide&nbsp;a friendly solution for product&nbsp;development. Futhermore, the power consumption is&nbsp;optimal for applications such as imaging/video, communication and broadband infrastructure,and performance audio applications. &nbsp; = RK3288 SoC Features = *CPU: **Quad Core Cortex-A17&nbsp;up to 1.8GHz **32KB L1-Cache **1MB L2-Cache *GPU: **ARM Mali-T764 GPU, with TE, ASTC, AFBC technology **Quad core 3D Graphics engine **Dual core 2D Graphics engine **Comply with&nbsp;OpenGL ES1.1/2.0/3.0, OpenVG1.1, OpenCL, DirectX11 *Display: **4Kx2K@60fpsHDMI2.0 **Up to 3840X2160 display resolution **Support dual-channel LVDS/dual-channel MIPI-DSI/eDP1.1 *Camera: **Support up to 5M pixels **8bits/10bits/12bits raw data interface&nbsp; *Memory: **Dual channels 64-bit DRAM controller **Support DDR3/DDR3L, LPDDR2, LPDDR3 *Connectivity: **Embedded 13M ISP and MIPI-CSI2 interface *Audio: **I2S/PCM with 8 channels *OS: **Support Android 4.2 or up = History = &nbsp; = Documentation = &nbsp; {| |- | [http://10.10.10.12:8444/index.php?title=File:Rockchip_RK3288TRM_V1.1_Part3_Graphic_and_multi-media.pdf Rockchip RK3288TRM V1.1 Part3 Graphic and multi-media] |} &nbsp; = Software = == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" |- | '''board''' | '''kernel''' | '''uboot''' | '''dts''' |- | RK3288_MAINBOARD_V3.0 | rockchip_linux_defconfig | rk3288_linux_defconfig | rk-linux.dts |} &nbsp; &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" |- | '''chip''' | '''Kernel eMMC index''' | '''Kernel SD index''' | '''Uboot eMMC index''' | '''Uboot SD index''' | '''Baud speed''' |- | RK3288 | 1 | 0 | 0 | 1 | 115200 |} == How to get the sources == The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code.&nbsp;Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github. RK3399 optimized Debian & Buildroot <pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml repo sync </pre> == How to build the sources == === Build Environment === You need a 64-bit&nbsp;Ubuntu. Note: old versions&nbsp;Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so Install&nbsp;ARM cross-compile tool chain and compile kernel relative&nbsp;software package:&nbsp; $ sudo apt-get install gcc-arm-linux-gnueabihf&nbsp;gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev === Installing the build tools and download source === Please follow&nbsp;[http://rockchip.wikidot.com/linux-user-guide linux user guide]&nbsp;to install the build tools and download source. &nbsp; === Building kernel === For ARM V8 (RK3399 optimized SDK) <pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre> === Building uboot === For RK3399 optimized SDK (rkproduct uboot) <pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre> === Building rootfs === ==== Debian ==== Yu can download the prebuilt image directly. [http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive] or you could use the&nbsp;[https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script]&nbsp;from Rockchip to build rootfs yourselves. ==== Yocto ==== If you want to use Yocto to build your rootfs see&nbsp;[http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide]&nbsp;for detail. ==== Buildroot ==== If you want to use Buildroot to build your rootfs see&nbsp;[http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide]&nbsp;for detail. &nbsp; &nbsp; = Devices = [[Firefly-RK3288|Firefly-RK3288]]<br/> [[Firefly-RK3288_reload|Firefly-RK3288 reload]]<br/> [[Rock2_Square|Rock2 Square]]<br/> [[Rock2_Full|Rock2 Full]]<br/> [[MiQi|MiQi]]<br/> [[Popmetal|Popmetal]]<br/> [[Fennec|Fennec]]<br/> [[PhyCORE-RK3288|phyCORE-RK3288]] If you need this&nbsp;board, please contact with the following&nbsp;contact information. <pre>Telephone: 4007700590 Email: service@rock-chips.com</pre> = See also = [[RK3328]] [[RK3399|RK3399]] = Owners of the SoC on IRC = = Commuity Support = There is no support for the RK3288&nbsp; = References = 1.[http://rockchip.wikidot.com/rk3288#toc0 http://rockchip.wikidot.com/rk3288#toc0] 2.https://en.wikipedia.org/wiki/ARM_Cortex-A17 = Exteneral Links = http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html 1aa7c9066f0ce19129badd0bd031c2685451b680 264 263 2017-03-08T02:50:10Z Karen 3 wikitext text/x-wiki &nbsp; &nbsp; = Overview = The RK3288 offers&nbsp;an extensible, leading&nbsp;performance,long-standing heritage platform,ideally suited for &nbsp;set-top box solution, tablet and chromebook.The platform is integrated with a Quad-Core Cortex-A17 which up to 1.8GHz and ARM Mali-T764&nbsp;which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant&nbsp;interfaces provide&nbsp;a friendly solution for product&nbsp;development. Futhermore, the power consumption is&nbsp;optimal for applications such as imaging/video, communication and broadband infrastructure,and performance audio applications. &nbsp; = RK3288 SoC Features = *CPU: **Quad Core Cortex-A17&nbsp;up to 1.8GHz **32KB L1-Cache **1MB L2-Cache *GPU: **ARM Mali-T764 GPU, with TE, ASTC, AFBC technology **Quad core 3D Graphics engine **Dual core 2D Graphics engine **Comply with&nbsp;OpenGL ES1.1/2.0/3.0, OpenVG1.1, OpenCL, DirectX11 *Display: **4Kx2K@60fpsHDMI2.0 **Up to 3840X2160 display resolution **Support dual-channel LVDS/dual-channel MIPI-DSI/eDP1.1 *Camera: **Support up to 5M pixels **8bits/10bits/12bits raw data interface&nbsp; *Memory: **Dual channels 64-bit DRAM controller **Support DDR3/DDR3L, LPDDR2, LPDDR3 *Connectivity: **Embedded 13M ISP and MIPI-CSI2 interface *Audio: **I2S/PCM with 8 channels *OS: **Support Android 4.2 or up = History = &nbsp; = Documentation = [http://10.10.10.12:8444/images/f/fe/Rockchip_RK3288TRM_V1.1_Part3_Graphic_and_multi-media.pdf Rockchip_RK3288TRM_V1.1_Part3_Graphic_and_multi-media] &nbsp; = Software = == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" |- | '''board''' | '''kernel''' | '''uboot''' | '''dts''' |- | RK3288_MAINBOARD_V3.0 | rockchip_linux_defconfig | rk3288_linux_defconfig | rk-linux.dts |} &nbsp; &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" |- | '''chip''' | '''Kernel eMMC index''' | '''Kernel SD index''' | '''Uboot eMMC index''' | '''Uboot SD index''' | '''Baud speed''' |- | RK3288 | 1 | 0 | 0 | 1 | 115200 |} == How to get the sources == The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code.&nbsp;Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github. RK3399 optimized Debian & Buildroot <pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml repo sync </pre> == How to build the sources == === Build Environment === You need a 64-bit&nbsp;Ubuntu. Note: old versions&nbsp;Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so Install&nbsp;ARM cross-compile tool chain and compile kernel relative&nbsp;software package:&nbsp; $ sudo apt-get install gcc-arm-linux-gnueabihf&nbsp;gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev === Installing the build tools and download source === Please follow&nbsp;[http://rockchip.wikidot.com/linux-user-guide linux user guide]&nbsp;to install the build tools and download source. &nbsp; === Building kernel === For ARM V8 (RK3399 optimized SDK) <pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre> === Building uboot === For RK3399 optimized SDK (rkproduct uboot) <pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre> === Building rootfs === ==== Debian ==== Yu can download the prebuilt image directly. [http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive] or you could use the&nbsp;[https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script]&nbsp;from Rockchip to build rootfs yourselves. ==== Yocto ==== If you want to use Yocto to build your rootfs see&nbsp;[http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide]&nbsp;for detail. ==== Buildroot ==== If you want to use Buildroot to build your rootfs see&nbsp;[http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide]&nbsp;for detail. &nbsp; &nbsp; = Devices = [[Firefly-RK3288|Firefly-RK3288]]<br/> [[Firefly-RK3288_reload|Firefly-RK3288 reload]]<br/> [[Rock2_Square|Rock2 Square]]<br/> [[Rock2_Full|Rock2 Full]]<br/> [[MiQi|MiQi]]<br/> [[Popmetal|Popmetal]]<br/> [[Fennec|Fennec]]<br/> [[PhyCORE-RK3288|phyCORE-RK3288]] If you need this&nbsp;board, please contact with the following&nbsp;contact information. <pre>Telephone: 4007700590 Email: service@rock-chips.com</pre> = See also = [[RK3328]] [[RK3399|RK3399]] = Owners of the SoC on IRC = = Commuity Support = There is no support for the RK3288&nbsp; = References = 1.[http://rockchip.wikidot.com/rk3288#toc0 http://rockchip.wikidot.com/rk3288#toc0] 2.https://en.wikipedia.org/wiki/ARM_Cortex-A17 = Exteneral Links = http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html 06995d96c8280b9c17b18d11c4e91aeb96863a15 265 264 2017-03-08T02:51:11Z Karen 3 wikitext text/x-wiki &nbsp; &nbsp; = Overview = The RK3288 offers&nbsp;an extensible, leading&nbsp;performance,long-standing heritage platform,ideally suited for &nbsp;set-top box solution, tablet and chromebook.The platform is integrated with a Quad-Core Cortex-A17 which up to 1.8GHz and ARM Mali-T764&nbsp;which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant&nbsp;interfaces provide&nbsp;a friendly solution for product&nbsp;development. Futhermore, the power consumption is&nbsp;optimal for applications such as imaging/video, communication and broadband infrastructure,and performance audio applications. &nbsp; = RK3288 SoC Features = *CPU: **Quad Core Cortex-A17&nbsp;up to 1.8GHz **32KB L1-Cache **1MB L2-Cache *GPU: **ARM Mali-T764 GPU, with TE, ASTC, AFBC technology **Quad core 3D Graphics engine **Dual core 2D Graphics engine **Comply with&nbsp;OpenGL ES1.1/2.0/3.0, OpenVG1.1, OpenCL, DirectX11 *Display: **4Kx2K@60fpsHDMI2.0 **Up to 3840X2160 display resolution **Support dual-channel LVDS/dual-channel MIPI-DSI/eDP1.1 *Camera: **Support up to 5M pixels **8bits/10bits/12bits raw data interface&nbsp; *Memory: **Dual channels 64-bit DRAM controller **Support DDR3/DDR3L, LPDDR2, LPDDR3 *Connectivity: **Embedded 13M ISP and MIPI-CSI2 interface *Audio: **I2S/PCM with 8 channels *OS: **Support Android 4.2 or up = History = &nbsp; = Documentation = [http://10.10.10.12:8444/images/8/88/Rockchip_RK3288TRM_V1.1_Part2-Peripheral_and_Interface.pdf Rockchip_RK3288TRM_V1.1_Part2-Peripheral_and_Interface] [http://10.10.10.12:8444/images/f/fe/Rockchip_RK3288TRM_V1.1_Part3_Graphic_and_multi-media.pdf Rockchip_RK3288TRM_V1.1_Part3_Graphic_and_multi-media] &nbsp; &nbsp; = Software = == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" |- | '''board''' | '''kernel''' | '''uboot''' | '''dts''' |- | RK3288_MAINBOARD_V3.0 | rockchip_linux_defconfig | rk3288_linux_defconfig | rk-linux.dts |} &nbsp; &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" |- | '''chip''' | '''Kernel eMMC index''' | '''Kernel SD index''' | '''Uboot eMMC index''' | '''Uboot SD index''' | '''Baud speed''' |- | RK3288 | 1 | 0 | 0 | 1 | 115200 |} == How to get the sources == The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code.&nbsp;Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github. RK3399 optimized Debian & Buildroot <pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml repo sync </pre> == How to build the sources == === Build Environment === You need a 64-bit&nbsp;Ubuntu. Note: old versions&nbsp;Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so Install&nbsp;ARM cross-compile tool chain and compile kernel relative&nbsp;software package:&nbsp; $ sudo apt-get install gcc-arm-linux-gnueabihf&nbsp;gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev === Installing the build tools and download source === Please follow&nbsp;[http://rockchip.wikidot.com/linux-user-guide linux user guide]&nbsp;to install the build tools and download source. &nbsp; === Building kernel === For ARM V8 (RK3399 optimized SDK) <pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre> === Building uboot === For RK3399 optimized SDK (rkproduct uboot) <pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre> === Building rootfs === ==== Debian ==== Yu can download the prebuilt image directly. [http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive] or you could use the&nbsp;[https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script]&nbsp;from Rockchip to build rootfs yourselves. ==== Yocto ==== If you want to use Yocto to build your rootfs see&nbsp;[http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide]&nbsp;for detail. ==== Buildroot ==== If you want to use Buildroot to build your rootfs see&nbsp;[http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide]&nbsp;for detail. &nbsp; &nbsp; = Devices = [[Firefly-RK3288|Firefly-RK3288]]<br/> [[Firefly-RK3288_reload|Firefly-RK3288 reload]]<br/> [[Rock2_Square|Rock2 Square]]<br/> [[Rock2_Full|Rock2 Full]]<br/> [[MiQi|MiQi]]<br/> [[Popmetal|Popmetal]]<br/> [[Fennec|Fennec]]<br/> [[PhyCORE-RK3288|phyCORE-RK3288]] If you need this&nbsp;board, please contact with the following&nbsp;contact information. <pre>Telephone: 4007700590 Email: service@rock-chips.com</pre> = See also = [[RK3328]] [[RK3399|RK3399]] = Owners of the SoC on IRC = = Commuity Support = There is no support for the RK3288&nbsp; = References = 1.[http://rockchip.wikidot.com/rk3288#toc0 http://rockchip.wikidot.com/rk3288#toc0] 2.https://en.wikipedia.org/wiki/ARM_Cortex-A17 = Exteneral Links = http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html bbe11cfc316b46bb803e8c583f317d9dfc873d28 266 265 2017-03-08T02:51:52Z Karen 3 wikitext text/x-wiki &nbsp; &nbsp; = Overview = The RK3288 offers&nbsp;an extensible, leading&nbsp;performance,long-standing heritage platform,ideally suited for &nbsp;set-top box solution, tablet and chromebook.The platform is integrated with a Quad-Core Cortex-A17 which up to 1.8GHz and ARM Mali-T764&nbsp;which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant&nbsp;interfaces provide&nbsp;a friendly solution for product&nbsp;development. Futhermore, the power consumption is&nbsp;optimal for applications such as imaging/video, communication and broadband infrastructure,and performance audio applications. &nbsp; = RK3288 SoC Features = *CPU: **Quad Core Cortex-A17&nbsp;up to 1.8GHz **32KB L1-Cache **1MB L2-Cache *GPU: **ARM Mali-T764 GPU, with TE, ASTC, AFBC technology **Quad core 3D Graphics engine **Dual core 2D Graphics engine **Comply with&nbsp;OpenGL ES1.1/2.0/3.0, OpenVG1.1, OpenCL, DirectX11 *Display: **4Kx2K@60fpsHDMI2.0 **Up to 3840X2160 display resolution **Support dual-channel LVDS/dual-channel MIPI-DSI/eDP1.1 *Camera: **Support up to 5M pixels **8bits/10bits/12bits raw data interface&nbsp; *Memory: **Dual channels 64-bit DRAM controller **Support DDR3/DDR3L, LPDDR2, LPDDR3 *Connectivity: **Embedded 13M ISP and MIPI-CSI2 interface *Audio: **I2S/PCM with 8 channels *OS: **Support Android 4.2 or up = History = &nbsp; = Documentation = [http://10.10.10.12:8444/images/f/f2/Rockchip_RK3288TRM_V1.1_Part_1-System_and_System_control.pdf Rockchip_RK3288TRM_V1.1_Part_1-System_and_System_control] [http://10.10.10.12:8444/images/8/88/Rockchip_RK3288TRM_V1.1_Part2-Peripheral_and_Interface.pdf Rockchip_RK3288TRM_V1.1_Part2-Peripheral_and_Interface] [http://10.10.10.12:8444/images/f/fe/Rockchip_RK3288TRM_V1.1_Part3_Graphic_and_multi-media.pdf Rockchip_RK3288TRM_V1.1_Part3_Graphic_and_multi-media] &nbsp; &nbsp; = Software = == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" |- | '''board''' | '''kernel''' | '''uboot''' | '''dts''' |- | RK3288_MAINBOARD_V3.0 | rockchip_linux_defconfig | rk3288_linux_defconfig | rk-linux.dts |} &nbsp; &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" |- | '''chip''' | '''Kernel eMMC index''' | '''Kernel SD index''' | '''Uboot eMMC index''' | '''Uboot SD index''' | '''Baud speed''' |- | RK3288 | 1 | 0 | 0 | 1 | 115200 |} == How to get the sources == The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code.&nbsp;Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github. RK3399 optimized Debian & Buildroot <pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml repo sync </pre> == How to build the sources == === Build Environment === You need a 64-bit&nbsp;Ubuntu. Note: old versions&nbsp;Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so Install&nbsp;ARM cross-compile tool chain and compile kernel relative&nbsp;software package:&nbsp; $ sudo apt-get install gcc-arm-linux-gnueabihf&nbsp;gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev === Installing the build tools and download source === Please follow&nbsp;[http://rockchip.wikidot.com/linux-user-guide linux user guide]&nbsp;to install the build tools and download source. &nbsp; === Building kernel === For ARM V8 (RK3399 optimized SDK) <pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre> === Building uboot === For RK3399 optimized SDK (rkproduct uboot) <pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre> === Building rootfs === ==== Debian ==== Yu can download the prebuilt image directly. [http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive] or you could use the&nbsp;[https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script]&nbsp;from Rockchip to build rootfs yourselves. ==== Yocto ==== If you want to use Yocto to build your rootfs see&nbsp;[http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide]&nbsp;for detail. ==== Buildroot ==== If you want to use Buildroot to build your rootfs see&nbsp;[http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide]&nbsp;for detail. &nbsp; &nbsp; = Devices = [[Firefly-RK3288|Firefly-RK3288]]<br/> [[Firefly-RK3288_reload|Firefly-RK3288 reload]]<br/> [[Rock2_Square|Rock2 Square]]<br/> [[Rock2_Full|Rock2 Full]]<br/> [[MiQi|MiQi]]<br/> [[Popmetal|Popmetal]]<br/> [[Fennec|Fennec]]<br/> [[PhyCORE-RK3288|phyCORE-RK3288]] If you need this&nbsp;board, please contact with the following&nbsp;contact information. <pre>Telephone: 4007700590 Email: service@rock-chips.com</pre> = See also = [[RK3328]] [[RK3399|RK3399]] = Owners of the SoC on IRC = = Commuity Support = There is no support for the RK3288&nbsp; = References = 1.[http://rockchip.wikidot.com/rk3288#toc0 http://rockchip.wikidot.com/rk3288#toc0] 2.https://en.wikipedia.org/wiki/ARM_Cortex-A17 = Exteneral Links = http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html afb7b9d551af59b074b31fe3c027b23ba1ad1e51 268 266 2017-03-08T02:56:01Z Karen 3 wikitext text/x-wiki &nbsp; &nbsp; = Overview = The RK3288 offers&nbsp;an extensible, leading&nbsp;performance,long-standing heritage platform,ideally suited for &nbsp;set-top box solution, tablet and chromebook.The platform is integrated with a Quad-Core Cortex-A17 which up to 1.8GHz and ARM Mali-T764&nbsp;which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant&nbsp;interfaces provide&nbsp;a friendly solution for product&nbsp;development. Futhermore, the power consumption is&nbsp;optimal for applications such as imaging/video, communication and broadband infrastructure,and performance audio applications. &nbsp; = RK3288 SoC Features = *CPU: **Quad Core Cortex-A17&nbsp;up to 1.8GHz **32KB L1-Cache **1MB L2-Cache *GPU: **ARM Mali-T764 GPU, with TE, ASTC, AFBC technology **Quad core 3D Graphics engine **Dual core 2D Graphics engine **Comply with&nbsp;OpenGL ES1.1/2.0/3.0, OpenVG1.1, OpenCL, DirectX11 *Display: **4Kx2K@60fpsHDMI2.0 **Up to 3840X2160 display resolution **Support dual-channel LVDS/dual-channel MIPI-DSI/eDP1.1 *Camera: **Support up to 5M pixels **8bits/10bits/12bits raw data interface&nbsp; *Memory: **Dual channels 64-bit DRAM controller **Support DDR3/DDR3L, LPDDR2, LPDDR3 *Connectivity: **Embedded 13M ISP and MIPI-CSI2 interface *Audio: **I2S/PCM with 8 channels *OS: **Support Android 4.2 or up = History = &nbsp; = Documentation = [http://10.10.10.12:8444/images/f/f2/Rockchip_RK3288TRM_V1.1_Part_1-System_and_System_control.pdf Rockchip_RK3288TRM_V1.1_Part_1-System_and_System_control] [http://10.10.10.12:8444/images/8/88/Rockchip_RK3288TRM_V1.1_Part2-Peripheral_and_Interface.pdf Rockchip_RK3288TRM_V1.1_Part2-Peripheral_and_Interface] [http://10.10.10.12:8444/images/f/fe/Rockchip_RK3288TRM_V1.1_Part3_Graphic_and_multi-media.pdf Rockchip_RK3288TRM_V1.1_Part3_Graphic_and_multi-media] [http://10.10.10.12:8444/images/9/9e/RK_DDR_Support_List_Ver2.24.pdf RK_DDR_Support_List_Ver2.24] &nbsp; &nbsp; = Software = == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" |- | '''board''' | '''kernel''' | '''uboot''' | '''dts''' |- | RK3288_MAINBOARD_V3.0 | rockchip_linux_defconfig | rk3288_linux_defconfig | rk-linux.dts |} &nbsp; &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" |- | '''chip''' | '''Kernel eMMC index''' | '''Kernel SD index''' | '''Uboot eMMC index''' | '''Uboot SD index''' | '''Baud speed''' |- | RK3288 | 1 | 0 | 0 | 1 | 115200 |} == How to get the sources == The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code.&nbsp;Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github. RK3399 optimized Debian & Buildroot <pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml repo sync </pre> == How to build the sources == === Build Environment === You need a 64-bit&nbsp;Ubuntu. Note: old versions&nbsp;Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so Install&nbsp;ARM cross-compile tool chain and compile kernel relative&nbsp;software package:&nbsp; $ sudo apt-get install gcc-arm-linux-gnueabihf&nbsp;gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev === Installing the build tools and download source === Please follow&nbsp;[http://rockchip.wikidot.com/linux-user-guide linux user guide]&nbsp;to install the build tools and download source. &nbsp; === Building kernel === For ARM V8 (RK3399 optimized SDK) <pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre> === Building uboot === For RK3399 optimized SDK (rkproduct uboot) <pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre> === Building rootfs === ==== Debian ==== Yu can download the prebuilt image directly. [http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive] or you could use the&nbsp;[https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script]&nbsp;from Rockchip to build rootfs yourselves. ==== Yocto ==== If you want to use Yocto to build your rootfs see&nbsp;[http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide]&nbsp;for detail. ==== Buildroot ==== If you want to use Buildroot to build your rootfs see&nbsp;[http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide]&nbsp;for detail. &nbsp; &nbsp; = Devices = [[Firefly-RK3288|Firefly-RK3288]]<br/> [[Firefly-RK3288_reload|Firefly-RK3288 reload]]<br/> [[Rock2_Square|Rock2 Square]]<br/> [[Rock2_Full|Rock2 Full]]<br/> [[MiQi|MiQi]]<br/> [[Popmetal|Popmetal]]<br/> [[Fennec|Fennec]]<br/> [[PhyCORE-RK3288|phyCORE-RK3288]] If you need this&nbsp;board, please contact with the following&nbsp;contact information. <pre>Telephone: 4007700590 Email: service@rock-chips.com</pre> = See also = [[RK3328]] [[RK3399|RK3399]] = Owners of the SoC on IRC = = Commuity Support = There is no support for the RK3288&nbsp; = References = 1.[http://rockchip.wikidot.com/rk3288#toc0 http://rockchip.wikidot.com/rk3288#toc0] 2.https://en.wikipedia.org/wiki/ARM_Cortex-A17 = Exteneral Links = http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html a660b90dc9213ecb96d6448bc3c9f96c4d652e52 274 268 2017-03-08T03:09:45Z Karen 3 wikitext text/x-wiki &nbsp; &nbsp; = Overview = The RK3288 offers&nbsp;an extensible, leading&nbsp;performance,long-standing heritage platform,ideally suited for &nbsp;set-top box solution, tablet and chromebook.The platform is integrated with a Quad-Core Cortex-A17 which up to 1.8GHz and ARM Mali-T764&nbsp;which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant&nbsp;interfaces provide&nbsp;a friendly solution for product&nbsp;development. Futhermore, the power consumption is&nbsp;optimal for applications such as imaging/video, communication and broadband infrastructure,and performance audio applications. &nbsp; = RK3288 SoC Features = *CPU: **Quad Core Cortex-A17&nbsp;up to 1.8GHz **32KB L1-Cache **1MB L2-Cache *GPU: **ARM Mali-T764 GPU, with TE, ASTC, AFBC technology **Quad core 3D Graphics engine **Dual core 2D Graphics engine **Comply with&nbsp;OpenGL ES1.1/2.0/3.0, OpenVG1.1, OpenCL, DirectX11 *Display: **4Kx2K@60fpsHDMI2.0 **Up to 3840X2160 display resolution **Support dual-channel LVDS/dual-channel MIPI-DSI/eDP1.1 *Camera: **Support up to 5M pixels **8bits/10bits/12bits raw data interface&nbsp; *Memory: **Dual channels 64-bit DRAM controller **Support DDR3/DDR3L, LPDDR2, LPDDR3 *Connectivity: **Embedded 13M ISP and MIPI-CSI2 interface *Audio: **I2S/PCM with 8 channels *OS: **Support Android 4.2 or up = History = &nbsp; = Documentation = [http://10.10.10.12:8444/images/4/4e/Rockchip_RK3288_Datasheet_V2.2-20170301.pdf Rockchip_RK3288_Datasheet_V2.2-20170301] [http://10.10.10.12:8444/images/9/9e/RK_DDR_Support_List_Ver2.24.pdf RK_DDR_Support_List_Ver2.24] &nbsp; &nbsp; = Software = == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" |- | '''board''' | '''kernel''' | '''uboot''' | '''dts''' |- | RK3288_MAINBOARD_V3.0 | rockchip_linux_defconfig | rk3288_linux_defconfig | rk-linux.dts |} &nbsp; &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" |- | '''chip''' | '''Kernel eMMC index''' | '''Kernel SD index''' | '''Uboot eMMC index''' | '''Uboot SD index''' | '''Baud speed''' |- | RK3288 | 1 | 0 | 0 | 1 | 115200 |} == How to get the sources == The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code.&nbsp;Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github. RK3399 optimized Debian & Buildroot <pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml repo sync </pre> == How to build the sources == === Build Environment === You need a 64-bit&nbsp;Ubuntu. Note: old versions&nbsp;Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so Install&nbsp;ARM cross-compile tool chain and compile kernel relative&nbsp;software package:&nbsp; $ sudo apt-get install gcc-arm-linux-gnueabihf&nbsp;gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev === Installing the build tools and download source === Please follow&nbsp;[http://rockchip.wikidot.com/linux-user-guide linux user guide]&nbsp;to install the build tools and download source. &nbsp; === Building kernel === For ARM V8 (RK3399 optimized SDK) <pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre> === Building uboot === For RK3399 optimized SDK (rkproduct uboot) <pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre> === Building rootfs === ==== Debian ==== Yu can download the prebuilt image directly. [http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive] or you could use the&nbsp;[https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script]&nbsp;from Rockchip to build rootfs yourselves. ==== Yocto ==== If you want to use Yocto to build your rootfs see&nbsp;[http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide]&nbsp;for detail. ==== Buildroot ==== If you want to use Buildroot to build your rootfs see&nbsp;[http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide]&nbsp;for detail. &nbsp; &nbsp; = Devices = [[Firefly-RK3288|Firefly-RK3288]]<br/> [[Firefly-RK3288_reload|Firefly-RK3288 reload]]<br/> [[Rock2_Square|Rock2 Square]]<br/> [[Rock2_Full|Rock2 Full]]<br/> [[MiQi|MiQi]]<br/> [[Popmetal|Popmetal]]<br/> [[Fennec|Fennec]]<br/> [[PhyCORE-RK3288|phyCORE-RK3288]] If you need this&nbsp;board, please contact with the following&nbsp;contact information. <pre>Telephone: 4007700590 Email: service@rock-chips.com</pre> = See also = [[RK3328]] [[RK3399|RK3399]] = Owners of the SoC on IRC = = Commuity Support = There is no support for the RK3288&nbsp; = References = 1.[http://rockchip.wikidot.com/rk3288#toc0 http://rockchip.wikidot.com/rk3288#toc0] 2.https://en.wikipedia.org/wiki/ARM_Cortex-A17 = Exteneral Links = http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html cb5a21d445c45238d6779182d5bf7d4e7bff95ab 277 274 2017-03-08T03:17:07Z Kever 2 wikitext text/x-wiki {{infobox | above = {{{name|{{PAGENAME}} }}} | abovestyle = background: #dedede; | image = {{{image|}}} | caption = {{{caption|}}} | headerstyle = background: #dedede; | header1 = | label1 = Manufacturer | data1 = {{{manufacturer|}}} | header2 = | label2 = Process | data2 = {{{process|}}} | header3 = | label3 = CPU | data3 = {{{cpu|}}} | header4 = | label4 = L2 | data4 = {{{l2|}}} | header5 = | label5 = Extensions | data5 = {{{extensions|}}} | header6 = | label6 = Memory | data6 = {{{memory|}}} | header7 = | label7 = GPU | data7 = {{{gpu|}}} | header8 = | label8 = VPU | data8 = {{{vpu|}}} | header9 = | label9 = APU | data9 = {{{apu|}}} | header10 = Connectivity | label10 = | data10 = | header11 = | label11 = Video | data11 = {{{video|}}} | header12 = | label12 = Audio | data12 = {{{audio|}}} | header13 = | label13 = Network | data13 = {{{network|}}} | header14 = | label14 = Storage | data14 = {{{storage|}}} | header15 = | label15 = USB | data15 = {{{usb|}}} | header16 = | label16 = Other | data16 = {{{other|}}} | header17 = | label17 = Release Date | data17 = {{{release_date|}}} | header18 = | label18 = Website | data18 = {{{website|}}} }} &nbsp; &nbsp; &nbsp; = Overview = The RK3288 offers&nbsp;an extensible, leading&nbsp;performance,long-standing heritage platform,ideally suited for &nbsp;set-top box solution, tablet and chromebook.The platform is integrated with a Quad-Core Cortex-A17 which up to 1.8GHz and ARM Mali-T764&nbsp;which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant&nbsp;interfaces provide&nbsp;a friendly solution for product&nbsp;development. Futhermore, the power consumption is&nbsp;optimal for applications such as imaging/video, communication and broadband infrastructure,and performance audio applications. &nbsp; = RK3288 SoC Features = *CPU: **Quad Core Cortex-A17&nbsp;up to 1.8GHz **32KB L1-Cache **1MB L2-Cache *GPU: **ARM Mali-T764 GPU, with TE, ASTC, AFBC technology **Quad core 3D Graphics engine **Dual core 2D Graphics engine **Comply with&nbsp;OpenGL ES1.1/2.0/3.0, OpenVG1.1, OpenCL, DirectX11 *Display: **4Kx2K@60fpsHDMI2.0 **Up to 3840X2160 display resolution **Support dual-channel LVDS/dual-channel MIPI-DSI/eDP1.1 *Camera: **Support up to 5M pixels **8bits/10bits/12bits raw data interface&nbsp; *Memory: **Dual channels 64-bit DRAM controller **Support DDR3/DDR3L, LPDDR2, LPDDR3 *Connectivity: **Embedded 13M ISP and MIPI-CSI2 interface *Audio: **I2S/PCM with 8 channels *OS: **Support Android 4.2 or up = History = &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; = Documentation = [http://10.10.10.12:8444/images/4/4e/Rockchip_RK3288_Datasheet_V2.2-20170301.pdf Rockchip_RK3288_Datasheet_V2.2-20170301] [http://10.10.10.12:8444/images/9/9e/RK_DDR_Support_List_Ver2.24.pdf RK_DDR_Support_List_Ver2.24] &nbsp; &nbsp; = Software = == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" |- | '''board''' | '''kernel''' | '''uboot''' | '''dts''' |- | RK3288_MAINBOARD_V3.0 | rockchip_linux_defconfig | rk3288_linux_defconfig | rk-linux.dts |} &nbsp; &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" |- | '''chip''' | '''Kernel eMMC index''' | '''Kernel SD index''' | '''Uboot eMMC index''' | '''Uboot SD index''' | '''Baud speed''' |- | RK3288 | 1 | 0 | 0 | 1 | 115200 |} == How to get the sources == The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code.&nbsp;Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github. RK3399 optimized Debian & Buildroot <pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml repo sync </pre> == How to build the sources == === Build Environment === You need a 64-bit&nbsp;Ubuntu. Note: old versions&nbsp;Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so Install&nbsp;ARM cross-compile tool chain and compile kernel relative&nbsp;software package:&nbsp; $ sudo apt-get install gcc-arm-linux-gnueabihf&nbsp;gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev === Installing the build tools and download source === Please follow&nbsp;[http://rockchip.wikidot.com/linux-user-guide linux user guide]&nbsp;to install the build tools and download source. &nbsp; === Building kernel === For ARM V8 (RK3399 optimized SDK) <pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre> === Building uboot === For RK3399 optimized SDK (rkproduct uboot) <pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre> === Building rootfs === ==== Debian ==== Yu can download the prebuilt image directly. [http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive] or you could use the&nbsp;[https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script]&nbsp;from Rockchip to build rootfs yourselves. ==== Yocto ==== If you want to use Yocto to build your rootfs see&nbsp;[http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide]&nbsp;for detail. ==== Buildroot ==== If you want to use Buildroot to build your rootfs see&nbsp;[http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide]&nbsp;for detail. &nbsp; &nbsp; &nbsp; &nbsp; = Devices = [[Firefly-RK3288|Firefly-RK3288]]<br/> [[Firefly-RK3288_reload|Firefly-RK3288 reload]]<br/> [[Rock2_Square|Rock2 Square]]<br/> [[Rock2_Full|Rock2 Full]]<br/> [[MiQi|MiQi]]<br/> [[Popmetal|Popmetal]]<br/> [[Fennec|Fennec]]<br/> [[PhyCORE-RK3288|phyCORE-RK3288]] If you need this&nbsp;board, please contact with the following&nbsp;contact information. <pre>Telephone: 4007700590 Email: service@rock-chips.com</pre> = See also = [[RK3328|RK3328]] [[RK3399|RK3399]] = Owners of the SoC on IRC = = Commuity Support = There is no support for the RK3288&nbsp; = References = 1.[http://rockchip.wikidot.com/rk3288#toc0 http://rockchip.wikidot.com/rk3288#toc0] 2.[https://en.wikipedia.org/wiki/ARM_Cortex-A17 https://en.wikipedia.org/wiki/ARM_Cortex-A17] = Exteneral Links = [http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html] 460758d7272b17538f130b1409b10af31fbe21d6 284 277 2017-03-08T03:20:38Z Kever 2 wikitext text/x-wiki {{Infobox SoC | image = [[File:Allwinner_A31s.jpg|250px]] | manufacturer = Allwinner | process = 40nm | cpu = Quad-Core ARM Cortex-A7 | ltwo = | extensions = | memory = 2-channel DDR3/LPDDR2, 2-channel DDR3L, maximum of 4GB total (2GB per channel) | gpu = SGX544 | vpu = | apu = | video = HDMI 1.4, MIPI DSI, 2-channel LVDS, 2-channel RGB LCD | audio = I2S, PCM | network = | storage = 4x SD Card, eMMC NAND, 2-channel raw NAND | usb = OTG, 2x Host | other = | release_date = December 2012 | website = [http://www.allwinnertech.com/en/product/A31.html Product Page] }} &nbsp; &nbsp; &nbsp; = Overview = The RK3288 offers&nbsp;an extensible, leading&nbsp;performance,long-standing heritage platform,ideally suited for &nbsp;set-top box solution, tablet and chromebook.The platform is integrated with a Quad-Core Cortex-A17 which up to 1.8GHz and ARM Mali-T764&nbsp;which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant&nbsp;interfaces provide&nbsp;a friendly solution for product&nbsp;development. Futhermore, the power consumption is&nbsp;optimal for applications such as imaging/video, communication and broadband infrastructure,and performance audio applications. &nbsp; = RK3288 SoC Features = *CPU: **Quad Core Cortex-A17&nbsp;up to 1.8GHz **32KB L1-Cache **1MB L2-Cache *GPU: **ARM Mali-T764 GPU, with TE, ASTC, AFBC technology **Quad core 3D Graphics engine **Dual core 2D Graphics engine **Comply with&nbsp;OpenGL ES1.1/2.0/3.0, OpenVG1.1, OpenCL, DirectX11 *Display: **4Kx2K@60fpsHDMI2.0 **Up to 3840X2160 display resolution **Support dual-channel LVDS/dual-channel MIPI-DSI/eDP1.1 *Camera: **Support up to 5M pixels **8bits/10bits/12bits raw data interface&nbsp; *Memory: **Dual channels 64-bit DRAM controller **Support DDR3/DDR3L, LPDDR2, LPDDR3 *Connectivity: **Embedded 13M ISP and MIPI-CSI2 interface *Audio: **I2S/PCM with 8 channels *OS: **Support Android 4.2 or up = History = &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; = Documentation = [http://10.10.10.12:8444/images/4/4e/Rockchip_RK3288_Datasheet_V2.2-20170301.pdf Rockchip_RK3288_Datasheet_V2.2-20170301] [http://10.10.10.12:8444/images/9/9e/RK_DDR_Support_List_Ver2.24.pdf RK_DDR_Support_List_Ver2.24] &nbsp; &nbsp; = Software = == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" |- | '''board''' | '''kernel''' | '''uboot''' | '''dts''' |- | RK3288_MAINBOARD_V3.0 | rockchip_linux_defconfig | rk3288_linux_defconfig | rk-linux.dts |} &nbsp; &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" |- | '''chip''' | '''Kernel eMMC index''' | '''Kernel SD index''' | '''Uboot eMMC index''' | '''Uboot SD index''' | '''Baud speed''' |- | RK3288 | 1 | 0 | 0 | 1 | 115200 |} == How to get the sources == The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code.&nbsp;Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github. RK3399 optimized Debian & Buildroot <pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml repo sync </pre> == How to build the sources == === Build Environment === You need a 64-bit&nbsp;Ubuntu. Note: old versions&nbsp;Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so Install&nbsp;ARM cross-compile tool chain and compile kernel relative&nbsp;software package:&nbsp; $ sudo apt-get install gcc-arm-linux-gnueabihf&nbsp;gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev === Installing the build tools and download source === Please follow&nbsp;[http://rockchip.wikidot.com/linux-user-guide linux user guide]&nbsp;to install the build tools and download source. &nbsp; === Building kernel === For ARM V8 (RK3399 optimized SDK) <pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre> === Building uboot === For RK3399 optimized SDK (rkproduct uboot) <pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre> === Building rootfs === ==== Debian ==== Yu can download the prebuilt image directly. [http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive] or you could use the&nbsp;[https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script]&nbsp;from Rockchip to build rootfs yourselves. ==== Yocto ==== If you want to use Yocto to build your rootfs see&nbsp;[http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide]&nbsp;for detail. ==== Buildroot ==== If you want to use Buildroot to build your rootfs see&nbsp;[http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide]&nbsp;for detail. &nbsp; &nbsp; &nbsp; &nbsp; = Devices = [[Firefly-RK3288|Firefly-RK3288]]<br/> [[Firefly-RK3288_reload|Firefly-RK3288 reload]]<br/> [[Rock2_Square|Rock2 Square]]<br/> [[Rock2_Full|Rock2 Full]]<br/> [[MiQi|MiQi]]<br/> [[Popmetal|Popmetal]]<br/> [[Fennec|Fennec]]<br/> [[PhyCORE-RK3288|phyCORE-RK3288]] If you need this&nbsp;board, please contact with the following&nbsp;contact information. <pre>Telephone: 4007700590 Email: service@rock-chips.com</pre> = See also = [[RK3328|RK3328]] [[RK3399|RK3399]] = Owners of the SoC on IRC = = Commuity Support = There is no support for the RK3288&nbsp; = References = 1.[http://rockchip.wikidot.com/rk3288#toc0 http://rockchip.wikidot.com/rk3288#toc0] 2.[https://en.wikipedia.org/wiki/ARM_Cortex-A17 https://en.wikipedia.org/wiki/ARM_Cortex-A17] = Exteneral Links = [http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html] b3acd725541d13134d600149f62cbb2ed152d726 286 284 2017-03-08T03:32:54Z Kever 2 wikitext text/x-wiki {{Infobox SoC | image = [[File:Allwinner_A31s.jpg|250px]] | manufacturer = Rockchip | process = 28nm | cpu = Quad-Core ARM Cortex-A17 | ltwo = | extensions = | memory = 2-channel DDR3/LPDDR2, 2-channel DDR3L, maximum of 4GB total (2GB per channel) | gpu = Mali-T764 | vpu = | apu = | video = HDMI 1.4, MIPI DSI, 2-channel LVDS, 2-channel RGB LCD | audio = I2S, PCM | network = | storage = 4x SD Card, eMMC NAND, 2-channel raw NAND | usb = OTG, 2x Host | other = | release_date = | website = [http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html] }} &nbsp; &nbsp; &nbsp; = Overview = The RK3288 offers&nbsp;an extensible, leading&nbsp;performance,long-standing heritage platform,ideally suited for &nbsp;set-top box solution, tablet and chromebook.The platform is integrated with a Quad-Core Cortex-A17 which up to 1.8GHz and ARM Mali-T764&nbsp;which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant&nbsp;interfaces provide&nbsp;a friendly solution for product&nbsp;development. Futhermore, the power consumption is&nbsp;optimal for applications such as imaging/video, communication and broadband infrastructure,and performance audio applications. &nbsp; = RK3288 SoC Features = *CPU: **Quad Core Cortex-A17&nbsp;up to 1.8GHz **32KB L1-Cache **1MB L2-Cache *GPU: **ARM Mali-T764 GPU, with TE, ASTC, AFBC technology **Quad core 3D Graphics engine **Dual core 2D Graphics engine **Comply with&nbsp;OpenGL ES1.1/2.0/3.0, OpenVG1.1, OpenCL, DirectX11 *Display: **4Kx2K@60fpsHDMI2.0 **Up to 3840X2160 display resolution **Support dual-channel LVDS/dual-channel MIPI-DSI/eDP1.1 *Camera: **Support up to 5M pixels **8bits/10bits/12bits raw data interface&nbsp; *Memory: **Dual channels 64-bit DRAM controller **Support DDR3/DDR3L, LPDDR2, LPDDR3 *Connectivity: **Embedded 13M ISP and MIPI-CSI2 interface *Audio: **I2S/PCM with 8 channels *OS: **Support Android 4.2 or up = History = &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; = Documentation = [http://10.10.10.12:8444/images/4/4e/Rockchip_RK3288_Datasheet_V2.2-20170301.pdf Rockchip_RK3288_Datasheet_V2.2-20170301] [http://10.10.10.12:8444/images/9/9e/RK_DDR_Support_List_Ver2.24.pdf RK_DDR_Support_List_Ver2.24] &nbsp; &nbsp; = Software = == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" |- | '''board''' | '''kernel''' | '''uboot''' | '''dts''' |- | RK3288_MAINBOARD_V3.0 | rockchip_linux_defconfig | rk3288_linux_defconfig | rk-linux.dts |} &nbsp; &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" |- | '''chip''' | '''Kernel eMMC index''' | '''Kernel SD index''' | '''Uboot eMMC index''' | '''Uboot SD index''' | '''Baud speed''' |- | RK3288 | 1 | 0 | 0 | 1 | 115200 |} == How to get the sources == The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code.&nbsp;Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github. RK3399 optimized Debian & Buildroot <pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml repo sync </pre> == How to build the sources == === Build Environment === You need a 64-bit&nbsp;Ubuntu. Note: old versions&nbsp;Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so Install&nbsp;ARM cross-compile tool chain and compile kernel relative&nbsp;software package:&nbsp; $ sudo apt-get install gcc-arm-linux-gnueabihf&nbsp;gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev === Installing the build tools and download source === Please follow&nbsp;[http://rockchip.wikidot.com/linux-user-guide linux user guide]&nbsp;to install the build tools and download source. &nbsp; === Building kernel === For ARM V8 (RK3399 optimized SDK) <pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre> === Building uboot === For RK3399 optimized SDK (rkproduct uboot) <pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre> === Building rootfs === ==== Debian ==== Yu can download the prebuilt image directly. [http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive] or you could use the&nbsp;[https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script]&nbsp;from Rockchip to build rootfs yourselves. ==== Yocto ==== If you want to use Yocto to build your rootfs see&nbsp;[http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide]&nbsp;for detail. ==== Buildroot ==== If you want to use Buildroot to build your rootfs see&nbsp;[http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide]&nbsp;for detail. &nbsp; &nbsp; &nbsp; &nbsp; = Devices = [[Firefly-RK3288|Firefly-RK3288]]<br/> [[Firefly-RK3288_reload|Firefly-RK3288 reload]]<br/> [[Rock2_Square|Rock2 Square]]<br/> [[Rock2_Full|Rock2 Full]]<br/> [[MiQi|MiQi]]<br/> [[Popmetal|Popmetal]]<br/> [[Fennec|Fennec]]<br/> [[PhyCORE-RK3288|phyCORE-RK3288]] If you need this&nbsp;board, please contact with the following&nbsp;contact information. <pre>Telephone: 4007700590 Email: service@rock-chips.com</pre> = See also = [[RK3328|RK3328]] [[RK3399|RK3399]] = Owners of the SoC on IRC = = Commuity Support = There is no support for the RK3288&nbsp; = References = 1.[http://rockchip.wikidot.com/rk3288#toc0 http://rockchip.wikidot.com/rk3288#toc0] 2.[https://en.wikipedia.org/wiki/ARM_Cortex-A17 https://en.wikipedia.org/wiki/ARM_Cortex-A17] = Exteneral Links = [http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html] ad599d81ab1caeb2e445e62d07b6cfcab2c11b16 290 286 2017-03-08T03:35:50Z Kever 2 wikitext text/x-wiki {{Infobox SoC | image = [[File:Rk3288_soc.png|250px]] | manufacturer = Rockchip | process = 28nm | cpu = Quad-Core ARM Cortex-A17 | ltwo = | extensions = | memory = 2-channel DDR3/LPDDR2, 2-channel DDR3L, maximum of 4GB total (2GB per channel) | gpu = Mali-T764 | vpu = | apu = | video = HDMI 1.4, MIPI DSI, 2-channel LVDS, 2-channel RGB LCD | audio = I2S, PCM | network = | storage = 4x SD Card, eMMC NAND, 2-channel raw NAND | usb = OTG, 2x Host | other = | release_date = | website = [http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html] }} &nbsp; &nbsp; &nbsp; = Overview = The RK3288 offers&nbsp;an extensible, leading&nbsp;performance,long-standing heritage platform,ideally suited for &nbsp;set-top box solution, tablet and chromebook.The platform is integrated with a Quad-Core Cortex-A17 which up to 1.8GHz and ARM Mali-T764&nbsp;which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant&nbsp;interfaces provide&nbsp;a friendly solution for product&nbsp;development. Futhermore, the power consumption is&nbsp;optimal for applications such as imaging/video, communication and broadband infrastructure,and performance audio applications. &nbsp; = RK3288 SoC Features = *CPU: **Quad Core Cortex-A17&nbsp;up to 1.8GHz **32KB L1-Cache **1MB L2-Cache *GPU: **ARM Mali-T764 GPU, with TE, ASTC, AFBC technology **Quad core 3D Graphics engine **Dual core 2D Graphics engine **Comply with&nbsp;OpenGL ES1.1/2.0/3.0, OpenVG1.1, OpenCL, DirectX11 *Display: **4Kx2K@60fpsHDMI2.0 **Up to 3840X2160 display resolution **Support dual-channel LVDS/dual-channel MIPI-DSI/eDP1.1 *Camera: **Support up to 5M pixels **8bits/10bits/12bits raw data interface&nbsp; *Memory: **Dual channels 64-bit DRAM controller **Support DDR3/DDR3L, LPDDR2, LPDDR3 *Connectivity: **Embedded 13M ISP and MIPI-CSI2 interface *Audio: **I2S/PCM with 8 channels *OS: **Support Android 4.2 or up = History = &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; = Documentation = [http://10.10.10.12:8444/images/4/4e/Rockchip_RK3288_Datasheet_V2.2-20170301.pdf Rockchip_RK3288_Datasheet_V2.2-20170301] [http://10.10.10.12:8444/images/9/9e/RK_DDR_Support_List_Ver2.24.pdf RK_DDR_Support_List_Ver2.24] &nbsp; &nbsp; = Software = == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" |- | '''board''' | '''kernel''' | '''uboot''' | '''dts''' |- | RK3288_MAINBOARD_V3.0 | rockchip_linux_defconfig | rk3288_linux_defconfig | rk-linux.dts |} &nbsp; &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" |- | '''chip''' | '''Kernel eMMC index''' | '''Kernel SD index''' | '''Uboot eMMC index''' | '''Uboot SD index''' | '''Baud speed''' |- | RK3288 | 1 | 0 | 0 | 1 | 115200 |} == How to get the sources == The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code.&nbsp;Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github. RK3399 optimized Debian & Buildroot <pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml repo sync </pre> == How to build the sources == === Build Environment === You need a 64-bit&nbsp;Ubuntu. Note: old versions&nbsp;Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so Install&nbsp;ARM cross-compile tool chain and compile kernel relative&nbsp;software package:&nbsp; $ sudo apt-get install gcc-arm-linux-gnueabihf&nbsp;gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev === Installing the build tools and download source === Please follow&nbsp;[http://rockchip.wikidot.com/linux-user-guide linux user guide]&nbsp;to install the build tools and download source. &nbsp; === Building kernel === For ARM V8 (RK3399 optimized SDK) <pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre> === Building uboot === For RK3399 optimized SDK (rkproduct uboot) <pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre> === Building rootfs === ==== Debian ==== Yu can download the prebuilt image directly. [http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive] or you could use the&nbsp;[https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script]&nbsp;from Rockchip to build rootfs yourselves. ==== Yocto ==== If you want to use Yocto to build your rootfs see&nbsp;[http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide]&nbsp;for detail. ==== Buildroot ==== If you want to use Buildroot to build your rootfs see&nbsp;[http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide]&nbsp;for detail. &nbsp; &nbsp; &nbsp; &nbsp; = Devices = [[Firefly-RK3288|Firefly-RK3288]]<br/> [[Firefly-RK3288_reload|Firefly-RK3288 reload]]<br/> [[Rock2_Square|Rock2 Square]]<br/> [[Rock2_Full|Rock2 Full]]<br/> [[MiQi|MiQi]]<br/> [[Popmetal|Popmetal]]<br/> [[Fennec|Fennec]]<br/> [[PhyCORE-RK3288|phyCORE-RK3288]] If you need this&nbsp;board, please contact with the following&nbsp;contact information. <pre>Telephone: 4007700590 Email: service@rock-chips.com</pre> = See also = [[RK3328|RK3328]] [[RK3399|RK3399]] = Owners of the SoC on IRC = = Commuity Support = There is no support for the RK3288&nbsp; = References = 1.[http://rockchip.wikidot.com/rk3288#toc0 http://rockchip.wikidot.com/rk3288#toc0] 2.[https://en.wikipedia.org/wiki/ARM_Cortex-A17 https://en.wikipedia.org/wiki/ARM_Cortex-A17] = Exteneral Links = [http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html] 42adbdf8356a1b1204e4015cb9d953fc8a92a778 293 290 2017-03-08T03:37:55Z Kever 2 wikitext text/x-wiki {{Infobox_SoC | image = [[File:Rk3288_soc.png|250px]] | manufacturer = Rockchip | process = 28nm | cpu = Quad-Core ARM Cortex-A17 | ltwo = | extensions = | memory = 2-channel DDR3/LPDDR2, 2-channel DDR3L, maximum of 4GB total (2GB per channel) | gpu = Mali-T764 | vpu = | apu = | video = HDMI 1.4, MIPI DSI, 2-channel LVDS, 2-channel RGB LCD | audio = I2S, PCM | network = | storage = 4x SD Card, eMMC NAND, 2-channel raw NAND | usb = OTG, 2x Host | other = | release_date = | website = [http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html] }} &nbsp; &nbsp; &nbsp; = Overview = The RK3288 offers&nbsp;an extensible, leading&nbsp;performance,long-standing heritage platform,ideally suited for &nbsp;set-top box solution, tablet and chromebook.The platform is integrated with a Quad-Core Cortex-A17 which up to 1.8GHz and ARM Mali-T764&nbsp;which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant&nbsp;interfaces provide&nbsp;a friendly solution for product&nbsp;development. Futhermore, the power consumption is&nbsp;optimal for applications such as imaging/video, communication and broadband infrastructure,and performance audio applications. &nbsp; = RK3288 SoC Features = *CPU: **Quad Core Cortex-A17&nbsp;up to 1.8GHz **32KB L1-Cache **1MB L2-Cache *GPU: **ARM Mali-T764 GPU, with TE, ASTC, AFBC technology **Quad core 3D Graphics engine **Dual core 2D Graphics engine **Comply with&nbsp;OpenGL ES1.1/2.0/3.0, OpenVG1.1, OpenCL, DirectX11 *Display: **4Kx2K@60fpsHDMI2.0 **Up to 3840X2160 display resolution **Support dual-channel LVDS/dual-channel MIPI-DSI/eDP1.1 *Camera: **Support up to 5M pixels **8bits/10bits/12bits raw data interface&nbsp; *Memory: **Dual channels 64-bit DRAM controller **Support DDR3/DDR3L, LPDDR2, LPDDR3 *Connectivity: **Embedded 13M ISP and MIPI-CSI2 interface *Audio: **I2S/PCM with 8 channels *OS: **Support Android 4.2 or up = History = &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; = Documentation = [http://10.10.10.12:8444/images/4/4e/Rockchip_RK3288_Datasheet_V2.2-20170301.pdf Rockchip_RK3288_Datasheet_V2.2-20170301] [http://10.10.10.12:8444/images/9/9e/RK_DDR_Support_List_Ver2.24.pdf RK_DDR_Support_List_Ver2.24] &nbsp; &nbsp; = Software = == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" |- | '''board''' | '''kernel''' | '''uboot''' | '''dts''' |- | RK3288_MAINBOARD_V3.0 | rockchip_linux_defconfig | rk3288_linux_defconfig | rk-linux.dts |} &nbsp; &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" |- | '''chip''' | '''Kernel eMMC index''' | '''Kernel SD index''' | '''Uboot eMMC index''' | '''Uboot SD index''' | '''Baud speed''' |- | RK3288 | 1 | 0 | 0 | 1 | 115200 |} == How to get the sources == The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code.&nbsp;Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github. RK3399 optimized Debian & Buildroot <pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml repo sync </pre> == How to build the sources == === Build Environment === You need a 64-bit&nbsp;Ubuntu. Note: old versions&nbsp;Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so Install&nbsp;ARM cross-compile tool chain and compile kernel relative&nbsp;software package:&nbsp; $ sudo apt-get install gcc-arm-linux-gnueabihf&nbsp;gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev === Installing the build tools and download source === Please follow&nbsp;[http://rockchip.wikidot.com/linux-user-guide linux user guide]&nbsp;to install the build tools and download source. &nbsp; === Building kernel === For ARM V8 (RK3399 optimized SDK) <pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre> === Building uboot === For RK3399 optimized SDK (rkproduct uboot) <pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre> === Building rootfs === ==== Debian ==== Yu can download the prebuilt image directly. [http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive] or you could use the&nbsp;[https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script]&nbsp;from Rockchip to build rootfs yourselves. ==== Yocto ==== If you want to use Yocto to build your rootfs see&nbsp;[http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide]&nbsp;for detail. ==== Buildroot ==== If you want to use Buildroot to build your rootfs see&nbsp;[http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide]&nbsp;for detail. &nbsp; &nbsp; &nbsp; &nbsp; = Devices = [[Firefly-RK3288|Firefly-RK3288]]<br/> [[Firefly-RK3288_reload|Firefly-RK3288 reload]]<br/> [[Rock2_Square|Rock2 Square]]<br/> [[Rock2_Full|Rock2 Full]]<br/> [[MiQi|MiQi]]<br/> [[Popmetal|Popmetal]]<br/> [[Fennec|Fennec]]<br/> [[PhyCORE-RK3288|phyCORE-RK3288]] If you need this&nbsp;board, please contact with the following&nbsp;contact information. <pre>Telephone: 4007700590 Email: service@rock-chips.com</pre> = See also = [[RK3328|RK3328]] [[RK3399|RK3399]] = Owners of the SoC on IRC = = Commuity Support = There is no support for the RK3288&nbsp; = References = 1.[http://rockchip.wikidot.com/rk3288#toc0 http://rockchip.wikidot.com/rk3288#toc0] 2.[https://en.wikipedia.org/wiki/ARM_Cortex-A17 https://en.wikipedia.org/wiki/ARM_Cortex-A17] = Exteneral Links = [http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html] 0ea366911ade5d89ce9ed6b447c997dd57a0c0aa 297 293 2017-03-08T03:49:43Z Kever 2 wikitext text/x-wiki {{Infobox_SoC | image = [[File:Rk3288_soc.png|250px]] | manufacturer = Rockchip | process = 28nm | cpu = Quad-Core ARM Cortex-A17 | ltwo = | extensions = | memory = 2-channel DDR3/LPDDR2, 2-channel DDR3L, maximum of 4GB total (2GB per channel) | gpu = Mali-T764 | vpu = | apu = | video = HDMI 1.4, MIPI DSI, 2-channel LVDS, 2-channel RGB LCD | audio = I2S, PCM | network = | storage = 4x SD Card, eMMC NAND, 2-channel raw NAND | usb = OTG, 2x Host | other = | release_date = | website = [http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html] }} &nbsp; {| cellspacing="5" |- ! colspan="2" | A31 |- | colspan="2" | |- ! scope="row" | Manufacturer | Allwinner |- ! scope="row" | Process | 40nm |- ! scope="row" | CPU | Quad-Core ARM Cortex-A7 |- ! scope="row" | Memory | 2-channel DDR3/LPDDR2, 2-channel DDR3L, maximum of 4GB total (2GB per channel) |- ! scope="row" | GPU | SGX544 |- ! colspan="2" | Connectivity |- ! scope="row" | Video | HDMI 1.4, MIPI DSI, 2-channel LVDS, 2-channel RGB LCD |- ! scope="row" | Audio | I2S, PCM |- ! scope="row" | Storage | 4x SD Card, eMMC NAND, 2-channel raw NAND |- ! scope="row" | USB | OTG, 2x Host |- ! scope="row" | Release Date | December 2012 |- ! scope="row" | Website | [http://www.allwinnertech.com/en/product/A31.html Product Page] |} &nbsp; = Overview = The RK3288 offers&nbsp;an extensible, leading&nbsp;performance,long-standing heritage platform,ideally suited for &nbsp;set-top box solution, tablet and chromebook.The platform is integrated with a Quad-Core Cortex-A17 which up to 1.8GHz and ARM Mali-T764&nbsp;which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant&nbsp;interfaces provide&nbsp;a friendly solution for product&nbsp;development. Futhermore, the power consumption is&nbsp;optimal for applications such as imaging/video, communication and broadband infrastructure,and performance audio applications. &nbsp; = RK3288 SoC Features = *CPU: **Quad Core Cortex-A17&nbsp;up to 1.8GHz **32KB L1-Cache **1MB L2-Cache *GPU: **ARM Mali-T764 GPU, with TE, ASTC, AFBC technology **Quad core 3D Graphics engine **Dual core 2D Graphics engine **Comply with&nbsp;OpenGL ES1.1/2.0/3.0, OpenVG1.1, OpenCL, DirectX11 *Display: **4Kx2K@60fpsHDMI2.0 **Up to 3840X2160 display resolution **Support dual-channel LVDS/dual-channel MIPI-DSI/eDP1.1 *Camera: **Support up to 5M pixels **8bits/10bits/12bits raw data interface&nbsp; *Memory: **Dual channels 64-bit DRAM controller **Support DDR3/DDR3L, LPDDR2, LPDDR3 *Connectivity: **Embedded 13M ISP and MIPI-CSI2 interface *Audio: **I2S/PCM with 8 channels *OS: **Support Android 4.2 or up = History = &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; = Documentation = [http://10.10.10.12:8444/images/4/4e/Rockchip_RK3288_Datasheet_V2.2-20170301.pdf Rockchip_RK3288_Datasheet_V2.2-20170301] [http://10.10.10.12:8444/images/9/9e/RK_DDR_Support_List_Ver2.24.pdf RK_DDR_Support_List_Ver2.24] &nbsp; &nbsp; = Software = == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" |- | '''board''' | '''kernel''' | '''uboot''' | '''dts''' |- | RK3288_MAINBOARD_V3.0 | rockchip_linux_defconfig | rk3288_linux_defconfig | rk-linux.dts |} &nbsp; &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" |- | '''chip''' | '''Kernel eMMC index''' | '''Kernel SD index''' | '''Uboot eMMC index''' | '''Uboot SD index''' | '''Baud speed''' |- | RK3288 | 1 | 0 | 0 | 1 | 115200 |} == How to get the sources == The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code.&nbsp;Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github. RK3399 optimized Debian & Buildroot <pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml repo sync </pre> == How to build the sources == === Build Environment === You need a 64-bit&nbsp;Ubuntu. Note: old versions&nbsp;Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so Install&nbsp;ARM cross-compile tool chain and compile kernel relative&nbsp;software package:&nbsp; $ sudo apt-get install gcc-arm-linux-gnueabihf&nbsp;gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev === Installing the build tools and download source === Please follow&nbsp;[http://rockchip.wikidot.com/linux-user-guide linux user guide]&nbsp;to install the build tools and download source. &nbsp; === Building kernel === For ARM V8 (RK3399 optimized SDK) <pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre> === Building uboot === For RK3399 optimized SDK (rkproduct uboot) <pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre> === Building rootfs === ==== Debian ==== Yu can download the prebuilt image directly. [http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive] or you could use the&nbsp;[https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script]&nbsp;from Rockchip to build rootfs yourselves. ==== Yocto ==== If you want to use Yocto to build your rootfs see&nbsp;[http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide]&nbsp;for detail. ==== Buildroot ==== If you want to use Buildroot to build your rootfs see&nbsp;[http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide]&nbsp;for detail. &nbsp; &nbsp; &nbsp; &nbsp; = Devices = [[Firefly-RK3288|Firefly-RK3288]]<br/> [[Firefly-RK3288_reload|Firefly-RK3288 reload]]<br/> [[Rock2_Square|Rock2 Square]]<br/> [[Rock2_Full|Rock2 Full]]<br/> [[MiQi|MiQi]]<br/> [[Popmetal|Popmetal]]<br/> [[Fennec|Fennec]]<br/> [[PhyCORE-RK3288|phyCORE-RK3288]] If you need this&nbsp;board, please contact with the following&nbsp;contact information. <pre>Telephone: 4007700590 Email: service@rock-chips.com</pre> = See also = [[RK3328|RK3328]] [[RK3399|RK3399]] = Owners of the SoC on IRC = = Commuity Support = There is no support for the RK3288&nbsp; = References = 1.[http://rockchip.wikidot.com/rk3288#toc0 http://rockchip.wikidot.com/rk3288#toc0] 2.[https://en.wikipedia.org/wiki/ARM_Cortex-A17 https://en.wikipedia.org/wiki/ARM_Cortex-A17] = Exteneral Links = [http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html] c5b014f3da0fabb69cb96ee57e92d89ce3c801e3 File:Rockchip RK3288 Datasheet V2.2-20170301.pdf 6 40 273 2017-03-08T03:08:55Z Karen 3 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 Template:Infobox 10 41 279 2017-03-08T03:17:34Z Kever 2 Created page with "{{infobox | above = {{{name|<includeonly>{{PAGENAME}}</includeonly>}}} | abovestyle = background: #dedede; | image = {{{image|}}} | caption = {{{caption|}}} | headerstyle..." wikitext text/x-wiki {{infobox | above = {{{name|<includeonly>{{PAGENAME}}</includeonly>}}} | abovestyle = background: #dedede; | image = {{{image|}}} | caption = {{{caption|}}} | headerstyle = background: #dedede; | header1 = | label1 = Manufacturer | data1 = {{{manufacturer|}}} | header2 = | label2 = Process | data2 = {{{process|}}} | header3 = | label3 = CPU | data3 = {{{cpu|}}} | header4 = | label4 = L2 | data4 = {{{l2|}}} | header5 = | label5 = Extensions | data5 = {{{extensions|}}} | header6 = | label6 = Memory | data6 = {{{memory|}}} | header7 = | label7 = GPU | data7 = {{{gpu|}}} | header8 = | label8 = VPU | data8 = {{{vpu|}}} | header9 = | label9 = APU | data9 = {{{apu|}}} | header10 = Connectivity | label10 = | data10 = | header11 = | label11 = Video | data11 = {{{video|}}} | header12 = | label12 = Audio | data12 = {{{audio|}}} | header13 = | label13 = Network | data13 = {{{network|}}} | header14 = | label14 = Storage | data14 = {{{storage|}}} | header15 = | label15 = USB | data15 = {{{usb|}}} | header16 = | label16 = Other | data16 = {{{other|}}} | header17 = | label17 = Release Date | data17 = {{{release_date|}}} | header18 = | label18 = Website | data18 = {{{website|}}} }} 9af7362d36472ab4f99eac9c884387201556eed6 280 279 2017-03-08T03:18:12Z Kever 2 wikitext text/x-wiki <includeonly><table class="infobox {{{bodyclass|}}}" cellspacing="5" style="width:22em; {{#if:{{{float|}}}|float: {{{float}}}; clear: {{#ifeq:{{{float|}}}|none|both|{{{float}}}}}; margin: 0 0 1em 1em;}} {{{bodystyle|}}}"> <!-- Title -->{{#if:{{{title|}}}|<caption class="{{{titleclass|}}}" style="{{{titlestyle|}}}">{{{title}}}</caption>}}<!-- Header -->{{#if:{{{above|}}}|<tr><th colspan=2 class="{{{aboveclass|}}}" style="text-align:center; font-size:125%; font-weight:bold; {{{abovestyle|}}}">{{{above}}}</th></tr>}} {{#ifeq:{{{child|}}}|yes|{{#if:{{{title|}}}|'''{{{title}}}'''}}}}<!-- Image -->{{#if:{{{image|}}}|{{Infobox/row |data={{{image}}}{{#if:{{{caption|}}}|<br /><span style="{{{captionstyle|}}}">{{{caption|}}}</span>}} |datastyle={{{imagestyle|}}} |class={{{imageclass|}}} |rowclass={{{imagerowclass|}}} }} }}<!-- Data rows -->{{Infobox/row |header={{{header1|}}} |headerstyle={{{headerstyle|}}} |label={{{label1|}}} |labelstyle={{{labelstyle|}}} |data={{{data1|}}} |datastyle={{{datastyle|}}} |class={{{class1|}}} |rowclass={{{rowclass1|}}} }}{{Infobox/row |header={{{header2|}}} |headerstyle={{{headerstyle|}}} |label={{{label2|}}} |labelstyle={{{labelstyle|}}} |data={{{data2|}}} |datastyle={{{datastyle|}}} |class={{{class2|}}} |rowclass={{{rowclass2|}}} }}{{Infobox/row |header={{{header3|}}} |headerstyle={{{headerstyle|}}} |label={{{label3|}}} |labelstyle={{{labelstyle|}}} |data={{{data3|}}} |datastyle={{{datastyle|}}} |class={{{class3|}}} |rowclass={{{rowclass3|}}} }}{{Infobox/row |header={{{header4|}}} |headerstyle={{{headerstyle|}}} |label={{{label4|}}} |labelstyle={{{labelstyle|}}} |data={{{data4|}}} |datastyle={{{datastyle|}}} |class={{{class4|}}} |rowclass={{{rowclass4|}}} }}{{Infobox/row |header={{{header5|}}} |headerstyle={{{headerstyle|}}} |label={{{label5|}}} |labelstyle={{{labelstyle|}}} |data={{{data5|}}} |datastyle={{{datastyle|}}} |class={{{class5|}}} |rowclass={{{rowclass5|}}} }}{{Infobox/row |header={{{header6|}}} |headerstyle={{{headerstyle|}}} |label={{{label6|}}} |labelstyle={{{labelstyle|}}} |data={{{data6|}}} |datastyle={{{datastyle|}}} |class={{{class6|}}} |rowclass={{{rowclass6|}}} }}{{Infobox/row |header={{{header7|}}} |headerstyle={{{headerstyle|}}} |label={{{label7|}}} |labelstyle={{{labelstyle|}}} |data={{{data7|}}} |datastyle={{{datastyle|}}} |class={{{class7|}}} |rowclass={{{rowclass7|}}} }}{{Infobox/row |header={{{header8|}}} |headerstyle={{{headerstyle|}}} |label={{{label8|}}} |labelstyle={{{labelstyle|}}} |data={{{data8|}}} |datastyle={{{datastyle|}}} |class={{{class8|}}} |rowclass={{{rowclass8|}}} }}{{Infobox/row |header={{{header9|}}} |headerstyle={{{headerstyle|}}} |label={{{label9|}}} |labelstyle={{{labelstyle|}}} |data={{{data9|}}} |datastyle={{{datastyle|}}} |class={{{class9|}}} |rowclass={{{rowclass9|}}} }}{{Infobox/row |header={{{header10|}}} |headerstyle={{{headerstyle|}}} |label={{{label10|}}} |labelstyle={{{labelstyle|}}} |data={{{data10|}}} |datastyle={{{datastyle|}}} |class={{{class10|}}} |rowclass={{{rowclass10|}}} }}{{Infobox/row |header={{{header11|}}} |headerstyle={{{headerstyle|}}} |label={{{label11|}}} |labelstyle={{{labelstyle|}}} |data={{{data11|}}} |datastyle={{{datastyle|}}} |class={{{class11|}}} |rowclass={{{rowclass11|}}} }}{{Infobox/row |header={{{header12|}}} |headerstyle={{{headerstyle|}}} |label={{{label12|}}} |labelstyle={{{labelstyle|}}} |data={{{data12|}}} |datastyle={{{datastyle|}}} |class={{{class12|}}} |rowclass={{{rowclass12|}}} }}{{Infobox/row |header={{{header13|}}} |headerstyle={{{headerstyle|}}} |label={{{label13|}}} |labelstyle={{{labelstyle|}}} |data={{{data13|}}} |datastyle={{{datastyle|}}} |class={{{class13|}}} |rowclass={{{rowclass13|}}} }}{{Infobox/row |header={{{header14|}}} |headerstyle={{{headerstyle|}}} |label={{{label14|}}} |labelstyle={{{labelstyle|}}} |data={{{data14|}}} |datastyle={{{datastyle|}}} |class={{{class14|}}} |rowclass={{{rowclass14|}}} }}{{Infobox/row |header={{{header15|}}} |headerstyle={{{headerstyle|}}} |label={{{label15|}}} |labelstyle={{{labelstyle|}}} |data={{{data15|}}} |datastyle={{{datastyle|}}} |class={{{class15|}}} |rowclass={{{rowclass15|}}} }}{{Infobox/row |header={{{header16|}}} |headerstyle={{{headerstyle|}}} |label={{{label16|}}} |labelstyle={{{labelstyle|}}} |data={{{data16|}}} |datastyle={{{datastyle|}}} |class={{{class16|}}} |rowclass={{{rowclass16|}}} }}{{Infobox/row |header={{{header17|}}} |headerstyle={{{headerstyle|}}} |label={{{label17|}}} |labelstyle={{{labelstyle|}}} |data={{{data17|}}} |datastyle={{{datastyle|}}} |class={{{class17|}}} |rowclass={{{rowclass17|}}} }}{{Infobox/row |header={{{header18|}}} |headerstyle={{{headerstyle|}}} |label={{{label18|}}} |labelstyle={{{labelstyle|}}} |data={{{data18|}}} |datastyle={{{datastyle|}}} |class={{{class18|}}} |rowclass={{{rowclass18|}}} }}{{Infobox/row |header={{{header19|}}} |headerstyle={{{headerstyle|}}} |label={{{label19|}}} |labelstyle={{{labelstyle|}}} |data={{{data19|}}} |datastyle={{{datastyle|}}} |class={{{class19|}}} |rowclass={{{rowclass19|}}} }}{{Infobox/row |header={{{header20|}}} |headerstyle={{{headerstyle|}}} |label={{{label20|}}} |labelstyle={{{labelstyle|}}} |data={{{data20|}}} |datastyle={{{datastyle|}}} |class={{{class20|}}} |rowclass={{{rowclass20|}}} }} {{Infobox/row |header={{{header21|}}} |headerstyle={{{headerstyle|}}} |label={{{label21|}}} |labelstyle={{{labelstyle|}}} |data={{{data21|}}} |datastyle={{{datastyle|}}} |class={{{class21|}}} |rowclass={{{rowclass21|}}} }} </table></includeonly><noinclude> == Usage == == See also == * {{tl|Infobox/row}} [[Category:Infobox]]</noinclude> 322ac8d7295e07bafc73c109b61b6f123216fb25 File:RK3399 Block Diagram.png 6 42 281 2017-03-08T03:18:26Z Chery 9 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 Template:Infobox SoC 10 43 285 2017-03-08T03:30:30Z Kever 2 Created page with "{{infobox | above = {{{name|<includeonly>{{PAGENAME}}</includeonly>}}} | abovestyle = background: #dedede; | image = {{{image|}}} | caption = {{{caption|}}} | headerstyle..." wikitext text/x-wiki {{infobox | above = {{{name|<includeonly>{{PAGENAME}}</includeonly>}}} | abovestyle = background: #dedede; | image = {{{image|}}} | caption = {{{caption|}}} | headerstyle = background: #dedede; | header1 = | label1 = Manufacturer | data1 = {{{manufacturer|}}} | header2 = | label2 = Process | data2 = {{{process|}}} | header3 = | label3 = CPU | data3 = {{{cpu|}}} | header4 = | label4 = L2 | data4 = {{{l2|}}} | header5 = | label5 = Extensions | data5 = {{{extensions|}}} | header6 = | label6 = Memory | data6 = {{{memory|}}} | header7 = | label7 = GPU | data7 = {{{gpu|}}} | header8 = | label8 = VPU | data8 = {{{vpu|}}} | header9 = | label9 = APU | data9 = {{{apu|}}} | header10 = Connectivity | label10 = | data10 = | header11 = | label11 = Video | data11 = {{{video|}}} | header12 = | label12 = Audio | data12 = {{{audio|}}} | header13 = | label13 = Network | data13 = {{{network|}}} | header14 = | label14 = Storage | data14 = {{{storage|}}} | header15 = | label15 = USB | data15 = {{{usb|}}} | header16 = | label16 = Other | data16 = {{{other|}}} | header17 = | label17 = Release Date | data17 = {{{release_date|}}} | header18 = | label18 = Website | data18 = {{{website|}}} }} 9af7362d36472ab4f99eac9c884387201556eed6 File:Rk3288 soc.png 6 44 288 2017-03-08T03:35:07Z Kever 2 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 RK3399 0 21 298 296 2017-03-08T03:51:06Z Chery 9 wikitext text/x-wiki Rockchip RK3399 SoC integrates&nbsp;dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor, and with&nbsp;ARM Mali-T864 GPU. {| cellspacing="5" class="infobox" style="width: 250px;" |- | [[File:RK3399 Block Diagram.png|RTENOTITLE]] |} = Overview = RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications. &nbsp; == SoC Features == {| border="1" cellpadding="1" cellspacing="1" style="width: 972px;" |- | style="width: 530px;" | *CPU: **Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU **Frequency is over 1.8GHz (Big cluster) *GPU: **&nbsp;Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11 **Supports AFBC (ARM Frame Buffer Compression) *Display: **Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600 **Dual channel MIPI-DSI (4 lanes per channel) **eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR **HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2 **DisplayPort 1.2 (4 lanes, up to 4K 60Hz) **Supports Rec.2020 and conversion to Rec.709 *Camera: **&nbsp;Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels *Memory: **Dual channels 64-bit DRAM controller **Support DDR3/DDR3L, LPDDR3, LPDDR4 *Connectivity: **PCIe 2.1 (4 full-duplex lanes with 20Gbps) **Embedded low power MCU for other application **8 channels I2S supports 8 channels RX or 8 channels TX | style="width: 429px;" | [[File:RK3399 Block Diagram.png]] |} = History = &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; = Documentation = #[http://10.10.10.12:8444/images/6/60/Rockchip_RK3399_Datasheet_V1.6-20170301.pdf Rockchip_RK3399_Datasheet_V1.6-20170301] #[http://10.10.10.12:8444/images/2/27/RK3399_Linux_Debian_System_Development_Guide.pdf RK3399_Linux_Debian_System_Development_Guide] #[http://10.10.10.12:8444/images/9/9e/RK_DDR_Support_List_Ver2.24.pdf RK_DDR_Support_List_Ver2.24] = Software = == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" style="line-height: 1.6; width: 768px;" |- | style="width: 119px; text-align: center;" | '''board''' | style="width: 172px; text-align: center;" | '''kernel''' | style="width: 124px; text-align: center;" | '''uboot''' | style="width: 310px; text-align: center;" | '''dts''' |- | style="width: 119px; text-align: center;" | rk3399-excavator | style="width: 172px; text-align: center;" | rockchip_linux_defconfig | style="width: 124px; text-align: center;" | rk3399_linux_defconfig | style="width: 310px; text-align: center;" | rk3399-sapphire-excavator-linux.dts |} &nbsp; &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" style="width: 859px;" |- | style="width: 68px; text-align: center;" | '''chip''' | style="width: 181px; text-align: center;" | '''Kernel eMMC index''' | style="width: 142px; text-align: center;" | '''Kernel SD index''' | style="width: 158px; text-align: center;" | '''Uboot eMMC index''' | style="width: 146px; text-align: center;" | '''Uboot SD index''' | style="width: 132px; text-align: center;" | '''Baud speed''' |- | style="width: 68px; text-align: center;" | RK3399 | style="width: 181px; text-align: center;" | 1 | style="width: 142px; text-align: center;" | 0 | style="width: 158px; text-align: center;" | 0 | style="width: 146px; text-align: center;" | 1 | style="width: 132px; text-align: center;" | 1500000 |} == How to get the sources == The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code.&nbsp;Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github. RK3399 optimized Debian & Buildroot <pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml repo sync </pre> == How to build the sources == === Build Environment === You need a 64-bit&nbsp;Ubuntu. Note: old versions&nbsp;Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so Install&nbsp;ARM cross-compile tool chain and compile kernel relative&nbsp;software package:&nbsp; $ sudo apt-get install gcc-arm-linux-gnueabihf&nbsp;gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev === Installing the build tools and download source === Please follow&nbsp;[http://rockchip.wikidot.com/linux-user-guide linux user guide]&nbsp;to install the build tools and download source. &nbsp; === Building kernel === For ARM V8 (RK3399 optimized SDK) <pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre> === Building uboot === For RK3399 optimized SDK (rkproduct uboot) <pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre> &nbsp; === Building rootfs === ==== Debian ==== you could refer to [[Media:RK3399_Linux_Debian_System_Development_Guide.pdf|RK3399 Linux Debian System Development Guide]]&nbsp;from Rockchip to build rootfs yourselves. &nbsp; ==== Buildroot ==== you could refer to [[Media:RK3399_Linux_Buildroot_System_Development_Guide.pdf|RK3399 Linux Buildroot System Development Guide]]&nbsp;from Rockchip to build rootfs yourselves. &nbsp; = Devices = If you need the rk3399-excavator&nbsp;board, please communicate through&nbsp;the following&nbsp;contact information. <pre>Telephone: 4007700590 Email: service@rock-chips.com</pre> = See also = [[RK3288|RK3288]] [[RK3328|RK3328]] = Owners of the SoC on IRC = = Commuity Support = = References = = Exteneral Links = &nbsp; c25f7026a679995906fb700d97c693b18c7f6fce 299 298 2017-03-08T03:51:41Z Chery 9 wikitext text/x-wiki Rockchip RK3399 SoC integrates&nbsp;dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor, and with&nbsp;ARM Mali-T864 GPU. {| cellspacing="5" class="infobox" style="width: 250px;" |- | [[File:RK3399 Block Diagram.png|RTENOTITLE]] |} = Overview = RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications. &nbsp; = SoC Features = {| border="1" cellpadding="1" cellspacing="1" style="width: 972px;" |- | style="width: 530px;" | *CPU: **Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU **Frequency is over 1.8GHz (Big cluster) *GPU: **&nbsp;Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11 **Supports AFBC (ARM Frame Buffer Compression) *Display: **Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600 **Dual channel MIPI-DSI (4 lanes per channel) **eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR **HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2 **DisplayPort 1.2 (4 lanes, up to 4K 60Hz) **Supports Rec.2020 and conversion to Rec.709 *Camera: **&nbsp;Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels *Memory: **Dual channels 64-bit DRAM controller **Support DDR3/DDR3L, LPDDR3, LPDDR4 *Connectivity: **PCIe 2.1 (4 full-duplex lanes with 20Gbps) **Embedded low power MCU for other application **8 channels I2S supports 8 channels RX or 8 channels TX | style="width: 429px;" | [[File:RK3399 Block Diagram.png|RTENOTITLE]] |} = History = &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; = Documentation = #[http://10.10.10.12:8444/images/6/60/Rockchip_RK3399_Datasheet_V1.6-20170301.pdf Rockchip_RK3399_Datasheet_V1.6-20170301] #[http://10.10.10.12:8444/images/2/27/RK3399_Linux_Debian_System_Development_Guide.pdf RK3399_Linux_Debian_System_Development_Guide] #[http://10.10.10.12:8444/images/9/9e/RK_DDR_Support_List_Ver2.24.pdf RK_DDR_Support_List_Ver2.24] = Software = == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" style="line-height: 1.6; width: 768px;" |- | style="width: 119px; text-align: center;" | '''board''' | style="width: 172px; text-align: center;" | '''kernel''' | style="width: 124px; text-align: center;" | '''uboot''' | style="width: 310px; text-align: center;" | '''dts''' |- | style="width: 119px; text-align: center;" | rk3399-excavator | style="width: 172px; text-align: center;" | rockchip_linux_defconfig | style="width: 124px; text-align: center;" | rk3399_linux_defconfig | style="width: 310px; text-align: center;" | rk3399-sapphire-excavator-linux.dts |} &nbsp; &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" style="width: 859px;" |- | style="width: 68px; text-align: center;" | '''chip''' | style="width: 181px; text-align: center;" | '''Kernel eMMC index''' | style="width: 142px; text-align: center;" | '''Kernel SD index''' | style="width: 158px; text-align: center;" | '''Uboot eMMC index''' | style="width: 146px; text-align: center;" | '''Uboot SD index''' | style="width: 132px; text-align: center;" | '''Baud speed''' |- | style="width: 68px; text-align: center;" | RK3399 | style="width: 181px; text-align: center;" | 1 | style="width: 142px; text-align: center;" | 0 | style="width: 158px; text-align: center;" | 0 | style="width: 146px; text-align: center;" | 1 | style="width: 132px; text-align: center;" | 1500000 |} == How to get the sources == The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code.&nbsp;Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github. RK3399 optimized Debian & Buildroot <pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml repo sync </pre> == How to build the sources == === Build Environment === You need a 64-bit&nbsp;Ubuntu. Note: old versions&nbsp;Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so Install&nbsp;ARM cross-compile tool chain and compile kernel relative&nbsp;software package:&nbsp; $ sudo apt-get install gcc-arm-linux-gnueabihf&nbsp;gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev === Installing the build tools and download source === Please follow&nbsp;[http://rockchip.wikidot.com/linux-user-guide linux user guide]&nbsp;to install the build tools and download source. &nbsp; === Building kernel === For ARM V8 (RK3399 optimized SDK) <pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre> === Building uboot === For RK3399 optimized SDK (rkproduct uboot) <pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre> &nbsp; === Building rootfs === ==== Debian ==== you could refer to [[Media:RK3399_Linux_Debian_System_Development_Guide.pdf|RK3399 Linux Debian System Development Guide]]&nbsp;from Rockchip to build rootfs yourselves. &nbsp; ==== Buildroot ==== you could refer to [[Media:RK3399_Linux_Buildroot_System_Development_Guide.pdf|RK3399 Linux Buildroot System Development Guide]]&nbsp;from Rockchip to build rootfs yourselves. &nbsp; = Devices = If you need the rk3399-excavator&nbsp;board, please communicate through&nbsp;the following&nbsp;contact information. <pre>Telephone: 4007700590 Email: service@rock-chips.com</pre> = See also = [[RK3288|RK3288]] [[RK3328|RK3328]] = Owners of the SoC on IRC = = Commuity Support = = References = = Exteneral Links = &nbsp; 1081453c673293b3aa5942b448e7989336f0644e 303 299 2017-03-08T03:59:13Z Chery 9 wikitext text/x-wiki Rockchip RK3399 SoC integrates&nbsp;dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor, and with&nbsp;ARM Mali-T864 GPU. [[File:Rk3288 soc.png]] = Overview = RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications. &nbsp; &nbsp; &nbsp; = SoC Features = {| border="1" cellpadding="1" cellspacing="1" style="width: 972px;" |- | style="width: 530px;" | *CPU: **Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU **Frequency is over 1.8GHz (Big cluster) *GPU: **&nbsp;Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11 **Supports AFBC (ARM Frame Buffer Compression) *Display: **Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600 **Dual channel MIPI-DSI (4 lanes per channel) **eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR **HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2 **DisplayPort 1.2 (4 lanes, up to 4K 60Hz) **Supports Rec.2020 and conversion to Rec.709 *Camera: **&nbsp;Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels *Memory: **Dual channels 64-bit DRAM controller **Support DDR3/DDR3L, LPDDR3, LPDDR4 *Connectivity: **PCIe 2.1 (4 full-duplex lanes with 20Gbps) **Embedded low power MCU for other application **8 channels I2S supports 8 channels RX or 8 channels TX | style="width: 429px;" | [[File:RK3399 Block Diagram.png|RTENOTITLE]] |} = History = &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; = Documentation = #[http://10.10.10.12:8444/images/6/60/Rockchip_RK3399_Datasheet_V1.6-20170301.pdf Rockchip_RK3399_Datasheet_V1.6-20170301] #[http://10.10.10.12:8444/images/2/27/RK3399_Linux_Debian_System_Development_Guide.pdf RK3399_Linux_Debian_System_Development_Guide] #[http://10.10.10.12:8444/images/9/9e/RK_DDR_Support_List_Ver2.24.pdf RK_DDR_Support_List_Ver2.24] = Software = == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" style="line-height: 1.6; width: 768px;" |- | style="width: 119px; text-align: center;" | '''board''' | style="width: 172px; text-align: center;" | '''kernel''' | style="width: 124px; text-align: center;" | '''uboot''' | style="width: 310px; text-align: center;" | '''dts''' |- | style="width: 119px; text-align: center;" | rk3399-excavator | style="width: 172px; text-align: center;" | rockchip_linux_defconfig | style="width: 124px; text-align: center;" | rk3399_linux_defconfig | style="width: 310px; text-align: center;" | rk3399-sapphire-excavator-linux.dts |} &nbsp; &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" style="width: 859px;" |- | style="width: 68px; text-align: center;" | '''chip''' | style="width: 181px; text-align: center;" | '''Kernel eMMC index''' | style="width: 142px; text-align: center;" | '''Kernel SD index''' | style="width: 158px; text-align: center;" | '''Uboot eMMC index''' | style="width: 146px; text-align: center;" | '''Uboot SD index''' | style="width: 132px; text-align: center;" | '''Baud speed''' |- | style="width: 68px; text-align: center;" | RK3399 | style="width: 181px; text-align: center;" | 1 | style="width: 142px; text-align: center;" | 0 | style="width: 158px; text-align: center;" | 0 | style="width: 146px; text-align: center;" | 1 | style="width: 132px; text-align: center;" | 1500000 |} == How to get the sources == The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code.&nbsp;Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github. RK3399 optimized Debian & Buildroot <pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml repo sync </pre> == How to build the sources == === Build Environment === You need a 64-bit&nbsp;Ubuntu. Note: old versions&nbsp;Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so Install&nbsp;ARM cross-compile tool chain and compile kernel relative&nbsp;software package:&nbsp; $ sudo apt-get install gcc-arm-linux-gnueabihf&nbsp;gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev === Installing the build tools and download source === Please follow&nbsp;[http://rockchip.wikidot.com/linux-user-guide linux user guide]&nbsp;to install the build tools and download source. &nbsp; === Building kernel === For ARM V8 (RK3399 optimized SDK) <pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre> === Building uboot === For RK3399 optimized SDK (rkproduct uboot) <pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre> &nbsp; === Building rootfs === ==== Debian ==== you could refer to [[Media:RK3399_Linux_Debian_System_Development_Guide.pdf|RK3399 Linux Debian System Development Guide]]&nbsp;from Rockchip to build rootfs yourselves. &nbsp; ==== Buildroot ==== you could refer to [[Media:RK3399_Linux_Buildroot_System_Development_Guide.pdf|RK3399 Linux Buildroot System Development Guide]]&nbsp;from Rockchip to build rootfs yourselves. &nbsp; = Devices = If you need the rk3399-excavator&nbsp;board, please communicate through&nbsp;the following&nbsp;contact information. <pre>Telephone: 4007700590 Email: service@rock-chips.com</pre> = See also = [[RK3288|RK3288]] [[RK3328|RK3328]] = Owners of the SoC on IRC = = Commuity Support = = References = = Exteneral Links = &nbsp; e7055d2bf141ba375bf86dc3e88ac955a2847f0c 304 303 2017-03-08T03:59:43Z Chery 9 wikitext text/x-wiki Rockchip RK3399 SoC integrates&nbsp;dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor, and with&nbsp;ARM Mali-T864 GPU. [class="infobox"[File:Rk3288 soc.png]] = Overview = RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications. &nbsp; &nbsp; &nbsp; = SoC Features = {| border="1" cellpadding="1" cellspacing="1" style="width: 972px;" |- | style="width: 530px;" | *CPU: **Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU **Frequency is over 1.8GHz (Big cluster) *GPU: **&nbsp;Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11 **Supports AFBC (ARM Frame Buffer Compression) *Display: **Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600 **Dual channel MIPI-DSI (4 lanes per channel) **eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR **HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2 **DisplayPort 1.2 (4 lanes, up to 4K 60Hz) **Supports Rec.2020 and conversion to Rec.709 *Camera: **&nbsp;Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels *Memory: **Dual channels 64-bit DRAM controller **Support DDR3/DDR3L, LPDDR3, LPDDR4 *Connectivity: **PCIe 2.1 (4 full-duplex lanes with 20Gbps) **Embedded low power MCU for other application **8 channels I2S supports 8 channels RX or 8 channels TX | style="width: 429px;" | [[File:RK3399 Block Diagram.png|RTENOTITLE]] |} = History = &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; = Documentation = #[http://10.10.10.12:8444/images/6/60/Rockchip_RK3399_Datasheet_V1.6-20170301.pdf Rockchip_RK3399_Datasheet_V1.6-20170301] #[http://10.10.10.12:8444/images/2/27/RK3399_Linux_Debian_System_Development_Guide.pdf RK3399_Linux_Debian_System_Development_Guide] #[http://10.10.10.12:8444/images/9/9e/RK_DDR_Support_List_Ver2.24.pdf RK_DDR_Support_List_Ver2.24] = Software = == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" style="line-height: 1.6; width: 768px;" |- | style="width: 119px; text-align: center;" | '''board''' | style="width: 172px; text-align: center;" | '''kernel''' | style="width: 124px; text-align: center;" | '''uboot''' | style="width: 310px; text-align: center;" | '''dts''' |- | style="width: 119px; text-align: center;" | rk3399-excavator | style="width: 172px; text-align: center;" | rockchip_linux_defconfig | style="width: 124px; text-align: center;" | rk3399_linux_defconfig | style="width: 310px; text-align: center;" | rk3399-sapphire-excavator-linux.dts |} &nbsp; &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" style="width: 859px;" |- | style="width: 68px; text-align: center;" | '''chip''' | style="width: 181px; text-align: center;" | '''Kernel eMMC index''' | style="width: 142px; text-align: center;" | '''Kernel SD index''' | style="width: 158px; text-align: center;" | '''Uboot eMMC index''' | style="width: 146px; text-align: center;" | '''Uboot SD index''' | style="width: 132px; text-align: center;" | '''Baud speed''' |- | style="width: 68px; text-align: center;" | RK3399 | style="width: 181px; text-align: center;" | 1 | style="width: 142px; text-align: center;" | 0 | style="width: 158px; text-align: center;" | 0 | style="width: 146px; text-align: center;" | 1 | style="width: 132px; text-align: center;" | 1500000 |} == How to get the sources == The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code.&nbsp;Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github. RK3399 optimized Debian & Buildroot <pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml repo sync </pre> == How to build the sources == === Build Environment === You need a 64-bit&nbsp;Ubuntu. Note: old versions&nbsp;Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so Install&nbsp;ARM cross-compile tool chain and compile kernel relative&nbsp;software package:&nbsp; $ sudo apt-get install gcc-arm-linux-gnueabihf&nbsp;gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev === Installing the build tools and download source === Please follow&nbsp;[http://rockchip.wikidot.com/linux-user-guide linux user guide]&nbsp;to install the build tools and download source. &nbsp; === Building kernel === For ARM V8 (RK3399 optimized SDK) <pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre> === Building uboot === For RK3399 optimized SDK (rkproduct uboot) <pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre> &nbsp; === Building rootfs === ==== Debian ==== you could refer to [[Media:RK3399_Linux_Debian_System_Development_Guide.pdf|RK3399 Linux Debian System Development Guide]]&nbsp;from Rockchip to build rootfs yourselves. &nbsp; ==== Buildroot ==== you could refer to [[Media:RK3399_Linux_Buildroot_System_Development_Guide.pdf|RK3399 Linux Buildroot System Development Guide]]&nbsp;from Rockchip to build rootfs yourselves. &nbsp; = Devices = If you need the rk3399-excavator&nbsp;board, please communicate through&nbsp;the following&nbsp;contact information. <pre>Telephone: 4007700590 Email: service@rock-chips.com</pre> = See also = [[RK3288|RK3288]] [[RK3328|RK3328]] = Owners of the SoC on IRC = = Commuity Support = = References = = Exteneral Links = &nbsp; 1c06d730d22b26f513cd263cc14ba558e768c180 305 304 2017-03-08T04:01:26Z Chery 9 wikitext text/x-wiki Rockchip RK3399 SoC integrates&nbsp;dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor, and with&nbsp;ARM Mali-T864 GPU. {| border="1" cellpadding="1" cellspacing="0" class="infobox" style="width: 200px;" |- | [[File:Rk3288 soc.png|RTENOTITLE]] |} = Overview = RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications. &nbsp; &nbsp; &nbsp; = SoC Features = {| border="1" cellpadding="1" cellspacing="1" style="width: 972px;" |- | style="width: 530px;" | *CPU: **Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU **Frequency is over 1.8GHz (Big cluster) *GPU: **&nbsp;Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11 **Supports AFBC (ARM Frame Buffer Compression) *Display: **Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600 **Dual channel MIPI-DSI (4 lanes per channel) **eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR **HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2 **DisplayPort 1.2 (4 lanes, up to 4K 60Hz) **Supports Rec.2020 and conversion to Rec.709 *Camera: **&nbsp;Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels *Memory: **Dual channels 64-bit DRAM controller **Support DDR3/DDR3L, LPDDR3, LPDDR4 *Connectivity: **PCIe 2.1 (4 full-duplex lanes with 20Gbps) **Embedded low power MCU for other application **8 channels I2S supports 8 channels RX or 8 channels TX | style="width: 429px;" | [[File:RK3399 Block Diagram.png|RTENOTITLE]] |} = History = &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; = Documentation = #[http://10.10.10.12:8444/images/6/60/Rockchip_RK3399_Datasheet_V1.6-20170301.pdf Rockchip_RK3399_Datasheet_V1.6-20170301] #[http://10.10.10.12:8444/images/2/27/RK3399_Linux_Debian_System_Development_Guide.pdf RK3399_Linux_Debian_System_Development_Guide] #[http://10.10.10.12:8444/images/9/9e/RK_DDR_Support_List_Ver2.24.pdf RK_DDR_Support_List_Ver2.24] = Software = == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" style="line-height: 1.6; width: 768px;" |- | style="width: 119px; text-align: center;" | '''board''' | style="width: 172px; text-align: center;" | '''kernel''' | style="width: 124px; text-align: center;" | '''uboot''' | style="width: 310px; text-align: center;" | '''dts''' |- | style="width: 119px; text-align: center;" | rk3399-excavator | style="width: 172px; text-align: center;" | rockchip_linux_defconfig | style="width: 124px; text-align: center;" | rk3399_linux_defconfig | style="width: 310px; text-align: center;" | rk3399-sapphire-excavator-linux.dts |} &nbsp; &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" style="width: 859px;" |- | style="width: 68px; text-align: center;" | '''chip''' | style="width: 181px; text-align: center;" | '''Kernel eMMC index''' | style="width: 142px; text-align: center;" | '''Kernel SD index''' | style="width: 158px; text-align: center;" | '''Uboot eMMC index''' | style="width: 146px; text-align: center;" | '''Uboot SD index''' | style="width: 132px; text-align: center;" | '''Baud speed''' |- | style="width: 68px; text-align: center;" | RK3399 | style="width: 181px; text-align: center;" | 1 | style="width: 142px; text-align: center;" | 0 | style="width: 158px; text-align: center;" | 0 | style="width: 146px; text-align: center;" | 1 | style="width: 132px; text-align: center;" | 1500000 |} == How to get the sources == The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code.&nbsp;Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github. RK3399 optimized Debian & Buildroot <pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml repo sync </pre> == How to build the sources == === Build Environment === You need a 64-bit&nbsp;Ubuntu. Note: old versions&nbsp;Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so Install&nbsp;ARM cross-compile tool chain and compile kernel relative&nbsp;software package:&nbsp; $ sudo apt-get install gcc-arm-linux-gnueabihf&nbsp;gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev === Installing the build tools and download source === Please follow&nbsp;[http://rockchip.wikidot.com/linux-user-guide linux user guide]&nbsp;to install the build tools and download source. &nbsp; === Building kernel === For ARM V8 (RK3399 optimized SDK) <pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre> === Building uboot === For RK3399 optimized SDK (rkproduct uboot) <pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre> &nbsp; === Building rootfs === ==== Debian ==== you could refer to [[Media:RK3399_Linux_Debian_System_Development_Guide.pdf|RK3399 Linux Debian System Development Guide]]&nbsp;from Rockchip to build rootfs yourselves. &nbsp; ==== Buildroot ==== you could refer to [[Media:RK3399_Linux_Buildroot_System_Development_Guide.pdf|RK3399 Linux Buildroot System Development Guide]]&nbsp;from Rockchip to build rootfs yourselves. &nbsp; = Devices = If you need the rk3399-excavator&nbsp;board, please communicate through&nbsp;the following&nbsp;contact information. <pre>Telephone: 4007700590 Email: service@rock-chips.com</pre> = See also = [[RK3288|RK3288]] [[RK3328|RK3328]] = Owners of the SoC on IRC = = Commuity Support = = References = = Exteneral Links = &nbsp; bdb72e73d6ff13ac208ef2055c58ca2b5610e886 308 305 2017-03-08T06:19:09Z Chery 9 wikitext text/x-wiki Rockchip RK3399 SoC integrates&nbsp;dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor, and with&nbsp;ARM Mali-T864 GPU. {| border="1" cellpadding="1" cellspacing="0" class="infobox" style="width: 200px;" |- | [[File:RK3399 Soc.png|RTENOTITLE]] |} = Overview = RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications. &nbsp; &nbsp; &nbsp; = SoC Features = {| border="1" cellpadding="1" cellspacing="1" style="width: 972px;" |- | style="width: 530px;" | *CPU: **Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU **Frequency is over 1.8GHz (Big cluster) *GPU: **&nbsp;Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11 **Supports AFBC (ARM Frame Buffer Compression) *Display: **Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600 **Dual channel MIPI-DSI (4 lanes per channel) **eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR **HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2 **DisplayPort 1.2 (4 lanes, up to 4K 60Hz) **Supports Rec.2020 and conversion to Rec.709 *Camera: **&nbsp;Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels *Memory: **Dual channels 64-bit DRAM controller **Support DDR3/DDR3L, LPDDR3, LPDDR4 *Connectivity: **PCIe 2.1 (4 full-duplex lanes with 20Gbps) **Embedded low power MCU for other application **8 channels I2S supports 8 channels RX or 8 channels TX | style="width: 429px;" | [[File:RK3399 Block Diagram.png|RTENOTITLE]] |} = History = &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; = Documentation = #[http://10.10.10.12:8444/images/6/60/Rockchip_RK3399_Datasheet_V1.6-20170301.pdf Rockchip_RK3399_Datasheet_V1.6-20170301] #[http://10.10.10.12:8444/images/2/27/RK3399_Linux_Debian_System_Development_Guide.pdf RK3399_Linux_Debian_System_Development_Guide] #[http://10.10.10.12:8444/images/9/9e/RK_DDR_Support_List_Ver2.24.pdf RK_DDR_Support_List_Ver2.24] = Software = == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" style="line-height: 1.6; width: 768px;" |- | style="width: 119px; text-align: center;" | '''board''' | style="width: 172px; text-align: center;" | '''kernel''' | style="width: 124px; text-align: center;" | '''uboot''' | style="width: 310px; text-align: center;" | '''dts''' |- | style="width: 119px; text-align: center;" | rk3399-excavator | style="width: 172px; text-align: center;" | rockchip_linux_defconfig | style="width: 124px; text-align: center;" | rk3399_linux_defconfig | style="width: 310px; text-align: center;" | rk3399-sapphire-excavator-linux.dts |} &nbsp; &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" style="width: 859px;" |- | style="width: 68px; text-align: center;" | '''chip''' | style="width: 181px; text-align: center;" | '''Kernel eMMC index''' | style="width: 142px; text-align: center;" | '''Kernel SD index''' | style="width: 158px; text-align: center;" | '''Uboot eMMC index''' | style="width: 146px; text-align: center;" | '''Uboot SD index''' | style="width: 132px; text-align: center;" | '''Baud speed''' |- | style="width: 68px; text-align: center;" | RK3399 | style="width: 181px; text-align: center;" | 1 | style="width: 142px; text-align: center;" | 0 | style="width: 158px; text-align: center;" | 0 | style="width: 146px; text-align: center;" | 1 | style="width: 132px; text-align: center;" | 1500000 |} == How to get the sources == The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code.&nbsp;Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github. RK3399 optimized Debian & Buildroot <pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml repo sync </pre> == How to build the sources == === Build Environment === You need a 64-bit&nbsp;Ubuntu. Note: old versions&nbsp;Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so Install&nbsp;ARM cross-compile tool chain and compile kernel relative&nbsp;software package:&nbsp; $ sudo apt-get install gcc-arm-linux-gnueabihf&nbsp;gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev === Installing the build tools and download source === Please follow&nbsp;[http://rockchip.wikidot.com/linux-user-guide linux user guide]&nbsp;to install the build tools and download source. &nbsp; === Building kernel === For ARM V8 (RK3399 optimized SDK) <pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre> === Building uboot === For RK3399 optimized SDK (rkproduct uboot) <pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre> &nbsp; === Building rootfs === ==== Debian ==== you could refer to [[Media:RK3399_Linux_Debian_System_Development_Guide.pdf|RK3399 Linux Debian System Development Guide]]&nbsp;from Rockchip to build rootfs yourselves. &nbsp; ==== Buildroot ==== you could refer to [[Media:RK3399_Linux_Buildroot_System_Development_Guide.pdf|RK3399 Linux Buildroot System Development Guide]]&nbsp;from Rockchip to build rootfs yourselves. &nbsp; = Devices = If you need the rk3399-excavator&nbsp;board, please communicate through&nbsp;the following&nbsp;contact information. <pre>Telephone: 4007700590 Email: service@rock-chips.com</pre> = See also = [[RK3288|RK3288]] [[RK3328|RK3328]] = Owners of the SoC on IRC = = Commuity Support = = References = = Exteneral Links = &nbsp; dcadbeb697d44d305e112ae541332dc5b2410d7f 309 308 2017-03-08T06:33:25Z Chery 9 wikitext text/x-wiki Rockchip RK3399 SoC integrates&nbsp;dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor, and with&nbsp;ARM Mali-T864 GPU. {| border="0" cellpadding="1" cellspacing="0" class="infobox" style="width: 200px;" |- | [[File:RK3399 Soc.png|RTENOTITLE]] |} = Overview = RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications. &nbsp; &nbsp; &nbsp; = SoC Features = {| border="1" cellpadding="1" cellspacing="1" style="width: 972px;" |- | style="width: 530px;" | *CPU: **Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU **Frequency is over 1.8GHz (Big cluster) *GPU: **&nbsp;Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11 **Supports AFBC (ARM Frame Buffer Compression) *Display: **Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600 **Dual channel MIPI-DSI (4 lanes per channel) **eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR **HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2 **DisplayPort 1.2 (4 lanes, up to 4K 60Hz) **Supports Rec.2020 and conversion to Rec.709 *Camera: **&nbsp;Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels *Memory: **Dual channels 64-bit DRAM controller **Support DDR3/DDR3L, LPDDR3, LPDDR4 *Connectivity: **PCIe 2.1 (4 full-duplex lanes with 20Gbps) **Embedded low power MCU for other application **8 channels I2S supports 8 channels RX or 8 channels TX | style="width: 429px;" | [[File:RK3399 Block Diagram.png|RTENOTITLE]] |} = History = &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; = Documentation = #[http://10.10.10.12:8444/images/6/60/Rockchip_RK3399_Datasheet_V1.6-20170301.pdf Rockchip_RK3399_Datasheet_V1.6-20170301] #[http://10.10.10.12:8444/images/2/27/RK3399_Linux_Debian_System_Development_Guide.pdf RK3399_Linux_Debian_System_Development_Guide] #[http://10.10.10.12:8444/images/9/9e/RK_DDR_Support_List_Ver2.24.pdf RK_DDR_Support_List_Ver2.24] = Software = == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" style="line-height: 1.6; width: 768px;" |- | style="width: 119px; text-align: center;" | '''board''' | style="width: 172px; text-align: center;" | '''kernel''' | style="width: 124px; text-align: center;" | '''uboot''' | style="width: 310px; text-align: center;" | '''dts''' |- | style="width: 119px; text-align: center;" | rk3399-excavator | style="width: 172px; text-align: center;" | rockchip_linux_defconfig | style="width: 124px; text-align: center;" | rk3399_linux_defconfig | style="width: 310px; text-align: center;" | rk3399-sapphire-excavator-linux.dts |} &nbsp; &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" style="width: 859px;" |- | style="width: 68px; text-align: center;" | '''chip''' | style="width: 181px; text-align: center;" | '''Kernel eMMC index''' | style="width: 142px; text-align: center;" | '''Kernel SD index''' | style="width: 158px; text-align: center;" | '''Uboot eMMC index''' | style="width: 146px; text-align: center;" | '''Uboot SD index''' | style="width: 132px; text-align: center;" | '''Baud speed''' |- | style="width: 68px; text-align: center;" | RK3399 | style="width: 181px; text-align: center;" | 1 | style="width: 142px; text-align: center;" | 0 | style="width: 158px; text-align: center;" | 0 | style="width: 146px; text-align: center;" | 1 | style="width: 132px; text-align: center;" | 1500000 |} == How to get the sources == The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code.&nbsp;Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github. RK3399 optimized Debian & Buildroot <pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml repo sync </pre> == How to build the sources == === Build Environment === You need a 64-bit&nbsp;Ubuntu. Note: old versions&nbsp;Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so Install&nbsp;ARM cross-compile tool chain and compile kernel relative&nbsp;software package:&nbsp; $ sudo apt-get install gcc-arm-linux-gnueabihf&nbsp;gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev === Installing the build tools and download source === Please follow&nbsp;[http://rockchip.wikidot.com/linux-user-guide linux user guide]&nbsp;to install the build tools and download source. &nbsp; === Building kernel === For ARM V8 (RK3399 optimized SDK) <pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre> === Building uboot === For RK3399 optimized SDK (rkproduct uboot) <pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre> &nbsp; === Building rootfs === ==== Debian ==== you could refer to [[Media:RK3399_Linux_Debian_System_Development_Guide.pdf|RK3399 Linux Debian System Development Guide]]&nbsp;from Rockchip to build rootfs yourselves. &nbsp; ==== Buildroot ==== you could refer to [[Media:RK3399_Linux_Buildroot_System_Development_Guide.pdf|RK3399 Linux Buildroot System Development Guide]]&nbsp;from Rockchip to build rootfs yourselves. &nbsp; = Devices = If you need the rk3399-excavator&nbsp;board, please communicate through&nbsp;the following&nbsp;contact information. <pre>Telephone: 4007700590 Email: service@rock-chips.com</pre> = See also = [[RK3288|RK3288]] [[RK3328|RK3328]] = Owners of the SoC on IRC = = Commuity Support = = References = = Exteneral Links = &nbsp; 68212952e0fe47c2cfd65bd57bf6f8ca68cd798b 310 309 2017-03-08T06:33:45Z Chery 9 wikitext text/x-wiki Rockchip RK3399 SoC integrates&nbsp;dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor, and with&nbsp;ARM Mali-T864 GPU. {| border="0" cellpadding="1" cellspacing="0" class="infobox" style="width: 200px;" |- | [[File:RK3399 Soc.png|RTENOTITLE]] |} = Overview = RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications. &nbsp; &nbsp; &nbsp; = SoC Features = {| border="0" cellpadding="1" cellspacing="1" style="width: 972px;" |- | style="width: 530px;" | *CPU: **Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU **Frequency is over 1.8GHz (Big cluster) *GPU: **&nbsp;Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11 **Supports AFBC (ARM Frame Buffer Compression) *Display: **Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600 **Dual channel MIPI-DSI (4 lanes per channel) **eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR **HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2 **DisplayPort 1.2 (4 lanes, up to 4K 60Hz) **Supports Rec.2020 and conversion to Rec.709 *Camera: **&nbsp;Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels *Memory: **Dual channels 64-bit DRAM controller **Support DDR3/DDR3L, LPDDR3, LPDDR4 *Connectivity: **PCIe 2.1 (4 full-duplex lanes with 20Gbps) **Embedded low power MCU for other application **8 channels I2S supports 8 channels RX or 8 channels TX | style="width: 429px;" | [[File:RK3399 Block Diagram.png|RTENOTITLE]] |} = History = &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; = Documentation = #[http://10.10.10.12:8444/images/6/60/Rockchip_RK3399_Datasheet_V1.6-20170301.pdf Rockchip_RK3399_Datasheet_V1.6-20170301] #[http://10.10.10.12:8444/images/2/27/RK3399_Linux_Debian_System_Development_Guide.pdf RK3399_Linux_Debian_System_Development_Guide] #[http://10.10.10.12:8444/images/9/9e/RK_DDR_Support_List_Ver2.24.pdf RK_DDR_Support_List_Ver2.24] = Software = == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" style="line-height: 1.6; width: 768px;" |- | style="width: 119px; text-align: center;" | '''board''' | style="width: 172px; text-align: center;" | '''kernel''' | style="width: 124px; text-align: center;" | '''uboot''' | style="width: 310px; text-align: center;" | '''dts''' |- | style="width: 119px; text-align: center;" | rk3399-excavator | style="width: 172px; text-align: center;" | rockchip_linux_defconfig | style="width: 124px; text-align: center;" | rk3399_linux_defconfig | style="width: 310px; text-align: center;" | rk3399-sapphire-excavator-linux.dts |} &nbsp; &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" style="width: 859px;" |- | style="width: 68px; text-align: center;" | '''chip''' | style="width: 181px; text-align: center;" | '''Kernel eMMC index''' | style="width: 142px; text-align: center;" | '''Kernel SD index''' | style="width: 158px; text-align: center;" | '''Uboot eMMC index''' | style="width: 146px; text-align: center;" | '''Uboot SD index''' | style="width: 132px; text-align: center;" | '''Baud speed''' |- | style="width: 68px; text-align: center;" | RK3399 | style="width: 181px; text-align: center;" | 1 | style="width: 142px; text-align: center;" | 0 | style="width: 158px; text-align: center;" | 0 | style="width: 146px; text-align: center;" | 1 | style="width: 132px; text-align: center;" | 1500000 |} == How to get the sources == The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code.&nbsp;Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github. RK3399 optimized Debian & Buildroot <pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml repo sync </pre> == How to build the sources == === Build Environment === You need a 64-bit&nbsp;Ubuntu. Note: old versions&nbsp;Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so Install&nbsp;ARM cross-compile tool chain and compile kernel relative&nbsp;software package:&nbsp; $ sudo apt-get install gcc-arm-linux-gnueabihf&nbsp;gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev === Installing the build tools and download source === Please follow&nbsp;[http://rockchip.wikidot.com/linux-user-guide linux user guide]&nbsp;to install the build tools and download source. &nbsp; === Building kernel === For ARM V8 (RK3399 optimized SDK) <pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre> === Building uboot === For RK3399 optimized SDK (rkproduct uboot) <pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre> &nbsp; === Building rootfs === ==== Debian ==== you could refer to [[Media:RK3399_Linux_Debian_System_Development_Guide.pdf|RK3399 Linux Debian System Development Guide]]&nbsp;from Rockchip to build rootfs yourselves. &nbsp; ==== Buildroot ==== you could refer to [[Media:RK3399_Linux_Buildroot_System_Development_Guide.pdf|RK3399 Linux Buildroot System Development Guide]]&nbsp;from Rockchip to build rootfs yourselves. &nbsp; = Devices = If you need the rk3399-excavator&nbsp;board, please communicate through&nbsp;the following&nbsp;contact information. <pre>Telephone: 4007700590 Email: service@rock-chips.com</pre> = See also = [[RK3288|RK3288]] [[RK3328|RK3328]] = Owners of the SoC on IRC = = Commuity Support = = References = = Exteneral Links = &nbsp; 7525556a58602ba929e73fed80b88a681fd2ec8f RK3288 0 20 301 297 2017-03-08T03:52:18Z Karen 3 wikitext text/x-wiki {{Infobox_SoC | image = [[File:Rk3288_soc.png|250px]] | manufacturer = Rockchip | process = 28nm | cpu = Quad-Core ARM Cortex-A17 | ltwo = | extensions = | memory = 2-channel DDR3/LPDDR2, 2-channel DDR3L, maximum of 4GB total (2GB per channel) | gpu = Mali-T764 | vpu = | apu = | video = HDMI 1.4, MIPI DSI, 2-channel LVDS, 2-channel RGB LCD | audio = I2S, PCM | network = | storage = 4x SD Card, eMMC NAND, 2-channel raw NAND | usb = OTG, 2x Host | other = | release_date = | website = [http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html] }} &nbsp; {| cellspacing="5" |- ! colspan="2" | A31 |- | colspan="2" | |- ! scope="row" | Manufacturer | Allwinner |- ! scope="row" | Process | 40nm |- ! scope="row" | CPU | Quad-Core ARM Cortex-A7 |- ! scope="row" | Memory | 2-channel DDR3/LPDDR2, 2-channel DDR3L, maximum of 4GB total (2GB per channel) |- ! scope="row" | GPU | SGX544 |- ! colspan="2" | Connectivity |- ! scope="row" | Video | HDMI 1.4, MIPI DSI, 2-channel LVDS, 2-channel RGB LCD |- ! scope="row" | Audio | I2S, PCM |- ! scope="row" | Storage | 4x SD Card, eMMC NAND, 2-channel raw NAND |- ! scope="row" | USB | OTG, 2x Host |- ! scope="row" | Release Date | December 2012 |- ! scope="row" | Website | [http://www.allwinnertech.com/en/product/A31.html Product Page] |} &nbsp; = Overview = The RK3288 offers&nbsp;an extensible, leading&nbsp;performance,long-standing heritage platform,ideally suited for &nbsp;set-top box solution, tablet and chromebook.The platform is integrated with a Quad-Core Cortex-A17 which up to 1.8GHz and ARM Mali-T764&nbsp;which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant&nbsp;interfaces provide&nbsp;a friendly solution for product&nbsp;development. Futhermore, the power consumption is&nbsp;optimal for applications such as imaging/video, communication and broadband infrastructure,and performance audio applications. &nbsp; = RK3288 SoC Features = *CPU: **Quad Core Cortex-A17&nbsp;up to 1.8GHz **32KB L1-Cache **1MB L2-Cache *GPU: **ARM Mali-T764 GPU, with TE, ASTC, AFBC technology **Quad core 3D Graphics engine **Dual core 2D Graphics engine **Comply with&nbsp;OpenGL ES1.1/2.0/3.0, OpenVG1.1, OpenCL, DirectX11 *Display: **4Kx2K@60fpsHDMI2.0 **Up to 3840X2160 display resolution **Support dual-channel LVDS/dual-channel MIPI-DSI/eDP1.1 *Camera: **Support up to 5M pixels **8bits/10bits/12bits raw data interface&nbsp; *Memory: **Dual channels 64-bit DRAM controller **Support DDR3/DDR3L, LPDDR2, LPDDR3 *Connectivity: **Embedded 13M ISP and MIPI-CSI2 interface *Audio: **I2S/PCM with 8 channels *OS: **Support Android 4.2 or up = History = &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; = Documentation = #[http://10.10.10.12:8444/images/4/4e/Rockchip_RK3288_Datasheet_V2.2-20170301.pdf Rockchip_RK3288_Datasheet_V2.2-20170301] #[http://10.10.10.12:8444/images/9/9e/RK_DDR_Support_List_Ver2.24.pdf RK_DDR_Support_List_Ver2.24] #[http://10.10.10.12:8444/images/e/ef/RKeMMCSupportList_Ver1.33_2017_02_15.pdf RKeMMCSupportList_Ver1.33_2017_02_15] = Software = == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" |- | '''board''' | '''kernel''' | '''uboot''' | '''dts''' |- | RK3288_MAINBOARD_V3.0 | rockchip_linux_defconfig | rk3288_linux_defconfig | rk-linux.dts |} &nbsp; &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" |- | '''chip''' | '''Kernel eMMC index''' | '''Kernel SD index''' | '''Uboot eMMC index''' | '''Uboot SD index''' | '''Baud speed''' |- | RK3288 | 1 | 0 | 0 | 1 | 115200 |} == How to get the sources == The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code.&nbsp;Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github. RK3399 optimized Debian & Buildroot <pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml repo sync </pre> == How to build the sources == === Build Environment === You need a 64-bit&nbsp;Ubuntu. Note: old versions&nbsp;Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so Install&nbsp;ARM cross-compile tool chain and compile kernel relative&nbsp;software package:&nbsp; $ sudo apt-get install gcc-arm-linux-gnueabihf&nbsp;gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev === Installing the build tools and download source === Please follow&nbsp;[http://rockchip.wikidot.com/linux-user-guide linux user guide]&nbsp;to install the build tools and download source. &nbsp; === Building kernel === For ARM V8 (RK3399 optimized SDK) <pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre> === Building uboot === For RK3399 optimized SDK (rkproduct uboot) <pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre> === Building rootfs === ==== Debian ==== Yu can download the prebuilt image directly. [http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive] or you could use the&nbsp;[https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script]&nbsp;from Rockchip to build rootfs yourselves. ==== Yocto ==== If you want to use Yocto to build your rootfs see&nbsp;[http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide]&nbsp;for detail. ==== Buildroot ==== If you want to use Buildroot to build your rootfs see&nbsp;[http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide]&nbsp;for detail. &nbsp; &nbsp; &nbsp; &nbsp; = Devices = [[Firefly-RK3288|Firefly-RK3288]]<br/> [[Firefly-RK3288_reload|Firefly-RK3288 reload]]<br/> [[Rock2_Square|Rock2 Square]]<br/> [[Rock2_Full|Rock2 Full]]<br/> [[MiQi|MiQi]]<br/> [[Popmetal|Popmetal]]<br/> [[Fennec|Fennec]]<br/> [[PhyCORE-RK3288|phyCORE-RK3288]] If you need this&nbsp;board, please contact with the following&nbsp;contact information. <pre>Telephone: 4007700590 Email: service@rock-chips.com</pre> = See also = [[RK3328|RK3328]] [[RK3399|RK3399]] = Owners of the SoC on IRC = = Commuity Support = There is no support for the RK3288&nbsp; = References = 1.[http://rockchip.wikidot.com/rk3288#toc0 http://rockchip.wikidot.com/rk3288#toc0] 2.[https://en.wikipedia.org/wiki/ARM_Cortex-A17 https://en.wikipedia.org/wiki/ARM_Cortex-A17] = Exteneral Links = [http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html] e726da057ea4aa448d465c790f5c7a8f013ee2df 302 301 2017-03-08T03:52:27Z Kever 2 wikitext text/x-wiki {{Infobox_SoC | image = [[File:Rk3288_soc.png|250px]] | manufacturer = Rockchip | process = 28nm | cpu = Quad-Core ARM Cortex-A17 | ltwo = | extensions = | memory = 2-channel DDR3/LPDDR2, 2-channel DDR3L, maximum of 4GB total (2GB per channel) | gpu = Mali-T764 | vpu = | apu = | video = HDMI 1.4, MIPI DSI, 2-channel LVDS, 2-channel RGB LCD | audio = I2S, PCM | network = | storage = 4x SD Card, eMMC NAND, 2-channel raw NAND | usb = OTG, 2x Host | other = | release_date = | website = [http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html] }} = Overview = The RK3288 offers&nbsp;an extensible, leading&nbsp;performance,long-standing heritage platform,ideally suited for &nbsp;set-top box solution, tablet and chromebook.The platform is integrated with a Quad-Core Cortex-A17 which up to 1.8GHz and ARM Mali-T764&nbsp;which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant&nbsp;interfaces provide&nbsp;a friendly solution for product&nbsp;development. Futhermore, the power consumption is&nbsp;optimal for applications such as imaging/video, communication and broadband infrastructure,and performance audio applications. &nbsp; = RK3288 SoC Features = *CPU: **Quad Core Cortex-A17&nbsp;up to 1.8GHz **32KB L1-Cache **1MB L2-Cache *GPU: **ARM Mali-T764 GPU, with TE, ASTC, AFBC technology **Quad core 3D Graphics engine **Dual core 2D Graphics engine **Comply with&nbsp;OpenGL ES1.1/2.0/3.0, OpenVG1.1, OpenCL, DirectX11 *Display: **4Kx2K@60fpsHDMI2.0 **Up to 3840X2160 display resolution **Support dual-channel LVDS/dual-channel MIPI-DSI/eDP1.1 *Camera: **Support up to 5M pixels **8bits/10bits/12bits raw data interface&nbsp; *Memory: **Dual channels 64-bit DRAM controller **Support DDR3/DDR3L, LPDDR2, LPDDR3 *Connectivity: **Embedded 13M ISP and MIPI-CSI2 interface *Audio: **I2S/PCM with 8 channels *OS: **Support Android 4.2 or up = History = &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; = Documentation = #[http://10.10.10.12:8444/images/4/4e/Rockchip_RK3288_Datasheet_V2.2-20170301.pdf Rockchip_RK3288_Datasheet_V2.2-20170301] #[http://10.10.10.12:8444/images/9/9e/RK_DDR_Support_List_Ver2.24.pdf RK_DDR_Support_List_Ver2.24] #[http://10.10.10.12:8444/images/e/ef/RKeMMCSupportList_Ver1.33_2017_02_15.pdf RKeMMCSupportList_Ver1.33_2017_02_15] = Software = == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" |- | '''board''' | '''kernel''' | '''uboot''' | '''dts''' |- | RK3288_MAINBOARD_V3.0 | rockchip_linux_defconfig | rk3288_linux_defconfig | rk-linux.dts |} &nbsp; &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" |- | '''chip''' | '''Kernel eMMC index''' | '''Kernel SD index''' | '''Uboot eMMC index''' | '''Uboot SD index''' | '''Baud speed''' |- | RK3288 | 1 | 0 | 0 | 1 | 115200 |} == How to get the sources == The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code.&nbsp;Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github. RK3399 optimized Debian & Buildroot <pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml repo sync </pre> == How to build the sources == === Build Environment === You need a 64-bit&nbsp;Ubuntu. Note: old versions&nbsp;Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so Install&nbsp;ARM cross-compile tool chain and compile kernel relative&nbsp;software package:&nbsp; $ sudo apt-get install gcc-arm-linux-gnueabihf&nbsp;gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev === Installing the build tools and download source === Please follow&nbsp;[http://rockchip.wikidot.com/linux-user-guide linux user guide]&nbsp;to install the build tools and download source. &nbsp; === Building kernel === For ARM V8 (RK3399 optimized SDK) <pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre> === Building uboot === For RK3399 optimized SDK (rkproduct uboot) <pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre> === Building rootfs === ==== Debian ==== Yu can download the prebuilt image directly. [http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive] or you could use the&nbsp;[https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script]&nbsp;from Rockchip to build rootfs yourselves. ==== Yocto ==== If you want to use Yocto to build your rootfs see&nbsp;[http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide]&nbsp;for detail. ==== Buildroot ==== If you want to use Buildroot to build your rootfs see&nbsp;[http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide]&nbsp;for detail. &nbsp; &nbsp; &nbsp; &nbsp; = Devices = [[Firefly-RK3288|Firefly-RK3288]]<br/> [[Firefly-RK3288_reload|Firefly-RK3288 reload]]<br/> [[Rock2_Square|Rock2 Square]]<br/> [[Rock2_Full|Rock2 Full]]<br/> [[MiQi|MiQi]]<br/> [[Popmetal|Popmetal]]<br/> [[Fennec|Fennec]]<br/> [[PhyCORE-RK3288|phyCORE-RK3288]] If you need this&nbsp;board, please contact with the following&nbsp;contact information. <pre>Telephone: 4007700590 Email: service@rock-chips.com</pre> = See also = [[RK3328|RK3328]] [[RK3399|RK3399]] = Owners of the SoC on IRC = = Commuity Support = There is no support for the RK3288&nbsp; = References = 1.[http://rockchip.wikidot.com/rk3288#toc0 http://rockchip.wikidot.com/rk3288#toc0] 2.[https://en.wikipedia.org/wiki/ARM_Cortex-A17 https://en.wikipedia.org/wiki/ARM_Cortex-A17] = Exteneral Links = [http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html] 6cefb8c4aff3eeb127c13e58d9ce17c6f0fdde87 311 302 2017-03-08T06:53:12Z Admin 1 wikitext text/x-wiki {{Infobox SoC | image = [[File:Rk3288_soc.png|250px]] | manufacturer = Rockchip | process = 28nm | cpu = Quad-Core ARM Cortex-A17 | ltwo = | extensions = | memory = 2-channel DDR3/LPDDR2, 2-channel DDR3L, maximum of 4GB total (2GB per channel) | gpu = Mali-T764 | vpu = | apu = | video = HDMI 1.4, MIPI DSI, 2-channel LVDS, 2-channel RGB LCD | audio = I2S, PCM | network = | storage = 4x SD Card, eMMC NAND, 2-channel raw NAND | usb = OTG, 2x Host | other = | release_date = | website = [http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html] }} &nbsp; = Overview = The RK3288 offers&nbsp;an extensible, leading&nbsp;performance,long-standing heritage platform,ideally suited for &nbsp;set-top box solution, tablet and chromebook.The platform is integrated with a Quad-Core Cortex-A17 which up to 1.8GHz and ARM Mali-T764&nbsp;which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant&nbsp;interfaces provide&nbsp;a friendly solution for product&nbsp;development. Futhermore, the power consumption is&nbsp;optimal for applications such as imaging/video, communication and broadband infrastructure,and performance audio applications. &nbsp; = RK3288 SoC Features = *CPU: **Quad Core Cortex-A17&nbsp;up to 1.8GHz **32KB L1-Cache **1MB L2-Cache *GPU: **ARM Mali-T764 GPU, with TE, ASTC, AFBC technology **Quad core 3D Graphics engine **Dual core 2D Graphics engine **Comply with&nbsp;OpenGL ES1.1/2.0/3.0, OpenVG1.1, OpenCL, DirectX11 *Display: **4Kx2K@60fpsHDMI2.0 **Up to 3840X2160 display resolution **Support dual-channel LVDS/dual-channel MIPI-DSI/eDP1.1 *Camera: **Support up to 5M pixels **8bits/10bits/12bits raw data interface&nbsp; *Memory: **Dual channels 64-bit DRAM controller **Support DDR3/DDR3L, LPDDR2, LPDDR3 *Connectivity: **Embedded 13M ISP and MIPI-CSI2 interface *Audio: **I2S/PCM with 8 channels *OS: **Support Android 4.2 or up = History = &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; = Documentation = #[http://10.10.10.12:8444/images/4/4e/Rockchip_RK3288_Datasheet_V2.2-20170301.pdf Rockchip_RK3288_Datasheet_V2.2-20170301] #[http://10.10.10.12:8444/images/9/9e/RK_DDR_Support_List_Ver2.24.pdf RK_DDR_Support_List_Ver2.24] #[http://10.10.10.12:8444/images/e/ef/RKeMMCSupportList_Ver1.33_2017_02_15.pdf RKeMMCSupportList_Ver1.33_2017_02_15] = Software = == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" |- | '''board''' | '''kernel''' | '''uboot''' | '''dts''' |- | RK3288_MAINBOARD_V3.0 | rockchip_linux_defconfig | rk3288_linux_defconfig | rk-linux.dts |} &nbsp; &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" |- | '''chip''' | '''Kernel eMMC index''' | '''Kernel SD index''' | '''Uboot eMMC index''' | '''Uboot SD index''' | '''Baud speed''' |- | RK3288 | 1 | 0 | 0 | 1 | 115200 |} == How to get the sources == The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code.&nbsp;Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github. RK3399 optimized Debian & Buildroot <pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml repo sync </pre> == How to build the sources == === Build Environment === You need a 64-bit&nbsp;Ubuntu. Note: old versions&nbsp;Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so Install&nbsp;ARM cross-compile tool chain and compile kernel relative&nbsp;software package:&nbsp; $ sudo apt-get install gcc-arm-linux-gnueabihf&nbsp;gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev === Installing the build tools and download source === Please follow&nbsp;[http://rockchip.wikidot.com/linux-user-guide linux user guide]&nbsp;to install the build tools and download source. &nbsp; === Building kernel === For ARM V8 (RK3399 optimized SDK) <pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre> === Building uboot === For RK3399 optimized SDK (rkproduct uboot) <pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre> === Building rootfs === ==== Debian ==== Yu can download the prebuilt image directly. [http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive] or you could use the&nbsp;[https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script]&nbsp;from Rockchip to build rootfs yourselves. ==== Yocto ==== If you want to use Yocto to build your rootfs see&nbsp;[http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide]&nbsp;for detail. ==== Buildroot ==== If you want to use Buildroot to build your rootfs see&nbsp;[http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide]&nbsp;for detail. &nbsp; &nbsp; &nbsp; &nbsp; = Devices = [[Firefly-RK3288|Firefly-RK3288]]<br/> [[Firefly-RK3288_reload|Firefly-RK3288 reload]]<br/> [[Rock2_Square|Rock2 Square]]<br/> [[Rock2_Full|Rock2 Full]]<br/> [[MiQi|MiQi]]<br/> [[Popmetal|Popmetal]]<br/> [[Fennec|Fennec]]<br/> [[PhyCORE-RK3288|phyCORE-RK3288]] If you need this&nbsp;board, please contact with the following&nbsp;contact information. <pre>Telephone: 4007700590 Email: service@rock-chips.com</pre> = See also = [[RK3328|RK3328]] [[RK3399|RK3399]] = Owners of the SoC on IRC = = Commuity Support = There is no support for the RK3288&nbsp; = References = 1.[http://rockchip.wikidot.com/rk3288#toc0 http://rockchip.wikidot.com/rk3288#toc0] 2.[https://en.wikipedia.org/wiki/ARM_Cortex-A17 https://en.wikipedia.org/wiki/ARM_Cortex-A17] = Exteneral Links = [http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html] 7bfcd2943da0a72bd563e8eb87f5ae25c701c4f5 314 311 2017-03-08T07:10:47Z Admin 1 wikitext text/x-wiki {{Infobox SoC}} &nbsp; = Overview = The RK3288 offers&nbsp;an extensible, leading&nbsp;performance,long-standing heritage platform,ideally suited for &nbsp;set-top box solution, tablet and chromebook.The platform is integrated with a Quad-Core Cortex-A17 which up to 1.8GHz and ARM Mali-T764&nbsp;which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant&nbsp;interfaces provide&nbsp;a friendly solution for product&nbsp;development. Futhermore, the power consumption is&nbsp;optimal for applications such as imaging/video, communication and broadband infrastructure,and performance audio applications. &nbsp; = RK3288 SoC Features = *CPU: **Quad Core Cortex-A17&nbsp;up to 1.8GHz **32KB L1-Cache **1MB L2-Cache *GPU: **ARM Mali-T764 GPU, with TE, ASTC, AFBC technology **Quad core 3D Graphics engine **Dual core 2D Graphics engine **Comply with&nbsp;OpenGL ES1.1/2.0/3.0, OpenVG1.1, OpenCL, DirectX11 *Display: **4Kx2K@60fpsHDMI2.0 **Up to 3840X2160 display resolution **Support dual-channel LVDS/dual-channel MIPI-DSI/eDP1.1 *Camera: **Support up to 5M pixels **8bits/10bits/12bits raw data interface&nbsp; *Memory: **Dual channels 64-bit DRAM controller **Support DDR3/DDR3L, LPDDR2, LPDDR3 *Connectivity: **Embedded 13M ISP and MIPI-CSI2 interface *Audio: **I2S/PCM with 8 channels *OS: **Support Android 4.2 or up = History = &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; = Documentation = #[http://10.10.10.12:8444/images/4/4e/Rockchip_RK3288_Datasheet_V2.2-20170301.pdf Rockchip_RK3288_Datasheet_V2.2-20170301] #[http://10.10.10.12:8444/images/9/9e/RK_DDR_Support_List_Ver2.24.pdf RK_DDR_Support_List_Ver2.24] #[http://10.10.10.12:8444/images/e/ef/RKeMMCSupportList_Ver1.33_2017_02_15.pdf RKeMMCSupportList_Ver1.33_2017_02_15] = Software = == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" |- | '''board''' | '''kernel''' | '''uboot''' | '''dts''' |- | RK3288_MAINBOARD_V3.0 | rockchip_linux_defconfig | rk3288_linux_defconfig | rk-linux.dts |} &nbsp; &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" |- | '''chip''' | '''Kernel eMMC index''' | '''Kernel SD index''' | '''Uboot eMMC index''' | '''Uboot SD index''' | '''Baud speed''' |- | RK3288 | 1 | 0 | 0 | 1 | 115200 |} == How to get the sources == The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code.&nbsp;Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github. RK3399 optimized Debian & Buildroot <pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml repo sync </pre> == How to build the sources == === Build Environment === You need a 64-bit&nbsp;Ubuntu. Note: old versions&nbsp;Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so Install&nbsp;ARM cross-compile tool chain and compile kernel relative&nbsp;software package:&nbsp; $ sudo apt-get install gcc-arm-linux-gnueabihf&nbsp;gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev === Installing the build tools and download source === Please follow&nbsp;[http://rockchip.wikidot.com/linux-user-guide linux user guide]&nbsp;to install the build tools and download source. &nbsp; === Building kernel === For ARM V8 (RK3399 optimized SDK) <pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre> === Building uboot === For RK3399 optimized SDK (rkproduct uboot) <pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre> === Building rootfs === ==== Debian ==== Yu can download the prebuilt image directly. [http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive] or you could use the&nbsp;[https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script]&nbsp;from Rockchip to build rootfs yourselves. ==== Yocto ==== If you want to use Yocto to build your rootfs see&nbsp;[http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide]&nbsp;for detail. ==== Buildroot ==== If you want to use Buildroot to build your rootfs see&nbsp;[http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide]&nbsp;for detail. &nbsp; &nbsp; &nbsp; &nbsp; = Devices = [[Firefly-RK3288|Firefly-RK3288]]<br/> [[Firefly-RK3288_reload|Firefly-RK3288 reload]]<br/> [[Rock2_Square|Rock2 Square]]<br/> [[Rock2_Full|Rock2 Full]]<br/> [[MiQi|MiQi]]<br/> [[Popmetal|Popmetal]]<br/> [[Fennec|Fennec]]<br/> [[PhyCORE-RK3288|phyCORE-RK3288]] If you need this&nbsp;board, please contact with the following&nbsp;contact information. <pre>Telephone: 4007700590 Email: service@rock-chips.com</pre> = See also = [[RK3328|RK3328]] [[RK3399|RK3399]] = Owners of the SoC on IRC = = Commuity Support = There is no support for the RK3288&nbsp; = References = 1.[http://rockchip.wikidot.com/rk3288#toc0 http://rockchip.wikidot.com/rk3288#toc0] 2.[https://en.wikipedia.org/wiki/ARM_Cortex-A17 https://en.wikipedia.org/wiki/ARM_Cortex-A17] = Exteneral Links = [http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html] 4700f52a44554a4976f262ce98b247c1792c477d 315 314 2017-03-08T07:11:45Z Kever 2 wikitext text/x-wiki {{Infobox SoC | image = [[File:Allwinner_A31s.jpg|250px]] | manufacturer = Allwinner | process = 40nm | cpu = Quad-Core ARM Cortex-A7 | ltwo = | extensions = | memory = 2-channel DDR3/LPDDR2, 2-channel DDR3L, maximum of 4GB total (2GB per channel) | gpu = SGX544 | vpu = | apu = | video = HDMI 1.4, MIPI DSI, 2-channel LVDS, 2-channel RGB LCD | audio = I2S, PCM | network = | storage = 4x SD Card, eMMC NAND, 2-channel raw NAND | usb = OTG, 2x Host | other = | release_date = December 2012 | website = [http://www.allwinnertech.com/en/product/A31.html Product Page] }} &nbsp; = Overview = The RK3288 offers&nbsp;an extensible, leading&nbsp;performance,long-standing heritage platform,ideally suited for &nbsp;set-top box solution, tablet and chromebook.The platform is integrated with a Quad-Core Cortex-A17 which up to 1.8GHz and ARM Mali-T764&nbsp;which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant&nbsp;interfaces provide&nbsp;a friendly solution for product&nbsp;development. Futhermore, the power consumption is&nbsp;optimal for applications such as imaging/video, communication and broadband infrastructure,and performance audio applications. &nbsp; = RK3288 SoC Features = *CPU: **Quad Core Cortex-A17&nbsp;up to 1.8GHz **32KB L1-Cache **1MB L2-Cache *GPU: **ARM Mali-T764 GPU, with TE, ASTC, AFBC technology **Quad core 3D Graphics engine **Dual core 2D Graphics engine **Comply with&nbsp;OpenGL ES1.1/2.0/3.0, OpenVG1.1, OpenCL, DirectX11 *Display: **4Kx2K@60fpsHDMI2.0 **Up to 3840X2160 display resolution **Support dual-channel LVDS/dual-channel MIPI-DSI/eDP1.1 *Camera: **Support up to 5M pixels **8bits/10bits/12bits raw data interface&nbsp; *Memory: **Dual channels 64-bit DRAM controller **Support DDR3/DDR3L, LPDDR2, LPDDR3 *Connectivity: **Embedded 13M ISP and MIPI-CSI2 interface *Audio: **I2S/PCM with 8 channels *OS: **Support Android 4.2 or up = History = &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; = Documentation = #[http://10.10.10.12:8444/images/4/4e/Rockchip_RK3288_Datasheet_V2.2-20170301.pdf Rockchip_RK3288_Datasheet_V2.2-20170301] #[http://10.10.10.12:8444/images/9/9e/RK_DDR_Support_List_Ver2.24.pdf RK_DDR_Support_List_Ver2.24] #[http://10.10.10.12:8444/images/e/ef/RKeMMCSupportList_Ver1.33_2017_02_15.pdf RKeMMCSupportList_Ver1.33_2017_02_15] = Software = == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" |- | '''board''' | '''kernel''' | '''uboot''' | '''dts''' |- | RK3288_MAINBOARD_V3.0 | rockchip_linux_defconfig | rk3288_linux_defconfig | rk-linux.dts |} &nbsp; &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" |- | '''chip''' | '''Kernel eMMC index''' | '''Kernel SD index''' | '''Uboot eMMC index''' | '''Uboot SD index''' | '''Baud speed''' |- | RK3288 | 1 | 0 | 0 | 1 | 115200 |} == How to get the sources == The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code.&nbsp;Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github. RK3399 optimized Debian & Buildroot <pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml repo sync </pre> == How to build the sources == === Build Environment === You need a 64-bit&nbsp;Ubuntu. Note: old versions&nbsp;Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so Install&nbsp;ARM cross-compile tool chain and compile kernel relative&nbsp;software package:&nbsp; $ sudo apt-get install gcc-arm-linux-gnueabihf&nbsp;gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev === Installing the build tools and download source === Please follow&nbsp;[http://rockchip.wikidot.com/linux-user-guide linux user guide]&nbsp;to install the build tools and download source. &nbsp; === Building kernel === For ARM V8 (RK3399 optimized SDK) <pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre> === Building uboot === For RK3399 optimized SDK (rkproduct uboot) <pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre> === Building rootfs === ==== Debian ==== Yu can download the prebuilt image directly. [http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive] or you could use the&nbsp;[https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script]&nbsp;from Rockchip to build rootfs yourselves. ==== Yocto ==== If you want to use Yocto to build your rootfs see&nbsp;[http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide]&nbsp;for detail. ==== Buildroot ==== If you want to use Buildroot to build your rootfs see&nbsp;[http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide]&nbsp;for detail. &nbsp; &nbsp; &nbsp; &nbsp; = Devices = [[Firefly-RK3288|Firefly-RK3288]]<br/> [[Firefly-RK3288_reload|Firefly-RK3288 reload]]<br/> [[Rock2_Square|Rock2 Square]]<br/> [[Rock2_Full|Rock2 Full]]<br/> [[MiQi|MiQi]]<br/> [[Popmetal|Popmetal]]<br/> [[Fennec|Fennec]]<br/> [[PhyCORE-RK3288|phyCORE-RK3288]] If you need this&nbsp;board, please contact with the following&nbsp;contact information. <pre>Telephone: 4007700590 Email: service@rock-chips.com</pre> = See also = [[RK3328|RK3328]] [[RK3399|RK3399]] = Owners of the SoC on IRC = = Commuity Support = There is no support for the RK3288&nbsp; = References = 1.[http://rockchip.wikidot.com/rk3288#toc0 http://rockchip.wikidot.com/rk3288#toc0] 2.[https://en.wikipedia.org/wiki/ARM_Cortex-A17 https://en.wikipedia.org/wiki/ARM_Cortex-A17] = Exteneral Links = [http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html] 421c709f67b44c734d6a8b6e48bc5555265c9742 316 315 2017-03-08T07:13:12Z Kever 2 wikitext text/x-wiki {{Infobox SoC | image = [[File:rk3288_soc.png|250px]] | manufacturer = Rockcihp | process = 28nm | cpu = Quad-Core ARM Cortex-A17 | ltwo = | extensions = | memory = 2-channel DDR3/LPDDR2, 2-channel DDR3L, maximum of 4GB total (2GB per channel) | gpu = SGX544 | vpu = | apu = | video = HDMI 1.4, MIPI DSI, 2-channel LVDS, 2-channel RGB LCD | audio = I2S, PCM | network = | storage = 4x SD Card, eMMC NAND, 2-channel raw NAND | usb = OTG, 2x Host | other = | release_date = December 2012 | website = }} &nbsp; = Overview = The RK3288 offers&nbsp;an extensible, leading&nbsp;performance,long-standing heritage platform,ideally suited for &nbsp;set-top box solution, tablet and chromebook.The platform is integrated with a Quad-Core Cortex-A17 which up to 1.8GHz and ARM Mali-T764&nbsp;which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant&nbsp;interfaces provide&nbsp;a friendly solution for product&nbsp;development. Futhermore, the power consumption is&nbsp;optimal for applications such as imaging/video, communication and broadband infrastructure,and performance audio applications. &nbsp; = RK3288 SoC Features = *CPU: **Quad Core Cortex-A17&nbsp;up to 1.8GHz **32KB L1-Cache **1MB L2-Cache *GPU: **ARM Mali-T764 GPU, with TE, ASTC, AFBC technology **Quad core 3D Graphics engine **Dual core 2D Graphics engine **Comply with&nbsp;OpenGL ES1.1/2.0/3.0, OpenVG1.1, OpenCL, DirectX11 *Display: **4Kx2K@60fpsHDMI2.0 **Up to 3840X2160 display resolution **Support dual-channel LVDS/dual-channel MIPI-DSI/eDP1.1 *Camera: **Support up to 5M pixels **8bits/10bits/12bits raw data interface&nbsp; *Memory: **Dual channels 64-bit DRAM controller **Support DDR3/DDR3L, LPDDR2, LPDDR3 *Connectivity: **Embedded 13M ISP and MIPI-CSI2 interface *Audio: **I2S/PCM with 8 channels *OS: **Support Android 4.2 or up = History = &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; = Documentation = #[http://10.10.10.12:8444/images/4/4e/Rockchip_RK3288_Datasheet_V2.2-20170301.pdf Rockchip_RK3288_Datasheet_V2.2-20170301] #[http://10.10.10.12:8444/images/9/9e/RK_DDR_Support_List_Ver2.24.pdf RK_DDR_Support_List_Ver2.24] #[http://10.10.10.12:8444/images/e/ef/RKeMMCSupportList_Ver1.33_2017_02_15.pdf RKeMMCSupportList_Ver1.33_2017_02_15] = Software = == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" |- | '''board''' | '''kernel''' | '''uboot''' | '''dts''' |- | RK3288_MAINBOARD_V3.0 | rockchip_linux_defconfig | rk3288_linux_defconfig | rk-linux.dts |} &nbsp; &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" |- | '''chip''' | '''Kernel eMMC index''' | '''Kernel SD index''' | '''Uboot eMMC index''' | '''Uboot SD index''' | '''Baud speed''' |- | RK3288 | 1 | 0 | 0 | 1 | 115200 |} == How to get the sources == The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code.&nbsp;Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github. RK3399 optimized Debian & Buildroot <pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml repo sync </pre> == How to build the sources == === Build Environment === You need a 64-bit&nbsp;Ubuntu. Note: old versions&nbsp;Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so Install&nbsp;ARM cross-compile tool chain and compile kernel relative&nbsp;software package:&nbsp; $ sudo apt-get install gcc-arm-linux-gnueabihf&nbsp;gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev === Installing the build tools and download source === Please follow&nbsp;[http://rockchip.wikidot.com/linux-user-guide linux user guide]&nbsp;to install the build tools and download source. &nbsp; === Building kernel === For ARM V8 (RK3399 optimized SDK) <pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre> === Building uboot === For RK3399 optimized SDK (rkproduct uboot) <pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre> === Building rootfs === ==== Debian ==== Yu can download the prebuilt image directly. [http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive] or you could use the&nbsp;[https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script]&nbsp;from Rockchip to build rootfs yourselves. ==== Yocto ==== If you want to use Yocto to build your rootfs see&nbsp;[http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide]&nbsp;for detail. ==== Buildroot ==== If you want to use Buildroot to build your rootfs see&nbsp;[http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide]&nbsp;for detail. &nbsp; &nbsp; &nbsp; &nbsp; = Devices = [[Firefly-RK3288|Firefly-RK3288]]<br/> [[Firefly-RK3288_reload|Firefly-RK3288 reload]]<br/> [[Rock2_Square|Rock2 Square]]<br/> [[Rock2_Full|Rock2 Full]]<br/> [[MiQi|MiQi]]<br/> [[Popmetal|Popmetal]]<br/> [[Fennec|Fennec]]<br/> [[PhyCORE-RK3288|phyCORE-RK3288]] If you need this&nbsp;board, please contact with the following&nbsp;contact information. <pre>Telephone: 4007700590 Email: service@rock-chips.com</pre> = See also = [[RK3328|RK3328]] [[RK3399|RK3399]] = Owners of the SoC on IRC = = Commuity Support = There is no support for the RK3288&nbsp; = References = 1.[http://rockchip.wikidot.com/rk3288#toc0 http://rockchip.wikidot.com/rk3288#toc0] 2.[https://en.wikipedia.org/wiki/ARM_Cortex-A17 https://en.wikipedia.org/wiki/ARM_Cortex-A17] = Exteneral Links = [http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html] 6f0fc4b2a46defe6131cce3f6c627d4ae90e45aa 321 316 2017-03-08T07:27:42Z Kever 2 wikitext text/x-wiki {{Infobox SoC | image = [[File:rk3288_soc.png|250px]] | manufacturer = Rockcihp | process = 28nm | cpu = Quad-Core ARM Cortex-A17 | ltwo = | extensions = | memory = 2-channel DDR3/LPDDR2, 2-channel DDR3L, maximum of 4GB total (2GB per channel) | gpu = SGX544 | vpu = | apu = | video = HDMI 1.4, MIPI DSI, 2-channel LVDS, 2-channel RGB LCD | audio = I2S, PCM | network = | storage = 4x SD Card, eMMC NAND, 2-channel raw NAND | usb = OTG, 2x Host | other = | release_date = December 2012 | website = }} &nbsp; &nbsp; Downloading and Building U-Boot Before flashing U-Boot to your reference platform, you must download and build it on your Linux host system. NVIDIA offers a Git repository containing the source code for a U-Boot build suitable for L4T. Prerequisite Before copying U-Boot, back up all of the original U-Boot files in: <top>/Linux_for_Tegra/bootloader/<[[../Tegra_Linux_Driver_Package_Development_Guide/Glossary/platform_or_ver.html#|platform|ver]]>/<[[../Tegra_Linux_Driver_Package_Development_Guide/Glossary/board_and_rev.html#|board_and_rev]]>/ To download and build U-Boot 1.Download the L4T U-Boot source code by executing the following commands: $ git clone -n git://nv-tegra.nvidia.com/3rdparty/u-boot.git Alternatively, you can use the&nbsp;source_sync.sh&nbsp;script in the L4T release. If you run&nbsp;source_sync.sh -u&nbsp;without parameters, the script prompts for the&nbsp;<TAG_NAME>, which is provided in the&nbsp;Release Notes. The "-k" option to&nbsp;source_sync&nbsp;syncs the kernel sources. A space between the&nbsp;-u&nbsp;and&nbsp;-k&nbsp;options is allowed. By default, if no option is provided, the script syncs the kernel and u-boot sources. Also, you can run the script by passing the&nbsp;<TAG_NAME>&nbsp;as follows: $ cd <your_L4T_root>/Linux_for_Tegra $ ./source_sync.sh -u <TAG_NAME> &nbsp; = Overview = The RK3288 offers&nbsp;an extensible, leading&nbsp;performance,long-standing heritage platform,ideally suited for &nbsp;set-top box solution, tablet and chromebook.The platform is integrated with a Quad-Core Cortex-A17 which up to 1.8GHz and ARM Mali-T764&nbsp;which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant&nbsp;interfaces provide&nbsp;a friendly solution for product&nbsp;development. Futhermore, the power consumption is&nbsp;optimal for applications such as imaging/video, communication and broadband infrastructure,and performance audio applications. &nbsp; = RK3288 SoC Features = *CPU: **Quad Core Cortex-A17&nbsp;up to 1.8GHz **32KB L1-Cache **1MB L2-Cache *GPU: **ARM Mali-T764 GPU, with TE, ASTC, AFBC technology **Quad core 3D Graphics engine **Dual core 2D Graphics engine **Comply with&nbsp;OpenGL ES1.1/2.0/3.0, OpenVG1.1, OpenCL, DirectX11 *Display: **4Kx2K@60fpsHDMI2.0 **Up to 3840X2160 display resolution **Support dual-channel LVDS/dual-channel MIPI-DSI/eDP1.1 *Camera: **Support up to 5M pixels **8bits/10bits/12bits raw data interface&nbsp; *Memory: **Dual channels 64-bit DRAM controller **Support DDR3/DDR3L, LPDDR2, LPDDR3 *Connectivity: **Embedded 13M ISP and MIPI-CSI2 interface *Audio: **I2S/PCM with 8 channels *OS: **Support Android 4.2 or up = History = &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; = Documentation = #[http://10.10.10.12:8444/images/4/4e/Rockchip_RK3288_Datasheet_V2.2-20170301.pdf Rockchip_RK3288_Datasheet_V2.2-20170301] #[http://10.10.10.12:8444/images/9/9e/RK_DDR_Support_List_Ver2.24.pdf RK_DDR_Support_List_Ver2.24] #[http://10.10.10.12:8444/images/e/ef/RKeMMCSupportList_Ver1.33_2017_02_15.pdf RKeMMCSupportList_Ver1.33_2017_02_15] = Software = == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" |- | '''board''' | '''kernel''' | '''uboot''' | '''dts''' |- | RK3288_MAINBOARD_V3.0 | rockchip_linux_defconfig | rk3288_linux_defconfig | rk-linux.dts |} &nbsp; &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" |- | '''chip''' | '''Kernel eMMC index''' | '''Kernel SD index''' | '''Uboot eMMC index''' | '''Uboot SD index''' | '''Baud speed''' |- | RK3288 | 1 | 0 | 0 | 1 | 115200 |} == How to get the sources == The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code.&nbsp;Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github. RK3399 optimized Debian & Buildroot <pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml repo sync </pre> == How to build the sources == === Build Environment === You need a 64-bit&nbsp;Ubuntu. Note: old versions&nbsp;Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so Install&nbsp;ARM cross-compile tool chain and compile kernel relative&nbsp;software package:&nbsp; $ sudo apt-get install gcc-arm-linux-gnueabihf&nbsp;gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev === Installing the build tools and download source === Please follow&nbsp;[http://rockchip.wikidot.com/linux-user-guide linux user guide]&nbsp;to install the build tools and download source. &nbsp; === Building kernel === For ARM V8 (RK3399 optimized SDK) <pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre> === Building uboot === For RK3399 optimized SDK (rkproduct uboot) <pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre> === Building rootfs === ==== Debian ==== Yu can download the prebuilt image directly. [http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive] or you could use the&nbsp;[https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script]&nbsp;from Rockchip to build rootfs yourselves. ==== Yocto ==== If you want to use Yocto to build your rootfs see&nbsp;[http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide]&nbsp;for detail. ==== Buildroot ==== If you want to use Buildroot to build your rootfs see&nbsp;[http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide]&nbsp;for detail. &nbsp; &nbsp; &nbsp; &nbsp; = Devices = [[Firefly-RK3288|Firefly-RK3288]]<br/> [[Firefly-RK3288_reload|Firefly-RK3288 reload]]<br/> [[Rock2_Square|Rock2 Square]]<br/> [[Rock2_Full|Rock2 Full]]<br/> [[MiQi|MiQi]]<br/> [[Popmetal|Popmetal]]<br/> [[Fennec|Fennec]]<br/> [[PhyCORE-RK3288|phyCORE-RK3288]] If you need this&nbsp;board, please contact with the following&nbsp;contact information. <pre>Telephone: 4007700590 Email: service@rock-chips.com</pre> = See also = [[RK3328|RK3328]] [[RK3399|RK3399]] = Owners of the SoC on IRC = = Commuity Support = There is no support for the RK3288&nbsp; = References = 1.[http://rockchip.wikidot.com/rk3288#toc0 http://rockchip.wikidot.com/rk3288#toc0] 2.[https://en.wikipedia.org/wiki/ARM_Cortex-A17 https://en.wikipedia.org/wiki/ARM_Cortex-A17] = Exteneral Links = [http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html] 161ed5b197e8c260ec0464233240d7543af08c5a 322 321 2017-03-08T07:50:14Z Kever 2 wikitext text/x-wiki {{Infobox SoC | image = [[File:rk3288_soc.png|250px]] | manufacturer = Rockcihp | process = 28nm | cpu = Quad-Core ARM Cortex-A17 | ltwo = | extensions = | memory = 2-channel DDR3/LPDDR2, 2-channel DDR3L, maximum of 4GB total (2GB per channel) | gpu = SGX544 | vpu = | apu = | video = HDMI 1.4, MIPI DSI, 2-channel LVDS, 2-channel RGB LCD | audio = I2S, PCM | network = | storage = 4x SD Card, eMMC NAND, 2-channel raw NAND | usb = OTG, 2x Host | other = | release_date = December 2012 | website = }} &nbsp; &nbsp; &nbsp; = <span style="font-family:tahoma,geneva,sans-serif;">Test Line&nbsp;leading&nbsp;performance,long-standing heritage</span> = = <span style="font-family:tahoma,geneva,sans-serif;">integrated with a Quad-Core Cortex-A17 which up to 1.8GHz and ARM</span> = === integrated with a Quad-Core Cortex-A17 which up to 1.8GHz and ARMMali-T764&nbsp;which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant&nbsp;interfaces provide&nbsp;a friendly solution for product&nbsp;development. Futhermore === = Test Line&nbsp;leading&nbsp;performance,long-standing heritage = integrated with a Quad-Core Cortex-A17 which up to 1.8GHz and ARMMali-T764&nbsp;which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant&nbsp;interfaces provide&nbsp;a friendly solution for product&nbsp;development. Futhermore &nbsp; #Test Line&nbsp;leading&nbsp;performance,long-standing heritage #*Test Line&nbsp;leading&nbsp;performance,long-standing heritage #Test Line&nbsp;leading&nbsp;performance,long-standing heritage #Test Line&nbsp;leading&nbsp;performance,long-standing heritage #Test Line&nbsp;leading&nbsp;performance,long-standing heritage #Test Line&nbsp;leading&nbsp;performance,long-standing heritage &nbsp; &nbsp; = Overview = The RK3288 offers&nbsp;an extensible, leading&nbsp;performance,long-standing heritage platform,ideally suited for &nbsp;set-top box solution, tablet and chromebook.The platform is integrated with a Quad-Core Cortex-A17 which up to 1.8GHz and ARM Mali-T764&nbsp;which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant&nbsp;interfaces provide&nbsp;a friendly solution for product&nbsp;development. Futhermore, the power consumption is&nbsp;optimal for applications such as imaging/video, communication and broadband infrastructure,and performance audio applications. &nbsp; = RK3288 SoC Features = *CPU: **Quad Core Cortex-A17&nbsp;up to 1.8GHz **32KB L1-Cache **1MB L2-Cache *GPU: **ARM Mali-T764 GPU, with TE, ASTC, AFBC technology **Quad core 3D Graphics engine **Dual core 2D Graphics engine **Comply with&nbsp;OpenGL ES1.1/2.0/3.0, OpenVG1.1, OpenCL, DirectX11 *Display: **4Kx2K@60fpsHDMI2.0 **Up to 3840X2160 display resolution **Support dual-channel LVDS/dual-channel MIPI-DSI/eDP1.1 *Camera: **Support up to 5M pixels **8bits/10bits/12bits raw data interface&nbsp; *Memory: **Dual channels 64-bit DRAM controller **Support DDR3/DDR3L, LPDDR2, LPDDR3 *Connectivity: **Embedded 13M ISP and MIPI-CSI2 interface *Audio: **I2S/PCM with 8 channels *OS: **Support Android 4.2 or up = History = &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; = Documentation = #[http://10.10.10.12:8444/images/4/4e/Rockchip_RK3288_Datasheet_V2.2-20170301.pdf Rockchip_RK3288_Datasheet_V2.2-20170301] #[http://10.10.10.12:8444/images/9/9e/RK_DDR_Support_List_Ver2.24.pdf RK_DDR_Support_List_Ver2.24] #[http://10.10.10.12:8444/images/e/ef/RKeMMCSupportList_Ver1.33_2017_02_15.pdf RKeMMCSupportList_Ver1.33_2017_02_15] = Software = == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" |- | '''board''' | '''kernel''' | '''uboot''' | '''dts''' |- | RK3288_MAINBOARD_V3.0 | rockchip_linux_defconfig | rk3288_linux_defconfig | rk-linux.dts |} &nbsp; &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" |- | '''chip''' | '''Kernel eMMC index''' | '''Kernel SD index''' | '''Uboot eMMC index''' | '''Uboot SD index''' | '''Baud speed''' |- | RK3288 | 1 | 0 | 0 | 1 | 115200 |} == How to get the sources == The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code.&nbsp;Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github. RK3399 optimized Debian & Buildroot <pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml repo sync </pre> == How to build the sources == === Build Environment === You need a 64-bit&nbsp;Ubuntu. Note: old versions&nbsp;Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so Install&nbsp;ARM cross-compile tool chain and compile kernel relative&nbsp;software package:&nbsp; $ sudo apt-get install gcc-arm-linux-gnueabihf&nbsp;gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev === Installing the build tools and download source === Please follow&nbsp;[http://rockchip.wikidot.com/linux-user-guide linux user guide]&nbsp;to install the build tools and download source. &nbsp; === Building kernel === For ARM V8 (RK3399 optimized SDK) <pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre> === Building uboot === For RK3399 optimized SDK (rkproduct uboot) <pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre> === Building rootfs === ==== Debian ==== Yu can download the prebuilt image directly. [http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive] or you could use the&nbsp;[https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script]&nbsp;from Rockchip to build rootfs yourselves. ==== Yocto ==== If you want to use Yocto to build your rootfs see&nbsp;[http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide]&nbsp;for detail. ==== Buildroot ==== If you want to use Buildroot to build your rootfs see&nbsp;[http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide]&nbsp;for detail. &nbsp; &nbsp; &nbsp; &nbsp; = Devices = [[Firefly-RK3288|Firefly-RK3288]]<br/> [[Firefly-RK3288_reload|Firefly-RK3288 reload]]<br/> [[Rock2_Square|Rock2 Square]]<br/> [[Rock2_Full|Rock2 Full]]<br/> [[MiQi|MiQi]]<br/> [[Popmetal|Popmetal]]<br/> [[Fennec|Fennec]]<br/> [[PhyCORE-RK3288|phyCORE-RK3288]] If you need this&nbsp;board, please contact with the following&nbsp;contact information. <pre>Telephone: 4007700590 Email: service@rock-chips.com</pre> = See also = [[RK3328|RK3328]] [[RK3399|RK3399]] = Owners of the SoC on IRC = = Commuity Support = There is no support for the RK3288&nbsp; = References = 1.[http://rockchip.wikidot.com/rk3288#toc0 http://rockchip.wikidot.com/rk3288#toc0] 2.[https://en.wikipedia.org/wiki/ARM_Cortex-A17 https://en.wikipedia.org/wiki/ARM_Cortex-A17] = Exteneral Links = [http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html] 6641b702720a28205338c9d590ae8d519db83580 File:RK3399 Soc.png 6 47 307 2017-03-08T06:17:11Z Chery 9 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 Template:Infobox/row 10 48 312 2017-03-08T06:58:25Z Kever 2 Created page with "<includeonly><table class="infobox {{{bodyclass|}}}" cellspacing="5" style="width:22em; {{#if:{{{float|}}}|float: {{{float}}}; clear: {{#ifeq:{{{float|}}}|none|both|{{{float}}..." wikitext text/x-wiki <includeonly><table class="infobox {{{bodyclass|}}}" cellspacing="5" style="width:22em; {{#if:{{{float|}}}|float: {{{float}}}; clear: {{#ifeq:{{{float|}}}|none|both|{{{float}}}}}; margin: 0 0 1em 1em;}} {{{bodystyle|}}}"> <!-- Title -->{{#if:{{{title|}}}|<caption class="{{{titleclass|}}}" style="{{{titlestyle|}}}">{{{title}}}</caption>}}<!-- Header -->{{#if:{{{above|}}}|<tr><th colspan=2 class="{{{aboveclass|}}}" style="text-align:center; font-size:125%; font-weight:bold; {{{abovestyle|}}}">{{{above}}}</th></tr>}} {{#ifeq:{{{child|}}}|yes|{{#if:{{{title|}}}|'''{{{title}}}'''}}}}<!-- Image -->{{#if:{{{image|}}}|{{Infobox/row |data={{{image}}}{{#if:{{{caption|}}}|<br /><span style="{{{captionstyle|}}}">{{{caption|}}}</span>}} |datastyle={{{imagestyle|}}} |class={{{imageclass|}}} |rowclass={{{imagerowclass|}}} }} }}<!-- Data rows -->{{Infobox/row |header={{{header1|}}} |headerstyle={{{headerstyle|}}} |label={{{label1|}}} |labelstyle={{{labelstyle|}}} |data={{{data1|}}} |datastyle={{{datastyle|}}} |class={{{class1|}}} |rowclass={{{rowclass1|}}} }}{{Infobox/row |header={{{header2|}}} |headerstyle={{{headerstyle|}}} |label={{{label2|}}} |labelstyle={{{labelstyle|}}} |data={{{data2|}}} |datastyle={{{datastyle|}}} |class={{{class2|}}} |rowclass={{{rowclass2|}}} }}{{Infobox/row |header={{{header3|}}} |headerstyle={{{headerstyle|}}} |label={{{label3|}}} |labelstyle={{{labelstyle|}}} |data={{{data3|}}} |datastyle={{{datastyle|}}} |class={{{class3|}}} |rowclass={{{rowclass3|}}} }}{{Infobox/row |header={{{header4|}}} |headerstyle={{{headerstyle|}}} |label={{{label4|}}} |labelstyle={{{labelstyle|}}} |data={{{data4|}}} |datastyle={{{datastyle|}}} |class={{{class4|}}} |rowclass={{{rowclass4|}}} }}{{Infobox/row |header={{{header5|}}} |headerstyle={{{headerstyle|}}} |label={{{label5|}}} |labelstyle={{{labelstyle|}}} |data={{{data5|}}} |datastyle={{{datastyle|}}} |class={{{class5|}}} |rowclass={{{rowclass5|}}} }}{{Infobox/row |header={{{header6|}}} |headerstyle={{{headerstyle|}}} |label={{{label6|}}} |labelstyle={{{labelstyle|}}} |data={{{data6|}}} |datastyle={{{datastyle|}}} |class={{{class6|}}} |rowclass={{{rowclass6|}}} }}{{Infobox/row |header={{{header7|}}} |headerstyle={{{headerstyle|}}} |label={{{label7|}}} |labelstyle={{{labelstyle|}}} |data={{{data7|}}} |datastyle={{{datastyle|}}} |class={{{class7|}}} |rowclass={{{rowclass7|}}} }}{{Infobox/row |header={{{header8|}}} |headerstyle={{{headerstyle|}}} |label={{{label8|}}} |labelstyle={{{labelstyle|}}} |data={{{data8|}}} |datastyle={{{datastyle|}}} |class={{{class8|}}} |rowclass={{{rowclass8|}}} }}{{Infobox/row |header={{{header9|}}} |headerstyle={{{headerstyle|}}} |label={{{label9|}}} |labelstyle={{{labelstyle|}}} |data={{{data9|}}} |datastyle={{{datastyle|}}} |class={{{class9|}}} |rowclass={{{rowclass9|}}} }}{{Infobox/row |header={{{header10|}}} |headerstyle={{{headerstyle|}}} |label={{{label10|}}} |labelstyle={{{labelstyle|}}} |data={{{data10|}}} |datastyle={{{datastyle|}}} |class={{{class10|}}} |rowclass={{{rowclass10|}}} }}{{Infobox/row |header={{{header11|}}} |headerstyle={{{headerstyle|}}} |label={{{label11|}}} |labelstyle={{{labelstyle|}}} |data={{{data11|}}} |datastyle={{{datastyle|}}} |class={{{class11|}}} |rowclass={{{rowclass11|}}} }}{{Infobox/row |header={{{header12|}}} |headerstyle={{{headerstyle|}}} |label={{{label12|}}} |labelstyle={{{labelstyle|}}} |data={{{data12|}}} |datastyle={{{datastyle|}}} |class={{{class12|}}} |rowclass={{{rowclass12|}}} }}{{Infobox/row |header={{{header13|}}} |headerstyle={{{headerstyle|}}} |label={{{label13|}}} |labelstyle={{{labelstyle|}}} |data={{{data13|}}} |datastyle={{{datastyle|}}} |class={{{class13|}}} |rowclass={{{rowclass13|}}} }}{{Infobox/row |header={{{header14|}}} |headerstyle={{{headerstyle|}}} |label={{{label14|}}} |labelstyle={{{labelstyle|}}} |data={{{data14|}}} |datastyle={{{datastyle|}}} |class={{{class14|}}} |rowclass={{{rowclass14|}}} }}{{Infobox/row |header={{{header15|}}} |headerstyle={{{headerstyle|}}} |label={{{label15|}}} |labelstyle={{{labelstyle|}}} |data={{{data15|}}} |datastyle={{{datastyle|}}} |class={{{class15|}}} |rowclass={{{rowclass15|}}} }}{{Infobox/row |header={{{header16|}}} |headerstyle={{{headerstyle|}}} |label={{{label16|}}} |labelstyle={{{labelstyle|}}} |data={{{data16|}}} |datastyle={{{datastyle|}}} |class={{{class16|}}} |rowclass={{{rowclass16|}}} }}{{Infobox/row |header={{{header17|}}} |headerstyle={{{headerstyle|}}} |label={{{label17|}}} |labelstyle={{{labelstyle|}}} |data={{{data17|}}} |datastyle={{{datastyle|}}} |class={{{class17|}}} |rowclass={{{rowclass17|}}} }}{{Infobox/row |header={{{header18|}}} |headerstyle={{{headerstyle|}}} |label={{{label18|}}} |labelstyle={{{labelstyle|}}} |data={{{data18|}}} |datastyle={{{datastyle|}}} |class={{{class18|}}} |rowclass={{{rowclass18|}}} }}{{Infobox/row |header={{{header19|}}} |headerstyle={{{headerstyle|}}} |label={{{label19|}}} |labelstyle={{{labelstyle|}}} |data={{{data19|}}} |datastyle={{{datastyle|}}} |class={{{class19|}}} |rowclass={{{rowclass19|}}} }}{{Infobox/row |header={{{header20|}}} |headerstyle={{{headerstyle|}}} |label={{{label20|}}} |labelstyle={{{labelstyle|}}} |data={{{data20|}}} |datastyle={{{datastyle|}}} |class={{{class20|}}} |rowclass={{{rowclass20|}}} }} {{Infobox/row |header={{{header21|}}} |headerstyle={{{headerstyle|}}} |label={{{label21|}}} |labelstyle={{{labelstyle|}}} |data={{{data21|}}} |datastyle={{{datastyle|}}} |class={{{class21|}}} |rowclass={{{rowclass21|}}} }} </table></includeonly><noinclude> == Usage == == See also == * {{tl|Infobox/row}} [[Category:Infobox]]</noinclude> 322ac8d7295e07bafc73c109b61b6f123216fb25 Template:Infobox SoC 10 43 313 285 2017-03-08T07:09:43Z Admin 1 wikitext text/x-wiki <table class="infobox" cellspacing="5" style="width:250px;"> <tr><th colspan="2" class="" style="text-align:center; font-size:125%; font-weight:bold; background: #dedede;">A31</th></tr> <tr class=""><td colspan="2" class="" style="text-align:center;"> <a href="https://linux-sunxi.org/File:Allwinner_A31s.jpg" class="image"><img alt="Allwinner A31s.jpg" src="./A31 - linux-sunxi.org_files/Allwinner_A31s.jpg" width="250" height="250"></a></td></tr><tr class=""><th scope="row" style="text-align:left;">Manufacturer</th><td class="" style=""> Allwinner</td></tr><tr class=""><th scope="row" style="text-align:left;">Process</th><td class="" style=""> 40nm</td></tr><tr class=""><th scope="row" style="text-align:left;">CPU</th><td class="" style=""> Quad-Core ARM Cortex-A7</td></tr><tr class=""><th scope="row" style="text-align:left;">Memory</th><td class="" style=""> 2-channel DDR3/LPDDR2, 2-channel DDR3L, maximum of 4GB total (2GB per channel)</td></tr><tr class=""><th scope="row" style="text-align:left;">GPU</th><td class="" style=""> SGX544</td></tr><tr><th colspan="2" class="" style="text-align:center; background: #dedede;">Connectivity</th></tr><tr class=""><th scope="row" style="text-align:left;">Video</th><td class="" style=""> HDMI 1.4, MIPI DSI, 2-channel LVDS, 2-channel RGB LCD</td></tr><tr class=""><th scope="row" style="text-align:left;">Audio</th><td class="" style=""> I2S, PCM</td></tr><tr class=""><th scope="row" style="text-align:left;">Storage</th><td class="" style=""> 4x SD Card, eMMC NAND, 2-channel raw NAND</td></tr><tr class=""><th scope="row" style="text-align:left;">USB</th><td class="" style=""> OTG, 2x Host</td></tr><tr class=""><th scope="row" style="text-align:left;">Release Date</th><td class="" style=""> December 2012</td></tr><tr class=""><th scope="row" style="text-align:left;">Website</th><td class="" style=""> <a rel="nofollow" class="external text" href="http://www.allwinnertech.com/en/product/A31.html">Product Page</a></td></tr> </table> 7fade7d67e10dbcc50a47ef7ffbebb2d2c34d844 317 313 2017-03-08T07:13:29Z Admin 1 wikitext text/x-wiki <table class="infobox" cellspacing="5" style="width:250px;"> <tr><th colspan="2" class="" style="text-align:center; font-size:125%; font-weight:bold; background: #dedede;">A31</th></tr> <tr class=""><td colspan="2" class="" style="text-align:center;"> <a href="https://linux-sunxi.org/File:Allwinner_A31s.jpg" class="image"><img alt="Allwinner A31s.jpg" src="{{{image}}}" width="250" height="250"></a></td></tr><tr class=""><th scope="row" style="text-align:left;">Manufacturer</th><td class="" style=""> Allwinner</td></tr><tr class=""><th scope="row" style="text-align:left;">Process</th><td class="" style=""> 40nm</td></tr><tr class=""><th scope="row" style="text-align:left;">CPU</th><td class="" style=""> Quad-Core ARM Cortex-A7</td></tr><tr class=""><th scope="row" style="text-align:left;">Memory</th><td class="" style=""> 2-channel DDR3/LPDDR2, 2-channel DDR3L, maximum of 4GB total (2GB per channel)</td></tr><tr class=""><th scope="row" style="text-align:left;">GPU</th><td class="" style=""> SGX544</td></tr><tr><th colspan="2" class="" style="text-align:center; background: #dedede;">Connectivity</th></tr><tr class=""><th scope="row" style="text-align:left;">Video</th><td class="" style=""> HDMI 1.4, MIPI DSI, 2-channel LVDS, 2-channel RGB LCD</td></tr><tr class=""><th scope="row" style="text-align:left;">Audio</th><td class="" style=""> I2S, PCM</td></tr><tr class=""><th scope="row" style="text-align:left;">Storage</th><td class="" style=""> 4x SD Card, eMMC NAND, 2-channel raw NAND</td></tr><tr class=""><th scope="row" style="text-align:left;">USB</th><td class="" style=""> OTG, 2x Host</td></tr><tr class=""><th scope="row" style="text-align:left;">Release Date</th><td class="" style=""> December 2012</td></tr><tr class=""><th scope="row" style="text-align:left;">Website</th><td class="" style=""> <a rel="nofollow" class="external text" href="http://www.allwinnertech.com/en/product/A31.html">Product Page</a></td></tr> </table> 71119ae783ec48e7e0edd11b97b0fecc89c75d85 318 317 2017-03-08T07:15:45Z Admin 1 wikitext text/x-wiki <table class="infobox" cellspacing="5" style="width:250px;"> <tr><th colspan="2" class="" style="text-align:center; font-size:125%; font-weight:bold; background: #dedede;">A31</th></tr> <tr class=""><td colspan="2" class="" style="text-align:center;"> {{{image}}}</td></tr><tr class=""><th scope="row" style="text-align:left;">Manufacturer</th><td class="" style=""> Allwinner</td></tr><tr class=""><th scope="row" style="text-align:left;">Process</th><td class="" style=""> 40nm</td></tr><tr class=""><th scope="row" style="text-align:left;">CPU</th><td class="" style=""> Quad-Core ARM Cortex-A7</td></tr><tr class=""><th scope="row" style="text-align:left;">Memory</th><td class="" style=""> 2-channel DDR3/LPDDR2, 2-channel DDR3L, maximum of 4GB total (2GB per channel)</td></tr><tr class=""><th scope="row" style="text-align:left;">GPU</th><td class="" style=""> SGX544</td></tr><tr><th colspan="2" class="" style="text-align:center; background: #dedede;">Connectivity</th></tr><tr class=""><th scope="row" style="text-align:left;">Video</th><td class="" style=""> HDMI 1.4, MIPI DSI, 2-channel LVDS, 2-channel RGB LCD</td></tr><tr class=""><th scope="row" style="text-align:left;">Audio</th><td class="" style=""> I2S, PCM</td></tr><tr class=""><th scope="row" style="text-align:left;">Storage</th><td class="" style=""> 4x SD Card, eMMC NAND, 2-channel raw NAND</td></tr><tr class=""><th scope="row" style="text-align:left;">USB</th><td class="" style=""> OTG, 2x Host</td></tr><tr class=""><th scope="row" style="text-align:left;">Release Date</th><td class="" style=""> December 2012</td></tr><tr class=""><th scope="row" style="text-align:left;">Website</th><td class="" style=""> <a rel="nofollow" class="external text" href="http://www.allwinnertech.com/en/product/A31.html">Product Page</a></td></tr> </table> e207c92a3f1b59a9dc23aaa718dab4aade608b66 Main Page 0 16 319 144 2017-03-08T07:20:28Z Kever 2 wikitext text/x-wiki = '''Rockchip open source code on Github:''' = http://github.com/rockchip-linux &nbsp; &nbsp; = '''Hardware Document''' = {| border="1" cellpadding="0" cellspacing="0" |- | style="width:92px;" | <p style="text-align: center;">SoC</p> | style="width:286px;" | <p style="text-align: center;">Description</p> | style="width:189px;" | <p style="text-align: center;">Download</p> |- | style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p> | style="width:286px;" | Quad-core Cortex-A17 CPU, MALI-T760 GPU | style="width:189px;" | [http://10.10.10.12:8444/index.php?title=TRM TRM], [[Datasheet|Datasheet]],[[Schematic|Schematic]] |- | style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p> | style="width:286px;" | Quad-core Cortex-A53 CPU,MALI-450MP2 GPU | style="width:189px;" | [[TRM|TRM]], [[Datasheet|Datasheet]],[[Schematic|Schematic]] |- | style="width:92px;" | <p style="text-align: center;">[[RK3399|RK3399]]</p> | style="width:286px;" | Dual-core Cortex-A72, Quad-core Cortex-A53 CPU, MALI-T860 GPU | style="width:189px;" | [[TRM|TRM]], [[Datasheet|Datasheet]],[[Schematic|Schematic]] |} = &nbsp; = = '''Software development&nbsp;''' = *'''&nbsp; &nbsp;Porting guide for Linux based OS/Distribution''' &nbsp; &nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Debian|Debian]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Yocto|Yocto]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Buildroot|Buildroot]] &nbsp; *'''&nbsp; BSP module user guide''' &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Rockchip_U-Boot|Rockchip_U-Boot]]&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Rockchip_Kernel|Rockchip_Kernel]]&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Upstream_U-Boot|Upstream U-Boot]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Upstream_Kernel|Upstream_Kernel]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Upstream_ATF|Upstream_ATF]] &nbsp; *'''&nbsp; &nbsp;Graphic and Video module user guide''' &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Display_Server|Display Server]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Gstreamer|Gstreamer]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[MPP|MPP]] &nbsp; *'''Tool and Firmware Upgrade''' &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Rockusb|Rockusb]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Rkdevelptool|Rkdevelptool]] dcd0d3123d013526a18dc2ea58baebf147e195a4 320 319 2017-03-08T07:21:57Z Kever 2 wikitext text/x-wiki = '''Rockchip open source code on Github:''' = [http://github.com/rockchip-linux http://github.com/rockchip-linux] &nbsp; &nbsp; = '''Hardware Document''' = {| border="1" cellpadding="0" cellspacing="0" |- | style="width:92px;" | <p style="text-align: center;">SoC</p> | style="width:286px;" | <p style="text-align: center;">Description</p> | style="width:189px;" | <p style="text-align: center;">Download</p> |- | style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p> | style="width:286px;" | Quad-core Cortex-A17 CPU, MALI-T760 GPU | style="width:189px;" | [http://10.10.10.12:8444/index.php?title=TRM TRM], [[Datasheet|Datasheet]],[[Schematic|Schematic]] |- | style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p> | style="width:286px;" | Quad-core Cortex-A53 CPU,MALI-450MP2 GPU | style="width:189px;" | [[TRM|TRM]], [[Datasheet|Datasheet]],[[Schematic|Schematic]] |- | style="width:92px;" | <p style="text-align: center;">[[RK3399|RK3399]]</p> | style="width:286px;" | Dual-core Cortex-A72, Quad-core Cortex-A53 CPU, MALI-T860 GPU | style="width:189px;" | [[TRM|TRM]], [[Datasheet|Datasheet]],[[Schematic|Schematic]] |} &nbsp; = '''Software development&nbsp;''' = *'''&nbsp; &nbsp;Porting guide for Linux based OS/Distribution''' &nbsp; &nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Debian|Debian]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Yocto|Yocto]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Buildroot|Buildroot]] &nbsp; *'''&nbsp; BSP module user guide''' &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Rockchip_U-Boot|Rockchip_U-Boot]]&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Rockchip_Kernel|Rockchip_Kernel]]&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Upstream_U-Boot|Upstream U-Boot]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Upstream_Kernel|Upstream_Kernel]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Upstream_ATF|Upstream_ATF]] &nbsp; *'''&nbsp; &nbsp;Graphic and Video module user guide''' &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Display_Server|Display Server]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Gstreamer|Gstreamer]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[MPP|MPP]] &nbsp; *'''Tool and Firmware Upgrade''' &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Rockusb|Rockusb]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Rkdevelptool|Rkdevelptool]] bc8ad195d2ac100de7f14e41555609702cfdefeb 323 320 2017-03-08T07:58:23Z Kever 2 wikitext text/x-wiki = '''Rockchip open source code on Github:''' = [http://github.com/rockchip-linux http://github.com/rockchip-linux] &nbsp; &nbsp; = '''Hardware Document''' = {| border="1" cellpadding="0" cellspacing="0" |- | style="width:92px;" | <p style="text-align: center;">SoC</p> | style="width:286px;" | <p style="text-align: center;">Description</p> | style="width:189px;" | <p style="text-align: center;">Download</p> |- | style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p> | style="width:286px;" | Quad-core Cortex-A17 CPU, MALI-T760 GPU | style="width:189px;" | [http://10.10.10.12:8444/index.php?title=TRM TRM], [[Datasheet|Datasheet]],[[Schematic|Schematic]] |- | style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p> | style="width:286px;" | Quad-core Cortex-A53 CPU,MALI-450MP2 GPU | style="width:189px;" | [[TRM|TRM]], [[Datasheet|Datasheet]],[[Schematic|Schematic]] |- | style="width:92px;" | <p style="text-align: center;">[[RK3399|RK3399]]</p> | style="width:286px;" | Dual-core Cortex-A72, Quad-core Cortex-A53 CPU, MALI-T860 GPU | style="width:189px;" | [[TRM|TRM]], [[Datasheet|Datasheet]],[[Schematic|Schematic]] |} [[device|Hardware Device/Board]] = '''Software development&nbsp;''' = *'''&nbsp; &nbsp;Porting guide for Linux based OS/Distribution''' &nbsp; &nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Debian|Debian]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Yocto|Yocto]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Buildroot|Buildroot]] &nbsp; *'''&nbsp; BSP module user guide''' &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Rockchip_U-Boot|Rockchip_U-Boot]]&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Rockchip_Kernel|Rockchip_Kernel]]&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Upstream_U-Boot|Upstream U-Boot]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Upstream_Kernel|Upstream_Kernel]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Upstream_ATF|Upstream_ATF]] &nbsp; *'''&nbsp; &nbsp;Graphic and Video module user guide''' &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Display_Server|Display Server]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Gstreamer|Gstreamer]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[MPP|MPP]] &nbsp; *'''Tool and Firmware Upgrade''' &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Rockusb|Rockusb]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Rkdevelptool|Rkdevelptool]] eb0d427a2725b1644c12441383fbed0409682771 324 323 2017-03-08T08:05:16Z Kever 2 wikitext text/x-wiki = '''Source code:''' = Rockchip provide open source software on Github including fully support for Linux Based OS: Github: rockchip-linux You can also find software for Rockchip SoCs from Upstream [http://github.com/rockchip-linux http://github.com/rockchip-linux] &nbsp; &nbsp; = '''Hardware Document''' = {| border="1" cellpadding="0" cellspacing="0" |- | style="width:92px;" | <p style="text-align: center;">SoC</p> | style="width:286px;" | <p style="text-align: center;">Description</p> | style="width:189px;" | <p style="text-align: center;">Download</p> |- | style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p> | style="width:286px;" | Quad-core Cortex-A17 CPU, MALI-T760 GPU | style="width:189px;" | [http://10.10.10.12:8444/index.php?title=TRM TRM], [[Datasheet|Datasheet]],[[Schematic|Schematic]] |- | style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p> | style="width:286px;" | Quad-core Cortex-A53 CPU,MALI-450MP2 GPU | style="width:189px;" | [[TRM|TRM]], [[Datasheet|Datasheet]],[[Schematic|Schematic]] |- | style="width:92px;" | <p style="text-align: center;">[[RK3399|RK3399]]</p> | style="width:286px;" | Dual-core Cortex-A72, Quad-core Cortex-A53 CPU, MALI-T860 GPU | style="width:189px;" | [[TRM|TRM]], [[Datasheet|Datasheet]],[[Schematic|Schematic]] |} [[Device|Hardware Device/Board]] = '''Software development&nbsp;''' = *'''&nbsp; &nbsp;Porting guide for Linux based OS/Distribution''' &nbsp; &nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Debian|Debian]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Yocto|Yocto]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Buildroot|Buildroot]] &nbsp; *'''&nbsp; BSP module user guide''' &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Rockchip_U-Boot|Rockchip_U-Boot]]&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Rockchip_Kernel|Rockchip_Kernel]]&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Upstream_U-Boot|Upstream U-Boot]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Upstream_Kernel|Upstream_Kernel]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Upstream_ATF|Upstream_ATF]] &nbsp; *'''&nbsp; &nbsp;Graphic and Video module user guide''' &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Display_Server|Display Server]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Gstreamer|Gstreamer]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[MPP|MPP]] &nbsp; *'''Tool and Firmware Upgrade''' &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Rockusb|Rockusb]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Rkdevelptool|Rkdevelptool]] 17c34b5bf803ef79ee51535c6f0fad9ba0b80d99 325 324 2017-03-08T09:15:36Z Kever 2 wikitext text/x-wiki = '''Source code''' = Rockchip provide open source software on Github including fully support for Linux Based OS: Github:&nbsp;[http://github.com/rockchip-linux http://github.com/rockchip-linux] You can also find software for Rockchip SoCs from Upstream: *kernel:&nbsp;http://www.kernel.org/ *U-Boot:&nbsp;http://www.denx.de/wiki/U-Boot/WebHome *ARM Truseted Firmware:&nbsp;https://github.com/ARM-software/arm-trusted-firmware &nbsp; &nbsp; = '''Hardware Document''' = {| border="1" cellpadding="0" cellspacing="0" |- | style="width:92px;" | <p style="text-align: center;">SoC</p> | style="width:286px;" | <p style="text-align: center;">Description</p> | style="width:189px;" | <p style="text-align: center;">Download</p> |- | style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p> | style="width:286px;" | Quad-core Cortex-A17 CPU, MALI-T760 GPU | style="width:189px;" | [http://10.10.10.12:8444/index.php?title=TRM TRM], [[Datasheet|Datasheet]],[[Schematic|Schematic]] |- | style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p> | style="width:286px;" | Quad-core Cortex-A53 CPU,MALI-450MP2 GPU | style="width:189px;" | [[TRM|TRM]], [[Datasheet|Datasheet]],[[Schematic|Schematic]] |- | style="width:92px;" | <p style="text-align: center;">[[RK3399|RK3399]]</p> | style="width:286px;" | Dual-core Cortex-A72, Quad-core Cortex-A53 CPU, MALI-T860 GPU | style="width:189px;" | [[TRM|TRM]], [[Datasheet|Datasheet]],[[Schematic|Schematic]] |} [[Device|Hardware Device/Board]] = '''Software development&nbsp;''' = *'''&nbsp; &nbsp;Porting guide for Linux based OS/Distribution''' &nbsp; &nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Debian|Debian]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Yocto|Yocto]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Buildroot|Buildroot]] &nbsp; *'''&nbsp; BSP module user guide''' &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Rockchip_U-Boot|Rockchip_U-Boot]]&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Rockchip_Kernel|Rockchip_Kernel]]&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Upstream_U-Boot|Upstream U-Boot]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Upstream_Kernel|Upstream_Kernel]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Upstream_ATF|Upstream_ATF]] &nbsp; *'''&nbsp; &nbsp;Graphic and Video module user guide''' &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Display_Server|Display Server]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Gstreamer|Gstreamer]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[MPP|MPP]] &nbsp; *'''Tool and Firmware Upgrade''' &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Rockusb|Rockusb]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Rkdevelptool|Rkdevelptool]] 0c42315cb98ca54df33efc7dad6c5ff0b1bb252b 326 325 2017-03-08T09:18:10Z Kever 2 wikitext text/x-wiki = '''Source code''' = Rockchip provide open source software on Github including fully support for Linux Based OS: Github:&nbsp;[http://github.com/rockchip-linux http://github.com/rockchip-linux] You can also find software for Rockchip SoCs from Upstream: *kernel:&nbsp;[http://www.kernel.org/ http://www.kernel.org/] *U-Boot:&nbsp;[http://www.denx.de/wiki/U-Boot/WebHome http://www.denx.de/wiki/U-Boot/WebHome] *ARM Truseted Firmware:&nbsp;[https://github.com/ARM-software/arm-trusted-firmware https://github.com/ARM-software/arm-trusted-firmware] &nbsp; &nbsp; = '''Hardware Document''' = Here are the documents for SoCs, you can find&nbsp;Hardware device/board on [[device|DEVICE PAGE]]. {| border="1" cellpadding="0" cellspacing="0" |- | style="width:92px;" | <p style="text-align: center;">SoC</p> | style="width:286px;" | <p style="text-align: center;">Description</p> | style="width:189px;" | <p style="text-align: center;">Download</p> |- | style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p> | style="width:286px;" | Quad-core Cortex-A17 CPU, MALI-T760 GPU | style="width:189px;" | [http://10.10.10.12:8444/index.php?title=TRM TRM], [[Datasheet|Datasheet]],[[Schematic|Schematic]] |- | style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p> | style="width:286px;" | Quad-core Cortex-A53 CPU,MALI-450MP2 GPU | style="width:189px;" | [[TRM|TRM]], [[Datasheet|Datasheet]],[[Schematic|Schematic]] |- | style="width:92px;" | <p style="text-align: center;">[[RK3399|RK3399]]</p> | style="width:286px;" | Dual-core Cortex-A72, Quad-core Cortex-A53 CPU, MALI-T860 GPU | style="width:189px;" | [[TRM|TRM]], [[Datasheet|Datasheet]],[[Schematic|Schematic]] |} &nbsp; = '''Software development&nbsp;''' = *'''&nbsp; &nbsp;Porting guide for Linux based OS/Distribution''' &nbsp; &nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Debian|Debian]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Yocto|Yocto]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Buildroot|Buildroot]] &nbsp; *'''&nbsp; BSP module user guide''' &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Rockchip_U-Boot|Rockchip_U-Boot]]&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Rockchip_Kernel|Rockchip_Kernel]]&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Upstream_U-Boot|Upstream U-Boot]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Upstream_Kernel|Upstream_Kernel]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Upstream_ATF|Upstream_ATF]] &nbsp; *'''&nbsp; &nbsp;Graphic and Video module user guide''' &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Display_Server|Display Server]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Gstreamer|Gstreamer]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[MPP|MPP]] &nbsp; *'''Tool and Firmware Upgrade''' &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Rockusb|Rockusb]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Rkdevelptool|Rkdevelptool]] 2f95fbf08f827e8e0cba6db5d33bb23c4e4fed72 327 326 2017-03-08T09:19:13Z Kever 2 wikitext text/x-wiki = '''Source code''' = Rockchip provide open source software on Github including fully support for Linux Based OS: *Github:&nbsp;[http://github.com/rockchip-linux http://github.com/rockchip-linux] You can also find software for Rockchip SoCs from Upstream: *kernel:&nbsp;[http://www.kernel.org/ http://www.kernel.org/] *U-Boot:&nbsp;[http://www.denx.de/wiki/U-Boot/WebHome http://www.denx.de/wiki/U-Boot/WebHome] *ARM Truseted Firmware:&nbsp;[https://github.com/ARM-software/arm-trusted-firmware https://github.com/ARM-software/arm-trusted-firmware] &nbsp; &nbsp; = '''Hardware Document''' = Here are the documents for SoCs, you can find&nbsp;Hardware device/board on [[Device|DEVICE PAGE]]. {| border="1" cellpadding="0" cellspacing="0" |- | style="width:92px;" | <p style="text-align: center;">SoC</p> | style="width:286px;" | <p style="text-align: center;">Description</p> | style="width:189px;" | <p style="text-align: center;">Download</p> |- | style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p> | style="width:286px;" | Quad-core Cortex-A17 CPU, MALI-T760 GPU | style="width:189px;" | [http://10.10.10.12:8444/index.php?title=TRM TRM], [[Datasheet|Datasheet]],[[Schematic|Schematic]] |- | style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p> | style="width:286px;" | Quad-core Cortex-A53 CPU,MALI-450MP2 GPU | style="width:189px;" | [[TRM|TRM]], [[Datasheet|Datasheet]],[[Schematic|Schematic]] |- | style="width:92px;" | <p style="text-align: center;">[[RK3399|RK3399]]</p> | style="width:286px;" | Dual-core Cortex-A72, Quad-core Cortex-A53 CPU, MALI-T860 GPU | style="width:189px;" | [[TRM|TRM]], [[Datasheet|Datasheet]],[[Schematic|Schematic]] |} &nbsp; = '''Software development&nbsp;''' = *'''&nbsp; &nbsp;Porting guide for Linux based OS/Distribution''' &nbsp; &nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Debian|Debian]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Yocto|Yocto]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Buildroot|Buildroot]] &nbsp; *'''&nbsp; BSP module user guide''' &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Rockchip_U-Boot|Rockchip_U-Boot]]&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Rockchip_Kernel|Rockchip_Kernel]]&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Upstream_U-Boot|Upstream U-Boot]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Upstream_Kernel|Upstream_Kernel]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Upstream_ATF|Upstream_ATF]] &nbsp; *'''&nbsp; &nbsp;Graphic and Video module user guide''' &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Display_Server|Display Server]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Gstreamer|Gstreamer]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[MPP|MPP]] &nbsp; *'''Tool and Firmware Upgrade''' &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Rockusb|Rockusb]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Rkdevelptool|Rkdevelptool]] 2e39d5dddeb6635021c8fbc039e7cf380f3244e8 328 327 2017-03-08T09:19:33Z Kever 2 wikitext text/x-wiki = '''Source code''' = Rockchip provide open source software on Github including fully support for Linux Based OS: *Github:&nbsp;[http://github.com/rockchip-linux http://github.com/rockchip-linux] You can also find software for Rockchip SoCs from Upstream: *kernel:&nbsp;[http://www.kernel.org/ http://www.kernel.org/] *U-Boot:&nbsp;[http://www.denx.de/wiki/U-Boot/WebHome http://www.denx.de/wiki/U-Boot/WebHome] *ARM Truseted Firmware:&nbsp;[https://github.com/ARM-software/arm-trusted-firmware https://github.com/ARM-software/arm-trusted-firmware] = '''Hardware Document''' = Here are the documents for SoCs, you can find&nbsp;Hardware device/board on [[Device|DEVICE PAGE]]. {| border="1" cellpadding="0" cellspacing="0" |- | style="width:92px;" | <p style="text-align: center;">SoC</p> | style="width:286px;" | <p style="text-align: center;">Description</p> | style="width:189px;" | <p style="text-align: center;">Download</p> |- | style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p> | style="width:286px;" | Quad-core Cortex-A17 CPU, MALI-T760 GPU | style="width:189px;" | [http://10.10.10.12:8444/index.php?title=TRM TRM], [[Datasheet|Datasheet]],[[Schematic|Schematic]] |- | style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p> | style="width:286px;" | Quad-core Cortex-A53 CPU,MALI-450MP2 GPU | style="width:189px;" | [[TRM|TRM]], [[Datasheet|Datasheet]],[[Schematic|Schematic]] |- | style="width:92px;" | <p style="text-align: center;">[[RK3399|RK3399]]</p> | style="width:286px;" | Dual-core Cortex-A72, Quad-core Cortex-A53 CPU, MALI-T860 GPU | style="width:189px;" | [[TRM|TRM]], [[Datasheet|Datasheet]],[[Schematic|Schematic]] |} &nbsp; = '''Software development&nbsp;''' = *'''&nbsp; &nbsp;Porting guide for Linux based OS/Distribution''' &nbsp; &nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Debian|Debian]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Yocto|Yocto]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Buildroot|Buildroot]] &nbsp; *'''&nbsp; BSP module user guide''' &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Rockchip_U-Boot|Rockchip_U-Boot]]&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Rockchip_Kernel|Rockchip_Kernel]]&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Upstream_U-Boot|Upstream U-Boot]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Upstream_Kernel|Upstream_Kernel]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Upstream_ATF|Upstream_ATF]] &nbsp; *'''&nbsp; &nbsp;Graphic and Video module user guide''' &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Display_Server|Display Server]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Gstreamer|Gstreamer]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[MPP|MPP]] &nbsp; *'''Tool and Firmware Upgrade''' &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Rockusb|Rockusb]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Rkdevelptool|Rkdevelptool]] 3c4f03b6218bd39f7bb9fb3637f33b086ff26614 329 328 2017-03-08T09:19:58Z Kever 2 wikitext text/x-wiki = '''Source code''' = Rockchip provide open source software on Github including fully support for Linux Based OS: *Github:&nbsp;[http://github.com/rockchip-linux http://github.com/rockchip-linux] You can also find software for Rockchip SoCs from Upstream: *kernel:&nbsp;[http://www.kernel.org/ http://www.kernel.org/] *U-Boot:&nbsp;[http://www.denx.de/wiki/U-Boot/WebHome http://www.denx.de/wiki/U-Boot/WebHome] *ARM Truseted Firmware:&nbsp;[https://github.com/ARM-software/arm-trusted-firmware https://github.com/ARM-software/arm-trusted-firmware] = '''Hardware Document''' = Here are the documents for SoCs, you can find&nbsp;Hardware device/board information on [[Device|DEVICE PAGE]]. {| border="1" cellpadding="0" cellspacing="0" |- | style="width:92px;" | <p style="text-align: center;">SoC</p> | style="width:286px;" | <p style="text-align: center;">Description</p> | style="width:189px;" | <p style="text-align: center;">Download</p> |- | style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p> | style="width:286px;" | Quad-core Cortex-A17 CPU, MALI-T760 GPU | style="width:189px;" | [http://10.10.10.12:8444/index.php?title=TRM TRM], [[Datasheet|Datasheet]],[[Schematic|Schematic]] |- | style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p> | style="width:286px;" | Quad-core Cortex-A53 CPU,MALI-450MP2 GPU | style="width:189px;" | [[TRM|TRM]], [[Datasheet|Datasheet]],[[Schematic|Schematic]] |- | style="width:92px;" | <p style="text-align: center;">[[RK3399|RK3399]]</p> | style="width:286px;" | Dual-core Cortex-A72, Quad-core Cortex-A53 CPU, MALI-T860 GPU | style="width:189px;" | [[TRM|TRM]], [[Datasheet|Datasheet]],[[Schematic|Schematic]] |} &nbsp; = '''Software development&nbsp;''' = *'''&nbsp; &nbsp;Porting guide for Linux based OS/Distribution''' &nbsp; &nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Debian|Debian]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Yocto|Yocto]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Buildroot|Buildroot]] &nbsp; *'''&nbsp; BSP module user guide''' &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Rockchip_U-Boot|Rockchip_U-Boot]]&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Rockchip_Kernel|Rockchip_Kernel]]&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Upstream_U-Boot|Upstream U-Boot]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Upstream_Kernel|Upstream_Kernel]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Upstream_ATF|Upstream_ATF]] &nbsp; *'''&nbsp; &nbsp;Graphic and Video module user guide''' &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Display_Server|Display Server]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Gstreamer|Gstreamer]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[MPP|MPP]] &nbsp; *'''Tool and Firmware Upgrade''' &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Rockusb|Rockusb]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Rkdevelptool|Rkdevelptool]] 0ef99846b361fbf2141f94ee84bc6134e2689eae 330 329 2017-03-08T09:24:08Z Kever 2 wikitext text/x-wiki = '''Source code''' = Rockchip provide open source software on Github including fully support for Linux Based OS: *Github:&nbsp;[http://github.com/rockchip-linux http://github.com/rockchip-linux] You can also find software for Rockchip SoCs from Upstream: *kernel:&nbsp;[http://www.kernel.org/ http://www.kernel.org/] *U-Boot:&nbsp;[http://www.denx.de/wiki/U-Boot/WebHome http://www.denx.de/wiki/U-Boot/WebHome] *ARM Truseted Firmware:&nbsp;[https://github.com/ARM-software/arm-trusted-firmware https://github.com/ARM-software/arm-trusted-firmware] = '''Hardware Document''' = Here are the documents for SoCs, you can find&nbsp;Hardware device/board information on [[devices|DEVICE PAGE]]. {| border="1" cellpadding="0" cellspacing="0" |- | style="width:92px;" | <p style="text-align: center;">SoC</p> | style="width:286px;" | <p style="text-align: center;">Description</p> | style="width:189px;" | <p style="text-align: center;">Download</p> |- | style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p> | style="width:286px;" | Quad-core Cortex-A17 CPU, MALI-T760 GPU | style="width:189px;" | [http://10.10.10.12:8444/index.php?title=TRM TRM], [[Datasheet|Datasheet]],[[Schematic|Schematic]] |- | style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p> | style="width:286px;" | Quad-core Cortex-A53 CPU,MALI-450MP2 GPU | style="width:189px;" | [[TRM|TRM]], [[Datasheet|Datasheet]],[[Schematic|Schematic]] |- | style="width:92px;" | <p style="text-align: center;">[[RK3399|RK3399]]</p> | style="width:286px;" | Dual-core Cortex-A72, Quad-core Cortex-A53 CPU, MALI-T860 GPU | style="width:189px;" | [[TRM|TRM]], [[Datasheet|Datasheet]],[[Schematic|Schematic]] |} &nbsp; = '''Software development&nbsp;''' = *'''&nbsp; &nbsp;Porting guide for Linux based OS/Distribution''' &nbsp; &nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Debian|Debian]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Yocto|Yocto]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Buildroot|Buildroot]] &nbsp; *'''&nbsp; BSP module user guide''' &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Rockchip_U-Boot|Rockchip_U-Boot]]&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Rockchip_Kernel|Rockchip_Kernel]]&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Upstream_U-Boot|Upstream U-Boot]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Upstream_Kernel|Upstream_Kernel]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Upstream_ATF|Upstream_ATF]] &nbsp; *'''&nbsp; &nbsp;Graphic and Video module user guide''' &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Display_Server|Display Server]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Gstreamer|Gstreamer]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[MPP|MPP]] &nbsp; *'''Tool and Firmware Upgrade''' &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Rockusb|Rockusb]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Rkdevelptool|Rkdevelptool]] 1c870ff35da640bac2c3e0274c8f269292b483d8 334 330 2017-03-08T09:37:01Z Kever 2 wikitext text/x-wiki = '''Source code''' = Rockchip provide open source software on Github including fully support for Linux Based OS: *Github:&nbsp;[http://github.com/rockchip-linux http://github.com/rockchip-linux] You can also find software for Rockchip SoCs from Upstream: *kernel:&nbsp;[http://www.kernel.org/ http://www.kernel.org/] *U-Boot:&nbsp;[http://www.denx.de/wiki/U-Boot/WebHome http://www.denx.de/wiki/U-Boot/WebHome] *ARM Truseted Firmware:&nbsp;[https://github.com/ARM-software/arm-trusted-firmware https://github.com/ARM-software/arm-trusted-firmware] = '''Hardware Document''' = Here are the documents for SoCs, you can find&nbsp;Hardware device/board information on [[Devices|DEVICE PAGE]]. {| border="1" cellpadding="0" cellspacing="0" |- | style="width:92px;" | <p style="text-align: center;">SoC</p> | style="width:286px;" | <p style="text-align: center;">Description</p> | style="width:189px;" | <p style="text-align: center;">Download</p> |- | style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p> | style="width:286px;" | Quad-core Cortex-A17 CPU, MALI-T760 GPU | style="width:189px;" | [http://10.10.10.12:8444/index.php?title=TRM TRM], [[Datasheet|Datasheet]],[[Schematic|Schematic]] |- | style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p> | style="width:286px;" | Quad-core Cortex-A53 CPU,MALI-450MP2 GPU | style="width:189px;" | [[TRM|TRM]], [[Datasheet|Datasheet]],[[Schematic|Schematic]] |- | style="width:92px;" | <p style="text-align: center;">[[RK3399|RK3399]]</p> | style="width:286px;" | Dual-core Cortex-A72, Quad-core Cortex-A53 CPU, MALI-T860 GPU | style="width:189px;" | [[TRM|TRM]], [[Datasheet|Datasheet]],[[Schematic|Schematic]] |} &nbsp; = '''Software development&nbsp;''' = *'''&nbsp; &nbsp;Porting guide for Linux based OS/Distribution''' &nbsp; &nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Debian|Debian]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Yocto|Yocto]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Buildroot|Buildroot]] &nbsp; *'''&nbsp; BSP module user guide''' &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Rockchip_U-Boot|Rockchip_U-Boot]]&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Rockchip_Kernel|Rockchip_Kernel]]&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Upstream_U-Boot|Upstream U-Boot]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Upstream_Kernel|Upstream_Kernel]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Upstream_ATF|Upstream_ATF]] &nbsp; *'''&nbsp; &nbsp;Graphic and Video module user guide''' &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Display_Server|Display Server]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Gstreamer|Gstreamer]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[MPP|MPP]] &nbsp; *'''Tool and Firmware Upgrade''' &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Rockusb|Rockusb]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Rkdevelptool|Rkdevelptool]] &nbsp; = Feedback = If you have any questions, please send mail to: 85a7286327508b4fa275736a24435b2794501170 335 334 2017-03-08T09:39:24Z Kever 2 wikitext text/x-wiki = '''Source code''' = Rockchip provide open source software on Github including fully support for Linux Based OS: *Github:&nbsp;[http://github.com/rockchip-linux http://github.com/rockchip-linux] You can also find software for Rockchip SoCs from Upstream: *kernel:&nbsp;[http://www.kernel.org/ http://www.kernel.org/] *U-Boot:&nbsp;[http://www.denx.de/wiki/U-Boot/WebHome http://www.denx.de/wiki/U-Boot/WebHome] *ARM Truseted Firmware:&nbsp;[https://github.com/ARM-software/arm-trusted-firmware https://github.com/ARM-software/arm-trusted-firmware] = '''Hardware Document''' = Here are the documents for SoCs, you can find&nbsp;Hardware device/board information on [[Devices|DEVICE PAGE]]. {| border="1" cellpadding="0" cellspacing="0" |- | style="width:92px;" | <p style="text-align: center;">SoC</p> | style="width:286px;" | <p style="text-align: center;">Description</p> | style="width:189px;" | <p style="text-align: center;">Download</p> |- | style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p> | style="width:286px;" | Quad-core Cortex-A17 CPU, MALI-T760 GPU | style="width:189px;" | [http://10.10.10.12:8444/index.php?title=TRM TRM], [[Datasheet|Datasheet]],[[Schematic|Schematic]] |- | style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p> | style="width:286px;" | Quad-core Cortex-A53 CPU,MALI-450MP2 GPU | style="width:189px;" | [[TRM|TRM]], [[Datasheet|Datasheet]],[[Schematic|Schematic]] |- | style="width:92px;" | <p style="text-align: center;">[[RK3399|RK3399]]</p> | style="width:286px;" | Dual-core Cortex-A72, Quad-core Cortex-A53 CPU, MALI-T860 GPU | style="width:189px;" | [[TRM|TRM]], [[Datasheet|Datasheet]],[[Schematic|Schematic]] |} &nbsp; = '''Software development&nbsp;''' = *'''&nbsp;Porting guide for Linux based OS/Distribution''' &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Debian|Debian]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Yocto|Yocto]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Buildroot|Buildroot]] *'''&nbsp;BSP module user guide''' &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Rockchip_U-Boot|Rockchip_U-Boot]]&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Rockchip_Kernel|Rockchip_Kernel]]&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Upstream_U-Boot|Upstream U-Boot]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Upstream_Kernel|Upstream_Kernel]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Upstream_ATF|Upstream_ATF]] *'''&nbsp; Graphic and Video module user guide''' &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Display_Server|Display Server]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Gstreamer|Gstreamer]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[MPP|MPP]] *'''Tool and Firmware Upgrade''' &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Rockusb|Rockusb]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Rkdevelptool|Rkdevelptool]] = Feedback = If you have any questions, please send mail to: 25e9601746261e20ad3d9a5ba1b025ed17a26d4a 336 335 2017-03-08T09:40:53Z Kever 2 wikitext text/x-wiki = '''Source code''' = Rockchip provide open source software on Github including fully support for Linux Based OS: *Github:&nbsp;[http://github.com/rockchip-linux http://github.com/rockchip-linux] You can also find software for Rockchip SoCs from Upstream: *kernel:&nbsp;[http://www.kernel.org/ http://www.kernel.org/] *U-Boot:&nbsp;[http://www.denx.de/wiki/U-Boot/WebHome http://www.denx.de/wiki/U-Boot/WebHome] *ARM Truseted Firmware:&nbsp;[https://github.com/ARM-software/arm-trusted-firmware https://github.com/ARM-software/arm-trusted-firmware] = '''Hardware Document''' = Here are the documents for SoCs, you can find&nbsp;Hardware device/board information on [[Devices|DEVICE PAGE]]. {| border="1" cellpadding="0" cellspacing="0" |- | style="width:92px;" | <p style="text-align: center;">SoC</p> | style="width:286px;" | <p style="text-align: center;">Description</p> | style="width:189px;" | <p style="text-align: center;">Download</p> |- | style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p> | style="width:286px;" | Quad-core Cortex-A17 CPU, MALI-T760 GPU | style="width:189px;" | [http://10.10.10.12:8444/index.php?title=TRM TRM], [[Datasheet|Datasheet]],[[Schematic|Schematic]] |- | style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p> | style="width:286px;" | Quad-core Cortex-A53 CPU,MALI-450MP2 GPU | style="width:189px;" | [[TRM|TRM]], [[Datasheet|Datasheet]],[[Schematic|Schematic]] |- | style="width:92px;" | <p style="text-align: center;">[[RK3399|RK3399]]</p> | style="width:286px;" | Dual-core Cortex-A72, Quad-core Cortex-A53 CPU, MALI-T860 GPU | style="width:189px;" | [[TRM|TRM]], [[Datasheet|Datasheet]],[[Schematic|Schematic]] |} &nbsp; &nbsp; = '''Software development&nbsp;''' = *'''&nbsp;Porting guide for Linux based OS/Distribution''' &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Debian|Debian]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Yocto|Yocto]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Buildroot|Buildroot]] *'''&nbsp;BSP module user guide''' &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Rockchip_U-Boot|Rockchip_U-Boot]]&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Rockchip_Kernel|Rockchip_Kernel]]&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Upstream_U-Boot|Upstream U-Boot]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Upstream_Kernel|Upstream_Kernel]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Upstream_ATF|Upstream_ATF]] *'''&nbsp; Graphic and Video module user guide''' &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Display_Server|Display Server]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Gstreamer|Gstreamer]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[MPP|MPP]] *'''Tool and Firmware Upgrade''' &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Rockusb|Rockusb]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Rkdevelptool|Rkdevelptool]] '''<span style="font-size:xx-large;">Feedback</span>''' If you have any questions, please send mail to: 0e7bc628ccce7db95a7cea2f3a67f46f704c95cb 337 336 2017-03-08T09:42:10Z Kever 2 wikitext text/x-wiki = '''Source code''' = Rockchip provide open source software on Github including fully support for Linux Based OS: *Github:&nbsp;[http://github.com/rockchip-linux http://github.com/rockchip-linux] You can also find software for Rockchip SoCs from Upstream: *kernel:&nbsp;[http://www.kernel.org/ http://www.kernel.org/] *U-Boot:&nbsp;[http://www.denx.de/wiki/U-Boot/WebHome http://www.denx.de/wiki/U-Boot/WebHome] *ARM Truseted Firmware:&nbsp;[https://github.com/ARM-software/arm-trusted-firmware https://github.com/ARM-software/arm-trusted-firmware] = '''Hardware Document''' = Here are the documents for SoCs, you can find&nbsp;Hardware device/board information on [[Devices|DEVICE PAGE]]. {| border="1" cellpadding="0" cellspacing="0" |- | style="width:92px;" | <p style="text-align: center;">SoC</p> | style="width:286px;" | <p style="text-align: center;">Description</p> | style="width:189px;" | <p style="text-align: center;">Download</p> |- | style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p> | style="width:286px;" | Quad-core Cortex-A17 CPU, MALI-T760 GPU | style="width:189px;" | [http://10.10.10.12:8444/index.php?title=TRM TRM], [[Datasheet|Datasheet]],[[Schematic|Schematic]], Layout Guide |- | style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p> | style="width:286px;" | Quad-core Cortex-A53 CPU,MALI-450MP2 GPU | style="width:189px;" | [[TRM|TRM]], [[Datasheet|Datasheet]],[[Schematic|Schematic]], Layout Guide |- | style="width:92px;" | <p style="text-align: center;">[[RK3399|RK3399]]</p> | style="width:286px;" | Dual-core Cortex-A72, Quad-core Cortex-A53 CPU, MALI-T860 GPU | style="width:189px;" | [[TRM|TRM]], [[Datasheet|Datasheet]],[[Schematic|Schematic]], Layout Guide |} &nbsp; &nbsp; = '''Software development&nbsp;''' = *'''&nbsp;Porting guide for Linux based OS/Distribution''' &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Debian|Debian]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Yocto|Yocto]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Buildroot|Buildroot]] *'''&nbsp;BSP module user guide''' &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Rockchip_U-Boot|Rockchip_U-Boot]]&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Rockchip_Kernel|Rockchip_Kernel]]&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Upstream_U-Boot|Upstream U-Boot]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Upstream_Kernel|Upstream_Kernel]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Upstream_ATF|Upstream_ATF]] *'''&nbsp; Graphic and Video module user guide''' &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Display_Server|Display Server]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Gstreamer|Gstreamer]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[MPP|MPP]] *'''Tool and Firmware Upgrade''' &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Rockusb|Rockusb]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Rkdevelptool|Rkdevelptool]] '''<span style="font-size:xx-large;">Feedback</span>''' If you have any questions, please send mail to: 7ae34539e6b6d106281d063c730cdd9135d3a1e2 338 337 2017-03-08T09:44:25Z Kever 2 wikitext text/x-wiki = '''Source code''' = Rockchip provide open source software on Github including fully support for Linux Based OS: *Github:&nbsp;[http://github.com/rockchip-linux http://github.com/rockchip-linux] You can also find software for Rockchip SoCs from Upstream: *Linux kernel:&nbsp;[http://www.kernel.org/ http://www.kernel.org/] *U-Boot:&nbsp;[http://www.denx.de/wiki/U-Boot/WebHome http://www.denx.de/wiki/U-Boot/WebHome] *ARM Truseted Firmware:&nbsp;[https://github.com/ARM-software/arm-trusted-firmware https://github.com/ARM-software/arm-trusted-firmware] = '''Hardware Document''' = Here are the documents for SoCs, you can find&nbsp;Hardware device/board information on [[Devices|DEVICE PAGE]]. {| border="1" cellpadding="0" cellspacing="0" |- | style="width:92px;" | <p style="text-align: center;">SoC</p> | style="width:286px;" | <p style="text-align: center;">Description</p> | style="width:189px;" | <p style="text-align: center;">Download</p> |- | style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p> | style="width:286px;" | Quad-core Cortex-A17 CPU, MALI-T760 GPU | style="width:189px;" | [http://10.10.10.12:8444/index.php?title=TRM TRM], [[Datasheet|Datasheet]],[[Schematic|Schematic]], Layout Guide |- | style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p> | style="width:286px;" | Quad-core Cortex-A53 CPU,MALI-450MP2 GPU | style="width:189px;" | [[TRM|TRM]], [[Datasheet|Datasheet]],[[Schematic|Schematic]], Layout Guide |- | style="width:92px;" | <p style="text-align: center;">[[RK3399|RK3399]]</p> | style="width:286px;" | Dual-core Cortex-A72, Quad-core Cortex-A53 CPU, MALI-T860 GPU | style="width:189px;" | [[TRM|TRM]], [[Datasheet|Datasheet]],[[Schematic|Schematic]], Layout Guide |} &nbsp; &nbsp; = '''Software development&nbsp;''' = *'''&nbsp;Porting guide for Linux based OS/Distribution''' &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Debian|Debian]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Yocto|Yocto]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Buildroot|Buildroot]] *'''&nbsp;BSP module user guide''' &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Rockchip_U-Boot|Rockchip_U-Boot]]&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Rockchip_Kernel|Rockchip_Kernel]]&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Upstream_U-Boot|Upstream U-Boot]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Upstream_Kernel|Upstream_Kernel]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Upstream_ATF|Upstream_ATF]] *'''&nbsp; Graphic and Video module user guide''' &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Display_Server|Display Server]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Gstreamer|Gstreamer]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[MPP|MPP]] *'''Tool and Firmware Upgrade''' &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Rockusb|Rockusb]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Rkdevelptool|Rkdevelptool]] '''<span style="font-size:xx-large;">Feedback</span>''' If you have any questions, please send mail to: 5c12f20ada3ac2b2d7f9ab3a8cfe71ce02f24c95 339 338 2017-03-08T10:50:13Z Kever 2 wikitext text/x-wiki = '''Source code''' = Rockchip provide open source software on Github including fully support for Linux Based OS: *Github:&nbsp;[http://github.com/rockchip-linux http://github.com/rockchip-linux] You can also find software for Rockchip SoCs from Upstream: *Linux kernel:&nbsp;[http://www.kernel.org/ http://www.kernel.org/] *U-Boot:&nbsp;[http://www.denx.de/wiki/U-Boot/WebHome http://www.denx.de/wiki/U-Boot/WebHome] *ARM Truseted Firmware:&nbsp;[https://github.com/ARM-software/arm-trusted-firmware https://github.com/ARM-software/arm-trusted-firmware] = '''Hardware Document''' = Here are the documents for SoCs, you can find&nbsp;Hardware device/board information on [[Devices|DEVICE PAGE]]. {| border="1" cellpadding="0" cellspacing="0" |- | style="width:92px;" | <p style="text-align: center;">SoC</p> | style="width:286px;" | <p style="text-align: center;">Description</p> | style="width:189px;" | <p style="text-align: center;">Download</p> |- | style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p> | style="width:286px;" | Quad-core Cortex-A17 CPU, MALI-T764 GPU | style="width:189px;" | [http://10.10.10.12:8444/index.php?title=TRM TRM], [[Datasheet|Datasheet]],[[Schematic|Schematic]], Layout Guide |- | style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p> | style="width:286px;" | Quad-core Cortex-A53 CPU,MALI-450MP2 GPU | style="width:189px;" | [[TRM|TRM]], [[Datasheet|Datasheet]],[[Schematic|Schematic]], Layout Guide |- | style="width:92px;" | <p style="text-align: center;">[[RK3399|RK3399]]</p> | style="width:286px;" | Dual-core Cortex-A72, Quad-core Cortex-A53 CPU, MALI-T864 GPU | style="width:189px;" | [[TRM|TRM]], [[Datasheet|Datasheet]],[[Schematic|Schematic]], Layout Guide |} &nbsp; &nbsp; = '''Software development&nbsp;''' = *'''&nbsp;Porting guide for Linux based OS/Distribution''' &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Debian|Debian]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Yocto|Yocto]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Buildroot|Buildroot]] *'''&nbsp;BSP module user guide''' &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Rockchip_U-Boot|Rockchip_U-Boot]]&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Rockchip_Kernel|Rockchip_Kernel]]&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Upstream_U-Boot|Upstream U-Boot]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Upstream_Kernel|Upstream_Kernel]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Upstream_ATF|Upstream_ATF]] *'''&nbsp; Graphic and Video module user guide''' &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Display_Server|Display Server]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Gstreamer|Gstreamer]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[MPP|MPP]] *'''Tool and Firmware Upgrade''' &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Rockusb|Rockusb]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Rkdevelptool|Rkdevelptool]] '''<span style="font-size:xx-large;">Feedback</span>''' If you have any questions, please send mail to: 840ab716f6b5fee4c68abcb548fed25b0f99dd8a 340 339 2017-03-08T11:06:33Z Kever 2 wikitext text/x-wiki = '''Source code''' = Rockchip provide open source software on Github including fully support for Linux Based OS: *Github:&nbsp;[http://github.com/rockchip-linux http://github.com/rockchip-linux] You can also find software for Rockchip SoCs from Upstream: *Linux kernel:&nbsp;[http://www.kernel.org/ http://www.kernel.org/] *U-Boot:&nbsp;[http://www.denx.de/wiki/U-Boot/WebHome http://www.denx.de/wiki/U-Boot/WebHome] *ARM Truseted Firmware:&nbsp;[https://github.com/ARM-software/arm-trusted-firmware https://github.com/ARM-software/arm-trusted-firmware] = '''Hardware Document''' = Here are the documents for SoCs, you can find&nbsp;Hardware device/board information on [[Devices|DEVICE PAGE]]. {| border="1" cellpadding="0" cellspacing="0" |- | style="width:92px;" | <p style="text-align: center;">SoC</p> | style="width:286px;" | <p style="text-align: center;">Description</p> | style="width:189px;" | <p style="text-align: center;">Download</p> |- | style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p> | style="width:286px;" | Quad-core Cortex-A17 CPU, MALI-T764 GPU | style="width:189px;" | [http://10.10.10.12:8444/index.php?title=TRM TRM], [[Datasheet|Datasheet]],[[Schematic|Schematic]], Layout Guide |- | style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p> | style="width:286px;" | Quad-core Cortex-A53 CPU,MALI-450MP2 GPU | style="width:189px;" | [[TRM|TRM]], [[Datasheet|Datasheet]],[[Schematic|Schematic]], Layout Guide |- | style="width:92px;" | <p style="text-align: center;">[[RK3399|RK3399]]</p> | style="width:286px;" | Dual-core Cortex-A72, Quad-core Cortex-A53 CPU, MALI-T864 GPU | style="width:189px;" | [[TRM|TRM]], [[Datasheet|Datasheet]],[[Schematic|Schematic]], Layout Guide |} &nbsp; &nbsp; = '''Software development&nbsp;''' = *'''&nbsp;Porting guide for Linux based OS/Distribution''' &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Debian|Debian]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Yocto|Yocto]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Buildroot|Buildroot]] *'''&nbsp;BSP module user guide''' &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[U-Boot|U-Boot]]&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Rockchip_Kernel|Rockchip Kernel]]&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Upstream_Kernel|Upstream Kernel]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Upstream_ATF|Upstream ATF]] *'''&nbsp; Graphic and Video module user guide''' &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Display_Server|Display Server]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Gstreamer|Gstreamer]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[MPP|MPP]] *'''Tool and Firmware Upgrade''' &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Rockusb|Rockusb]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Rkdevelptool|Rkdevelptool]] '''<span style="font-size:xx-large;">Feedback</span>''' If you have any questions, please send mail to: 55e858aa9b6c72dc7fdea5edc3a7bf3939556d78 Devices 0 49 331 2017-03-08T09:26:54Z Kever 2 Created page with " We list the boards that appeared on upstream source code and Rockchip github. = RK3288 Boards = Firefly-RK3288 &nbsp; = RK3399 Boards = Firefly-RK3399 &nbsp; = RK3328..." wikitext text/x-wiki We list the boards that appeared on upstream source code and Rockchip github. = RK3288 Boards = Firefly-RK3288 &nbsp; = RK3399 Boards = Firefly-RK3399 &nbsp; = RK3328 Boards = 3073beecb5e1273c4779162472642770ec704a8c 332 331 2017-03-08T09:28:24Z Kever 2 wikitext text/x-wiki We list the boards that appeared on upstream source code and Rockchip github. = RK3288 Boards = Firefly-RK3288 ASUS: Tinker Board &nbsp; = RK3399 Boards = Firefly-RK3399 Rockchip: Excavator sapphire &nbsp; = RK3328 Boards = c9228f8d4b5ff975e43cc8fb2340c1db9c0c9de8 333 332 2017-03-08T09:31:07Z Kever 2 wikitext text/x-wiki Here list the boards that appear&nbsp;at upstream or Rockchip github&nbsp;source code. = RK3288 Boards = Firefly-RK3288 ASUS: Tinker Board &nbsp; = RK3399 Boards = Firefly-RK3399 Rockchip: Excavator sapphire &nbsp; = RK3328 Boards = d3e3d346bb84731852e529eea07b66e52308b12d U-Boot 0 11 341 70 2017-03-08T11:29:39Z Kever 2 wikitext text/x-wiki U-Boot Guide = Download U-Boot = == Upstream U-Boot == You can clone the u-boot repository by running: <pre>git clone git://git.denx.de/u-boot.git</pre> Alternatively you can use u-boot-rockchip instead which may with some patches not get in mainline: <pre>git clone git://git.denx.de/u-boot-rockchip.git</pre> == Rockchp U-Boot == You can clone the u-boot repository by running: <pre>git clone https://github.com/rockchip-linux/u-boot.git</pre> &nbsp; = Supported Devices = = Configure U-Boot = = Build U-Boot = == Get a toolchain == If you haven't done so before, get a suitable&nbsp;toolchain&nbsp;installed and added to your PATH. = U-Boot functions = = Istall U-Boot = ca3ccd3283ffd594d524af2966e8a6a54432cb4d 342 341 2017-03-08T11:38:09Z Kever 2 wikitext text/x-wiki U-Boot Guide = Download U-Boot = == Upstream U-Boot == You can clone the u-boot repository by running: <pre>git clone git://git.denx.de/u-boot.git</pre> Alternatively you can use u-boot-rockchip instead which may with some patches not get in mainline: <pre>git clone git://git.denx.de/u-boot-rockchip.git</pre> == Rockchp U-Boot == You can clone the u-boot repository by running: <pre>git clone https://github.com/rockchip-linux/u-boot.git</pre> &nbsp; = Supported Devices = Upstream U-Boot support Rockchip SoCs: RK3036, RK3188, [[RK3288]], [[RK3328|RK3328]], [[RK3399]] RK3036 board supported: #EVB RK3036 - use evb-rk3036 configuration #Kylin - use kylin_rk3036 configuration RK3288 boards supported: #EVB RK3288 - use evb-rk3288 configuration #Fennec RK3288 - use fennec-rk3288 configuration #Firefly RK3288 - use firefly-rk3288 configuration #Hisense Chromebook - use chromebook_jerry configuration #Miniarm RK3288 - use miniarm-rk3288 configuration #PopMetal RK3288 - use popmetal-rk3288 configuration #Radxa Rock 2 - use rock2 configuration #ASUS Tinker RK3188 boards&nbsp;supported: #Radxa Rock - use rock&nbsp;configuration RK3328 boards&nbsp;supported: #EVB RK3328 - use evb-rk3328 configuration RK3399 boards&nbsp;supported: #EVB RK3399 - use evb-rk3399 configuration = Configure U-Boot = = Build U-Boot = == Get a toolchain == If you haven't done so before, get a suitable&nbsp;toolchain&nbsp;installed and added to your PATH. = U-Boot functions = = Istall U-Boot = 3e8fe721abc59a6fc5dca5cfb82bee93d25d1730 343 342 2017-03-08T11:39:08Z Kever 2 wikitext text/x-wiki U-Boot Guide = Download U-Boot = == Upstream U-Boot == You can clone the u-boot repository by running: <pre>git clone git://git.denx.de/u-boot.git</pre> Alternatively you can use u-boot-rockchip instead which may with some patches not get in mainline: <pre>git clone git://git.denx.de/u-boot-rockchip.git</pre> == Rockchp U-Boot == You can clone the u-boot repository by running: <pre>git clone https://github.com/rockchip-linux/u-boot.git</pre> &nbsp; = Supported Devices = Upstream U-Boot support Rockchip SoCs: RK3036, RK3188, [[RK3288|RK3288]], [[RK3328|RK3328]], [[RK3399|RK3399]] *RK3036 board supported: <ol style="margin-left: 40px;"> <li>EVB RK3036 - use evb-rk3036 configuration</li> <li>Kylin - use kylin_rk3036 configuration</li> </ol> *RK3288 boards supported: <ol style="margin-left: 40px;"> <li>EVB RK3288 - use evb-rk3288 configuration</li> <li>Fennec RK3288 - use fennec-rk3288 configuration</li> <li>Firefly RK3288 - use firefly-rk3288 configuration</li> <li>Hisense Chromebook - use chromebook_jerry configuration</li> <li>Miniarm RK3288 - use miniarm-rk3288 configuration</li> <li>PopMetal RK3288 - use popmetal-rk3288 configuration</li> <li>Radxa Rock 2 - use rock2 configuration</li> <li>ASUS Tinker</li> </ol> *RK3188 boards&nbsp;supported: <ol style="margin-left: 40px;"> <li>Radxa Rock - use rock&nbsp;configuration</li> </ol> *RK3328 boards&nbsp;supported: <ol style="margin-left: 40px;"> <li>EVB RK3328 - use evb-rk3328 configuration</li> </ol> *RK3399 boards&nbsp;supported: <ol style="margin-left: 40px;"> <li>EVB RK3399 - use evb-rk3399 configuration</li> </ol> = Configure U-Boot = = Build U-Boot = == Get a toolchain == If you haven't done so before, get a suitable&nbsp;toolchain&nbsp;installed and added to your PATH. = U-Boot functions = = Istall U-Boot = 09aa9b44b138184f8cd84b7325aa5684b543e5cd 344 343 2017-03-08T11:39:34Z Kever 2 wikitext text/x-wiki U-Boot Guide = Download U-Boot = == Upstream U-Boot == You can clone the u-boot repository by running: <pre>git clone git://git.denx.de/u-boot.git</pre> Alternatively you can use u-boot-rockchip instead which may with some patches not get in mainline: <pre>git clone git://git.denx.de/u-boot-rockchip.git</pre> == Rockchp U-Boot == You can clone the u-boot repository by running: <pre>git clone https://github.com/rockchip-linux/u-boot.git</pre> &nbsp; = Supported Devices = Upstream U-Boot support Rockchip SoCs: RK3036, RK3188, [[RK3288|RK3288]], [[RK3328|RK3328]], [[RK3399|RK3399]] &nbsp; *RK3036 boards supported: <ol style="margin-left: 40px;"> <li>EVB RK3036 - use evb-rk3036 configuration</li> <li>Kylin - use kylin_rk3036 configuration</li> </ol> *RK3288 boards supported: <ol style="margin-left: 40px;"> <li>EVB RK3288 - use evb-rk3288 configuration</li> <li>Fennec RK3288 - use fennec-rk3288 configuration</li> <li>Firefly RK3288 - use firefly-rk3288 configuration</li> <li>Hisense Chromebook - use chromebook_jerry configuration</li> <li>Miniarm RK3288 - use miniarm-rk3288 configuration</li> <li>PopMetal RK3288 - use popmetal-rk3288 configuration</li> <li>Radxa Rock 2 - use rock2 configuration</li> <li>ASUS Tinker</li> </ol> *RK3188 boards&nbsp;supported: <ol style="margin-left: 40px;"> <li>Radxa Rock - use rock&nbsp;configuration</li> </ol> *RK3328 boards&nbsp;supported: <ol style="margin-left: 40px;"> <li>EVB RK3328 - use evb-rk3328 configuration</li> </ol> *RK3399 boards&nbsp;supported: <ol style="margin-left: 40px;"> <li>EVB RK3399 - use evb-rk3399 configuration</li> </ol> = Configure U-Boot = = Build U-Boot = == Get a toolchain == If you haven't done so before, get a suitable&nbsp;toolchain&nbsp;installed and added to your PATH. = U-Boot functions = = Istall U-Boot = b5ae0b308551bb907991d220e74f3e71ab2faa76 345 344 2017-03-08T11:45:05Z Kever 2 wikitext text/x-wiki U-Boot Guide = Download U-Boot = == Upstream U-Boot == You can clone the u-boot repository by running: <pre>git clone git://git.denx.de/u-boot.git</pre> Alternatively you can use u-boot-rockchip instead which may with some patches not get in mainline: <pre>git clone git://git.denx.de/u-boot-rockchip.git</pre> == Rockchp U-Boot == You can clone the u-boot repository by running: <pre>git clone https://github.com/rockchip-linux/u-boot.git</pre> &nbsp; = Supported Devices = Upstream U-Boot support Rockchip SoCs: RK3036, RK3188, [[RK3288|RK3288]], [[RK3328|RK3328]], [[RK3399|RK3399]] &nbsp; *RK3036 boards supported: <ol style="margin-left: 40px;"> <li>EVB RK3036 - use evb-rk3036 configuration</li> <li>Kylin - use kylin_rk3036 configuration</li> </ol> *RK3288 boards supported: <ol style="margin-left: 40px;"> <li>EVB RK3288 - use evb-rk3288 configuration</li> <li>Fennec RK3288 - use fennec-rk3288 configuration</li> <li>Firefly RK3288 - use firefly-rk3288 configuration</li> <li>Hisense Chromebook - use chromebook_jerry configuration</li> <li>Miniarm RK3288 - use miniarm-rk3288 configuration</li> <li>PopMetal RK3288 - use popmetal-rk3288 configuration</li> <li>Radxa Rock 2 - use rock2 configuration</li> <li>ASUS Tinker</li> </ol> *RK3188 boards&nbsp;supported: <ol style="margin-left: 40px;"> <li>Radxa Rock - use rock&nbsp;configuration</li> </ol> *RK3328 boards&nbsp;supported: <ol style="margin-left: 40px;"> <li>EVB RK3328 - use evb-rk3328 configuration</li> </ol> *RK3399 boards&nbsp;supported: <ol style="margin-left: 40px;"> <li>EVB RK3399 - use evb-rk3399 configuration</li> </ol> = Configure U-Boot = First you need to chose a correct defconfig for your board; When you have determined what <board_name> you want to build, configure: <pre>make CROSS_COMPILE=arm-linux-gnueabi-&nbsp;<board_name>_defconfig</pre> You may need to change the U-Boot function/feature support by modify the defconfig file or, there is also menuconfig to play with settings if you feel like it: <pre>make CROSS_COMPILE=arm-linux-gnueabi- menuconfig</pre> &nbsp; = Build U-Boot = == Get a toolchain == If you haven't done so before, get a suitable&nbsp;toolchain&nbsp;installed and added to your PATH. = U-Boot functions = = Istall U-Boot = b2949f3e80c9a3f87bf44f58fbaf7e4f279c5945 346 345 2017-03-08T11:45:21Z Kever 2 wikitext text/x-wiki U-Boot Guide = Download U-Boot = == Upstream U-Boot == You can clone the u-boot repository by running: <pre>git clone git://git.denx.de/u-boot.git</pre> Alternatively you can use u-boot-rockchip instead which may with some patches not get in mainline: <pre>git clone git://git.denx.de/u-boot-rockchip.git</pre> == Rockchp U-Boot == You can clone the u-boot repository by running: <pre>git clone https://github.com/rockchip-linux/u-boot.git </pre> = Supported Devices = Upstream U-Boot support Rockchip SoCs: RK3036, RK3188, [[RK3288|RK3288]], [[RK3328|RK3328]], [[RK3399|RK3399]] &nbsp; *RK3036 boards supported: <ol style="margin-left: 40px;"> <li>EVB RK3036 - use evb-rk3036 configuration</li> <li>Kylin - use kylin_rk3036 configuration</li> </ol> *RK3288 boards supported: <ol style="margin-left: 40px;"> <li>EVB RK3288 - use evb-rk3288 configuration</li> <li>Fennec RK3288 - use fennec-rk3288 configuration</li> <li>Firefly RK3288 - use firefly-rk3288 configuration</li> <li>Hisense Chromebook - use chromebook_jerry configuration</li> <li>Miniarm RK3288 - use miniarm-rk3288 configuration</li> <li>PopMetal RK3288 - use popmetal-rk3288 configuration</li> <li>Radxa Rock 2 - use rock2 configuration</li> <li>ASUS Tinker</li> </ol> *RK3188 boards&nbsp;supported: <ol style="margin-left: 40px;"> <li>Radxa Rock - use rock&nbsp;configuration</li> </ol> *RK3328 boards&nbsp;supported: <ol style="margin-left: 40px;"> <li>EVB RK3328 - use evb-rk3328 configuration</li> </ol> *RK3399 boards&nbsp;supported: <ol style="margin-left: 40px;"> <li>EVB RK3399 - use evb-rk3399 configuration</li> </ol> &nbsp; = Configure U-Boot = First you need to chose a correct defconfig for your board; When you have determined what <board_name> you want to build, configure: <pre>make CROSS_COMPILE=arm-linux-gnueabi-&nbsp;<board_name>_defconfig</pre> You may need to change the U-Boot function/feature support by modify the defconfig file or, there is also menuconfig to play with settings if you feel like it: <pre>make CROSS_COMPILE=arm-linux-gnueabi- menuconfig</pre> &nbsp; = Build U-Boot = == Get a toolchain == If you haven't done so before, get a suitable&nbsp;toolchain&nbsp;installed and added to your PATH. = U-Boot functions = = Istall U-Boot = 50e4883e5bd2ba9f876afce1c0cd19a0e45026d0 347 346 2017-03-08T11:51:58Z Kever 2 wikitext text/x-wiki U-Boot Guide = Download U-Boot = == Upstream U-Boot == You can clone the u-boot repository by running: <pre>git clone git://git.denx.de/u-boot.git</pre> Alternatively you can use u-boot-rockchip instead which may with some patches not get in mainline: <pre>git clone git://git.denx.de/u-boot-rockchip.git</pre> == Rockchp U-Boot == You can clone the u-boot repository by running: <pre>git clone https://github.com/rockchip-linux/u-boot.git </pre> = Supported Devices = Upstream U-Boot support Rockchip SoCs: RK3036, RK3188, [[RK3288|RK3288]], [[RK3328|RK3328]], [[RK3399|RK3399]] &nbsp; *RK3036 boards supported: <ol style="margin-left: 40px;"> <li>EVB RK3036 - use evb-rk3036 configuration</li> <li>Kylin - use kylin_rk3036 configuration</li> </ol> *RK3288 boards supported: <ol style="margin-left: 40px;"> <li>EVB RK3288 - use evb-rk3288 configuration</li> <li>Fennec RK3288 - use fennec-rk3288 configuration</li> <li>Firefly RK3288 - use firefly-rk3288 configuration</li> <li>Hisense Chromebook - use chromebook_jerry configuration</li> <li>Miniarm RK3288 - use miniarm-rk3288 configuration</li> <li>PopMetal RK3288 - use popmetal-rk3288 configuration</li> <li>Radxa Rock 2 - use rock2 configuration</li> <li>ASUS Tinker</li> </ol> *RK3188 boards&nbsp;supported: <ol style="margin-left: 40px;"> <li>Radxa Rock - use rock&nbsp;configuration</li> </ol> *RK3328 boards&nbsp;supported: <ol style="margin-left: 40px;"> <li>EVB RK3328 - use evb-rk3328 configuration</li> </ol> *RK3399 boards&nbsp;supported: <ol style="margin-left: 40px;"> <li>EVB RK3399 - use evb-rk3399 configuration</li> </ol> &nbsp; = Configure U-Boot = First you need to chose a correct defconfig for your board; When you have determined what <board_name> you want to build, configure: <pre>make CROSS_COMPILE=arm-linux-gnueabi-&nbsp;<board_name>_defconfig</pre> You may need to change the U-Boot function/feature support by modify the defconfig file or, there is also menuconfig to play with settings if you feel like it: <pre>make CROSS_COMPILE=arm-linux-gnueabi- menuconfig</pre> &nbsp; = Build U-Boot = == Get a toolchain == If you haven't done so before, get a suitable&nbsp;toolchain&nbsp;installed and added to your PATH. In Ubuntu 14.04, you can use below command to install cross compiler for armv7: <pre>sudo apt-get install gcc-arm-linux-gnueabi</pre> Or for ARM64 <pre>sudo apt-get install gcc-aarch64-linux-gnu </pre> == Build == For armv7: <pre>make CROSS_COMPILE=arm-linux-gnueabi-</pre> or for ARM64: <pre>make ARCH=arm CROSS_COMPILE=aarch64-linux-gnu-</pre> = U-Boot functions = = Istall U-Boot = 37e2711bfb116caa664ea2973db9e71ff6bc9463 348 347 2017-03-08T11:54:45Z Kever 2 wikitext text/x-wiki U-Boot Guide = Download U-Boot = == Upstream U-Boot == You can clone the u-boot repository by running: <pre>git clone git://git.denx.de/u-boot.git</pre> Alternatively you can use u-boot-rockchip instead which may with some patches not get in mainline: <pre>git clone git://git.denx.de/u-boot-rockchip.git</pre> == Rockchp U-Boot == You can clone the u-boot repository by running: <pre>git clone https://github.com/rockchip-linux/u-boot.git </pre> = Supported Devices = Upstream U-Boot support Rockchip SoCs: RK3036, RK3188, [[RK3288|RK3288]], [[RK3328|RK3328]], [[RK3399|RK3399]] &nbsp; *RK3036 boards supported: <ol style="margin-left: 40px;"> <li>EVB RK3036 - use evb-rk3036 configuration</li> <li>Kylin - use kylin_rk3036 configuration</li> </ol> *RK3288 boards supported: <ol style="margin-left: 40px;"> <li>EVB RK3288 - use evb-rk3288 configuration</li> <li>Fennec RK3288 - use fennec-rk3288 configuration</li> <li>Firefly RK3288 - use firefly-rk3288 configuration</li> <li>Hisense Chromebook - use chromebook_jerry configuration</li> <li>Miniarm RK3288 - use miniarm-rk3288 configuration</li> <li>PopMetal RK3288 - use popmetal-rk3288 configuration</li> <li>Radxa Rock 2 - use rock2 configuration</li> <li>ASUS Tinker</li> </ol> *RK3188 boards&nbsp;supported: <ol style="margin-left: 40px;"> <li>Radxa Rock - use rock&nbsp;configuration</li> </ol> *RK3328 boards&nbsp;supported: <ol style="margin-left: 40px;"> <li>EVB RK3328 - use evb-rk3328 configuration</li> </ol> *RK3399 boards&nbsp;supported: <ol style="margin-left: 40px;"> <li>EVB RK3399 - use evb-rk3399 configuration</li> </ol> &nbsp; = Configure U-Boot = First you need to chose a correct defconfig for your board; When you have determined what <board_name> you want to build, configure: <pre>make CROSS_COMPILE=arm-linux-gnueabi-&nbsp;<board_name>_defconfig</pre> You may need to change the U-Boot function/feature support by modify the defconfig file or, there is also menuconfig to play with settings if you feel like it: <pre>make CROSS_COMPILE=arm-linux-gnueabi- menuconfig</pre> &nbsp; = Build U-Boot = == Get a toolchain == If you haven't done so before, get a suitable&nbsp;toolchain&nbsp;installed and added to your PATH. In Ubuntu 14.04, you can use below command to install cross compiler for armv7: <pre>sudo apt-get install gcc-arm-linux-gnueabi</pre> Or for ARM64 <pre>sudo apt-get install gcc-aarch64-linux-gnu </pre> == Build == For armv7: <pre>make CROSS_COMPILE=arm-linux-gnueabi-</pre> or for ARM64: <pre>make ARCH=arm CROSS_COMPILE=aarch64-linux-gnu-</pre> In order to support debug in ARM DS-5, you may need option in make CFLAGS='-gdwarf-3' = U-Boot functions = = Istall U-Boot = 973410399af723858311c1aad0e2f392361e6a3f 349 348 2017-03-08T12:04:44Z Kever 2 wikitext text/x-wiki U-Boot Guide = Download U-Boot = == Upstream U-Boot == You can clone the u-boot repository by running: <pre>git clone git://git.denx.de/u-boot.git</pre> Alternatively you can use u-boot-rockchip instead which may with some patches not get in mainline: <pre>git clone git://git.denx.de/u-boot-rockchip.git</pre> == Rockchp U-Boot == You can clone the u-boot repository by running: <pre>git clone https://github.com/rockchip-linux/u-boot.git </pre> = Supported Devices = Upstream U-Boot support Rockchip SoCs: RK3036, RK3188, [[RK3288|RK3288]], [[RK3328|RK3328]], [[RK3399|RK3399]] &nbsp; *RK3036 boards supported: <ol style="margin-left: 40px;"> <li>EVB RK3036 - use evb-rk3036 configuration</li> <li>Kylin - use kylin_rk3036 configuration</li> </ol> *RK3288 boards supported: <ol style="margin-left: 40px;"> <li>EVB RK3288 - use evb-rk3288 configuration</li> <li>Fennec RK3288 - use fennec-rk3288 configuration</li> <li>Firefly RK3288 - use firefly-rk3288 configuration</li> <li>Hisense Chromebook - use chromebook_jerry configuration</li> <li>Miniarm RK3288 - use miniarm-rk3288 configuration</li> <li>PopMetal RK3288 - use popmetal-rk3288 configuration</li> <li>Radxa Rock 2 - use rock2 configuration</li> <li>ASUS Tinker</li> </ol> *RK3188 boards&nbsp;supported: <ol style="margin-left: 40px;"> <li>Radxa Rock - use rock&nbsp;configuration</li> </ol> *RK3328 boards&nbsp;supported: <ol style="margin-left: 40px;"> <li>EVB RK3328 - use evb-rk3328 configuration</li> </ol> *RK3399 boards&nbsp;supported: <ol style="margin-left: 40px;"> <li>EVB RK3399 - use evb-rk3399 configuration</li> </ol> &nbsp; = Configure U-Boot = First you need to chose a correct defconfig for your board; When you have determined what <board_name> you want to build, configure: <pre>make CROSS_COMPILE=arm-linux-gnueabi-&nbsp;<board_name>_defconfig</pre> You may need to change the U-Boot function/feature support by modify the defconfig file or, there is also menuconfig to play with settings if you feel like it: <pre>make CROSS_COMPILE=arm-linux-gnueabi- menuconfig</pre> &nbsp; = Build U-Boot = == Get a toolchain == If you haven't done so before, get a suitable&nbsp;toolchain&nbsp;installed and added to your PATH. In Ubuntu 14.04, you can use below command to install cross compiler for armv7: <pre>sudo apt-get install gcc-arm-linux-gnueabi</pre> Or for ARM64 <pre>sudo apt-get install gcc-aarch64-linux-gnu </pre> == Build == For armv7: <pre>make CROSS_COMPILE=arm-linux-gnueabi-</pre> or for ARM64: <pre>make ARCH=arm CROSS_COMPILE=aarch64-linux-gnu-</pre> In order to support debug in ARM DS-5, you may need add ctags in make command: <pre>CFLAGS='-gdwarf-3'</pre> = U-Boot functions = = Istall U-Boot = 1d6d838fd25d062f8d673cf72c4c371404384585 U-Boot 0 11 350 349 2017-03-08T12:08:32Z Kever 2 wikitext text/x-wiki U-Boot Guide = Download U-Boot = == Upstream U-Boot == You can clone the u-boot repository by running: <pre>git clone git://git.denx.de/u-boot.git</pre> Alternatively you can use u-boot-rockchip instead which may with some patches not get in mainline: <pre>git clone git://git.denx.de/u-boot-rockchip.git</pre> == Rockchp U-Boot == You can clone the u-boot repository by running: <pre>git clone https://github.com/rockchip-linux/u-boot.git </pre> = Supported Devices = Upstream U-Boot support Rockchip SoCs: RK3036, RK3188, [[RK3288|RK3288]], [[RK3328|RK3328]], [[RK3399|RK3399]] &nbsp; *RK3036 boards supported: <ol style="margin-left: 40px;"> <li>EVB RK3036 - use evb-rk3036 configuration</li> <li>Kylin - use kylin_rk3036 configuration</li> </ol> *RK3288 boards supported: <ol style="margin-left: 40px;"> <li>EVB RK3288 - use evb-rk3288 configuration</li> <li>Fennec RK3288 - use fennec-rk3288 configuration</li> <li>Firefly RK3288 - use firefly-rk3288 configuration</li> <li>Hisense Chromebook - use chromebook_jerry configuration</li> <li>Miniarm RK3288 - use miniarm-rk3288 configuration</li> <li>PopMetal RK3288 - use popmetal-rk3288 configuration</li> <li>Radxa Rock 2 - use rock2 configuration</li> <li>ASUS Tinker</li> </ol> *RK3188 boards&nbsp;supported: <ol style="margin-left: 40px;"> <li>Radxa Rock - use rock&nbsp;configuration</li> </ol> *RK3328 boards&nbsp;supported: <ol style="margin-left: 40px;"> <li>EVB RK3328 - use evb-rk3328 configuration</li> </ol> *RK3399 boards&nbsp;supported: <ol style="margin-left: 40px;"> <li>EVB RK3399 - use evb-rk3399 configuration</li> </ol> &nbsp; = Configure U-Boot = First you need to chose a correct defconfig for your board; When you have determined what <board_name> you want to build, configure: <pre>make CROSS_COMPILE=arm-linux-gnueabi-&nbsp;<board_name>_defconfig</pre> You may need to change the U-Boot function/feature support by modify the defconfig file or, there is also menuconfig to play with settings if you feel like it: <pre>make CROSS_COMPILE=arm-linux-gnueabi- menuconfig</pre> &nbsp; = Build U-Boot = == Get a toolchain == If you haven't done so before, get a suitable&nbsp;toolchain&nbsp;installed and added to your PATH. In Ubuntu 14.04, you can use below command to install cross compiler for armv7: <pre>sudo apt-get install gcc-arm-linux-gnueabi</pre> Or for ARM64 <pre>sudo apt-get install gcc-aarch64-linux-gnu </pre> == Build == For armv7: <pre>make CROSS_COMPILE=arm-linux-gnueabi-</pre> or for ARM64: <pre>make ARCH=arm CROSS_COMPILE=aarch64-linux-gnu-</pre> In order to support debug in ARM DS-5, you may need add ctags in make command: <pre>CFLAGS='-gdwarf-3'</pre> = Boot = Boot from eMMC Boot from SD/TF Card Boot from USB-Disk Netboot = Istall U-Boot = 81cc45ef86b22ebdedd263aa62a1f062098c287a 351 350 2017-03-08T12:21:38Z Kever 2 wikitext text/x-wiki U-Boot Guide = Download U-Boot = == Upstream U-Boot == You can clone the u-boot repository by running: <pre>git clone git://git.denx.de/u-boot.git</pre> Alternatively you can use u-boot-rockchip instead which may with some patches not get in mainline: <pre>git clone git://git.denx.de/u-boot-rockchip.git</pre> == Rockchp U-Boot == You can clone the u-boot repository by running: <pre>git clone https://github.com/rockchip-linux/u-boot.git </pre> = Supported Devices = Upstream U-Boot support Rockchip SoCs: RK3036, RK3188, [[RK3288|RK3288]], [[RK3328|RK3328]], [[RK3399|RK3399]] &nbsp; *RK3036 boards supported: <ol style="margin-left: 40px;"> <li>EVB RK3036 - use evb-rk3036 configuration</li> <li>Kylin - use kylin_rk3036 configuration</li> </ol> *RK3288 boards supported: <ol style="margin-left: 40px;"> <li>EVB RK3288 - use evb-rk3288 configuration</li> <li>Fennec RK3288 - use fennec-rk3288 configuration</li> <li>Firefly RK3288 - use firefly-rk3288 configuration</li> <li>Hisense Chromebook - use chromebook_jerry configuration</li> <li>Miniarm RK3288 - use miniarm-rk3288 configuration</li> <li>PopMetal RK3288 - use popmetal-rk3288 configuration</li> <li>Radxa Rock 2 - use rock2 configuration</li> <li>ASUS Tinker</li> </ol> *RK3188 boards&nbsp;supported: <ol style="margin-left: 40px;"> <li>Radxa Rock - use rock&nbsp;configuration</li> </ol> *RK3328 boards&nbsp;supported: <ol style="margin-left: 40px;"> <li>EVB RK3328 - use evb-rk3328 configuration</li> </ol> *RK3399 boards&nbsp;supported: <ol style="margin-left: 40px;"> <li>EVB RK3399 - use evb-rk3399 configuration</li> </ol> &nbsp; = Configure U-Boot = First you need to chose a correct defconfig for your board; When you have determined what <board_name> you want to build, configure: <pre>make CROSS_COMPILE=arm-linux-gnueabi-&nbsp;<board_name>_defconfig</pre> You may need to change the U-Boot function/feature support by modify the defconfig file or, there is also menuconfig to play with settings if you feel like it: <pre>make CROSS_COMPILE=arm-linux-gnueabi- menuconfig</pre> &nbsp; &nbsp; = Build U-Boot = == Get a toolchain == If you haven't done so before, get a suitable&nbsp;toolchain&nbsp;installed and added to your PATH. In Ubuntu 14.04, you can use below command to install cross compiler for armv7: <pre>sudo apt-get install gcc-arm-linux-gnueabi</pre> Or for ARM64 <pre>sudo apt-get install gcc-aarch64-linux-gnu </pre> &nbsp; == Build == For armv7: <pre>make CROSS_COMPILE=arm-linux-gnueabi-</pre> or for ARM64: <pre>make ARCH=arm CROSS_COMPILE=aarch64-linux-gnu-</pre> In order to support debug in ARM DS-5, you may need add ctags in make command: <pre>CFLAGS='-gdwarf-3'</pre> = Istall U-Boot = == Using U-Boot SPL == &nbsp; == Using Rockchip miniloader == = Boot = == Boot from eMMC == == Boot from SD/TF Card == == Boot from USB-Disk == == Netboot/TFTP == == Distro boot == = U-Boot download = In U-Boot, there are multi way to update image for system, you can chose any of one easy use for you. == fastboot == See [[fastboot]] == ums == b05f3cc8589c761d2cdaff0a7824ef6f86c0e238 353 351 2017-03-08T12:50:31Z Kever 2 wikitext text/x-wiki U-Boot Guide = Download U-Boot = == Upstream U-Boot == You can clone the u-boot repository by running: <pre>git clone git://git.denx.de/u-boot.git</pre> Alternatively you can use u-boot-rockchip instead which may with some patches not get in mainline: <pre>git clone git://git.denx.de/u-boot-rockchip.git</pre> == Rockchp U-Boot == You can clone the u-boot repository by running: <pre>git clone https://github.com/rockchip-linux/u-boot.git </pre> = Supported Devices = Upstream U-Boot support Rockchip SoCs: RK3036, RK3188, [[RK3288|RK3288]], [[RK3328|RK3328]], [[RK3399|RK3399]] &nbsp; *RK3036 boards supported: <ol style="margin-left: 40px;"> <li>EVB RK3036 - use evb-rk3036 configuration</li> <li>Kylin - use kylin_rk3036 configuration</li> </ol> *RK3288 boards supported: <ol style="margin-left: 40px;"> <li>EVB RK3288 - use evb-rk3288 configuration</li> <li>Fennec RK3288 - use fennec-rk3288 configuration</li> <li>Firefly RK3288 - use firefly-rk3288 configuration</li> <li>Hisense Chromebook - use chromebook_jerry configuration</li> <li>Miniarm RK3288 - use miniarm-rk3288 configuration</li> <li>PopMetal RK3288 - use popmetal-rk3288 configuration</li> <li>Radxa Rock 2 - use rock2 configuration</li> <li>ASUS Tinker</li> </ol> *RK3188 boards&nbsp;supported: <ol style="margin-left: 40px;"> <li>Radxa Rock - use rock&nbsp;configuration</li> </ol> *RK3328 boards&nbsp;supported: <ol style="margin-left: 40px;"> <li>EVB RK3328 - use evb-rk3328 configuration</li> </ol> *RK3399 boards&nbsp;supported: <ol style="margin-left: 40px;"> <li>EVB RK3399 - use evb-rk3399 configuration</li> </ol> &nbsp; = Configure U-Boot = First you need to chose a correct defconfig for your board; When you have determined what <board_name> you want to build, configure: <pre>make CROSS_COMPILE=arm-linux-gnueabi-&nbsp;<board_name>_defconfig</pre> You may need to change the U-Boot function/feature support by modify the defconfig file or, there is also menuconfig to play with settings if you feel like it: <pre>make CROSS_COMPILE=arm-linux-gnueabi- menuconfig</pre> &nbsp; &nbsp; = Build U-Boot = == Get a toolchain == If you haven't done so before, get a suitable&nbsp;toolchain&nbsp;installed and added to your PATH. In Ubuntu 14.04, you can use below command to install cross compiler for armv7: <pre>sudo apt-get install gcc-arm-linux-gnueabi</pre> Or for ARM64 <pre>sudo apt-get install gcc-aarch64-linux-gnu </pre> &nbsp; == Build == For armv7: <pre>make CROSS_COMPILE=arm-linux-gnueabi-</pre> or for ARM64: <pre>make ARCH=arm CROSS_COMPILE=aarch64-linux-gnu-</pre> In order to support debug in ARM DS-5, you may need add ctags in make command: <pre>CFLAGS='-gdwarf-3'</pre> = Istall U-Boot = Rockchp SoCs's bootrom need special format named IDBlock at special offset 0x64 block for boot, so we need to package&nbsp;SPL(or Rockchip miniloader) &nbsp;in IDB format. Rockchp bootrom supports SPL back to bootrom and bootrom load the U-Boot, so the SPL for Rockchip SoCs can option to back to bootrom, usually decide by if the IRAM is enought for driver to load U-Boot. == Using U-Boot SPL == After build&nbsp;complete, U-Boot with SPL support will generate a spl folder with "u-boot-spl.bin" inside <pre>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl.bin rk3288_idb.img</pre> This image is suppose to flash to offset 0x64. For&nbsp;u-boot.bin, it's diffrent for SPL back to bootrom or not, if enable&nbsp;CONFIG_ROCKCHIP_SPL_BACK_TO_BROM, we can append the U-Boot to IDB data: <pre><code>cat u-boot.bin >> rk3288_idb.img</code></pre> <code>If&nbsp;</code>CONFIG_ROCKCHIP_SPL_BACK_TO_BROM&nbsp;not enabled, no more package operation is need for u-boot-dtb.bin, and it need to flalsh to 0x200 which is decide by&nbsp;CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR. == Support ATF with SPL FIT image == == Using Rockchip miniloader == Alternatively, you can use Rockchip miniloader and U-Boot instead which do not need SPL. The miniloader is package as IDBlock, and the u-boot.bin need to package with rockchip tool: <pre>loaderimage --pack --uboot u-boot.bin rk3288_uboot.img</pre> According to the [[partitions]] definition, this output should write to offset 0x4000. = Boot = == Boot from eMMC == == Boot from SD/TF Card == == Boot from USB-Disk == == Netboot/TFTP == == Distro boot == = U-Boot download = In U-Boot, there are multi way to update image for system, you can chose any of one easy use for you. == fastboot == See [[fastboot]] == ums == 744f9d3222e6208ebd705a393f1b85e105b61537 Fastboot 0 12 352 104 2017-03-08T12:24:51Z Kever 2 wikitext text/x-wiki = Introduction = Fastboot is a protocol that can be used to re-flash partitions on your device (update the flash file system in your devices). It is this small tool that comes with the Android SDK (Software Developer Kit), which is an alternative to the Recovery Mode for doing installations and updates. It first comes with Android. Google have submit the fastboot code to mainline U-boot. So we can use this protocol to flash partition on your device. There are three way to enter fastboot mode = Fastboot command = Rockchip use 0x2207 as its USB vendor ID. This VID is not in Google's original fastboot code. So every fastboot command have to use "-i" parameter to specify vid to fastboot.<br/> To list all the Rockchip devices attached to your USB port in fastboot mode. <pre><code>$ sudo fastboot -i 0x2207 devices 0123456789AB fastboot</code> </pre> To flash loader <pre><code>$ sudo fastboot -i 0x2207 flash loader "path to your loader"</code> </pre> To flash Android boot image <pre><code>$ sudo fastboot -i 0x2207 flash boot_a "path to your boot image" 0123456789AB fastboot</code> </pre> To flash Android system image <pre><code>$ sudo fastboot -i 0x2207 flash system_a "path to your system image" 0123456789AB fastboot</code></pre> {| border="1" cellpadding="0" cellspacing="0" width="760" |- | style="width:608px;" | fastboot getvar version&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 获得版本 fastboot getvar version-bootloader&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 获得版本 fastboot getvar unlocked&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 获得解锁情况 fastboot getvar secure&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 获得锁住情况(与unlock相反) fastboot getvar product&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 获得产品信息 fastboot getvar serialno&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 获得序列号 fastboot getvar partition-type:<partition_name>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 获得指定分区类型 fastboot getvar partition-size:<partition_name>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 获得指定分区大小 fastboot getvar partition-offset:<partition_name>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 获得指定分区偏移 |} === [[镜像烧写|镜像烧写]] === fastboot flash <partition_name> <filename>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 烧写固件 (如:fastboot flash system system.img。 烧写parameter/loader时,需指定分区名为”parameter”/”loader”) fastboot update <filename>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 烧写升级包 (升级包通过在android源码中make updatepackage生成) == 1.2&nbsp;[[重启|重启]] == {| border="0" cellpadding="0" cellspacing="0" width="760" |- | style="width:608px;" | fastboot oem recovery&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 重启进recovery fastboot oem recovery:wipe_data&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 重启恢复出厂设置 fastboot reboot&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 重启 fastboot reboot-bootloader&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 重启进入rockusb烧写模式 fastboot continue&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 重启 |} === 1.2.1&nbsp;[[解锁和锁住设备|解锁和锁住设备]] === fastboot oem unlock&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 解锁 fastboot oem unlock_accept&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 确认解锁 (需要在fastboot oem unlock命令后,5秒内输入) fastboot oem lock&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 锁住设备 === 1.2.2&nbsp;[[特殊命令|特殊命令]] === fastboot boot <kernel> [ <ramdisk> ]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 临时从指定固件启动 (kernel目前支持Image/zImage,需要将dtb存于kernel末尾,或者resource分区中) fastboot oem log&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 获取串口log信息 fastboot oem ucmd <UBOOT cmds>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 运行UBOOT命令 == 1.3&nbsp;'''Fastboot'''解锁 == fastboot锁住状态下,不允许烧写及执行oem命令,初始状态为锁住。 解锁流程大致如下: 1、执行fastboot oem unlock 2、5秒内继续执行fastboot oem unlock_accept 3、机器会重启进入recovery恢复出厂设置 4、再次进入fastboot,则fastboot getvar unlocked应该返回"yes"(设备已解锁) &nbsp; 如果设备进入fastboot状态后,fastboot命令提示未发现设备,则需要在命令中加入-i参数指定设备vid,例如fastboot -i 0x2207 getvar unlocked 8d7cd3d090fd770ba1d4d22c8e55e8b1a2d441a7 387 352 2017-03-09T01:41:50Z Karen 3 wikitext text/x-wiki = Introduction = Fastboot is a protocol that can be used to re-flash partitions on your device (update the flash file system in your devices). It is this small tool that comes with the Android SDK (Software Developer Kit), which is an alternative to the Recovery Mode for doing installations and updates. It first comes with Android. Google have submit the fastboot code to mainline U-boot. So we can use this protocol to flash partition on your device. There are three way to enter fastboot mode = Fastboot command = Rockchip use 0x2207 as its USB vendor ID. This VID is not in Google's original fastboot code. So every fastboot command have to use "-i" parameter to specify vid to fastboot.<br/> To list all the Rockchip devices attached to your USB port in fastboot mode. <pre><code>$ sudo fastboot -i 0x2207 devices 0123456789AB fastboot</code> </pre> To flash loader <pre><code>$ sudo fastboot -i 0x2207 flash loader "path to your loader"</code> </pre> To flash Android boot image <pre><code>$ sudo fastboot -i 0x2207 flash boot_a "path to your boot image" 0123456789AB fastboot</code> </pre> To flash Android system image <pre><code>$ sudo fastboot -i 0x2207 flash system_a "path to your system image" 0123456789AB fastboot</code></pre> {| border="1" cellpadding="0" cellspacing="0" width="760" |- | style="width:608px;" | fastboot getvar version&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 获得版本 fastboot getvar version-bootloader&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 获得版本 fastboot getvar unlocked&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 获得解锁情况 fastboot getvar secure&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 获得锁住情况(与unlock相反) fastboot getvar product&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 获得产品信息 fastboot getvar serialno&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 获得序列号 fastboot getvar partition-type:<partition_name>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 获得指定分区类型 fastboot getvar partition-size:<partition_name>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 获得指定分区大小 fastboot getvar partition-offset:<partition_name>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 获得指定分区偏移 |} === [[镜像烧写|镜像烧写]] === fastboot flash <partition_name> <filename>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 烧写固件 (如:fastboot flash system system.img。 烧写parameter/loader时,需指定分区名为”parameter”/”loader”) fastboot update <filename>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 烧写升级包 (升级包通过在android源码中make updatepackage生成) == 1.2 Reboot == {| border="0" cellpadding="0" cellspacing="0" width="760" |- | style="width:608px;" | fastboot oem recovery&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 重启进recovery fastboot oem recovery:wipe_data&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 重启恢复出厂设置 fastboot reboot&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 重启 fastboot reboot-bootloader&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 重启进入rockusb烧写模式 fastboot continue&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 重启 |} === 1.2.1 Lock and Unlock === fastboot oem unlock&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 解锁 fastboot oem unlock_accept&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 确认解锁 (需要在fastboot oem unlock命令后,5秒内输入) fastboot oem lock&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 锁住设备 === 1.2.2 Special Command === fastboot boot <kernel> [ <ramdisk> ]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 临时从指定固件启动 (kernel目前支持Image/zImage,需要将dtb存于kernel末尾,或者resource分区中) fastboot oem log&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 获取串口log信息 fastboot oem ucmd <UBOOT cmds>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 运行UBOOT命令 == 1.3&nbsp;'''Fastboot'''解锁 == fastboot锁住状态下,不允许烧写及执行oem命令,初始状态为锁住。 解锁流程大致如下: 1、执行fastboot oem unlock 2、5秒内继续执行fastboot oem unlock_accept 3、机器会重启进入recovery恢复出厂设置 4、再次进入fastboot,则fastboot getvar unlocked应该返回"yes"(设备已解锁) &nbsp; 如果设备进入fastboot状态后,fastboot命令提示未发现设备,则需要在命令中加入-i参数指定设备vid,例如fastboot -i 0x2207 getvar unlocked e8bab2420cadb93e614ba4a347c761346ef3561b 388 387 2017-03-09T01:44:40Z Karen 3 wikitext text/x-wiki = Introduction = Fastboot is a protocol that can be used to re-flash partitions on your device (update the flash file system in your devices). It is this small tool that comes with the Android SDK (Software Developer Kit), which is an alternative to the Recovery Mode for doing installations and updates. It first comes with Android. Google have submit the fastboot code to mainline U-boot. So we can use this protocol to flash partition on your device. There are three way to enter fastboot mode = Fastboot command = Rockchip use 0x2207 as its USB vendor ID. This VID is not in Google's original fastboot code. So every fastboot command have to use "-i" parameter to specify vid to fastboot.<br/> To list all the Rockchip devices attached to your USB port in fastboot mode. <pre><code>$ sudo fastboot -i 0x2207 devices 0123456789AB fastboot</code> </pre> To flash loader <pre><code>$ sudo fastboot -i 0x2207 flash loader "path to your loader"</code> </pre> To flash Android boot image <pre><code>$ sudo fastboot -i 0x2207 flash boot_a "path to your boot image" 0123456789AB fastboot</code> </pre> To flash Android system image <pre><code>$ sudo fastboot -i 0x2207 flash system_a "path to your system image" 0123456789AB fastboot</code></pre> {| border="1" cellpadding="0" cellspacing="0" width="760" |- | style="width:608px;" | fastboot getvar version&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 获得版本 fastboot getvar version-bootloader&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 获得版本 fastboot getvar unlocked&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 获得解锁情况 fastboot getvar secure&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 获得锁住情况(与unlock相反) fastboot getvar product&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 获得产品信息 fastboot getvar serialno&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 获得序列号 fastboot getvar partition-type:<partition_name>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 获得指定分区类型 fastboot getvar partition-size:<partition_name>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 获得指定分区大小 fastboot getvar partition-offset:<partition_name>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 获得指定分区偏移 |} === Loader Image === fastboot flash <partition_name> <filename>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 烧写固件 (如:fastboot flash system system.img。 烧写parameter/loader时,需指定分区名为”parameter”/”loader”) fastboot update <filename>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 烧写升级包 (升级包通过在android源码中make updatepackage生成) &nbsp; == 1.2 Reboot == {| border="0" cellpadding="0" cellspacing="0" width="760" |- | style="width:608px;" | fastboot oem recovery&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 重启进recovery fastboot oem recovery:wipe_data&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 重启恢复出厂设置 fastboot reboot&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 重启 fastboot reboot-bootloader&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 重启进入rockusb烧写模式 fastboot continue&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 重启 |} === 1.2.1 Lock and Unlock === fastboot oem unlock&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 解锁 fastboot oem unlock_accept&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 确认解锁 (需要在fastboot oem unlock命令后,5秒内输入) fastboot oem lock&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 锁住设备 === 1.2.2 Special Command === fastboot boot <kernel> [ <ramdisk> ]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 临时从指定固件启动 (kernel目前支持Image/zImage,需要将dtb存于kernel末尾,或者resource分区中) fastboot oem log&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 获取串口log信息 fastboot oem ucmd <UBOOT cmds>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 运行UBOOT命令 == 1.3&nbsp;'''Fastboot Unlock''' == fastboot锁住状态下,不允许烧写及执行oem命令,初始状态为锁住。 解锁流程大致如下: 1、执行fastboot oem unlock 2、5秒内继续执行fastboot oem unlock_accept 3、机器会重启进入recovery恢复出厂设置 4、再次进入fastboot,则fastboot getvar unlocked应该返回"yes"(设备已解锁) &nbsp; 如果设备进入fastboot状态后,fastboot命令提示未发现设备,则需要在命令中加入-i参数指定设备vid,例如fastboot -i 0x2207 getvar unlocked 880ccff39a9e1f9500a13a858967389f33ce3838 389 388 2017-03-09T01:50:16Z Karen 3 wikitext text/x-wiki = Introduction = Fastboot is a protocol that can be used to re-flash partitions on your device (update the flash file system in your devices). It is this small tool that comes with the Android SDK (Software Developer Kit), which is an alternative to the Recovery Mode for doing installations and updates. It first comes with Android. Google have submit the fastboot code to mainline U-boot. So we can use this protocol to flash partition on your device. There are three way to enter fastboot mode = Fastboot command = Rockchip use 0x2207 as its USB vendor ID. This VID is not in Google's original fastboot code. So every fastboot command have to use "-i" parameter to specify vid to fastboot.<br/> To list all the Rockchip devices attached to your USB port in fastboot mode. <pre><code>$ sudo fastboot -i 0x2207 devices 0123456789AB fastboot</code> </pre> To flash loader <pre><code>$ sudo fastboot -i 0x2207 flash loader "path to your loader"</code> </pre> To flash Android boot image <pre><code>$ sudo fastboot -i 0x2207 flash boot_a "path to your boot image" 0123456789AB fastboot</code> </pre> To flash Android system image <pre><code>$ sudo fastboot -i 0x2207 flash system_a "path to your system image" 0123456789AB fastboot</code></pre> {| border="1" cellpadding="0" cellspacing="0" width="760" |- | style="width:608px;" | fastboot getvar version&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 获得版本 fastboot getvar version-bootloader&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 获得版本 fastboot getvar unlocked&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 获得解锁情况 fastboot getvar secure&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 获得锁住情况(与unlock相反) fastboot getvar product&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 获得产品信息 fastboot getvar serialno&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 获得序列号 fastboot getvar partition-type:<partition_name>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 获得指定分区类型 fastboot getvar partition-size:<partition_name>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 获得指定分区大小 fastboot getvar partition-offset:<partition_name>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 获得指定分区偏移 |} === Flash Image === fastboot flash <partition_name> <filename>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 烧写固件 (如:fastboot flash system system.img。 烧写parameter/loader时,需指定分区名为”parameter”/”loader”) fastboot update <filename> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 烧写升级包 (升级包通过在android源码中make updatepackage生成) &nbsp; == 1.2 Reboot == {| border="0" cellpadding="0" cellspacing="0" width="760" |- | style="width:608px;" | fastboot oem recovery&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 重启进recovery fastboot oem recovery:wipe_data&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 重启恢复出厂设置 fastboot reboot&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 重启 fastboot reboot-bootloader&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 重启进入rockusb烧写模式 fastboot continue&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 重启 |} === 1.2.1 Lock and Unlock === fastboot oem unlock&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 解锁 fastboot oem unlock_accept&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 确认解锁 (需要在fastboot oem unlock命令后,5秒内输入) fastboot oem lock&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 锁住设备 === 1.2.2 Special Command === fastboot boot <kernel> [ <ramdisk> ]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 临时从指定固件启动 (kernel目前支持Image/zImage,需要将dtb存于kernel末尾,或者resource分区中) fastboot oem log&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 获取串口log信息 fastboot oem ucmd <UBOOT cmds>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 运行UBOOT命令 == 1.3&nbsp;'''Fastboot Unlock''' == fastboot锁住状态下,不允许烧写及执行oem命令,初始状态为锁住。 解锁流程大致如下: 1、执行fastboot oem unlock 2、5秒内继续执行fastboot oem unlock_accept 3、机器会重启进入recovery恢复出厂设置 4、再次进入fastboot,则fastboot getvar unlocked应该返回"yes"(设备已解锁) &nbsp; 如果设备进入fastboot状态后,fastboot命令提示未发现设备,则需要在命令中加入-i参数指定设备vid,例如fastboot -i 0x2207 getvar unlocked 592f263b4b8176f0c2624a5e183354aed3037e7e 390 389 2017-03-09T01:50:59Z Karen 3 wikitext text/x-wiki = Introduction = Fastboot is a protocol that can be used to re-flash partitions on your device (update the flash file system in your devices). It is this small tool that comes with the Android SDK (Software Developer Kit), which is an alternative to the Recovery Mode for doing installations and updates. It first comes with Android. Google have submit the fastboot code to mainline U-boot. So we can use this protocol to flash partition on your device. There are three way to enter fastboot mode = Fastboot command = Rockchip use 0x2207 as its USB vendor ID. This VID is not in Google's original fastboot code. So every fastboot command have to use "-i" parameter to specify vid to fastboot.<br/> To list all the Rockchip devices attached to your USB port in fastboot mode. <pre><code>$ sudo fastboot -i 0x2207 devices 0123456789AB fastboot</code> </pre> To flash loader <pre><code>$ sudo fastboot -i 0x2207 flash loader "path to your loader"</code> </pre> To flash Android boot image <pre><code>$ sudo fastboot -i 0x2207 flash boot_a "path to your boot image" 0123456789AB fastboot</code> </pre> To flash Android system image <pre><code>$ sudo fastboot -i 0x2207 flash system_a "path to your system image" 0123456789AB fastboot</code></pre> {| border="1" cellpadding="0" cellspacing="0" width="760" |- | style="width:608px;" | fastboot getvar version&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 获得版本 fastboot getvar version-bootloader&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 获得版本 fastboot getvar unlocked&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 获得解锁情况 fastboot getvar secure&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 获得锁住情况(与unlock相反) fastboot getvar product&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 获得产品信息 fastboot getvar serialno&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 获得序列号 fastboot getvar partition-type:<partition_name>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 获得指定分区类型 fastboot getvar partition-size:<partition_name>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 获得指定分区大小 fastboot getvar partition-offset:<partition_name>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 获得指定分区偏移 |} === Flash Image === fastboot flash <partition_name> <filename>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 烧写固件 (如:fastboot flash system system.img。 烧写parameter/loader时,需指定分区名为”parameter”/”loader”) fastboot update <filename> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 烧写升级包 (升级包通过在android源码中make updatepackage生成) &nbsp; == 1.2 Reboot == {| border="0" cellpadding="0" cellspacing="0" width="760" |- | style="width:608px;" | fastboot oem recovery&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 重启进recovery fastboot oem recovery:wipe_data&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 重启恢复出厂设置 fastboot reboot&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 重启 fastboot reboot-bootloader&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 重启进入rockusb烧写模式 fastboot continue&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 重启 |} === 1.2.1 Lock and Unlock the Device === fastboot oem unlock&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 解锁 fastboot oem unlock_accept&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 确认解锁 (需要在fastboot oem unlock命令后,5秒内输入) fastboot oem lock&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 锁住设备 === 1.2.2 Special Command === fastboot boot <kernel> [ <ramdisk> ]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 临时从指定固件启动 (kernel目前支持Image/zImage,需要将dtb存于kernel末尾,或者resource分区中) fastboot oem log&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 获取串口log信息 fastboot oem ucmd <UBOOT cmds>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 运行UBOOT命令 == 1.3&nbsp;'''Fastboot Unlock''' == fastboot锁住状态下,不允许烧写及执行oem命令,初始状态为锁住。 解锁流程大致如下: 1、执行fastboot oem unlock 2、5秒内继续执行fastboot oem unlock_accept 3、机器会重启进入recovery恢复出厂设置 4、再次进入fastboot,则fastboot getvar unlocked应该返回"yes"(设备已解锁) &nbsp; 如果设备进入fastboot状态后,fastboot命令提示未发现设备,则需要在命令中加入-i参数指定设备vid,例如fastboot -i 0x2207 getvar unlocked 364c14241a53dc195b1c7c44063eb78db3e759a0 404 390 2017-03-09T02:47:30Z Karen 3 wikitext text/x-wiki = Introduction = Fastboot is a protocol that can be used to re-flash partitions on your device (update the flash file system in your devices). It is this small tool that comes with the Android SDK (Software Developer Kit), which is an alternative to the Recovery Mode for doing installations and updates. It first comes with Android. Google have submit the fastboot code to mainline U-boot. So we can use this protocol to flash partition on your device. There are three way to enter fastboot mode = Fastboot command = Rockchip use 0x2207 as its USB vendor ID. This VID is not in Google's original fastboot code. So every fastboot command have to use "-i" parameter to specify vid to fastboot.<br/> To list all the Rockchip devices attached to your USB port in fastboot mode. <pre><code>$ sudo fastboot -i 0x2207 devices 0123456789AB fastboot</code> </pre> To flash loader <pre><code>$ sudo fastboot -i 0x2207 flash loader "path to your loader"</code> </pre> To flash Android boot image <pre><code>$ sudo fastboot -i 0x2207 flash boot_a "path to your boot image" 0123456789AB fastboot</code> </pre> To flash Android system image <pre><code>$ sudo fastboot -i 0x2207 flash system_a "path to your system image" 0123456789AB fastboot</code></pre> {| border="1" cellpadding="0" cellspacing="0" width="760" |- | style="width:608px;" | fastboot getvar version&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 获得版本 fastboot getvar version-bootloader&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 获得版本 fastboot getvar unlocked&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 获得解锁情况 fastboot getvar secure&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 获得锁住情况(与unlock相反) fastboot getvar product&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 获得产品信息 fastboot getvar serialno&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 获得序列号 fastboot getvar partition-type:<partition_name>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 获得指定分区类型 fastboot getvar partition-size:<partition_name>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 获得指定分区大小 fastboot getvar partition-offset:<partition_name>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 获得指定分区偏移 |} === Download Image === fastboot flash <partition_name> <filename>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 烧写固件 (如:fastboot flash system system.img。 烧写parameter/loader时,需指定分区名为”parameter”/”loader”) fastboot update <filename> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 烧写升级包 (升级包通过在android源码中make updatepackage生成) &nbsp; == 1.2 Reboot == {| border="0" cellpadding="0" cellspacing="0" width="760" |- | style="width:608px;" | fastboot oem recovery&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 重启进recovery fastboot oem recovery:wipe_data&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 重启恢复出厂设置 fastboot reboot&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 重启 fastboot reboot-bootloader&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 重启进入rockusb烧写模式 fastboot continue&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 重启 |} === 1.2.1 Lock and Unlock the Device === fastboot oem unlock&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 解锁 fastboot oem unlock_accept&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 确认解锁 (需要在fastboot oem unlock命令后,5秒内输入) fastboot oem lock&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 锁住设备 === 1.2.2 Special Command === fastboot boot <kernel> [ <ramdisk> ]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 临时从指定固件启动 (kernel目前支持Image/zImage,需要将dtb存于kernel末尾,或者resource分区中) fastboot oem log&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 获取串口log信息 fastboot oem ucmd <UBOOT cmds>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 运行UBOOT命令 == 1.3&nbsp;'''Fastboot Unlock''' == fastboot锁住状态下,不允许烧写及执行oem命令,初始状态为锁住。 解锁流程大致如下: 1、执行fastboot oem unlock 2、5秒内继续执行fastboot oem unlock_accept 3、机器会重启进入recovery恢复出厂设置 4、再次进入fastboot,则fastboot getvar unlocked应该返回"yes"(设备已解锁) &nbsp; 如果设备进入fastboot状态后,fastboot命令提示未发现设备,则需要在命令中加入-i参数指定设备vid,例如fastboot -i 0x2207 getvar unlocked 965ba78935e5f40e8aaeff7929636c27f1294d8d 405 404 2017-03-09T02:54:01Z Karen 3 wikitext text/x-wiki = Introduction = Fastboot is a protocol that can be used to re-flash partitions on your device (update the flash file system in your devices). It is this small tool that comes with the Android SDK (Software Developer Kit), which is an alternative to the Recovery Mode for doing installations and updates. It first comes with Android. Google have submit the fastboot code to mainline U-boot. So we can use this protocol to flash partition on your device. There are three way to enter fastboot mode = Fastboot command = Rockchip use 0x2207 as its USB vendor ID. This VID is not in Google's original fastboot code. So every fastboot command have to use "-i" parameter to specify vid to fastboot.<br/> To list all the Rockchip devices attached to your USB port in fastboot mode. <pre><code>$ sudo fastboot -i 0x2207 devices 0123456789AB fastboot</code> </pre> To flash loader <pre><code>$ sudo fastboot -i 0x2207 flash loader "path to your loader"</code> </pre> To flash Android boot image <pre><code>$ sudo fastboot -i 0x2207 flash boot_a "path to your boot image" 0123456789AB fastboot</code> </pre> To flash Android system image <pre><code>$ sudo fastboot -i 0x2207 flash system_a "path to your system image" 0123456789AB fastboot</code></pre> To Get Version: <pre>fastboot getvar version</pre> To Get Version: <pre>fastboot getvar version-bootloader </pre> To Get Unlocked: <pre>fastboot getvar unlocked </pre> To Get Locked: <pre>fastboot getvar secure</pre> To Get Product Information: <pre>fastboot getvar product</pre> To Get Serialno: <pre>fastboot getvar serialno</pre> To Get Partition Type: <pre>fastboot getvar partition-type:<partition_name> </pre> To Get Partition Size: <pre>fastboot getvar partition-size:<partition_name> </pre> To Get Partition Offset: <pre>fastboot getvar partition-offset:<partition_name></pre> &nbsp; &nbsp; === Download Image === fastboot flash <partition_name> <filename>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 烧写固件 (如:fastboot flash system system.img。 烧写parameter/loader时,需指定分区名为”parameter”/”loader”) fastboot update <filename> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 烧写升级包 (升级包通过在android源码中make updatepackage生成) &nbsp; == 1.2 Reboot == {| border="0" cellpadding="0" cellspacing="0" width="760" |- | style="width:608px;" | fastboot oem recovery&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 重启进recovery fastboot oem recovery:wipe_data&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 重启恢复出厂设置 fastboot reboot&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 重启 fastboot reboot-bootloader&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 重启进入rockusb烧写模式 fastboot continue&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 重启 |} &nbsp; === 1.2.1 Lock and Unlock the Device === fastboot oem unlock&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 解锁 fastboot oem unlock_accept&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 确认解锁 (需要在fastboot oem unlock命令后,5秒内输入) fastboot oem lock&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 锁住设备 === 1.2.2 Special Command === fastboot boot <kernel> [ <ramdisk> ]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 临时从指定固件启动 (kernel目前支持Image/zImage,需要将dtb存于kernel末尾,或者resource分区中) fastboot oem log&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 获取串口log信息 fastboot oem ucmd <UBOOT cmds>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 运行UBOOT命令 == 1.3&nbsp;'''Fastboot Unlock''' == fastboot锁住状态下,不允许烧写及执行oem命令,初始状态为锁住。 解锁流程大致如下: 1、执行fastboot oem unlock 2、5秒内继续执行fastboot oem unlock_accept 3、机器会重启进入recovery恢复出厂设置 4、再次进入fastboot,则fastboot getvar unlocked应该返回"yes"(设备已解锁) &nbsp; 如果设备进入fastboot状态后,fastboot命令提示未发现设备,则需要在命令中加入-i参数指定设备vid,例如fastboot -i 0x2207 getvar unlocked d7c5f1857584133168cd38bd5ac557ff061163ab Partitions 0 50 354 2017-03-08T12:52:11Z Kever 2 Created page with " = Introduction = Rockchip use&nbsp;[https://en.wikipedia.org/wiki/GUID_Partition_Table GPT]&nbsp;as its main partition table in open source support. We store GPT at LBA0 ~ L..." wikitext text/x-wiki = Introduction = Rockchip use&nbsp;[https://en.wikipedia.org/wiki/GUID_Partition_Table GPT]&nbsp;as its main partition table in open source support. We store GPT at LBA0 ~ LBA63. = GPT partition table in U-boot = U-boot supports standard&nbsp;[https://github.com/rockchip-linux/u-boot/blob/android/doc/README.gpt GPT partition table format]. = Default partition map = {| |- ! Partition ! colspan="2" | Start Sector ! colspan="2" | Number of Sectors ! colspan="2" | Partition Size ! Mount Point ! Requirements |- | MBR | 0 | 00000000 | 1 | 00000001 | 512 | 0.5KB | &nbsp; | &nbsp; |- | Primary GPT | 1 | 00000001 | 63 | 0000003F | 32256 | 31.5KB | &nbsp; | &nbsp; |- | loader1 | 64 | 00000040 | 8000 | 00001F40 | 4096000 | 3.91MB | &nbsp; | miniloader or uboot |- | reserved1 | 8064 | 00001F80 | 128 | 00000080 | 65536 | 64KB | &nbsp; | &nbsp; |- | reserved2 | 8192 | 00002000 | 8192 | 00002000 | 4194304 | 4MB | &nbsp; | parameter or vendor data |- | loader2 | 16384 | 00004000 | 8192 | 00002000 | 4194304 | 4MB | &nbsp; | uboot when using miniloader |- | atf | 24576 | 00006000 | 8192 | 00002000 | 4194304 | 4MB | &nbsp; | arm trusted firmware, trusted-os |- | boot(bootable must be set) | 32768 | 00008000 | 229376 | 00038000 | 117440512 | 112MB | &nbsp; | kernela, kernelb, dts, extlinux.conf, ramdisk |- | rootfs | 262144 | 00040000 | - | - | - | -MB | &nbsp; | Linux system |- | Secondary GPT | 16777183 | 00FFFFDF | 33 | 00000021 | 16896 | 16.5KB | &nbsp; | &nbsp; |} = How to modify GPT partition table through U-boot = In u-boot console, the "gpt" command can be used to write the gpt partition table: <pre><code>gpt - GUID Partition Table Usage: gpt <command> <interface> <dev> <partitions_list> - GUID partition table restoration and validity check Restore or verify GPT information on a device connected to interface Example usage: gpt write mmc 0 $partitions gpt verify mmc 0 $partitions</code> </pre> for exsample: <pre><code>=> env set partitions name=rootfs,size=-,type=system => gpt write mmc 0 $partitions Writing GPT: success!</code> </pre> <br/> NOTE: the partitions env can be set in the u-boot console(using "env set" command), or in u-boot's source code,<br/> for exsample: <pre><code>include/configs/kylin_rk3036.h #define PARTS_DEFAULT \ "uuid_disk=${uuid_gpt_disk};" \ ... #undef CONFIG_EXTRA_ENV_SETTINGS #define CONFIG_EXTRA_ENV_SETTINGS \ "partitions=" PARTS_DEFAULT \</code> </pre> = How to modify GPT partition table through U-boot's fastboot = The current upstream u-boot contains fastboot protocol support. And this version of fastboot supports 2 ways to modify gpt partition table: '''1/ fastboot oem format:'''<br/> It's the same as "gpt write mmc 0 $partitions" in u-boot console: <pre><code>#ifdef CONFIG_FASTBOOT_FLASH_MMC_DEV if (strncmp("format", cmd + 4, 6) == 0) { char cmdbuf[32]; sprintf(cmdbuf, "gpt write mmc %x $partitions", CONFIG_FASTBOOT_FLASH_MMC_DEV); if (run_command(cmdbuf, 0)) fastboot_tx_write_str("FAIL"); else fastboot_tx_write_str("OKAY"); } else #endif</code> </pre> PC command: <pre><code>$ fastboot oem format -i 0x2207 ... OKAY [ 0.015s] finished. total time: 0.015s</code> </pre> '''2/ fastboot flash gpt <gpt partition image>''' <pre><code> if (strcmp(cmd, CONFIG_FASTBOOT_GPT_NAME) == 0) { printf("%s: updating MBR, Primary and Backup GPT(s)\n", __func__); if (is_valid_gpt_buf(dev_desc, download_buffer)) { printf("%s: invalid GPT - refusing to write to flash\n", __func__); fastboot_fail(response_str, "invalid GPT partition"); return; } if (write_mbr_and_gpt_partitions(dev_desc, download_buffer)) { printf("%s: writing GPT partitions failed\n", __func__); fastboot_fail(response_str, "writing GPT partitions failed"); return; } printf("........ success\n"); fastboot_okay(response_str, ""); return;</code> </pre> The gpt partition image can be generated by PC's gdisk tool,<br/> for exsample: <pre><code>$ dd if=/dev/zero of=disk.img bs=1M count=256 256+0 records in 256+0 records out 268435456 bytes (268 MB) copied, 0.151867 s, 1.8 GB/s $ gdisk disk.img GPT fdisk (gdisk) version 0.8.1 Partition table scan: MBR: not present BSD: not present APM: not present GPT: not present Creating new GPT entries. Command (? for help): n Partition number (1-128, default 1): First sector (34-524254, default = 34) or {+-}size{KMGTP}: Information: Moved requested sector from 34 to 2048 in order to align on 2048-sector boundaries. Use 'l' on the experts' menu to adjust alignment Last sector (2048-524254, default = 524254) or {+-}size{KMGTP}: Current type is 'Linux filesystem' Hex code or GUID (L to show codes, Enter = 8300): Changed type of partition to 'Linux filesystem' Command (? for help): w Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING PARTITIONS!! Do you want to proceed? (Y/N): y OK; writing new GUID partition table (GPT). Warning: The kernel is still using the old partition table. The new table will be used at the next reboot. The operation has completed successfully. $ dd if=disk.img of=gpt.img count=64 64+0 records in 64+0 records out 32768 bytes (33 kB) copied, 0.00075438 s, 43.4 MB/s</code> </pre> PC command: <pre><code>$ fastboot flash gpt gpt.img target reported max download size of 117440512 bytes sending 'gpt' (32 KB)... OKAY [ 0.006s] writing 'gpt'... OKAY [ 0.025s] finished. total time: 0.030s</code></pre> 7beeeeebc251a97f6c7a287387716f752edbee2f 355 354 2017-03-08T12:53:04Z Kever 2 wikitext text/x-wiki = Introduction = Rockchip use&nbsp;[https://en.wikipedia.org/wiki/GUID_Partition_Table GPT]&nbsp;as its main partition table in open source support. We store GPT at LBA0 ~ LBA63. = GPT partition table in U-boot = U-boot supports standard&nbsp;[https://github.com/rockchip-linux/u-boot/blob/android/doc/README.gpt GPT partition table format]. = Default partition map = {| |- ! Partition ! colspan="2" | Start Sector ! colspan="2" | Number of Sectors ! colspan="2" | Partition Size ! Mount Point ! Requirements |- | MBR | 0 | 00000000 | 1 | 00000001 | 512 | 0.5KB | &nbsp; | &nbsp; |- | Primary GPT | 1 | 00000001 | 63 | 0000003F | 32256 | 31.5KB | &nbsp; | &nbsp; |- | loader1 | 64 | 00000040 | 8000 | 00001F40 | 4096000 | 3.91MB | &nbsp; | miniloader or uboot |- | reserved1 | 8064 | 00001F80 | 128 | 00000080 | 65536 | 64KB | &nbsp; | &nbsp; |- | reserved2 | 8192 | 00002000 | 8192 | 00002000 | 4194304 | 4MB | &nbsp; | parameter or vendor data |- | loader2 | 16384 | 00004000 | 8192 | 00002000 | 4194304 | 4MB | &nbsp; | uboot when using miniloader |- | atf | 24576 | 00006000 | 8192 | 00002000 | 4194304 | 4MB | &nbsp; | arm trusted firmware, trusted-os |- | boot(bootable must be set) | 32768 | 00008000 | 229376 | 00038000 | 117440512 | 112MB | &nbsp; | kernela, kernelb, dts, extlinux.conf, ramdisk |- | rootfs | 262144 | 00040000 | - | - | - | -MB | &nbsp; | Linux system |- | Secondary GPT | 16777183 | 00FFFFDF | 33 | 00000021 | 16896 | 16.5KB | &nbsp; | &nbsp; |} = How to modify GPT partition table through U-boot = In u-boot console, the "gpt" command can be used to write the gpt partition table: <pre>gpt - GUID Partition Table Usage: gpt <command> <interface> <dev> <partitions_list> - GUID partition table restoration and validity check Restore or verify GPT information on a device connected to interface Example usage: gpt write mmc 0 $partitions gpt verify mmc 0 $partitions</code> </pre> for exsample: <pre><code>=> env set partitions name=rootfs,size=-,type=system => gpt write mmc 0 $partitions Writing GPT: success! </pre> <br/> NOTE: the partitions env can be set in the u-boot console(using "env set" command), or in u-boot's source code,<br/> for exsample: <pre>include/configs/kylin_rk3036.h #define PARTS_DEFAULT \ "uuid_disk=${uuid_gpt_disk};" \ ... #undef CONFIG_EXTRA_ENV_SETTINGS #define CONFIG_EXTRA_ENV_SETTINGS \ "partitions=" PARTS_DEFAULT \ </pre> = How to modify GPT partition table through U-boot's fastboot = The current upstream u-boot contains fastboot protocol support. And this version of fastboot supports 2 ways to modify gpt partition table: '''1/ fastboot oem format:'''<br/> It's the same as "gpt write mmc 0 $partitions" in u-boot console: <pre><code>#ifdef CONFIG_FASTBOOT_FLASH_MMC_DEV if (strncmp("format", cmd + 4, 6) == 0) { char cmdbuf[32]; sprintf(cmdbuf, "gpt write mmc %x $partitions", CONFIG_FASTBOOT_FLASH_MMC_DEV); if (run_command(cmdbuf, 0)) fastboot_tx_write_str("FAIL"); else fastboot_tx_write_str("OKAY"); } else #endif</code> </pre> PC command: <pre><code>$ fastboot oem format -i 0x2207 ... OKAY [ 0.015s] finished. total time: 0.015s</code> </pre> '''2/ fastboot flash gpt <gpt partition image>''' <pre><code> if (strcmp(cmd, CONFIG_FASTBOOT_GPT_NAME) == 0) { printf("%s: updating MBR, Primary and Backup GPT(s)\n", __func__); if (is_valid_gpt_buf(dev_desc, download_buffer)) { printf("%s: invalid GPT - refusing to write to flash\n", __func__); fastboot_fail(response_str, "invalid GPT partition"); return; } if (write_mbr_and_gpt_partitions(dev_desc, download_buffer)) { printf("%s: writing GPT partitions failed\n", __func__); fastboot_fail(response_str, "writing GPT partitions failed"); return; } printf("........ success\n"); fastboot_okay(response_str, ""); return;</code> </pre> The gpt partition image can be generated by PC's gdisk tool,<br/> for exsample: <pre><code>$ dd if=/dev/zero of=disk.img bs=1M count=256 256+0 records in 256+0 records out 268435456 bytes (268 MB) copied, 0.151867 s, 1.8 GB/s $ gdisk disk.img GPT fdisk (gdisk) version 0.8.1 Partition table scan: MBR: not present BSD: not present APM: not present GPT: not present Creating new GPT entries. Command (? for help): n Partition number (1-128, default 1): First sector (34-524254, default = 34) or {+-}size{KMGTP}: Information: Moved requested sector from 34 to 2048 in order to align on 2048-sector boundaries. Use 'l' on the experts' menu to adjust alignment Last sector (2048-524254, default = 524254) or {+-}size{KMGTP}: Current type is 'Linux filesystem' Hex code or GUID (L to show codes, Enter = 8300): Changed type of partition to 'Linux filesystem' Command (? for help): w Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING PARTITIONS!! Do you want to proceed? (Y/N): y OK; writing new GUID partition table (GPT). Warning: The kernel is still using the old partition table. The new table will be used at the next reboot. The operation has completed successfully. $ dd if=disk.img of=gpt.img count=64 64+0 records in 64+0 records out 32768 bytes (33 kB) copied, 0.00075438 s, 43.4 MB/s</code> </pre> PC command: <pre><code>$ fastboot flash gpt gpt.img target reported max download size of 117440512 bytes sending 'gpt' (32 KB)... OKAY [ 0.006s] writing 'gpt'... OKAY [ 0.025s] finished. total time: 0.030s</code></pre> c9ae3131d11b2a84067334f6299266e3935d6abe 356 355 2017-03-08T12:54:06Z Kever 2 wikitext text/x-wiki = Introduction = Rockchip use&nbsp;[https://en.wikipedia.org/wiki/GUID_Partition_Table GPT]&nbsp;as its main partition table in open source support. We store GPT at LBA0 ~ LBA63. = GPT partition table in U-boot = U-boot supports standard&nbsp;[https://github.com/rockchip-linux/u-boot/blob/android/doc/README.gpt GPT partition table format]. = Default partition map = {| |- ! Partition ! colspan="2" | Start Sector ! colspan="2" | Number of Sectors ! colspan="2" | Partition Size ! Mount Point ! Requirements |- | MBR | 0 | 00000000 | 1 | 00000001 | 512 | 0.5KB | &nbsp; | &nbsp; |- | Primary GPT | 1 | 00000001 | 63 | 0000003F | 32256 | 31.5KB | &nbsp; | &nbsp; |- | loader1 | 64 | 00000040 | 8000 | 00001F40 | 4096000 | 3.91MB | &nbsp; | miniloader or uboot |- | reserved1 | 8064 | 00001F80 | 128 | 00000080 | 65536 | 64KB | &nbsp; | &nbsp; |- | reserved2 | 8192 | 00002000 | 8192 | 00002000 | 4194304 | 4MB | &nbsp; | parameter or vendor data |- | loader2 | 16384 | 00004000 | 8192 | 00002000 | 4194304 | 4MB | &nbsp; | uboot when using miniloader |- | atf | 24576 | 00006000 | 8192 | 00002000 | 4194304 | 4MB | &nbsp; | arm trusted firmware, trusted-os |- | boot(bootable must be set) | 32768 | 00008000 | 229376 | 00038000 | 117440512 | 112MB | &nbsp; | kernela, kernelb, dts, extlinux.conf, ramdisk |- | rootfs | 262144 | 00040000 | - | - | - | -MB | &nbsp; | Linux system |- | Secondary GPT | 16777183 | 00FFFFDF | 33 | 00000021 | 16896 | 16.5KB | &nbsp; | &nbsp; |} = How to modify GPT partition table through U-boot = In u-boot console, the "gpt" command can be used to write the gpt partition table: <pre>gpt - GUID Partition Table Usage: gpt <command> <interface> <dev> <partitions_list> - GUID partition table restoration and validity check Restore or verify GPT information on a device connected to interface Example usage: gpt write mmc 0 $partitions gpt verify mmc 0 $partitions</code> </pre> for exsample: <pre><code>=> env set partitions name=rootfs,size=-,type=system => gpt write mmc 0 $partitions Writing GPT: success! </pre> <br/> NOTE: the partitions env can be set in the u-boot console(using "env set" command), or in u-boot's source code,<br/> for exsample: <pre>include/configs/kylin_rk3036.h #define PARTS_DEFAULT \ "uuid_disk=${uuid_gpt_disk};" \ ... #undef CONFIG_EXTRA_ENV_SETTINGS #define CONFIG_EXTRA_ENV_SETTINGS \ "partitions=" PARTS_DEFAULT \ </pre> = How to modify GPT partition table through U-boot's fastboot = The current upstream u-boot contains fastboot protocol support. And this version of fastboot supports 2 ways to modify gpt partition table: == '''fastboot oem format:'''<br/> It's the same as "gpt write mmc 0 $partitions" in u-boot console: == <pre>#ifdef CONFIG_FASTBOOT_FLASH_MMC_DEV if (strncmp("format", cmd + 4, 6) == 0) { char cmdbuf[32]; sprintf(cmdbuf, "gpt write mmc&nbsp;%x $partitions", CONFIG_FASTBOOT_FLASH_MMC_DEV); if (run_command(cmdbuf, 0)) fastboot_tx_write_str("FAIL"); else fastboot_tx_write_str("OKAY"); } else #endif </pre> PC command: <pre>$ fastboot oem format -i 0x2207 ... OKAY [ 0.015s] finished. total time: 0.015s</code> </pre> == '''fastboot flash gpt <gpt partition image>''' == <pre> if (strcmp(cmd, CONFIG_FASTBOOT_GPT_NAME) == 0) { printf("%s: updating MBR, Primary and Backup GPT(s)\n", __func__); if (is_valid_gpt_buf(dev_desc, download_buffer)) { printf("%s: invalid GPT - refusing to write to flash\n", __func__); fastboot_fail(response_str, "invalid GPT partition"); return; } if (write_mbr_and_gpt_partitions(dev_desc, download_buffer)) { printf("%s: writing GPT partitions failed\n", __func__); fastboot_fail(response_str, "writing GPT partitions failed"); return; } printf("........ success\n"); fastboot_okay(response_str, ""); return; </pre> The gpt partition image can be generated by PC's gdisk tool,<br/> for exsample: <pre>$ dd if=/dev/zero of=disk.img bs=1M count=256 256+0 records in 256+0 records out 268435456 bytes (268 MB) copied, 0.151867 s, 1.8 GB/s $ gdisk disk.img GPT fdisk (gdisk) version 0.8.1 Partition table scan: MBR: not present BSD: not present APM: not present GPT: not present Creating new GPT entries. Command (? for help): n Partition number (1-128, default 1): First sector (34-524254, default = 34) or {+-}size{KMGTP}: Information: Moved requested sector from 34 to 2048 in order to align on 2048-sector boundaries. Use 'l' on the experts' menu to adjust alignment Last sector (2048-524254, default = 524254) or {+-}size{KMGTP}: Current type is 'Linux filesystem' Hex code or GUID (L to show codes, Enter = 8300): Changed type of partition to 'Linux filesystem' Command (? for help): w Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING PARTITIONS!! Do you want to proceed? (Y/N): y OK; writing new GUID partition table (GPT). Warning: The kernel is still using the old partition table. The new table will be used at the next reboot. The operation has completed successfully. $ dd if=disk.img of=gpt.img count=64 64+0 records in 64+0 records out 32768 bytes (33 kB) copied, 0.00075438 s, 43.4 MB/s </pre> PC command: <pre>$ fastboot flash gpt gpt.img target reported max download size of 117440512 bytes sending 'gpt' (32 KB)... OKAY [ 0.006s] writing 'gpt'... OKAY [ 0.025s] finished. total time: 0.030s</pre> 627dff1654f02db55cf9e26e5b8f1bcbab9fcef1 357 356 2017-03-08T12:55:42Z Kever 2 wikitext text/x-wiki = Introduction = Rockchip use&nbsp;[https://en.wikipedia.org/wiki/GUID_Partition_Table GPT]&nbsp;as its main partition table in open source support. We store GPT at LBA0 ~ LBA63. = GPT partition table in U-boot = U-boot supports standard&nbsp;[https://github.com/rockchip-linux/u-boot/blob/android/doc/README.gpt GPT partition table format]. = Default partition map = {| |- ! Partition ! colspan="2" | Start Sector ! colspan="2" | Number of Sectors ! colspan="2" | Partition Size ! Mount Point ! Requirements |- | MBR | 0 | 00000000 | 1 | 00000001 | 512 | 0.5KB | &nbsp; | &nbsp; |- | Primary GPT | 1 | 00000001 | 63 | 0000003F | 32256 | 31.5KB | &nbsp; | &nbsp; |- | loader1 | 64 | 00000040 | 8000 | 00001F40 | 4096000 | 3.91MB | &nbsp; | miniloader or uboot |- | reserved1 | 8064 | 00001F80 | 128 | 00000080 | 65536 | 64KB | &nbsp; | &nbsp; |- | reserved2 | 8192 | 00002000 | 8192 | 00002000 | 4194304 | 4MB | &nbsp; | parameter or vendor data |- | loader2 | 16384 | 00004000 | 8192 | 00002000 | 4194304 | 4MB | &nbsp; | uboot when using miniloader |- | atf | 24576 | 00006000 | 8192 | 00002000 | 4194304 | 4MB | &nbsp; | arm trusted firmware, trusted-os |- | boot(bootable must be set) | 32768 | 00008000 | 229376 | 00038000 | 117440512 | 112MB | &nbsp; | kernela, kernelb, dts, extlinux.conf, ramdisk |- | rootfs | 262144 | 00040000 | - | - | - | -MB | &nbsp; | Linux system |- | Secondary GPT | 16777183 | 00FFFFDF | 33 | 00000021 | 16896 | 16.5KB | &nbsp; | &nbsp; |} = How to modify GPT partition table through U-boot = In u-boot console, the "gpt" command can be used to write the gpt partition table: <pre>gpt - GUID Partition Table Usage: gpt <command> <interface> <dev> <partitions_list> - GUID partition table restoration and validity check Restore or verify GPT information on a device connected to interface Example usage: gpt write mmc 0 $partitions gpt verify mmc 0 $partitions</code> </pre> for exsample: <pre><code>=> env set partitions name=rootfs,size=-,type=system => gpt write mmc 0 $partitions Writing GPT: success! </pre> <br/> NOTE: the partitions env can be set in the u-boot console(using "env set" command), or in u-boot's source code,<br/> for exsample: <pre>include/configs/kylin_rk3036.h #define PARTS_DEFAULT \ "uuid_disk=${uuid_gpt_disk};" \ ... #undef CONFIG_EXTRA_ENV_SETTINGS #define CONFIG_EXTRA_ENV_SETTINGS \ "partitions=" PARTS_DEFAULT \ </pre> = How to modify GPT partition table through U-boot's fastboot = The current upstream u-boot contains fastboot protocol support. And this version of fastboot supports 2 ways to modify gpt partition table: == fastboot oem format == It's the same as "gpt write mmc 0 $partitions" in u-boot console: <pre>#ifdef CONFIG_FASTBOOT_FLASH_MMC_DEV if (strncmp("format", cmd + 4, 6) == 0) { char cmdbuf[32]; sprintf(cmdbuf, "gpt write mmc&nbsp;%x $partitions", CONFIG_FASTBOOT_FLASH_MMC_DEV); if (run_command(cmdbuf, 0)) fastboot_tx_write_str("FAIL"); else fastboot_tx_write_str("OKAY"); } else #endif </pre> PC command: <pre>$ fastboot oem format -i 0x2207 ... OKAY [ 0.015s] finished. total time: 0.015s</code> </pre> == fastboot flash gpt <gpt partition image> == <pre> if (strcmp(cmd, CONFIG_FASTBOOT_GPT_NAME) == 0) { printf("%s: updating MBR, Primary and Backup GPT(s)\n", __func__); if (is_valid_gpt_buf(dev_desc, download_buffer)) { printf("%s: invalid GPT - refusing to write to flash\n", __func__); fastboot_fail(response_str, "invalid GPT partition"); return; } if (write_mbr_and_gpt_partitions(dev_desc, download_buffer)) { printf("%s: writing GPT partitions failed\n", __func__); fastboot_fail(response_str, "writing GPT partitions failed"); return; } printf("........ success\n"); fastboot_okay(response_str, ""); return; </pre> The gpt partition image can be generated by PC's gdisk tool,<br/> for exsample: <pre>$ dd if=/dev/zero of=disk.img bs=1M count=256 256+0 records in 256+0 records out 268435456 bytes (268 MB) copied, 0.151867 s, 1.8 GB/s $ gdisk disk.img GPT fdisk (gdisk) version 0.8.1 Partition table scan: MBR: not present BSD: not present APM: not present GPT: not present Creating new GPT entries. Command (? for help): n Partition number (1-128, default 1): First sector (34-524254, default = 34) or {+-}size{KMGTP}: Information: Moved requested sector from 34 to 2048 in order to align on 2048-sector boundaries. Use 'l' on the experts' menu to adjust alignment Last sector (2048-524254, default = 524254) or {+-}size{KMGTP}: Current type is 'Linux filesystem' Hex code or GUID (L to show codes, Enter = 8300): Changed type of partition to 'Linux filesystem' Command (? for help): w Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING PARTITIONS!! Do you want to proceed? (Y/N): y OK; writing new GUID partition table (GPT). Warning: The kernel is still using the old partition table. The new table will be used at the next reboot. The operation has completed successfully. $ dd if=disk.img of=gpt.img count=64 64+0 records in 64+0 records out 32768 bytes (33 kB) copied, 0.00075438 s, 43.4 MB/s </pre> PC command: <pre>$ fastboot flash gpt gpt.img target reported max download size of 117440512 bytes sending 'gpt' (32 KB)... OKAY [ 0.006s] writing 'gpt'... OKAY [ 0.025s] finished. total time: 0.030s</pre> 12fc78910a892e9543a24f5716750e80b4dac6a7 Main Page 0 16 358 340 2017-03-08T12:58:32Z Kever 2 wikitext text/x-wiki = '''Source code''' = Rockchip provide open source software on Github including fully support for Linux Based OS: *Github:&nbsp;[http://github.com/rockchip-linux http://github.com/rockchip-linux] You can also find software for Rockchip SoCs from Upstream: *Linux kernel:&nbsp;[http://www.kernel.org/ http://www.kernel.org/] *U-Boot:&nbsp;[http://www.denx.de/wiki/U-Boot/WebHome http://www.denx.de/wiki/U-Boot/WebHome] *ARM Truseted Firmware:&nbsp;[https://github.com/ARM-software/arm-trusted-firmware https://github.com/ARM-software/arm-trusted-firmware] = '''Hardware Document''' = Here are the documents for SoCs, you can find&nbsp;Hardware device/board information on [[Devices|DEVICE PAGE]]. {| border="1" cellpadding="0" cellspacing="0" |- | style="width:92px;" | <p style="text-align: center;">SoC</p> | style="width:286px;" | <p style="text-align: center;">Description</p> | style="width:189px;" | <p style="text-align: center;">Download</p> |- | style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p> | style="width:286px;" | Quad-core Cortex-A17 CPU, MALI-T764 GPU | style="width:189px;" | [http://10.10.10.12:8444/index.php?title=TRM TRM], [[Datasheet|Datasheet]],[[Schematic|Schematic]], Layout Guide |- | style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p> | style="width:286px;" | Quad-core Cortex-A53 CPU,MALI-450MP2 GPU | style="width:189px;" | [[TRM|TRM]], [[Datasheet|Datasheet]],[[Schematic|Schematic]], Layout Guide |- | style="width:92px;" | <p style="text-align: center;">[[RK3399|RK3399]]</p> | style="width:286px;" | Dual-core Cortex-A72, Quad-core Cortex-A53 CPU, MALI-T864 GPU | style="width:189px;" | [[TRM|TRM]], [[Datasheet|Datasheet]],[[Schematic|Schematic]], Layout Guide |} &nbsp; &nbsp; = '''Software development&nbsp;''' = *'''&nbsp;Porting guide for Linux based OS/Distribution''' &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Debian|Debian]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Yocto|Yocto]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Buildroot|Buildroot]] *'''&nbsp;BSP module user guide''' &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[U-Boot|U-Boot]]&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Rockchip_Kernel|Rockchip Kernel]]&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Upstream_Kernel|Upstream Kernel]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Upstream_ATF|Upstream ATF]] *'''&nbsp; Graphic and Video module user guide''' &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Display_Server|Display Server]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Gstreamer|Gstreamer]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[MPP|MPP]] *'''Tool and Firmware Upgrade''' &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Rockusb|Rockusb]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Rkdevelptool|Rkdevelptool]] '''<span style="font-size:xx-large;">Feedback</span>''' If you have any questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website. Rockchip Hotline:&nbsp;400-7700-590 Abroad, please call:&nbsp;0086-591-83991906&nbsp;Ext:&nbsp;8198 Service mailbox:service@rock-chips.com 83ca8493657f28eb7f7cceecfbe6bc23155f1acb 359 358 2017-03-08T12:58:52Z Kever 2 wikitext text/x-wiki = '''Source code''' = Rockchip provide open source software on Github including fully support for Linux Based OS: *Github:&nbsp;[http://github.com/rockchip-linux http://github.com/rockchip-linux] You can also find software for Rockchip SoCs from Upstream: *Linux kernel:&nbsp;[http://www.kernel.org/ http://www.kernel.org/] *U-Boot:&nbsp;[http://www.denx.de/wiki/U-Boot/WebHome http://www.denx.de/wiki/U-Boot/WebHome] *ARM Truseted Firmware:&nbsp;[https://github.com/ARM-software/arm-trusted-firmware https://github.com/ARM-software/arm-trusted-firmware] = '''Hardware Document''' = Here are the documents for SoCs, you can find&nbsp;Hardware device/board information on [[Devices|DEVICE PAGE]]. {| border="1" cellpadding="0" cellspacing="0" |- | style="width:92px;" | <p style="text-align: center;">SoC</p> | style="width:286px;" | <p style="text-align: center;">Description</p> | style="width:189px;" | <p style="text-align: center;">Download</p> |- | style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p> | style="width:286px;" | Quad-core Cortex-A17 CPU, MALI-T764 GPU | style="width:189px;" | [http://10.10.10.12:8444/index.php?title=TRM TRM], [[Datasheet|Datasheet]],[[Schematic|Schematic]], Layout Guide |- | style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p> | style="width:286px;" | Quad-core Cortex-A53 CPU,MALI-450MP2 GPU | style="width:189px;" | [[TRM|TRM]], [[Datasheet|Datasheet]],[[Schematic|Schematic]], Layout Guide |- | style="width:92px;" | <p style="text-align: center;">[[RK3399|RK3399]]</p> | style="width:286px;" | Dual-core Cortex-A72, Quad-core Cortex-A53 CPU, MALI-T864 GPU | style="width:189px;" | [[TRM|TRM]], [[Datasheet|Datasheet]],[[Schematic|Schematic]], Layout Guide |} &nbsp; = '''Software development&nbsp;''' = *'''&nbsp;Porting guide for Linux based OS/Distribution''' &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Debian|Debian]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Yocto|Yocto]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Buildroot|Buildroot]] *'''&nbsp;BSP module user guide''' &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[U-Boot|U-Boot]]&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Rockchip_Kernel|Rockchip Kernel]]&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Upstream_Kernel|Upstream Kernel]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Upstream_ATF|Upstream ATF]] *'''&nbsp; Graphic and Video module user guide''' &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Display_Server|Display Server]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Gstreamer|Gstreamer]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[MPP|MPP]] *'''Tool and Firmware Upgrade''' &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Rockusb|Rockusb]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Rkdevelptool|Rkdevelptool]] '''<span style="font-size:xx-large;">Feedback</span>''' If you have any questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website. Rockchip Hotline:&nbsp;400-7700-590 Abroad, please call:&nbsp;0086-591-83991906&nbsp;Ext:&nbsp;8198 Service mailbox:service@rock-chips.com 1c842383bd5afd7f2a3892c2bae17b08563aef4f 365 359 2017-03-08T13:08:41Z Kever 2 wikitext text/x-wiki = '''Source code''' = Rockchip provide open source software on Github including fully support for Linux Based OS: *Github:&nbsp;[http://github.com/rockchip-linux http://github.com/rockchip-linux] You can also find software for Rockchip SoCs from Upstream: *Linux kernel:&nbsp;[http://www.kernel.org/ http://www.kernel.org/] *U-Boot:&nbsp;[http://www.denx.de/wiki/U-Boot/WebHome http://www.denx.de/wiki/U-Boot/WebHome] *ARM Truseted Firmware:&nbsp;[https://github.com/ARM-software/arm-trusted-firmware https://github.com/ARM-software/arm-trusted-firmware] = '''Hardware Document''' = Here are the documents for SoCs, you can find&nbsp;Hardware device/board information on [[Devices|DEVICE PAGE]]. {| border="1" cellpadding="0" cellspacing="0" |- | style="width:92px;" | <p style="text-align: center;">SoC</p> | style="width:286px;" | <p style="text-align: center;">Description</p> | style="width:189px;" | <p style="text-align: center;">Download</p> |- | style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p> | style="width:286px;" | Quad-core Cortex-A17 CPU, MALI-T764 GPU | style="width:189px;" | [http://10.10.10.12:8444/index.php?title=TRM TRM], [[Datasheet|Datasheet]],[[Schematic|Schematic]], Layout Guide |- | style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p> | style="width:286px;" | Quad-core Cortex-A53 CPU,MALI-450MP2 GPU | style="width:189px;" | [[TRM|TRM]], [[Datasheet|Datasheet]],[[Schematic|Schematic]], Layout Guide |- | style="width:92px;" | <p style="text-align: center;">[[RK3399|RK3399]]</p> | style="width:286px;" | Dual-core Cortex-A72, Quad-core Cortex-A53 CPU, MALI-T864 GPU | style="width:189px;" | [[TRM|TRM]], [[Datasheet|Datasheet]],[[Schematic|Schematic]], Layout Guide |} &nbsp; = '''Software development&nbsp;''' = *'''&nbsp;Porting guide for Linux based OS/Distribution''' &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Debian|Debian]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Yocto|Yocto]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Buildroot|Buildroot]] *'''&nbsp;BSP module user guide''' &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[U-Boot|U-Boot]]&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Rockchip_Kernel|Rockchip Kernel]]&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Upstream_Kernel|Upstream Kernel]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[atf|ARM Trusted&nbsp;Firmware]] *'''&nbsp; Graphic and Video module user guide''' &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Display_Server|Display Server]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Gstreamer|Gstreamer]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[MPP|MPP]] *'''Tool and Firmware Upgrade''' &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Rockusb|Rockusb]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Rkdevelptool|Rkdevelptool]] '''<span style="font-size:xx-large;">Feedback</span>''' If you have any questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website. Rockchip Hotline:&nbsp;400-7700-590 Abroad, please call:&nbsp;0086-591-83991906&nbsp;Ext:&nbsp;8198 Service mailbox:service@rock-chips.com b7a265c78efc69bfa32304fa9fcb8b8c811d3c5c 367 365 2017-03-08T13:13:03Z Kever 2 wikitext text/x-wiki = '''Source code''' = Rockchip provide open source software on Github including fully support for Linux Based OS: *Github:&nbsp;[http://github.com/rockchip-linux http://github.com/rockchip-linux] You can also find software for Rockchip SoCs from Upstream: *Linux kernel:&nbsp;[http://www.kernel.org/ http://www.kernel.org/] *U-Boot:&nbsp;[http://www.denx.de/wiki/U-Boot/WebHome http://www.denx.de/wiki/U-Boot/WebHome] *ARM Truseted Firmware:&nbsp;[https://github.com/ARM-software/arm-trusted-firmware https://github.com/ARM-software/arm-trusted-firmware] = '''Hardware Document''' = Here are the documents for SoCs, you can find&nbsp;Hardware device/board information on [[Devices|DEVICE PAGE]]. {| border="1" cellpadding="0" cellspacing="0" |- | style="width:92px;" | <p style="text-align: center;">SoC</p> | style="width:286px;" | <p style="text-align: center;">Description</p> | style="width:189px;" | <p style="text-align: center;">Download</p> |- | style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p> | style="width:286px;" | Quad-core Cortex-A17 CPU, MALI-T764 GPU | style="width:189px;" | [http://10.10.10.12:8444/index.php?title=TRM TRM], [[Rockchip_RK3288_Datasheet_V2.2-20170301.pdf|Datasheet]],[[Schematic|Schematic]], Layout Guide |- | style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p> | style="width:286px;" | Quad-core Cortex-A53 CPU,MALI-450MP2 GPU | style="width:189px;" | [[TRM|TRM]], [[Datasheet|Datasheet]],[[Schematic|Schematic]], Layout Guide |- | style="width:92px;" | <p style="text-align: center;">[[RK3399|RK3399]]</p> | style="width:286px;" | Dual-core Cortex-A72, Quad-core Cortex-A53 CPU, MALI-T864 GPU | style="width:189px;" | [[TRM|TRM]], [[Rockchip_RK3399_Datasheet_V1.6-20170301.pdf|Datasheet]],[[Schematic|Schematic]], Layout Guide |} &nbsp; = '''Software development&nbsp;''' = *'''&nbsp;Porting guide for Linux based OS/Distribution''' &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Debian|Debian]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Yocto|Yocto]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Buildroot|Buildroot]] *'''&nbsp;BSP module user guide''' &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[U-Boot|U-Boot]]&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Rockchip_Kernel|Rockchip Kernel]]&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Upstream_Kernel|Upstream Kernel]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[atf|ARM Trusted&nbsp;Firmware]] *'''&nbsp; Graphic and Video module user guide''' &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Display_Server|Display Server]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Gstreamer|Gstreamer]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[MPP|MPP]] *'''Tool and Firmware Upgrade''' &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Rockusb|Rockusb]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Rkdevelptool|Rkdevelptool]] '''<span style="font-size:xx-large;">Feedback</span>''' If you have any questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website. Rockchip Hotline:&nbsp;400-7700-590 Abroad, please call:&nbsp;0086-591-83991906&nbsp;Ext:&nbsp;8198 Service mailbox:service@rock-chips.com e9a3bbc2665a29dfd38bb4a458ab91eca7c69e1e 368 367 2017-03-08T13:15:30Z Kever 2 wikitext text/x-wiki = '''Source code''' = Rockchip provide open source software on Github including fully support for Linux Based OS: *Github:&nbsp;[http://github.com/rockchip-linux http://github.com/rockchip-linux] You can also find software for Rockchip SoCs from Upstream: *Linux kernel:&nbsp;[http://www.kernel.org/ http://www.kernel.org/] *U-Boot:&nbsp;[http://www.denx.de/wiki/U-Boot/WebHome http://www.denx.de/wiki/U-Boot/WebHome] *ARM Truseted Firmware:&nbsp;[https://github.com/ARM-software/arm-trusted-firmware https://github.com/ARM-software/arm-trusted-firmware] = '''Hardware Document''' = Here are the documents for SoCs, you can find&nbsp;Hardware device/board information on [[Devices|DEVICE PAGE]]. {| border="1" cellpadding="0" cellspacing="0" |- | style="width:92px;" | <p style="text-align: center;">SoC</p> | style="width:286px;" | <p style="text-align: center;">Description</p> | style="width:189px;" | <p style="text-align: center;">Download</p> |- | style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p> | style="width:286px;" | Quad-core Cortex-A17 CPU, MALI-T764 GPU | style="width:189px;" | [http://10.10.10.12:8444/index.php?title=TRM TRM], [[Media:Rockchip_RK3288_Datasheet_V2.2-20170301.pdf|Datasheet]],[[Schematic|Schematic]], Layout Guide |- | style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p> | style="width:286px;" | Quad-core Cortex-A53 CPU,MALI-450MP2 GPU | style="width:189px;" | [[TRM|TRM]], [[Datasheet|Datasheet]],[[Schematic|Schematic]], Layout Guide |- | style="width:92px;" | <p style="text-align: center;">[[RK3399|RK3399]]</p> | style="width:286px;" | Dual-core Cortex-A72, Quad-core Cortex-A53 CPU, MALI-T864 GPU | style="width:189px;" | [[TRM|TRM]], [[Media:Rockchip_RK3399_Datasheet_V1.6-20170301.pdf|Datasheet]],[[Schematic|Schematic]], Layout Guide |} &nbsp; = '''Software development&nbsp;''' = *'''&nbsp;Porting guide for Linux based OS/Distribution''' &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Debian|Debian]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Yocto|Yocto]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Buildroot|Buildroot]] *'''&nbsp;BSP module user guide''' &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[U-Boot|U-Boot]]&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Rockchip_Kernel|Rockchip Kernel]]&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Upstream_Kernel|Upstream Kernel]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[atf|ARM Trusted&nbsp;Firmware]] *'''&nbsp; Graphic and Video module user guide''' &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Display_Server|Display Server]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Gstreamer|Gstreamer]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[MPP|MPP]] *'''Tool and Firmware Upgrade''' &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Rockusb|Rockusb]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Rkdevelptool|Rkdevelptool]] '''<span style="font-size:xx-large;">Feedback</span>''' If you have any questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website. Rockchip Hotline:&nbsp;400-7700-590 Abroad, please call:&nbsp;0086-591-83991906&nbsp;Ext:&nbsp;8198 Service mailbox:service@rock-chips.com d35d828f90ed489f43ae264e07f3cea7b8027cbb 369 368 2017-03-08T13:17:20Z Kever 2 wikitext text/x-wiki = '''Source code''' = Rockchip provide open source software on Github including fully support for Linux Based OS: *Github:&nbsp;[http://github.com/rockchip-linux http://github.com/rockchip-linux] You can also find software for Rockchip SoCs from Upstream: *Linux kernel:&nbsp;[http://www.kernel.org/ http://www.kernel.org/] *U-Boot:&nbsp;[http://www.denx.de/wiki/U-Boot/WebHome http://www.denx.de/wiki/U-Boot/WebHome] *ARM Truseted Firmware:&nbsp;[https://github.com/ARM-software/arm-trusted-firmware https://github.com/ARM-software/arm-trusted-firmware] = '''Hardware Document''' = Here are the documents for SoCs, you can find&nbsp;Hardware device/board information on [[Devices|DEVICE PAGE]]. {| border="1" cellpadding="0" cellspacing="0" |- | style="width:92px;" | <p style="text-align: center;">SoC</p> | style="width:286px;" | <p style="text-align: center;">Description</p> | style="width:189px;" | <p style="text-align: center;">Download</p> |- | style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p> | style="width:286px;" | Quad-core Cortex-A17 CPU, MALI-T764 GPU | style="width:189px;" | [http://10.10.10.12:8444/index.php?title=TRM TRM], [[Media:Rockchip_RK3288_Datasheet_V2.2-20170301.pdf|Datasheet]],[[Schematic|Schematic]], Layout Guide |- | style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p> | style="width:286px;" | Quad-core Cortex-A53 CPU,MALI-450MP2 GPU | style="width:189px;" | [[TRM|TRM]], [[Datasheet|Datasheet]],[[Schematic|Schematic]], Layout Guide |- | style="width:92px;" | <p style="text-align: center;">[[RK3399|RK3399]]</p> | style="width:286px;" | Dual-core Cortex-A72, Quad-core Cortex-A53 CPU, MALI-T864 GPU | style="width:189px;" | [[TRM|TRM]], [[Media:Rockchip_RK3399_Datasheet_V1.6-20170301.pdf|Datasheet]],[[Schematic|Schematic]], Layout Guide |} &nbsp; = '''Software development&nbsp;''' = *'''&nbsp;Porting guide for Linux based OS/Distribution''' &nbsp; &nbsp; &nbsp; [[Linux_user_guide]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Debian|Debian]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Yocto|Yocto]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Buildroot|Buildroot]] *'''&nbsp;BSP module user guide''' &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[U-Boot|U-Boot]]&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Rockchip_Kernel|Rockchip Kernel]]&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Upstream_Kernel|Upstream Kernel]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Atf|ARM Trusted&nbsp;Firmware]] *'''&nbsp; Graphic and Video module user guide''' &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Display_Server|Display Server]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Gstreamer|Gstreamer]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[MPP|MPP]] *'''Tool and Firmware Upgrade''' &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Rockusb|Rockusb]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Rkdevelptool|Rkdevelptool]] '''<span style="font-size:xx-large;">Feedback</span>''' If you have any questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website. Rockchip Hotline:&nbsp;400-7700-590 Abroad, please call:&nbsp;0086-591-83991906&nbsp;Ext:&nbsp;8198 Service mailbox:service@rock-chips.com d7eeddb6f86fe2e156e1a245859105cf84315a98 ATF 0 54 366 2017-03-08T13:09:41Z Kever 2 Created page with "<pre>git clone https://github.com/ARM-software/arm-trusted-firmware.git</pre> &nbsp; <pre>sudo apt-get install gcc-arm-none-eabi</pre> &nbsp; <pre>$ cat mk-atf.sh #!/bin/b..." wikitext text/x-wiki <pre>git clone https://github.com/ARM-software/arm-trusted-firmware.git</pre> &nbsp; <pre>sudo apt-get install gcc-arm-none-eabi</pre> &nbsp; <pre>$ cat mk-atf.sh #!/bin/bash make realclean CFLAGS='-gdwarf-2' \ CROSS_COMPILE=aarch64-linux-gnu- \ make PLAT=rk3399 DEBUG=1 ERROR_DEPRECATED=1 bl31</pre> 8e69c5c1de77613bb8f502af4aec10a41019f187 RK3399 0 21 371 310 2017-03-08T13:22:26Z Kever 2 wikitext text/x-wiki Rockchip RK3399 SoC integrates&nbsp;dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor, and with&nbsp;ARM Mali-T864 GPU. {| border="0" cellpadding="1" cellspacing="0" class="infobox" style="width: 200px;" |- | [[File:RK3399 Soc.png|RTENOTITLE]] |} = Overview = RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications. &nbsp; &nbsp; &nbsp; = SoC Features = {| border="0" cellpadding="1" cellspacing="1" style="width: 972px;" |- | style="width: 530px;" | *CPU: **Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU **Frequency is over 1.8GHz (Big cluster) *GPU: **&nbsp;Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11 **Supports AFBC (ARM Frame Buffer Compression) *Display: **Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600 **Dual channel MIPI-DSI (4 lanes per channel) **eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR **HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2 **DisplayPort 1.2 (4 lanes, up to 4K 60Hz) **Supports Rec.2020 and conversion to Rec.709 *Camera: **&nbsp;Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels *Memory: **Dual channels 64-bit DRAM controller **Support DDR3/DDR3L, LPDDR3, LPDDR4 *Connectivity: **PCIe 2.1 (4 full-duplex lanes with 20Gbps) **Embedded low power MCU for other application **8 channels I2S supports 8 channels RX or 8 channels TX | style="width: 429px;" | [[File:RK3399 Block Diagram.png|RTENOTITLE]] |} = History = &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; = Documentation = #[http://10.10.10.12:8444/images/6/60/Rockchip_RK3399_Datasheet_V1.6-20170301.pdf Rockchip_RK3399_Datasheet_V1.6-20170301] #[http://10.10.10.12:8444/images/2/27/RK3399_Linux_Debian_System_Development_Guide.pdf RK3399_Linux_Debian_System_Development_Guide] #[http://10.10.10.12:8444/images/9/9e/RK_DDR_Support_List_Ver2.24.pdf RK_DDR_Support_List_Ver2.24] = Software = == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" style="line-height: 1.6; width: 768px;" |- | style="width: 119px; text-align: center;" | '''board''' | style="width: 172px; text-align: center;" | '''kernel''' | style="width: 124px; text-align: center;" | '''uboot''' | style="width: 310px; text-align: center;" | '''dts''' |- | style="width: 119px; text-align: center;" | rk3399-excavator | style="width: 172px; text-align: center;" | rockchip_linux_defconfig | style="width: 124px; text-align: center;" | rk3399_linux_defconfig | style="width: 310px; text-align: center;" | rk3399-sapphire-excavator-linux.dts |} &nbsp; &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" style="width: 859px;" |- | style="width: 68px; text-align: center;" | '''chip''' | style="width: 181px; text-align: center;" | '''Kernel eMMC index''' | style="width: 142px; text-align: center;" | '''Kernel SD index''' | style="width: 158px; text-align: center;" | '''Uboot eMMC index''' | style="width: 146px; text-align: center;" | '''Uboot SD index''' | style="width: 132px; text-align: center;" | '''Baud speed''' |- | style="width: 68px; text-align: center;" | RK3399 | style="width: 181px; text-align: center;" | 1 | style="width: 142px; text-align: center;" | 0 | style="width: 158px; text-align: center;" | 0 | style="width: 146px; text-align: center;" | 1 | style="width: 132px; text-align: center;" | 1500000 |} == How to get the sources == The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code.&nbsp;Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github. RK3399 optimized Debian & Buildroot <pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml repo sync </pre> == How to build the sources == === Build Environment === You need a 64-bit&nbsp;Ubuntu. Note: old versions&nbsp;Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so Install&nbsp;ARM cross-compile tool chain and compile kernel relative&nbsp;software package:&nbsp; $ sudo apt-get install gcc-arm-linux-gnueabihf&nbsp;gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev === Installing the build tools and download source === Please follow&nbsp;[http://rockchip.wikidot.com/linux-user-guide linux user guide]&nbsp;to install the build tools and download source. &nbsp; === Building kernel === For ARM V8 (RK3399 optimized SDK) <pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre> === Building uboot === For RK3399 optimized SDK (rkproduct uboot) <pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre> &nbsp; === Building rootfs === ==== Debian ==== you could refer to [[Media:RK3399_Linux_Debian_System_Development_Guide.pdf|RK3399 Linux Debian System Development Guide]]&nbsp;from Rockchip to build rootfs yourselves. &nbsp; ==== Buildroot ==== you could refer to [[Media:RK3399_Linux_Buildroot_System_Development_Guide.pdf|RK3399 Linux Buildroot System Development Guide]]&nbsp;from Rockchip to build rootfs yourselves. &nbsp; = Devices = Rockchip: [[Excavator_sapphire_board]] Firefly: [[Firefly-RK3399]] If you need the rk3399-excavator&nbsp;board, please communicate through&nbsp;the following&nbsp;contact information. <pre>Telephone: 4007700590 Email: service@rock-chips.com</pre> = See also = [[RK3288|RK3288]] [[RK3328|RK3328]] = Owners of the SoC on IRC = = Commuity Support = = References = = Exteneral Links = &nbsp; e03314b22f425d6ccf8133a30897f82d70786da6 385 371 2017-03-09T01:35:44Z Chery 9 wikitext text/x-wiki Rockchip RK3399 SoC integrates&nbsp;dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor, and with&nbsp;ARM Mali-T864 GPU. {| border="0" cellpadding="1" cellspacing="0" class="infobox" style="width: 200px;" |- | [[File:RK3399 Soc.png|RTENOTITLE]] |} = Overview = RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications. &nbsp; &nbsp; &nbsp; = SoC Features = {| border="0" cellpadding="1" cellspacing="1" style="width: 972px;" |- | style="width: 530px;" | *CPU: **Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU **Frequency is over 1.8GHz (Big cluster) *GPU: **&nbsp;Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11 **Supports AFBC (ARM Frame Buffer Compression) *Display: **Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600 **Dual channel MIPI-DSI (4 lanes per channel) **eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR **HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2 **DisplayPort 1.2 (4 lanes, up to 4K 60Hz) **Supports Rec.2020 and conversion to Rec.709 *Camera: **&nbsp;Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels *Memory: **Dual channels 64-bit DRAM controller **Support DDR3/DDR3L, LPDDR3, LPDDR4 *Connectivity: **PCIe 2.1 (4 full-duplex lanes with 20Gbps) **Embedded low power MCU for other application **8 channels I2S supports 8 channels RX or 8 channels TX | style="width: 429px;" | [[File:RK3399 Block Diagram.png|RTENOTITLE]] |} = History = &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; = Documentation = #[http://10.10.10.12:8444/images/6/60/Rockchip_RK3399_Datasheet_V1.6-20170301.pdf Rockchip_RK3399_Datasheet_V1.6-20170301] #[http://10.10.10.12:8444/images/2/27/RK3399_Linux_Debian_System_Development_Guide.pdf RK3399_Linux_Debian_System_Development_Guide] #[http://10.10.10.12:8444/images/9/9e/RK_DDR_Support_List_Ver2.24.pdf RK_DDR_Support_List_Ver2.24] = Software = == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" style="line-height: 1.6; width: 768px;" |- | style="width: 119px; text-align: center;" | '''board''' | style="width: 172px; text-align: center;" | '''kernel''' | style="width: 124px; text-align: center;" | '''uboot''' | style="width: 310px; text-align: center;" | '''dts''' |- | style="width: 119px; text-align: center;" | rk3399-excavator | style="width: 172px; text-align: center;" | rockchip_linux_defconfig | style="width: 124px; text-align: center;" | rk3399_linux_defconfig | style="width: 310px; text-align: center;" | rk3399-sapphire-excavator-linux.dts |} &nbsp; &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" style="width: 859px;" |- | style="width: 68px; text-align: center;" | '''chip''' | style="width: 181px; text-align: center;" | '''Kernel eMMC index''' | style="width: 142px; text-align: center;" | '''Kernel SD index''' | style="width: 158px; text-align: center;" | '''Uboot eMMC index''' | style="width: 146px; text-align: center;" | '''Uboot SD index''' | style="width: 132px; text-align: center;" | '''Baud speed''' |- | style="width: 68px; text-align: center;" | RK3399 | style="width: 181px; text-align: center;" | 1 | style="width: 142px; text-align: center;" | 0 | style="width: 158px; text-align: center;" | 0 | style="width: 146px; text-align: center;" | 1 | style="width: 132px; text-align: center;" | 1500000 |} == How to get the sources == The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code.&nbsp;Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github. RK3399 optimized Debian & Buildroot <pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml repo sync </pre> == How to build the sources == === Build Environment === You need a 64-bit&nbsp;Ubuntu. Note: old versions&nbsp;Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so Install&nbsp;ARM cross-compile tool chain and compile kernel relative&nbsp;software package:&nbsp; $ sudo apt-get install gcc-arm-linux-gnueabihf&nbsp;gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev === Building kernel === For ARM V8 (RK3399 optimized SDK) <pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre> === Building uboot === For RK3399 optimized SDK (rkproduct uboot) <pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre> &nbsp; === Building rootfs === ==== Debian ==== you could refer to [[Media:RK3399_Linux_Debian_System_Development_Guide.pdf|RK3399 Linux Debian System Development Guide]]&nbsp;from Rockchip to build rootfs yourselves. &nbsp; ==== Buildroot ==== you could refer to [[Media:RK3399_Linux_Buildroot_System_Development_Guide.pdf|RK3399 Linux Buildroot System Development Guide]]&nbsp;from Rockchip to build rootfs yourselves. &nbsp; = Devices = Rockchip: [[Excavator_sapphire_board]] Firefly: [[Firefly-RK3399]] If you need the rk3399-excavator&nbsp;board, please communicate through&nbsp;the following&nbsp;contact information. <pre>Telephone: 4007700590 Email: service@rock-chips.com</pre> = See also = [[RK3288|RK3288]] [[RK3328|RK3328]] = Owners of the SoC on IRC = = Commuity Support = = References = = Exteneral Links = &nbsp; dc8384eac4cf62d8ddebc752c9e24c96b57ed4c3 386 385 2017-03-09T01:37:56Z Chery 9 wikitext text/x-wiki Rockchip RK3399 SoC integrates&nbsp;dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor, and with&nbsp;ARM Mali-T864 GPU. {| border="0" cellpadding="1" cellspacing="0" class="infobox" style="width: 200px;" |- | [[File:RK3399 Soc.png|RTENOTITLE]] |} = Overview = RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications. = SoC Features = {| border="0" cellpadding="1" cellspacing="1" style="width: 972px;" |- | style="width: 530px;" | *CPU: **Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU **Frequency is over 1.8GHz (Big cluster) *GPU: **&nbsp;Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11 **Supports AFBC (ARM Frame Buffer Compression) *Display: **Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600 **Dual channel MIPI-DSI (4 lanes per channel) **eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR **HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2 **DisplayPort 1.2 (4 lanes, up to 4K 60Hz) **Supports Rec.2020 and conversion to Rec.709 *Camera: **&nbsp;Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels *Memory: **Dual channels 64-bit DRAM controller **Support DDR3/DDR3L, LPDDR3, LPDDR4 *Connectivity: **PCIe 2.1 (4 full-duplex lanes with 20Gbps) **Embedded low power MCU for other application **8 channels I2S supports 8 channels RX or 8 channels TX | style="width: 429px;" | [[File:RK3399 Block Diagram.png|RTENOTITLE]] |} = Documentation = #[http://10.10.10.12:8444/images/6/60/Rockchip_RK3399_Datasheet_V1.6-20170301.pdf Rockchip_RK3399_Datasheet_V1.6-20170301] #[http://10.10.10.12:8444/images/2/27/RK3399_Linux_Debian_System_Development_Guide.pdf RK3399_Linux_Debian_System_Development_Guide] #[http://10.10.10.12:8444/images/9/9e/RK_DDR_Support_List_Ver2.24.pdf RK_DDR_Support_List_Ver2.24] = Software = == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" style="line-height: 1.6; width: 768px;" |- | style="width: 119px; text-align: center;" | '''board''' | style="width: 172px; text-align: center;" | '''kernel''' | style="width: 124px; text-align: center;" | '''uboot''' | style="width: 310px; text-align: center;" | '''dts''' |- | style="width: 119px; text-align: center;" | rk3399-excavator | style="width: 172px; text-align: center;" | rockchip_linux_defconfig | style="width: 124px; text-align: center;" | rk3399_linux_defconfig | style="width: 310px; text-align: center;" | rk3399-sapphire-excavator-linux.dts |} == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" style="width: 859px;" |- | style="width: 68px; text-align: center;" | '''chip''' | style="width: 181px; text-align: center;" | '''Kernel eMMC index''' | style="width: 142px; text-align: center;" | '''Kernel SD index''' | style="width: 158px; text-align: center;" | '''Uboot eMMC index''' | style="width: 146px; text-align: center;" | '''Uboot SD index''' | style="width: 132px; text-align: center;" | '''Baud speed''' |- | style="width: 68px; text-align: center;" | RK3399 | style="width: 181px; text-align: center;" | 1 | style="width: 142px; text-align: center;" | 0 | style="width: 158px; text-align: center;" | 0 | style="width: 146px; text-align: center;" | 1 | style="width: 132px; text-align: center;" | 1500000 |} == How to get the sources == The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code.&nbsp;Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github. RK3399 optimized Debian & Buildroot <pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml repo sync </pre> == How to build the sources == === Build Environment === You need a 64-bit&nbsp;Ubuntu. Note: old versions&nbsp;Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so Install&nbsp;ARM cross-compile tool chain and compile kernel relative&nbsp;software package:&nbsp; $ sudo apt-get install gcc-arm-linux-gnueabihf&nbsp;gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev === Building kernel === For ARM V8 (RK3399 optimized SDK) <pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre> === Building uboot === For RK3399 optimized SDK (rkproduct uboot) <pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre> === Building rootfs === ==== Debian ==== you could refer to [[Media:RK3399_Linux_Debian_System_Development_Guide.pdf|RK3399 Linux Debian System Development Guide]]&nbsp;from Rockchip to build rootfs yourselves. ==== Buildroot ==== you could refer to [[Media:RK3399_Linux_Buildroot_System_Development_Guide.pdf|RK3399 Linux Buildroot System Development Guide]]&nbsp;from Rockchip to build rootfs yourselves. = Devices = Rockchip: [[Excavator_sapphire_board|Excavator_sapphire_board]] Firefly: [[Firefly-RK3399|Firefly-RK3399]] If you need the rk3399-excavator&nbsp;board, please communicate through&nbsp;the following&nbsp;contact information. <pre>Telephone: 4007700590 Email: service@rock-chips.com</pre> = See also = [[RK3288|RK3288]] [[RK3328|RK3328]] = Owners of the SoC on IRC = = Commuity Support = = References = = Exteneral Links = 300a40ecc5afd676732fafe3e8be71467cf74019 Devices 0 49 372 333 2017-03-08T13:27:28Z Kever 2 wikitext text/x-wiki Here list the boards that appear&nbsp;at upstream or Rockchip github&nbsp;source code. = RK3288 Boards = Firefly-RK3288 ASUS: Tinker Board &nbsp; = RK3399 Boards = Rockchip: RK3399&nbsp;[[Excavator_sapphire_board|Excavator sapphire]] Firefly: [[Firefly-RK3399]] = RK3328 Boards = fe073f870c7317b3d54a91213232ec6509e88b4a RK3288 0 20 373 322 2017-03-08T13:29:45Z Kever 2 wikitext text/x-wiki {{Infobox SoC | image = [[File:rk3288_soc.png|250px]] | manufacturer = Rockcihp | process = 28nm | cpu = Quad-Core ARM Cortex-A17 | ltwo = | extensions = | memory = 2-channel DDR3/LPDDR2, 2-channel DDR3L, maximum of 4GB total (2GB per channel) | gpu = SGX544 | vpu = | apu = | video = HDMI 1.4, MIPI DSI, 2-channel LVDS, 2-channel RGB LCD | audio = I2S, PCM | network = | storage = 4x SD Card, eMMC NAND, 2-channel raw NAND | usb = OTG, 2x Host | other = | release_date = December 2012 | website = }} &nbsp; &nbsp; &nbsp; = <span style="font-family:tahoma,geneva,sans-serif;">Test Line&nbsp;leading&nbsp;performance,long-standing heritage</span> = = <span style="font-family:tahoma,geneva,sans-serif;">integrated with a Quad-Core Cortex-A17 which up to 1.8GHz and ARM</span> = === integrated with a Quad-Core Cortex-A17 which up to 1.8GHz and ARMMali-T764&nbsp;which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant&nbsp;interfaces provide&nbsp;a friendly solution for product&nbsp;development. Futhermore === = Test Line&nbsp;leading&nbsp;performance,long-standing heritage = integrated with a Quad-Core Cortex-A17 which up to 1.8GHz and ARMMali-T764&nbsp;which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant&nbsp;interfaces provide&nbsp;a friendly solution for product&nbsp;development. Futhermore &nbsp; #Test Line&nbsp;leading&nbsp;performance,long-standing heritage #*Test Line&nbsp;leading&nbsp;performance,long-standing heritage #Test Line&nbsp;leading&nbsp;performance,long-standing heritage #Test Line&nbsp;leading&nbsp;performance,long-standing heritage #Test Line&nbsp;leading&nbsp;performance,long-standing heritage #Test Line&nbsp;leading&nbsp;performance,long-standing heritage &nbsp; &nbsp; = Overview = The RK3288 offers&nbsp;an extensible, leading&nbsp;performance,long-standing heritage platform,ideally suited for &nbsp;set-top box solution, tablet and chromebook.The platform is integrated with a Quad-Core Cortex-A17 which up to 1.8GHz and ARM Mali-T764&nbsp;which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant&nbsp;interfaces provide&nbsp;a friendly solution for product&nbsp;development. Futhermore, the power consumption is&nbsp;optimal for applications such as imaging/video, communication and broadband infrastructure,and performance audio applications. &nbsp; = RK3288 SoC Features = *CPU: **Quad Core Cortex-A17&nbsp;up to 1.8GHz **32KB L1-Cache **1MB L2-Cache *GPU: **ARM Mali-T764 GPU, with TE, ASTC, AFBC technology **Quad core 3D Graphics engine **Dual core 2D Graphics engine **Comply with&nbsp;OpenGL ES1.1/2.0/3.0, OpenVG1.1, OpenCL, DirectX11 *Display: **4Kx2K@60fpsHDMI2.0 **Up to 3840X2160 display resolution **Support dual-channel LVDS/dual-channel MIPI-DSI/eDP1.1 *Camera: **Support up to 5M pixels **8bits/10bits/12bits raw data interface&nbsp; *Memory: **Dual channels 64-bit DRAM controller **Support DDR3/DDR3L, LPDDR2, LPDDR3 *Connectivity: **Embedded 13M ISP and MIPI-CSI2 interface *Audio: **I2S/PCM with 8 channels *OS: **Support Android 4.2 or up = History = &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; = Documentation = #[http://10.10.10.12:8444/images/4/4e/Rockchip_RK3288_Datasheet_V2.2-20170301.pdf Rockchip_RK3288_Datasheet_V2.2-20170301] = Software = == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" |- | '''board''' | '''kernel''' | '''uboot''' | '''dts''' |- | RK3288_MAINBOARD_V3.0 | rockchip_linux_defconfig | rk3288_linux_defconfig | rk-linux.dts |} &nbsp; &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" |- | '''chip''' | '''Kernel eMMC index''' | '''Kernel SD index''' | '''Uboot eMMC index''' | '''Uboot SD index''' | '''Baud speed''' |- | RK3288 | 1 | 0 | 0 | 1 | 115200 |} == How to get the sources == The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code.&nbsp;Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github. RK3399 optimized Debian & Buildroot <pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml repo sync </pre> == How to build the sources == === Build Environment === You need a 64-bit&nbsp;Ubuntu. Note: old versions&nbsp;Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so Install&nbsp;ARM cross-compile tool chain and compile kernel relative&nbsp;software package:&nbsp; $ sudo apt-get install gcc-arm-linux-gnueabihf&nbsp;gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev === Installing the build tools and download source === Please follow&nbsp;[http://rockchip.wikidot.com/linux-user-guide linux user guide]&nbsp;to install the build tools and download source. &nbsp; === Building kernel === For ARM V8 (RK3399 optimized SDK) <pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre> === Building uboot === For RK3399 optimized SDK (rkproduct uboot) <pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre> === Building rootfs === ==== Debian ==== Yu can download the prebuilt image directly. [http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive] or you could use the&nbsp;[https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script]&nbsp;from Rockchip to build rootfs yourselves. ==== Yocto ==== If you want to use Yocto to build your rootfs see&nbsp;[http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide]&nbsp;for detail. ==== Buildroot ==== If you want to use Buildroot to build your rootfs see&nbsp;[http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide]&nbsp;for detail. &nbsp; &nbsp; &nbsp; &nbsp; = Devices = [[Firefly-RK3288|Firefly-RK3288]]<br/> [[Firefly-RK3288_reload|Firefly-RK3288 reload]]<br/> [[Rock2_Square|Rock2 Square]]<br/> [[Rock2_Full|Rock2 Full]]<br/> [[MiQi|MiQi]]<br/> [[Popmetal|Popmetal]]<br/> [[Fennec|Fennec]]<br/> [[PhyCORE-RK3288|phyCORE-RK3288]] If you need this&nbsp;board, please contact with the following&nbsp;contact information. <pre>Telephone: 4007700590 Email: service@rock-chips.com</pre> = See also = [[RK3328|RK3328]] [[RK3399|RK3399]] = Owners of the SoC on IRC = = Commuity Support = There is no support for the RK3288&nbsp; = References = 1.[http://rockchip.wikidot.com/rk3288#toc0 http://rockchip.wikidot.com/rk3288#toc0] 2.[https://en.wikipedia.org/wiki/ARM_Cortex-A17 https://en.wikipedia.org/wiki/ARM_Cortex-A17] = Exteneral Links = [http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html] 18a725e17691f7cf7cfce02cebe07fa70c392ddc 374 373 2017-03-08T13:30:37Z Kever 2 wikitext text/x-wiki {{Infobox SoC | image = [[File:rk3288_soc.png|250px]] | manufacturer = Rockcihp | process = 28nm | cpu = Quad-Core ARM Cortex-A17 | ltwo = | extensions = | memory = 2-channel DDR3/LPDDR2, 2-channel DDR3L, maximum of 4GB total (2GB per channel) | gpu = SGX544 | vpu = | apu = | video = HDMI 1.4, MIPI DSI, 2-channel LVDS, 2-channel RGB LCD | audio = I2S, PCM | network = | storage = 4x SD Card, eMMC NAND, 2-channel raw NAND | usb = OTG, 2x Host | other = | release_date = December 2012 | website = }} &nbsp; &nbsp; &nbsp; integrated with a Quad-Core Cortex-A17 which up to 1.8GHz and ARMMali-T764&nbsp;which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant&nbsp;interfaces provide&nbsp;a friendly solution for product&nbsp;development. Futhermore &nbsp; #Test Line&nbsp;leading&nbsp;performance,long-standing heritage #*Test Line&nbsp;leading&nbsp;performance,long-standing heritage #Test Line&nbsp;leading&nbsp;performance,long-standing heritage #Test Line&nbsp;leading&nbsp;performance,long-standing heritage #Test Line&nbsp;leading&nbsp;performance,long-standing heritage #Test Line&nbsp;leading&nbsp;performance,long-standing heritage &nbsp; &nbsp; = Overview = The RK3288 offers&nbsp;an extensible, leading&nbsp;performance,long-standing heritage platform,ideally suited for &nbsp;set-top box solution, tablet and chromebook.The platform is integrated with a Quad-Core Cortex-A17 which up to 1.8GHz and ARM Mali-T764&nbsp;which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant&nbsp;interfaces provide&nbsp;a friendly solution for product&nbsp;development. Futhermore, the power consumption is&nbsp;optimal for applications such as imaging/video, communication and broadband infrastructure,and performance audio applications. &nbsp; = RK3288 SoC Features = *CPU: **Quad Core Cortex-A17&nbsp;up to 1.8GHz **32KB L1-Cache **1MB L2-Cache *GPU: **ARM Mali-T764 GPU, with TE, ASTC, AFBC technology **Quad core 3D Graphics engine **Dual core 2D Graphics engine **Comply with&nbsp;OpenGL ES1.1/2.0/3.0, OpenVG1.1, OpenCL, DirectX11 *Display: **4Kx2K@60fpsHDMI2.0 **Up to 3840X2160 display resolution **Support dual-channel LVDS/dual-channel MIPI-DSI/eDP1.1 *Camera: **Support up to 5M pixels **8bits/10bits/12bits raw data interface&nbsp; *Memory: **Dual channels 64-bit DRAM controller **Support DDR3/DDR3L, LPDDR2, LPDDR3 *Connectivity: **Embedded 13M ISP and MIPI-CSI2 interface *Audio: **I2S/PCM with 8 channels *OS: **Support Android 4.2 or up = History = &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; = Documentation = #[http://10.10.10.12:8444/images/4/4e/Rockchip_RK3288_Datasheet_V2.2-20170301.pdf Rockchip_RK3288_Datasheet_V2.2-20170301] = Software = == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" |- | '''board''' | '''kernel''' | '''uboot''' | '''dts''' |- | RK3288_MAINBOARD_V3.0 | rockchip_linux_defconfig | rk3288_linux_defconfig | rk-linux.dts |} &nbsp; &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" |- | '''chip''' | '''Kernel eMMC index''' | '''Kernel SD index''' | '''Uboot eMMC index''' | '''Uboot SD index''' | '''Baud speed''' |- | RK3288 | 1 | 0 | 0 | 1 | 115200 |} == How to get the sources == The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code.&nbsp;Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github. RK3399 optimized Debian & Buildroot <pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml repo sync </pre> == How to build the sources == === Build Environment === You need a 64-bit&nbsp;Ubuntu. Note: old versions&nbsp;Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so Install&nbsp;ARM cross-compile tool chain and compile kernel relative&nbsp;software package:&nbsp; $ sudo apt-get install gcc-arm-linux-gnueabihf&nbsp;gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev === Installing the build tools and download source === Please follow&nbsp;[http://rockchip.wikidot.com/linux-user-guide linux user guide]&nbsp;to install the build tools and download source. &nbsp; === Building kernel === For ARM V8 (RK3399 optimized SDK) <pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre> === Building uboot === For RK3399 optimized SDK (rkproduct uboot) <pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre> === Building rootfs === ==== Debian ==== Yu can download the prebuilt image directly. [http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive] or you could use the&nbsp;[https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script]&nbsp;from Rockchip to build rootfs yourselves. ==== Yocto ==== If you want to use Yocto to build your rootfs see&nbsp;[http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide]&nbsp;for detail. ==== Buildroot ==== If you want to use Buildroot to build your rootfs see&nbsp;[http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide]&nbsp;for detail. &nbsp; &nbsp; &nbsp; &nbsp; = Devices = [[Firefly-RK3288|Firefly-RK3288]]<br/> [[Firefly-RK3288_reload|Firefly-RK3288 reload]]<br/> [[Rock2_Square|Rock2 Square]]<br/> [[Rock2_Full|Rock2 Full]]<br/> [[MiQi|MiQi]]<br/> [[Popmetal|Popmetal]]<br/> [[Fennec|Fennec]]<br/> [[PhyCORE-RK3288|phyCORE-RK3288]] If you need this&nbsp;board, please contact with the following&nbsp;contact information. <pre>Telephone: 4007700590 Email: service@rock-chips.com</pre> = See also = [[RK3328|RK3328]] [[RK3399|RK3399]] = Owners of the SoC on IRC = = Commuity Support = There is no support for the RK3288&nbsp; = References = 1.[http://rockchip.wikidot.com/rk3288#toc0 http://rockchip.wikidot.com/rk3288#toc0] 2.[https://en.wikipedia.org/wiki/ARM_Cortex-A17 https://en.wikipedia.org/wiki/ARM_Cortex-A17] = Exteneral Links = [http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html] 658f54b9671894f6334a09e1a8afe6482b4bfd2a 375 374 2017-03-08T13:31:02Z Kever 2 wikitext text/x-wiki {{Infobox SoC | image = [[File:rk3288_soc.png|250px]] | manufacturer = Rockcihp | process = 28nm | cpu = Quad-Core ARM Cortex-A17 | ltwo = | extensions = | memory = 2-channel DDR3/LPDDR2, 2-channel DDR3L, maximum of 4GB total (2GB per channel) | gpu = SGX544 | vpu = | apu = | video = HDMI 1.4, MIPI DSI, 2-channel LVDS, 2-channel RGB LCD | audio = I2S, PCM | network = | storage = 4x SD Card, eMMC NAND, 2-channel raw NAND | usb = OTG, 2x Host | other = | release_date = December 2012 | website = }} &nbsp; &nbsp; &nbsp; integrated with a Quad-Core Cortex-A17 which up to 1.8GHz and ARMMali-T764&nbsp;which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant&nbsp;interfaces provide&nbsp;a friendly solution for product&nbsp;development. Futhermore &nbsp; &nbsp; &nbsp; = Overview = The RK3288 offers&nbsp;an extensible, leading&nbsp;performance,long-standing heritage platform,ideally suited for &nbsp;set-top box solution, tablet and chromebook.The platform is integrated with a Quad-Core Cortex-A17 which up to 1.8GHz and ARM Mali-T764&nbsp;which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant&nbsp;interfaces provide&nbsp;a friendly solution for product&nbsp;development. Futhermore, the power consumption is&nbsp;optimal for applications such as imaging/video, communication and broadband infrastructure,and performance audio applications. &nbsp; = RK3288 SoC Features = *CPU: **Quad Core Cortex-A17&nbsp;up to 1.8GHz **32KB L1-Cache **1MB L2-Cache *GPU: **ARM Mali-T764 GPU, with TE, ASTC, AFBC technology **Quad core 3D Graphics engine **Dual core 2D Graphics engine **Comply with&nbsp;OpenGL ES1.1/2.0/3.0, OpenVG1.1, OpenCL, DirectX11 *Display: **4Kx2K@60fpsHDMI2.0 **Up to 3840X2160 display resolution **Support dual-channel LVDS/dual-channel MIPI-DSI/eDP1.1 *Camera: **Support up to 5M pixels **8bits/10bits/12bits raw data interface&nbsp; *Memory: **Dual channels 64-bit DRAM controller **Support DDR3/DDR3L, LPDDR2, LPDDR3 *Connectivity: **Embedded 13M ISP and MIPI-CSI2 interface *Audio: **I2S/PCM with 8 channels *OS: **Support Android 4.2 or up = History = &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; = Documentation = #[http://10.10.10.12:8444/images/4/4e/Rockchip_RK3288_Datasheet_V2.2-20170301.pdf Rockchip_RK3288_Datasheet_V2.2-20170301] = Software = == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" |- | '''board''' | '''kernel''' | '''uboot''' | '''dts''' |- | RK3288_MAINBOARD_V3.0 | rockchip_linux_defconfig | rk3288_linux_defconfig | rk-linux.dts |} &nbsp; &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" |- | '''chip''' | '''Kernel eMMC index''' | '''Kernel SD index''' | '''Uboot eMMC index''' | '''Uboot SD index''' | '''Baud speed''' |- | RK3288 | 1 | 0 | 0 | 1 | 115200 |} == How to get the sources == The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code.&nbsp;Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github. RK3399 optimized Debian & Buildroot <pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml repo sync </pre> == How to build the sources == === Build Environment === You need a 64-bit&nbsp;Ubuntu. Note: old versions&nbsp;Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so Install&nbsp;ARM cross-compile tool chain and compile kernel relative&nbsp;software package:&nbsp; $ sudo apt-get install gcc-arm-linux-gnueabihf&nbsp;gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev === Installing the build tools and download source === Please follow&nbsp;[http://rockchip.wikidot.com/linux-user-guide linux user guide]&nbsp;to install the build tools and download source. &nbsp; === Building kernel === For ARM V8 (RK3399 optimized SDK) <pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre> === Building uboot === For RK3399 optimized SDK (rkproduct uboot) <pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre> === Building rootfs === ==== Debian ==== Yu can download the prebuilt image directly. [http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive] or you could use the&nbsp;[https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script]&nbsp;from Rockchip to build rootfs yourselves. ==== Yocto ==== If you want to use Yocto to build your rootfs see&nbsp;[http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide]&nbsp;for detail. ==== Buildroot ==== If you want to use Buildroot to build your rootfs see&nbsp;[http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide]&nbsp;for detail. &nbsp; &nbsp; &nbsp; &nbsp; = Devices = [[Firefly-RK3288|Firefly-RK3288]]<br/> [[Firefly-RK3288_reload|Firefly-RK3288 reload]]<br/> [[Rock2_Square|Rock2 Square]]<br/> [[Rock2_Full|Rock2 Full]]<br/> [[MiQi|MiQi]]<br/> [[Popmetal|Popmetal]]<br/> [[Fennec|Fennec]]<br/> [[PhyCORE-RK3288|phyCORE-RK3288]] If you need this&nbsp;board, please contact with the following&nbsp;contact information. <pre>Telephone: 4007700590 Email: service@rock-chips.com</pre> = See also = [[RK3328|RK3328]] [[RK3399|RK3399]] = Owners of the SoC on IRC = = Commuity Support = There is no support for the RK3288&nbsp; = References = 1.[http://rockchip.wikidot.com/rk3288#toc0 http://rockchip.wikidot.com/rk3288#toc0] 2.[https://en.wikipedia.org/wiki/ARM_Cortex-A17 https://en.wikipedia.org/wiki/ARM_Cortex-A17] = Exteneral Links = [http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html] 6a54ba43efa45c493901495e975f6a51b2d1f5fc 379 375 2017-03-09T01:17:54Z Kevan 10 wikitext text/x-wiki {{Infobox SoC | image = [[File:rk3288_soc.png|250px]] | manufacturer = Rockcihp | process = 28nm | cpu = Quad-Core ARM Cortex-A17 | ltwo = | extensions = | memory = 2-channel DDR3/LPDDR2, 2-channel DDR3L, maximum of 4GB total (2GB per channel) | gpu = SGX544 | vpu = | apu = | video = HDMI 1.4, MIPI DSI, 2-channel LVDS, 2-channel RGB LCD | audio = I2S, PCM | network = | storage = 4x SD Card, eMMC NAND, 2-channel raw NAND | usb = OTG, 2x Host | other = | release_date = December 2012 | website = }} &nbsp; &nbsp; &nbsp; integrated with a Quad-Core Cortex-A17 which up to 1.8GHz and ARMMali-T764&nbsp;which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant&nbsp;interfaces provide&nbsp;a friendly solution for product&nbsp;development. Futhermore &nbsp; &nbsp; &nbsp; = Overview = The RK3288 offers&nbsp;an extensible, leading&nbsp;performance,long-standing heritage platform,ideally suited for &nbsp;set-top box solution, tablet and chromebook.The platform is integrated with a Quad-Core Cortex-A17 which up to 1.8GHz and ARM Mali-T764&nbsp;which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant&nbsp;interfaces provide&nbsp;a friendly solution for product&nbsp;development. Futhermore, the power consumption is&nbsp;optimal for applications such as imaging/video, communication and broadband infrastructure,and performance audio applications. &nbsp; = RK3288 SoC Features = *CPU: **Quad Core Cortex-A17&nbsp;up to 1.8GHz **32KB L1-Cache **1MB L2-Cache *GPU: **ARM Mali-T764 GPU, with TE, ASTC, AFBC technology **Quad core 3D Graphics engine **Dual core 2D Graphics engine **Comply with&nbsp;OpenGL ES1.1/2.0/3.0, OpenVG1.1, OpenCL, DirectX11 *Display: **4Kx2K@60fpsHDMI2.0 **Up to 3840X2160 display resolution **Support dual-channel LVDS/dual-channel MIPI-DSI/eDP1.1 *Camera: **Support up to 5M pixels **8bits/10bits/12bits raw data interface&nbsp; *Memory: **Dual channels 64-bit DRAM controller **Support DDR3/DDR3L, LPDDR2, LPDDR3 *Connectivity: **Embedded 13M ISP and MIPI-CSI2 interface *Audio: **I2S/PCM with 8 channels *OS: **Support Android 4.2 or up = History = &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; = Documentation = #[http://10.10.10.12:8444/images/4/4e/Rockchip_RK3288_Datasheet_V2.2-20170301.pdf Rockchip_RK3288_Datasheet_V2.2-20170301] = Software = == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" |- | '''board''' | '''kernel''' | '''uboot''' | '''dts''' |- | RK3288_MAINBOARD_V3.0 | rockchip_linux_defconfig | rk3288_linux_defconfig | rk-linux.dts |} &nbsp; &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" |- | '''chip''' | '''Kernel eMMC index''' | '''Kernel SD index''' | '''Uboot eMMC index''' | '''Uboot SD index''' | '''Baud speed''' |- | RK3288 | 1 | 0 | 0 | 1 | 115200 |} == How to get the sources == The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code.&nbsp; &nbsp; <pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests repo sync </pre> == How to build the sources == === Build Environment === You need a 64-bit&nbsp;Ubuntu. Note: old versions&nbsp;Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so Install&nbsp;ARM cross-compile tool chain and compile kernel relative&nbsp;software package:&nbsp; $ sudo apt-get install gcc-arm-linux-gnueabihf&nbsp;gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev === Installing the build tools and download source === Please follow&nbsp;[http://rockchip.wikidot.com/linux-user-guide linux user guide]&nbsp;to install the build tools and download source. &nbsp; === Building kernel === For ARM V8 (RK3399 optimized SDK) <pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre> === Building uboot === For RK3399 optimized SDK (rkproduct uboot) <pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre> === Building rootfs === ==== Debian ==== Yu can download the prebuilt image directly. [http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive] or you could use the&nbsp;[https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script]&nbsp;from Rockchip to build rootfs yourselves. ==== Yocto ==== If you want to use Yocto to build your rootfs see&nbsp;[http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide]&nbsp;for detail. ==== Buildroot ==== If you want to use Buildroot to build your rootfs see&nbsp;[http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide]&nbsp;for detail. &nbsp; &nbsp; &nbsp; &nbsp; = Devices = [[Firefly-RK3288|Firefly-RK3288]]<br/> [[Firefly-RK3288_reload|Firefly-RK3288 reload]]<br/> [[Rock2_Square|Rock2 Square]]<br/> [[Rock2_Full|Rock2 Full]]<br/> [[MiQi|MiQi]]<br/> [[Popmetal|Popmetal]]<br/> [[Fennec|Fennec]]<br/> [[PhyCORE-RK3288|phyCORE-RK3288]] If you need this&nbsp;board, please contact with the following&nbsp;contact information. <pre>Telephone: 4007700590 Email: service@rock-chips.com</pre> = See also = [[RK3328|RK3328]] [[RK3399|RK3399]] = Owners of the SoC on IRC = = Commuity Support = There is no support for the RK3288&nbsp; = References = 1.[http://rockchip.wikidot.com/rk3288#toc0 http://rockchip.wikidot.com/rk3288#toc0] 2.[https://en.wikipedia.org/wiki/ARM_Cortex-A17 https://en.wikipedia.org/wiki/ARM_Cortex-A17] = Exteneral Links = [http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html] aeb5b071420596f108802f5c9148e88094ed8daa 380 379 2017-03-09T01:27:18Z Admin 1 wikitext text/x-wiki {{Infobox SoC | title = RK3288 | image = [[File:rk3288_soc.png|250px]] | manufacturer = Rockcihp | process = 28nm | cpu = Quad-Core ARM Cortex-A17 | ltwo = | extensions = | memory = 2-channel DDR3/LPDDR2, 2-channel DDR3L, maximum of 4GB total (2GB per channel) | gpu = SGX544 | vpu = | apu = | video = HDMI 1.4, MIPI DSI, 2-channel LVDS, 2-channel RGB LCD | audio = I2S, PCM | network = | storage = 4x SD Card, eMMC NAND, 2-channel raw NAND | usb = OTG, 2x Host | other = | release_date = December 2012 | website = http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html }} &nbsp; &nbsp; &nbsp; integrated with a Quad-Core Cortex-A17 which up to 1.8GHz and ARMMali-T764&nbsp;which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant&nbsp;interfaces provide&nbsp;a friendly solution for product&nbsp;development. Futhermore &nbsp; &nbsp; &nbsp; = Overview = The RK3288 offers&nbsp;an extensible, leading&nbsp;performance,long-standing heritage platform,ideally suited for &nbsp;set-top box solution, tablet and chromebook.The platform is integrated with a Quad-Core Cortex-A17 which up to 1.8GHz and ARM Mali-T764&nbsp;which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant&nbsp;interfaces provide&nbsp;a friendly solution for product&nbsp;development. Futhermore, the power consumption is&nbsp;optimal for applications such as imaging/video, communication and broadband infrastructure,and performance audio applications. &nbsp; = RK3288 SoC Features = *CPU: **Quad Core Cortex-A17&nbsp;up to 1.8GHz **32KB L1-Cache **1MB L2-Cache *GPU: **ARM Mali-T764 GPU, with TE, ASTC, AFBC technology **Quad core 3D Graphics engine **Dual core 2D Graphics engine **Comply with&nbsp;OpenGL ES1.1/2.0/3.0, OpenVG1.1, OpenCL, DirectX11 *Display: **4Kx2K@60fpsHDMI2.0 **Up to 3840X2160 display resolution **Support dual-channel LVDS/dual-channel MIPI-DSI/eDP1.1 *Camera: **Support up to 5M pixels **8bits/10bits/12bits raw data interface&nbsp; *Memory: **Dual channels 64-bit DRAM controller **Support DDR3/DDR3L, LPDDR2, LPDDR3 *Connectivity: **Embedded 13M ISP and MIPI-CSI2 interface *Audio: **I2S/PCM with 8 channels *OS: **Support Android 4.2 or up = History = &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; = Documentation = #[http://10.10.10.12:8444/images/4/4e/Rockchip_RK3288_Datasheet_V2.2-20170301.pdf Rockchip_RK3288_Datasheet_V2.2-20170301] = Software = == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" |- | '''board''' | '''kernel''' | '''uboot''' | '''dts''' |- | RK3288_MAINBOARD_V3.0 | rockchip_linux_defconfig | rk3288_linux_defconfig | rk-linux.dts |} &nbsp; &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" |- | '''chip''' | '''Kernel eMMC index''' | '''Kernel SD index''' | '''Uboot eMMC index''' | '''Uboot SD index''' | '''Baud speed''' |- | RK3288 | 1 | 0 | 0 | 1 | 115200 |} &nbsp; == How to get the sources == The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code.&nbsp; &nbsp; <pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests repo sync </pre> == How to build the sources == === Build Environment === You need a 64-bit&nbsp;Ubuntu. Note: old versions&nbsp;Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so Install&nbsp;ARM cross-compile tool chain and compile kernel relative&nbsp;software package:&nbsp; $ sudo apt-get install gcc-arm-linux-gnueabihf&nbsp;gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev === Installing the build tools and download source === Please follow&nbsp;[http://rockchip.wikidot.com/linux-user-guide linux user guide]&nbsp;to install the build tools and download source. &nbsp; === Building kernel === For ARM V8 (RK3399 optimized SDK) <pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre> === Building uboot === For RK3399 optimized SDK (rkproduct uboot) <pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre> === Building rootfs === ==== Debian ==== Yu can download the prebuilt image directly. [http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive] or you could use the&nbsp;[https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script]&nbsp;from Rockchip to build rootfs yourselves. ==== Yocto ==== If you want to use Yocto to build your rootfs see&nbsp;[http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide]&nbsp;for detail. ==== Buildroot ==== If you want to use Buildroot to build your rootfs see&nbsp;[http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide]&nbsp;for detail. &nbsp; &nbsp; &nbsp; &nbsp; = Devices = [[Firefly-RK3288|Firefly-RK3288]]<br/> [[Firefly-RK3288_reload|Firefly-RK3288 reload]]<br/> [[Rock2_Square|Rock2 Square]]<br/> [[Rock2_Full|Rock2 Full]]<br/> [[MiQi|MiQi]]<br/> [[Popmetal|Popmetal]]<br/> [[Fennec|Fennec]]<br/> [[PhyCORE-RK3288|phyCORE-RK3288]] If you need this&nbsp;board, please contact with the following&nbsp;contact information. <pre>Telephone: 4007700590 Email: service@rock-chips.com</pre> = See also = [[RK3328|RK3328]] [[RK3399|RK3399]] = Owners of the SoC on IRC = = Commuity Support = There is no support for the RK3288&nbsp; = References = 1.[http://rockchip.wikidot.com/rk3288#toc0 http://rockchip.wikidot.com/rk3288#toc0] 2.[https://en.wikipedia.org/wiki/ARM_Cortex-A17 https://en.wikipedia.org/wiki/ARM_Cortex-A17] = Exteneral Links = [http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html] 99c2a73074807e1a541838d651c7def3afa085ee 384 380 2017-03-09T01:30:47Z Admin 1 wikitext text/x-wiki {{Infobox SoC | title = RK3288 | image = [[File:rk3288_soc.png|200px]] | manufacturer = Rockcihp | process = 28nm | cpu = Quad-Core ARM Cortex-A17 | ltwo = | extensions = | memory = 2-channel DDR3/LPDDR2, 2-channel DDR3L, maximum of 4GB total (2GB per channel) | gpu = SGX544 | vpu = | apu = | video = HDMI 1.4, MIPI DSI, 2-channel LVDS, 2-channel RGB LCD | audio = I2S, PCM | network = | storage = 4x SD Card, eMMC NAND, 2-channel raw NAND | usb = OTG, 2x Host | other = | release_date = December 2012 | website = http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html }} &nbsp; &nbsp; &nbsp; integrated with a Quad-Core Cortex-A17 which up to 1.8GHz and ARMMali-T764&nbsp;which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant&nbsp;interfaces provide&nbsp;a friendly solution for product&nbsp;development. Futhermore &nbsp; &nbsp; &nbsp; = Overview = The RK3288 offers&nbsp;an extensible, leading&nbsp;performance,long-standing heritage platform,ideally suited for &nbsp;set-top box solution, tablet and chromebook.The platform is integrated with a Quad-Core Cortex-A17 which up to 1.8GHz and ARM Mali-T764&nbsp;which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant&nbsp;interfaces provide&nbsp;a friendly solution for product&nbsp;development. Futhermore, the power consumption is&nbsp;optimal for applications such as imaging/video, communication and broadband infrastructure,and performance audio applications. &nbsp; = RK3288 SoC Features = *CPU: **Quad Core Cortex-A17&nbsp;up to 1.8GHz **32KB L1-Cache **1MB L2-Cache *GPU: **ARM Mali-T764 GPU, with TE, ASTC, AFBC technology **Quad core 3D Graphics engine **Dual core 2D Graphics engine **Comply with&nbsp;OpenGL ES1.1/2.0/3.0, OpenVG1.1, OpenCL, DirectX11 *Display: **4Kx2K@60fpsHDMI2.0 **Up to 3840X2160 display resolution **Support dual-channel LVDS/dual-channel MIPI-DSI/eDP1.1 *Camera: **Support up to 5M pixels **8bits/10bits/12bits raw data interface&nbsp; *Memory: **Dual channels 64-bit DRAM controller **Support DDR3/DDR3L, LPDDR2, LPDDR3 *Connectivity: **Embedded 13M ISP and MIPI-CSI2 interface *Audio: **I2S/PCM with 8 channels *OS: **Support Android 4.2 or up = History = &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; = Documentation = #[http://10.10.10.12:8444/images/4/4e/Rockchip_RK3288_Datasheet_V2.2-20170301.pdf Rockchip_RK3288_Datasheet_V2.2-20170301] = Software = == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" |- | '''board''' | '''kernel''' | '''uboot''' | '''dts''' |- | RK3288_MAINBOARD_V3.0 | rockchip_linux_defconfig | rk3288_linux_defconfig | rk-linux.dts |} &nbsp; &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" |- | '''chip''' | '''Kernel eMMC index''' | '''Kernel SD index''' | '''Uboot eMMC index''' | '''Uboot SD index''' | '''Baud speed''' |- | RK3288 | 1 | 0 | 0 | 1 | 115200 |} &nbsp; == How to get the sources == The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code.&nbsp; &nbsp; <pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests repo sync </pre> == How to build the sources == === Build Environment === You need a 64-bit&nbsp;Ubuntu. Note: old versions&nbsp;Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so Install&nbsp;ARM cross-compile tool chain and compile kernel relative&nbsp;software package:&nbsp; $ sudo apt-get install gcc-arm-linux-gnueabihf&nbsp;gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev === Installing the build tools and download source === Please follow&nbsp;[http://rockchip.wikidot.com/linux-user-guide linux user guide]&nbsp;to install the build tools and download source. &nbsp; === Building kernel === For ARM V8 (RK3399 optimized SDK) <pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre> === Building uboot === For RK3399 optimized SDK (rkproduct uboot) <pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre> === Building rootfs === ==== Debian ==== Yu can download the prebuilt image directly. [http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive] or you could use the&nbsp;[https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script]&nbsp;from Rockchip to build rootfs yourselves. ==== Yocto ==== If you want to use Yocto to build your rootfs see&nbsp;[http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide]&nbsp;for detail. ==== Buildroot ==== If you want to use Buildroot to build your rootfs see&nbsp;[http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide]&nbsp;for detail. &nbsp; &nbsp; &nbsp; &nbsp; = Devices = [[Firefly-RK3288|Firefly-RK3288]]<br/> [[Firefly-RK3288_reload|Firefly-RK3288 reload]]<br/> [[Rock2_Square|Rock2 Square]]<br/> [[Rock2_Full|Rock2 Full]]<br/> [[MiQi|MiQi]]<br/> [[Popmetal|Popmetal]]<br/> [[Fennec|Fennec]]<br/> [[PhyCORE-RK3288|phyCORE-RK3288]] If you need this&nbsp;board, please contact with the following&nbsp;contact information. <pre>Telephone: 4007700590 Email: service@rock-chips.com</pre> = See also = [[RK3328|RK3328]] [[RK3399|RK3399]] = Owners of the SoC on IRC = = Commuity Support = There is no support for the RK3288&nbsp; = References = 1.[http://rockchip.wikidot.com/rk3288#toc0 http://rockchip.wikidot.com/rk3288#toc0] 2.[https://en.wikipedia.org/wiki/ARM_Cortex-A17 https://en.wikipedia.org/wiki/ARM_Cortex-A17] = Exteneral Links = [http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html] 95882c093f04c2a98c93f6419f74e9d8a83f49b6 397 384 2017-03-09T02:20:18Z Admin 1 wikitext text/x-wiki {{Infobox SoC | image = [[File:rk3288_soc.png|200px]] | manufacturer = Rockcihp | process = 28nm | cpu = Quad-Core ARM Cortex-A17 | ltwo = | extensions = | memory = 2-channel DDR3/LPDDR2, 2-channel DDR3L, maximum of 4GB total (2GB per channel) | gpu = SGX544 | vpu = | apu = | video = HDMI 1.4, MIPI DSI, 2-channel LVDS, 2-channel RGB LCD | audio = I2S, PCM | network = | storage = 4x SD Card, eMMC NAND, 2-channel raw NAND | usb = OTG, 2x Host | other = | release_date = December 2012 | website = http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html }} &nbsp; &nbsp; &nbsp; integrated with a Quad-Core Cortex-A17 which up to 1.8GHz and ARMMali-T764&nbsp;which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant&nbsp;interfaces provide&nbsp;a friendly solution for product&nbsp;development. Futhermore &nbsp; &nbsp; &nbsp; = Overview = The RK3288 offers&nbsp;an extensible, leading&nbsp;performance,long-standing heritage platform,ideally suited for &nbsp;set-top box solution, tablet and chromebook.The platform is integrated with a Quad-Core Cortex-A17 which up to 1.8GHz and ARM Mali-T764&nbsp;which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant&nbsp;interfaces provide&nbsp;a friendly solution for product&nbsp;development. Futhermore, the power consumption is&nbsp;optimal for applications such as imaging/video, communication and broadband infrastructure,and performance audio applications. &nbsp; = RK3288 SoC Features = *CPU: **Quad Core Cortex-A17&nbsp;up to 1.8GHz **32KB L1-Cache **1MB L2-Cache *GPU: **ARM Mali-T764 GPU, with TE, ASTC, AFBC technology **Quad core 3D Graphics engine **Dual core 2D Graphics engine **Comply with&nbsp;OpenGL ES1.1/2.0/3.0, OpenVG1.1, OpenCL, DirectX11 *Display: **4Kx2K@60fpsHDMI2.0 **Up to 3840X2160 display resolution **Support dual-channel LVDS/dual-channel MIPI-DSI/eDP1.1 *Camera: **Support up to 5M pixels **8bits/10bits/12bits raw data interface&nbsp; *Memory: **Dual channels 64-bit DRAM controller **Support DDR3/DDR3L, LPDDR2, LPDDR3 *Connectivity: **Embedded 13M ISP and MIPI-CSI2 interface *Audio: **I2S/PCM with 8 channels *OS: **Support Android 4.2 or up = History = &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; = Documentation = #[http://10.10.10.12:8444/images/4/4e/Rockchip_RK3288_Datasheet_V2.2-20170301.pdf Rockchip_RK3288_Datasheet_V2.2-20170301] = Software = == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" |- | '''board''' | '''kernel''' | '''uboot''' | '''dts''' |- | RK3288_MAINBOARD_V3.0 | rockchip_linux_defconfig | rk3288_linux_defconfig | rk-linux.dts |} &nbsp; &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" |- | '''chip''' | '''Kernel eMMC index''' | '''Kernel SD index''' | '''Uboot eMMC index''' | '''Uboot SD index''' | '''Baud speed''' |- | RK3288 | 1 | 0 | 0 | 1 | 115200 |} &nbsp; == How to get the sources == The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code.&nbsp; &nbsp; <pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests repo sync </pre> == How to build the sources == === Build Environment === You need a 64-bit&nbsp;Ubuntu. Note: old versions&nbsp;Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so Install&nbsp;ARM cross-compile tool chain and compile kernel relative&nbsp;software package:&nbsp; $ sudo apt-get install gcc-arm-linux-gnueabihf&nbsp;gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev === Installing the build tools and download source === Please follow&nbsp;[http://rockchip.wikidot.com/linux-user-guide linux user guide]&nbsp;to install the build tools and download source. &nbsp; === Building kernel === For ARM V8 (RK3399 optimized SDK) <pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre> === Building uboot === For RK3399 optimized SDK (rkproduct uboot) <pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre> === Building rootfs === ==== Debian ==== Yu can download the prebuilt image directly. [http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive] or you could use the&nbsp;[https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script]&nbsp;from Rockchip to build rootfs yourselves. ==== Yocto ==== If you want to use Yocto to build your rootfs see&nbsp;[http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide]&nbsp;for detail. ==== Buildroot ==== If you want to use Buildroot to build your rootfs see&nbsp;[http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide]&nbsp;for detail. &nbsp; &nbsp; &nbsp; &nbsp; = Devices = [[Firefly-RK3288|Firefly-RK3288]]<br/> [[Firefly-RK3288_reload|Firefly-RK3288 reload]]<br/> [[Rock2_Square|Rock2 Square]]<br/> [[Rock2_Full|Rock2 Full]]<br/> [[MiQi|MiQi]]<br/> [[Popmetal|Popmetal]]<br/> [[Fennec|Fennec]]<br/> [[PhyCORE-RK3288|phyCORE-RK3288]] If you need this&nbsp;board, please contact with the following&nbsp;contact information. <pre>Telephone: 4007700590 Email: service@rock-chips.com</pre> = See also = [[RK3328|RK3328]] [[RK3399|RK3399]] = Owners of the SoC on IRC = = Commuity Support = There is no support for the RK3288&nbsp; = References = 1.[http://rockchip.wikidot.com/rk3288#toc0 http://rockchip.wikidot.com/rk3288#toc0] 2.[https://en.wikipedia.org/wiki/ARM_Cortex-A17 https://en.wikipedia.org/wiki/ARM_Cortex-A17] = Exteneral Links = [http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html] cb382b2296e68c60ac04892f1af622f081070843 398 397 2017-03-09T02:20:38Z Admin 1 wikitext text/x-wiki {{Infobox SoC | title = RK3288 | image = [[File:rk3288_soc.png|200px]] | manufacturer = Rockcihp | process = 28nm | cpu = Quad-Core ARM Cortex-A17 | ltwo = | extensions = | memory = 2-channel DDR3/LPDDR2, 2-channel DDR3L, maximum of 4GB total (2GB per channel) | gpu = SGX544 | vpu = | apu = | video = HDMI 1.4, MIPI DSI, 2-channel LVDS, 2-channel RGB LCD | audio = I2S, PCM | network = | storage = 4x SD Card, eMMC NAND, 2-channel raw NAND | usb = OTG, 2x Host | other = | release_date = December 2012 | website = http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html }} &nbsp; &nbsp; &nbsp; integrated with a Quad-Core Cortex-A17 which up to 1.8GHz and ARMMali-T764&nbsp;which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant&nbsp;interfaces provide&nbsp;a friendly solution for product&nbsp;development. Futhermore &nbsp; &nbsp; &nbsp; = Overview = The RK3288 offers&nbsp;an extensible, leading&nbsp;performance,long-standing heritage platform,ideally suited for &nbsp;set-top box solution, tablet and chromebook.The platform is integrated with a Quad-Core Cortex-A17 which up to 1.8GHz and ARM Mali-T764&nbsp;which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant&nbsp;interfaces provide&nbsp;a friendly solution for product&nbsp;development. Futhermore, the power consumption is&nbsp;optimal for applications such as imaging/video, communication and broadband infrastructure,and performance audio applications. &nbsp; = RK3288 SoC Features = *CPU: **Quad Core Cortex-A17&nbsp;up to 1.8GHz **32KB L1-Cache **1MB L2-Cache *GPU: **ARM Mali-T764 GPU, with TE, ASTC, AFBC technology **Quad core 3D Graphics engine **Dual core 2D Graphics engine **Comply with&nbsp;OpenGL ES1.1/2.0/3.0, OpenVG1.1, OpenCL, DirectX11 *Display: **4Kx2K@60fpsHDMI2.0 **Up to 3840X2160 display resolution **Support dual-channel LVDS/dual-channel MIPI-DSI/eDP1.1 *Camera: **Support up to 5M pixels **8bits/10bits/12bits raw data interface&nbsp; *Memory: **Dual channels 64-bit DRAM controller **Support DDR3/DDR3L, LPDDR2, LPDDR3 *Connectivity: **Embedded 13M ISP and MIPI-CSI2 interface *Audio: **I2S/PCM with 8 channels *OS: **Support Android 4.2 or up = History = &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; = Documentation = #[http://10.10.10.12:8444/images/4/4e/Rockchip_RK3288_Datasheet_V2.2-20170301.pdf Rockchip_RK3288_Datasheet_V2.2-20170301] = Software = == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" |- | '''board''' | '''kernel''' | '''uboot''' | '''dts''' |- | RK3288_MAINBOARD_V3.0 | rockchip_linux_defconfig | rk3288_linux_defconfig | rk-linux.dts |} &nbsp; &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" |- | '''chip''' | '''Kernel eMMC index''' | '''Kernel SD index''' | '''Uboot eMMC index''' | '''Uboot SD index''' | '''Baud speed''' |- | RK3288 | 1 | 0 | 0 | 1 | 115200 |} &nbsp; == How to get the sources == The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code.&nbsp; &nbsp; <pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests repo sync </pre> == How to build the sources == === Build Environment === You need a 64-bit&nbsp;Ubuntu. Note: old versions&nbsp;Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so Install&nbsp;ARM cross-compile tool chain and compile kernel relative&nbsp;software package:&nbsp; $ sudo apt-get install gcc-arm-linux-gnueabihf&nbsp;gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev === Installing the build tools and download source === Please follow&nbsp;[http://rockchip.wikidot.com/linux-user-guide linux user guide]&nbsp;to install the build tools and download source. &nbsp; === Building kernel === For ARM V8 (RK3399 optimized SDK) <pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre> === Building uboot === For RK3399 optimized SDK (rkproduct uboot) <pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre> === Building rootfs === ==== Debian ==== Yu can download the prebuilt image directly. [http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive] or you could use the&nbsp;[https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script]&nbsp;from Rockchip to build rootfs yourselves. ==== Yocto ==== If you want to use Yocto to build your rootfs see&nbsp;[http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide]&nbsp;for detail. ==== Buildroot ==== If you want to use Buildroot to build your rootfs see&nbsp;[http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide]&nbsp;for detail. &nbsp; &nbsp; &nbsp; &nbsp; = Devices = [[Firefly-RK3288|Firefly-RK3288]]<br/> [[Firefly-RK3288_reload|Firefly-RK3288 reload]]<br/> [[Rock2_Square|Rock2 Square]]<br/> [[Rock2_Full|Rock2 Full]]<br/> [[MiQi|MiQi]]<br/> [[Popmetal|Popmetal]]<br/> [[Fennec|Fennec]]<br/> [[PhyCORE-RK3288|phyCORE-RK3288]] If you need this&nbsp;board, please contact with the following&nbsp;contact information. <pre>Telephone: 4007700590 Email: service@rock-chips.com</pre> = See also = [[RK3328|RK3328]] [[RK3399|RK3399]] = Owners of the SoC on IRC = = Commuity Support = There is no support for the RK3288&nbsp; = References = 1.[http://rockchip.wikidot.com/rk3288#toc0 http://rockchip.wikidot.com/rk3288#toc0] 2.[https://en.wikipedia.org/wiki/ARM_Cortex-A17 https://en.wikipedia.org/wiki/ARM_Cortex-A17] = Exteneral Links = [http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html] 95882c093f04c2a98c93f6419f74e9d8a83f49b6 400 398 2017-03-09T02:22:24Z Admin 1 wikitext text/x-wiki {{Infobox SoC | image = [[File:rk3288_soc.png|200px]] | manufacturer = Rockcihp | process = 28nm | cpu = Quad-Core ARM Cortex-A17 | ltwo = | extensions = | memory = 2-channel DDR3/LPDDR2, 2-channel DDR3L, maximum of 4GB total (2GB per channel) | gpu = SGX544 | vpu = | apu = | video = HDMI 1.4, MIPI DSI, 2-channel LVDS, 2-channel RGB LCD | audio = I2S, PCM | network = | storage = 4x SD Card, eMMC NAND, 2-channel raw NAND | usb = OTG, 2x Host | other = | release_date = December 2012 | website = http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html }} &nbsp; &nbsp; &nbsp; integrated with a Quad-Core Cortex-A17 which up to 1.8GHz and ARMMali-T764&nbsp;which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant&nbsp;interfaces provide&nbsp;a friendly solution for product&nbsp;development. Futhermore &nbsp; &nbsp; &nbsp; = Overview = The RK3288 offers&nbsp;an extensible, leading&nbsp;performance,long-standing heritage platform,ideally suited for &nbsp;set-top box solution, tablet and chromebook.The platform is integrated with a Quad-Core Cortex-A17 which up to 1.8GHz and ARM Mali-T764&nbsp;which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant&nbsp;interfaces provide&nbsp;a friendly solution for product&nbsp;development. Futhermore, the power consumption is&nbsp;optimal for applications such as imaging/video, communication and broadband infrastructure,and performance audio applications. &nbsp; = RK3288 SoC Features = *CPU: **Quad Core Cortex-A17&nbsp;up to 1.8GHz **32KB L1-Cache **1MB L2-Cache *GPU: **ARM Mali-T764 GPU, with TE, ASTC, AFBC technology **Quad core 3D Graphics engine **Dual core 2D Graphics engine **Comply with&nbsp;OpenGL ES1.1/2.0/3.0, OpenVG1.1, OpenCL, DirectX11 *Display: **4Kx2K@60fpsHDMI2.0 **Up to 3840X2160 display resolution **Support dual-channel LVDS/dual-channel MIPI-DSI/eDP1.1 *Camera: **Support up to 5M pixels **8bits/10bits/12bits raw data interface&nbsp; *Memory: **Dual channels 64-bit DRAM controller **Support DDR3/DDR3L, LPDDR2, LPDDR3 *Connectivity: **Embedded 13M ISP and MIPI-CSI2 interface *Audio: **I2S/PCM with 8 channels *OS: **Support Android 4.2 or up = History = &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; = Documentation = #[http://10.10.10.12:8444/images/4/4e/Rockchip_RK3288_Datasheet_V2.2-20170301.pdf Rockchip_RK3288_Datasheet_V2.2-20170301] = Software = == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" |- | '''board''' | '''kernel''' | '''uboot''' | '''dts''' |- | RK3288_MAINBOARD_V3.0 | rockchip_linux_defconfig | rk3288_linux_defconfig | rk-linux.dts |} &nbsp; &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" |- | '''chip''' | '''Kernel eMMC index''' | '''Kernel SD index''' | '''Uboot eMMC index''' | '''Uboot SD index''' | '''Baud speed''' |- | RK3288 | 1 | 0 | 0 | 1 | 115200 |} &nbsp; == How to get the sources == The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code.&nbsp; &nbsp; <pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests repo sync </pre> == How to build the sources == === Build Environment === You need a 64-bit&nbsp;Ubuntu. Note: old versions&nbsp;Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so Install&nbsp;ARM cross-compile tool chain and compile kernel relative&nbsp;software package:&nbsp; $ sudo apt-get install gcc-arm-linux-gnueabihf&nbsp;gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev === Installing the build tools and download source === Please follow&nbsp;[http://rockchip.wikidot.com/linux-user-guide linux user guide]&nbsp;to install the build tools and download source. &nbsp; === Building kernel === For ARM V8 (RK3399 optimized SDK) <pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre> === Building uboot === For RK3399 optimized SDK (rkproduct uboot) <pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre> === Building rootfs === ==== Debian ==== Yu can download the prebuilt image directly. [http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive] or you could use the&nbsp;[https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script]&nbsp;from Rockchip to build rootfs yourselves. ==== Yocto ==== If you want to use Yocto to build your rootfs see&nbsp;[http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide]&nbsp;for detail. ==== Buildroot ==== If you want to use Buildroot to build your rootfs see&nbsp;[http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide]&nbsp;for detail. &nbsp; &nbsp; &nbsp; &nbsp; = Devices = [[Firefly-RK3288|Firefly-RK3288]]<br/> [[Firefly-RK3288_reload|Firefly-RK3288 reload]]<br/> [[Rock2_Square|Rock2 Square]]<br/> [[Rock2_Full|Rock2 Full]]<br/> [[MiQi|MiQi]]<br/> [[Popmetal|Popmetal]]<br/> [[Fennec|Fennec]]<br/> [[PhyCORE-RK3288|phyCORE-RK3288]] If you need this&nbsp;board, please contact with the following&nbsp;contact information. <pre>Telephone: 4007700590 Email: service@rock-chips.com</pre> = See also = [[RK3328|RK3328]] [[RK3399|RK3399]] = Owners of the SoC on IRC = = Commuity Support = There is no support for the RK3288&nbsp; = References = 1.[http://rockchip.wikidot.com/rk3288#toc0 http://rockchip.wikidot.com/rk3288#toc0] 2.[https://en.wikipedia.org/wiki/ARM_Cortex-A17 https://en.wikipedia.org/wiki/ARM_Cortex-A17] = Exteneral Links = [http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html] 429395698110dab54eefa7db85d593c89caf6134 401 400 2017-03-09T02:22:35Z Admin 1 wikitext text/x-wiki {{Infobox SoC | title = RK3288 | image = [[File:rk3288_soc.png|200px]] | manufacturer = Rockcihp | process = 28nm | cpu = Quad-Core ARM Cortex-A17 | ltwo = | extensions = | memory = 2-channel DDR3/LPDDR2, 2-channel DDR3L, maximum of 4GB total (2GB per channel) | gpu = SGX544 | vpu = | apu = | video = HDMI 1.4, MIPI DSI, 2-channel LVDS, 2-channel RGB LCD | audio = I2S, PCM | network = | storage = 4x SD Card, eMMC NAND, 2-channel raw NAND | usb = OTG, 2x Host | other = | release_date = December 2012 | website = http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html }} &nbsp; &nbsp; &nbsp; integrated with a Quad-Core Cortex-A17 which up to 1.8GHz and ARMMali-T764&nbsp;which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant&nbsp;interfaces provide&nbsp;a friendly solution for product&nbsp;development. Futhermore &nbsp; &nbsp; &nbsp; = Overview = The RK3288 offers&nbsp;an extensible, leading&nbsp;performance,long-standing heritage platform,ideally suited for &nbsp;set-top box solution, tablet and chromebook.The platform is integrated with a Quad-Core Cortex-A17 which up to 1.8GHz and ARM Mali-T764&nbsp;which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant&nbsp;interfaces provide&nbsp;a friendly solution for product&nbsp;development. Futhermore, the power consumption is&nbsp;optimal for applications such as imaging/video, communication and broadband infrastructure,and performance audio applications. &nbsp; = RK3288 SoC Features = *CPU: **Quad Core Cortex-A17&nbsp;up to 1.8GHz **32KB L1-Cache **1MB L2-Cache *GPU: **ARM Mali-T764 GPU, with TE, ASTC, AFBC technology **Quad core 3D Graphics engine **Dual core 2D Graphics engine **Comply with&nbsp;OpenGL ES1.1/2.0/3.0, OpenVG1.1, OpenCL, DirectX11 *Display: **4Kx2K@60fpsHDMI2.0 **Up to 3840X2160 display resolution **Support dual-channel LVDS/dual-channel MIPI-DSI/eDP1.1 *Camera: **Support up to 5M pixels **8bits/10bits/12bits raw data interface&nbsp; *Memory: **Dual channels 64-bit DRAM controller **Support DDR3/DDR3L, LPDDR2, LPDDR3 *Connectivity: **Embedded 13M ISP and MIPI-CSI2 interface *Audio: **I2S/PCM with 8 channels *OS: **Support Android 4.2 or up = History = &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; = Documentation = #[http://10.10.10.12:8444/images/4/4e/Rockchip_RK3288_Datasheet_V2.2-20170301.pdf Rockchip_RK3288_Datasheet_V2.2-20170301] = Software = == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" |- | '''board''' | '''kernel''' | '''uboot''' | '''dts''' |- | RK3288_MAINBOARD_V3.0 | rockchip_linux_defconfig | rk3288_linux_defconfig | rk-linux.dts |} &nbsp; &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" |- | '''chip''' | '''Kernel eMMC index''' | '''Kernel SD index''' | '''Uboot eMMC index''' | '''Uboot SD index''' | '''Baud speed''' |- | RK3288 | 1 | 0 | 0 | 1 | 115200 |} &nbsp; == How to get the sources == The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code.&nbsp; &nbsp; <pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests repo sync </pre> == How to build the sources == === Build Environment === You need a 64-bit&nbsp;Ubuntu. Note: old versions&nbsp;Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so Install&nbsp;ARM cross-compile tool chain and compile kernel relative&nbsp;software package:&nbsp; $ sudo apt-get install gcc-arm-linux-gnueabihf&nbsp;gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev === Installing the build tools and download source === Please follow&nbsp;[http://rockchip.wikidot.com/linux-user-guide linux user guide]&nbsp;to install the build tools and download source. &nbsp; === Building kernel === For ARM V8 (RK3399 optimized SDK) <pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre> === Building uboot === For RK3399 optimized SDK (rkproduct uboot) <pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre> === Building rootfs === ==== Debian ==== Yu can download the prebuilt image directly. [http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive] or you could use the&nbsp;[https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script]&nbsp;from Rockchip to build rootfs yourselves. ==== Yocto ==== If you want to use Yocto to build your rootfs see&nbsp;[http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide]&nbsp;for detail. ==== Buildroot ==== If you want to use Buildroot to build your rootfs see&nbsp;[http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide]&nbsp;for detail. &nbsp; &nbsp; &nbsp; &nbsp; = Devices = [[Firefly-RK3288|Firefly-RK3288]]<br/> [[Firefly-RK3288_reload|Firefly-RK3288 reload]]<br/> [[Rock2_Square|Rock2 Square]]<br/> [[Rock2_Full|Rock2 Full]]<br/> [[MiQi|MiQi]]<br/> [[Popmetal|Popmetal]]<br/> [[Fennec|Fennec]]<br/> [[PhyCORE-RK3288|phyCORE-RK3288]] If you need this&nbsp;board, please contact with the following&nbsp;contact information. <pre>Telephone: 4007700590 Email: service@rock-chips.com</pre> = See also = [[RK3328|RK3328]] [[RK3399|RK3399]] = Owners of the SoC on IRC = = Commuity Support = There is no support for the RK3288&nbsp; = References = 1.[http://rockchip.wikidot.com/rk3288#toc0 http://rockchip.wikidot.com/rk3288#toc0] 2.[https://en.wikipedia.org/wiki/ARM_Cortex-A17 https://en.wikipedia.org/wiki/ARM_Cortex-A17] = Exteneral Links = [http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html] 95882c093f04c2a98c93f6419f74e9d8a83f49b6 Template:Infobox SoC 10 43 376 318 2017-03-09T01:13:31Z Admin 1 wikitext text/x-wiki <table class="infobox" cellspacing="5" style="width:250px;"> <tr><th colspan="2" class="" style="text-align:center; font-size:125%; font-weight:bold; background: #dedede;">{{{title}}}</th></tr> <tr class=""><td colspan="2" class="" style="text-align:center;"> {{{image}}}</td></tr> <tr class=""><th scope="row" style="text-align:left;">Manufacturer</th><td class="" style=""> {{{manufacturer}}}</td></tr> <tr class=""><th scope="row" style="text-align:left;">Process</th><td class="" style=""> {{{process}}}</td></tr> <tr class=""><th scope="row" style="text-align:left;">CPU</th><td class="" style=""> {{{cpu}}}</td></tr> <tr class=""><th scope="row" style="text-align:left;">Memory</th><td class="" style=""> {{{memory}}}</td></tr> <tr class=""><th scope="row" style="text-align:left;">GPU</th><td class="" style=""> {{{gpu}}}</td></tr> <tr><th colspan="2" class="" style="text-align:center; background: #dedede;">Connectivity</th></tr> <tr class=""><th scope="row" style="text-align:left;">Video</th><td class="" style=""> {{{video}}}</td></tr> <tr class=""><th scope="row" style="text-align:left;">Audio</th><td class="" style=""> {{{audio}}}</td></tr> <tr class=""><th scope="row" style="text-align:left;">Storage</th><td class="" style=""> {{{storage}}}</td></tr> <tr class=""><th scope="row" style="text-align:left;">USB</th><td class="" style=""> {{{usb}}}</td></tr> <tr class=""><th scope="row" style="text-align:left;">Release Date</th><td class="" style=""> {{{release_date}}}</td></tr> <tr class=""><th scope="row" style="text-align:left;">Website</th><td class="" style=""> <a rel="nofollow" class="external text" href="{{{website}}}">Product Page</a></td></tr> </table> 7a0320d94affb2761a8e2a4517cafe253df38d2b 377 376 2017-03-09T01:14:52Z Admin 1 wikitext text/x-wiki <table class="infobox" cellspacing="5" style="width:250px;"> <tr><th colspan="2" class="" style="text-align:center; font-size:125%; font-weight:bold; background: #dedede;">{{{title}}}</th></tr> <tr class=""><td colspan="2" class="" style="text-align:center;"> {{{image}}}</td></tr> <tr class=""><th scope="row" style="text-align:left;">Manufacturer</th><td class="" style=""> {{{manufacturer}}}</td></tr> <tr class=""><th scope="row" style="text-align:left;">Process</th><td class="" style=""> {{{process}}}</td></tr> <tr class=""><th scope="row" style="text-align:left;">CPU</th><td class="" style=""> {{{cpu}}}</td></tr> <tr class=""><th scope="row" style="text-align:left;">Memory</th><td class="" style=""> {{{memory}}}</td></tr> <tr class=""><th scope="row" style="text-align:left;">GPU</th><td class="" style=""> {{{gpu}}}</td></tr> <tr><th colspan="2" class="" style="text-align:center; background: #dedede;">Connectivity</th></tr> <tr class=""><th scope="row" style="text-align:left;">Video</th><td class="" style=""> {{{video}}}</td></tr> <tr class=""><th scope="row" style="text-align:left;">Audio</th><td class="" style=""> {{{audio}}}</td></tr> <tr class=""><th scope="row" style="text-align:left;">Storage</th><td class="" style=""> {{{storage}}}</td></tr> <tr class=""><th scope="row" style="text-align:left;">USB</th><td class="" style=""> {{{usb}}}</td></tr> <tr class=""><th scope="row" style="text-align:left;">Release Date</th><td class="" style=""> {{{release_date}}}</td></tr> <tr class=""><th scope="row" style="text-align:left;">Website</th><td class="" style=""> [{{{website}}} Product Page]</td></tr> </table> 95d72d7169dd27bae539d55764b3b93a0fa55b82 378 377 2017-03-09T01:16:04Z Admin 1 wikitext text/x-wiki <table class="infobox" cellspacing="5" style="width:250px;"> <tr><th colspan="2" class="" style="text-align:center; font-size:125%; font-weight:bold; background: #dedede;">{{{title}}}</th></tr> <tr class=""><td colspan="2" class="" style="text-align:center;"> {{{image}}}</td></tr> <tr class=""><th scope="row" style="text-align:left;">Manufacturer</th><td class="" style=""> {{{manufacturer}}}</td></tr> <tr class=""><th scope="row" style="text-align:left;">Process</th><td class="" style=""> {{{process}}}</td></tr> <tr class=""><th scope="row" style="text-align:left;">CPU</th><td class="" style=""> {{{cpu}}}</td></tr> <tr class=""><th scope="row" style="text-align:left;">Memory</th><td class="" style=""> {{{memory}}}</td></tr> <tr class=""><th scope="row" style="text-align:left;">GPU</th><td class="" style=""> {{{gpu}}}</td></tr> <tr><th colspan="2" class="" style="text-align:center; background: #dedede;">Connectivity</th></tr> <tr class=""><th scope="row" style="text-align:left;">Video</th><td class="" style=""> {{{video}}}</td></tr> <tr class=""><th scope="row" style="text-align:left;">Audio</th><td class="" style=""> {{{audio}}}</td></tr> <tr class=""><th scope="row" style="text-align:left;">Storage</th><td class="" style=""> {{{storage}}}</td></tr> <tr class=""><th scope="row" style="text-align:left;">USB</th><td class="" style=""> {{{usb}}}</td></tr> <tr class=""><th scope="row" style="text-align:left;">Release Date</th><td class="" style=""> {{{release_date}}}</td></tr> <tr class=""><th scope="row" style="text-align:left;">Website</th><td class="" style=""> [[{{{website}}}|Product Page]] </td></tr> </table> 6c8aa172c5fea67099197748ee0e5963b6454b30 381 378 2017-03-09T01:27:57Z Admin 1 wikitext text/x-wiki <table class="infobox" cellspacing="5" style="width:250px;"> <tr><th colspan="2" class="" style="text-align:center; font-size:125%; font-weight:bold; background: #dedede;">{{{title}}}</th></tr> <tr class=""><td colspan="2" class="" style="text-align:center;"> {{{image}}}</td></tr> <tr class=""><th scope="row" style="text-align:left;">Manufacturer</th><td class="" style=""> {{{manufacturer}}}</td></tr> <tr class=""><th scope="row" style="text-align:left;">Process</th><td class="" style=""> {{{process}}}</td></tr> <tr class=""><th scope="row" style="text-align:left;">CPU</th><td class="" style=""> {{{cpu}}}</td></tr> <tr class=""><th scope="row" style="text-align:left;">Memory</th><td class="" style=""> {{{memory}}}</td></tr> <tr class=""><th scope="row" style="text-align:left;">GPU</th><td class="" style=""> {{{gpu}}}</td></tr> <tr><th colspan="2" class="" style="text-align:center; background: #dedede;">Connectivity</th></tr> <tr class=""><th scope="row" style="text-align:left;">Video</th><td class="" style=""> {{{video}}}</td></tr> <tr class=""><th scope="row" style="text-align:left;">Audio</th><td class="" style=""> {{{audio}}}</td></tr> <tr class=""><th scope="row" style="text-align:left;">Storage</th><td class="" style=""> {{{storage}}}</td></tr> <tr class=""><th scope="row" style="text-align:left;">USB</th><td class="" style=""> {{{usb}}}</td></tr> <tr class=""><th scope="row" style="text-align:left;">Release Date</th><td class="" style=""> {{{release_date}}}</td></tr> <tr class=""><th scope="row" style="text-align:left;">Website</th><td class="" style=""> [[{{{website}}}| Product Page]] </td></tr> </table> 19e09044cc9ba1434458fe0f3f24edc5576889e2 382 381 2017-03-09T01:29:33Z Admin 1 wikitext text/x-wiki <table class="infobox" cellspacing="5" style="width:250px;"> <tr><th colspan="2" class="" style="text-align:center; font-size:125%; font-weight:bold; background: #dedede;">{{{title}}}</th></tr> <tr class=""><td colspan="2" class="" style="text-align:center;"> {{{image}}}</td></tr> <tr class=""><th scope="row" style="text-align:left;">Manufacturer</th><td class="" style=""> {{{manufacturer}}}</td></tr> <tr class=""><th scope="row" style="text-align:left;">Process</th><td class="" style=""> {{{process}}}</td></tr> <tr class=""><th scope="row" style="text-align:left;">CPU</th><td class="" style=""> {{{cpu}}}</td></tr> <tr class=""><th scope="row" style="text-align:left;">Memory</th><td class="" style=""> {{{memory}}}</td></tr> <tr class=""><th scope="row" style="text-align:left;">GPU</th><td class="" style=""> {{{gpu}}}</td></tr> <tr><th colspan="2" class="" style="text-align:center; background: #dedede;">Connectivity</th></tr> <tr class=""><th scope="row" style="text-align:left;">Video</th><td class="" style=""> {{{video}}}</td></tr> <tr class=""><th scope="row" style="text-align:left;">Audio</th><td class="" style=""> {{{audio}}}</td></tr> <tr class=""><th scope="row" style="text-align:left;">Storage</th><td class="" style=""> {{{storage}}}</td></tr> <tr class=""><th scope="row" style="text-align:left;">USB</th><td class="" style=""> {{{usb}}}</td></tr> <tr class=""><th scope="row" style="text-align:left;">Release Date</th><td class="" style=""> {{{release_date}}}</td></tr> <tr class=""><th scope="row" style="text-align:left;">Website</th><td class="" style=""> [{{{website}}} Product Page] </td></tr> </table> d1e20764f45cdf5eb86f89cf657b8ca0990294a7 383 382 2017-03-09T01:30:03Z Admin 1 wikitext text/x-wiki <table class="infobox" cellspacing="5" style="width:300px;"> <tr><th colspan="2" class="" style="text-align:center; font-size:125%; font-weight:bold; background: #dedede;">{{{title}}}</th></tr> <tr class=""><td colspan="2" class="" style="text-align:center;"> {{{image}}}</td></tr> <tr class=""><th scope="row" style="text-align:left;">Manufacturer</th><td class="" style=""> {{{manufacturer}}}</td></tr> <tr class=""><th scope="row" style="text-align:left;">Process</th><td class="" style=""> {{{process}}}</td></tr> <tr class=""><th scope="row" style="text-align:left;">CPU</th><td class="" style=""> {{{cpu}}}</td></tr> <tr class=""><th scope="row" style="text-align:left;">Memory</th><td class="" style=""> {{{memory}}}</td></tr> <tr class=""><th scope="row" style="text-align:left;">GPU</th><td class="" style=""> {{{gpu}}}</td></tr> <tr><th colspan="2" class="" style="text-align:center; background: #dedede;">Connectivity</th></tr> <tr class=""><th scope="row" style="text-align:left;">Video</th><td class="" style=""> {{{video}}}</td></tr> <tr class=""><th scope="row" style="text-align:left;">Audio</th><td class="" style=""> {{{audio}}}</td></tr> <tr class=""><th scope="row" style="text-align:left;">Storage</th><td class="" style=""> {{{storage}}}</td></tr> <tr class=""><th scope="row" style="text-align:left;">USB</th><td class="" style=""> {{{usb}}}</td></tr> <tr class=""><th scope="row" style="text-align:left;">Release Date</th><td class="" style=""> {{{release_date}}}</td></tr> <tr class=""><th scope="row" style="text-align:left;">Website</th><td class="" style=""> [{{{website}}} Product Page] </td></tr> </table> 451ac23eed4f2b25119d97ec39327c8406175281 396 383 2017-03-09T02:19:49Z Admin 1 wikitext text/x-wiki <table class="infobox" cellspacing="5" style="width:300px;"> {{#if:{{{title|}}}<tr><th colspan="2" class="" style="text-align:center; font-size:125%; font-weight:bold; background: #dedede;">{{{title}}}</th></tr>}} <tr class=""><td colspan="2" class="" style="text-align:center;"> {{{image}}}</td></tr> <tr class=""><th scope="row" style="text-align:left;">Manufacturer</th><td class="" style=""> {{{manufacturer}}}</td></tr> <tr class=""><th scope="row" style="text-align:left;">Process</th><td class="" style=""> {{{process}}}</td></tr> <tr class=""><th scope="row" style="text-align:left;">CPU</th><td class="" style=""> {{{cpu}}}</td></tr> <tr class=""><th scope="row" style="text-align:left;">Memory</th><td class="" style=""> {{{memory}}}</td></tr> <tr class=""><th scope="row" style="text-align:left;">GPU</th><td class="" style=""> {{{gpu}}}</td></tr> <tr><th colspan="2" class="" style="text-align:center; background: #dedede;">Connectivity</th></tr> <tr class=""><th scope="row" style="text-align:left;">Video</th><td class="" style=""> {{{video}}}</td></tr> <tr class=""><th scope="row" style="text-align:left;">Audio</th><td class="" style=""> {{{audio}}}</td></tr> <tr class=""><th scope="row" style="text-align:left;">Storage</th><td class="" style=""> {{{storage}}}</td></tr> <tr class=""><th scope="row" style="text-align:left;">USB</th><td class="" style=""> {{{usb}}}</td></tr> <tr class=""><th scope="row" style="text-align:left;">Release Date</th><td class="" style=""> {{{release_date}}}</td></tr> <tr class=""><th scope="row" style="text-align:left;">Website</th><td class="" style=""> [{{{website}}} Product Page] </td></tr> </table> 47961937dd627106c97e50a4148e804282cea54f 399 396 2017-03-09T02:22:11Z Admin 1 wikitext text/x-wiki <table class="infobox" cellspacing="5" style="width:300px;"> {{#if:{{{title|}}} | <tr><th colspan="2" class="" style="text-align:center; font-size:125%; font-weight:bold; background: #dedede;">{{{title}}}</th></tr>}} <tr class=""><td colspan="2" class="" style="text-align:center;"> {{{image}}}</td></tr> <tr class=""><th scope="row" style="text-align:left;">Manufacturer</th><td class="" style=""> {{{manufacturer}}}</td></tr> <tr class=""><th scope="row" style="text-align:left;">Process</th><td class="" style=""> {{{process}}}</td></tr> <tr class=""><th scope="row" style="text-align:left;">CPU</th><td class="" style=""> {{{cpu}}}</td></tr> <tr class=""><th scope="row" style="text-align:left;">Memory</th><td class="" style=""> {{{memory}}}</td></tr> <tr class=""><th scope="row" style="text-align:left;">GPU</th><td class="" style=""> {{{gpu}}}</td></tr> <tr><th colspan="2" class="" style="text-align:center; background: #dedede;">Connectivity</th></tr> <tr class=""><th scope="row" style="text-align:left;">Video</th><td class="" style=""> {{{video}}}</td></tr> <tr class=""><th scope="row" style="text-align:left;">Audio</th><td class="" style=""> {{{audio}}}</td></tr> <tr class=""><th scope="row" style="text-align:left;">Storage</th><td class="" style=""> {{{storage}}}</td></tr> <tr class=""><th scope="row" style="text-align:left;">USB</th><td class="" style=""> {{{usb}}}</td></tr> <tr class=""><th scope="row" style="text-align:left;">Release Date</th><td class="" style=""> {{{release_date}}}</td></tr> <tr class=""><th scope="row" style="text-align:left;">Website</th><td class="" style=""> [{{{website}}} Product Page] </td></tr> </table> 0e7dd80d5def8b8aba66d540fa432f0612df3263 402 399 2017-03-09T02:23:22Z Admin 1 wikitext text/x-wiki <table class="infobox" cellspacing="5" style="width:300px;"> <!-- Title -->{{#if:{{{title|}}}|<caption class="{{{titleclass|}}}" style="{{{titlestyle|}}}">{{{title}}}</caption>}} <tr class=""><td colspan="2" class="" style="text-align:center;"> {{{image}}}</td></tr> <tr class=""><th scope="row" style="text-align:left;">Manufacturer</th><td class="" style=""> {{{manufacturer}}}</td></tr> <tr class=""><th scope="row" style="text-align:left;">Process</th><td class="" style=""> {{{process}}}</td></tr> <tr class=""><th scope="row" style="text-align:left;">CPU</th><td class="" style=""> {{{cpu}}}</td></tr> <tr class=""><th scope="row" style="text-align:left;">Memory</th><td class="" style=""> {{{memory}}}</td></tr> <tr class=""><th scope="row" style="text-align:left;">GPU</th><td class="" style=""> {{{gpu}}}</td></tr> <tr><th colspan="2" class="" style="text-align:center; background: #dedede;">Connectivity</th></tr> <tr class=""><th scope="row" style="text-align:left;">Video</th><td class="" style=""> {{{video}}}</td></tr> <tr class=""><th scope="row" style="text-align:left;">Audio</th><td class="" style=""> {{{audio}}}</td></tr> <tr class=""><th scope="row" style="text-align:left;">Storage</th><td class="" style=""> {{{storage}}}</td></tr> <tr class=""><th scope="row" style="text-align:left;">USB</th><td class="" style=""> {{{usb}}}</td></tr> <tr class=""><th scope="row" style="text-align:left;">Release Date</th><td class="" style=""> {{{release_date}}}</td></tr> <tr class=""><th scope="row" style="text-align:left;">Website</th><td class="" style=""> [{{{website}}} Product Page] </td></tr> </table> fea8f50d51e13efc14959519c8e3b722b90100cf 403 402 2017-03-09T02:23:51Z Admin 1 wikitext text/x-wiki <table class="infobox" cellspacing="5" style="width:300px;"> {{#if:{{{title|}}}|<tr><th colspan="2" class="" style="text-align:center; font-size:125%; font-weight:bold; background: #dedede;">{{{title}}}</th></tr>}} <tr class=""><td colspan="2" class="" style="text-align:center;"> {{{image}}}</td></tr> <tr class=""><th scope="row" style="text-align:left;">Manufacturer</th><td class="" style=""> {{{manufacturer}}}</td></tr> <tr class=""><th scope="row" style="text-align:left;">Process</th><td class="" style=""> {{{process}}}</td></tr> <tr class=""><th scope="row" style="text-align:left;">CPU</th><td class="" style=""> {{{cpu}}}</td></tr> <tr class=""><th scope="row" style="text-align:left;">Memory</th><td class="" style=""> {{{memory}}}</td></tr> <tr class=""><th scope="row" style="text-align:left;">GPU</th><td class="" style=""> {{{gpu}}}</td></tr> <tr><th colspan="2" class="" style="text-align:center; background: #dedede;">Connectivity</th></tr> <tr class=""><th scope="row" style="text-align:left;">Video</th><td class="" style=""> {{{video}}}</td></tr> <tr class=""><th scope="row" style="text-align:left;">Audio</th><td class="" style=""> {{{audio}}}</td></tr> <tr class=""><th scope="row" style="text-align:left;">Storage</th><td class="" style=""> {{{storage}}}</td></tr> <tr class=""><th scope="row" style="text-align:left;">USB</th><td class="" style=""> {{{usb}}}</td></tr> <tr class=""><th scope="row" style="text-align:left;">Release Date</th><td class="" style=""> {{{release_date}}}</td></tr> <tr class=""><th scope="row" style="text-align:left;">Website</th><td class="" style=""> [{{{website}}} Product Page] </td></tr> </table> 61effb19834e7b28b76d687f686af1e4b6382421 RK3328 0 24 391 269 2017-03-09T01:58:27Z Kever 2 wikitext text/x-wiki {{Infobox SoC | image = [[File:rk3288_soc.png|250px]] | manufacturer = Rockcihp | process = 28nm | cpu = Quad-Core ARM Cortex-A17 | ltwo = | extensions = | memory = 2-channel DDR3/LPDDR2, 2-channel DDR3L, maximum of 4GB total (2GB per channel) | gpu = SGX544 | vpu = | apu = | video = HDMI 1.4, MIPI DSI, 2-channel LVDS, 2-channel RGB LCD | audio = I2S, PCM | network = | storage = 4x SD Card, eMMC NAND, 2-channel raw NAND | usb = OTG, 2x Host | other = | release_date = December 2012 | website = [http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html] }} &nbsp; &nbsp; &nbsp; = Overview = RK3328 offers a high-integration and power efficiency&nbsp;SOC for 4K HDR OTT/IPTV. It support HDR10 ,HLG HDR ,&nbsp;4K 10bits 30fps H.264 video decoder and 4K 10bits 60fps H265 video decoder.Comply with lots of high-performance interface,such as multi-channel display with HDMI2.0a, TV Encoder, the Quad-core GPU can acheive&nbsp;high-resolution display and game. == Cortex-A53 == Quad-core Cortex-A53 is integrated with separate Neon and FPU coprocessor, also with shared L2 Cache.&nbsp; &nbsp; = RK3328 SoC Features = *CPU: **ARM Cortex-A53&nbsp;Quad-Core&nbsp; *GPU **&nbsp;Mali-450MP4 **Comply with Open GL ES1.1/2.0 *Multi-Media: **4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps **1080P other video decoders (VC-1, MPEG-1/2/4, VP8) **1080P video encoder for H.264 and H.265 **Support HDR10 ,HLG HDR , Support conversion between SDR and HDR *Display: **HDMI 2.0a for 4K@60Hz with HDCP 1.4/2.2 **Support conversion between Rec.2020 and Rec.709 *Memory: **LPDDR3/DDR3/DDR3L/DDR4 **eMMC 4.51,SDCard, SPI Flash *External interface **USB 2.0 x2 and USB 3.0 x1 **100M Ethernet w/ built-in PHY **Built-in CVBS and audio DAC **8 channels I2S IO and 8 chanel digital PDM input (for MIC array) = History = &nbsp; &nbsp; &nbsp; = Documentation = &nbsp; [http://10.10.10.12:8444/images/9/9e/RK_DDR_Support_List_Ver2.24.pdf RK_DDR_Support_List_Ver2.24] &nbsp; &nbsp; = Software = == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" |- | '''board''' | '''kernel''' | '''uboot''' | '''dts''' |- | RK_EVB_RK3228H_BOX_RK805_DDR3 | rockchip_linux_defconfig | rk3328_linux_defconfig | rk3328r-linux.dts |} &nbsp; &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" |- | '''chip''' | '''Kernel eMMC index''' | '''Kernel SD index''' | '''Uboot eMMC index''' | '''Uboot SD index''' | '''Baud speed''' |- | RK3399 | 1 | 0 | 0 | 1 | 1500000 |} == How to get the sources == The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code.&nbsp;Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github. RK3399 optimized Debian & Buildroot <pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml repo sync </pre> == How to build the sources == === Build Environment === You need a 64-bit&nbsp;Ubuntu. Note: old versions&nbsp;Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so Install&nbsp;ARM cross-compile tool chain and compile kernel relative&nbsp;software package:&nbsp; $ sudo apt-get install gcc-arm-linux-gnueabihf&nbsp;gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev === Installing the build tools and download source === Please follow&nbsp;[http://rockchip.wikidot.com/linux-user-guide linux user guide]&nbsp;to install the build tools and download source. &nbsp; === Building kernel === For ARM V8 (RK3399 optimized SDK) <pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre> === Building uboot === For RK3399 optimized SDK (rkproduct uboot) <pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre> === Building rootfs === ==== Debian ==== You&nbsp;can download the prebuilt image directly. [http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive] or you could use the&nbsp;[https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script]&nbsp;from Rockchip to build rootfs yourselves. ==== Yocto ==== If you want to use Yocto to build your rootfs see&nbsp;[http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide]&nbsp;for detail. ==== Buildroot ==== If you want to use Buildroot to build your rootfs see&nbsp;[http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide]&nbsp;for detail. &nbsp; &nbsp; = Devices = If you need the rk3399-excavator&nbsp;board, please communicate through&nbsp;the following&nbsp;contact information. <pre>Telephone: 4007700590 Email: service@rock-chips.com</pre> &nbsp; = See also = [[RK3288|RK3288]] [[RK3399|RK3399]] = Owners of the SoC on IRC = = Commuity Support = = References = 1.[https://en.wikipedia.org/wiki/ARM_Cortex-A53 https://en.wikipedia.org/wiki/ARM_Cortex-A53] = Exteneral Links = &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ed9ed351f89a9e9e7fd96a50c9838312ac9f48a4 392 391 2017-03-09T01:59:18Z Kever 2 wikitext text/x-wiki {{Infobox SoC1 | image = [[File:rk3288_soc.png|250px]] | manufacturer = Rockcihp | process = 28nm | cpu = Quad-Core ARM Cortex-A17 | ltwo = | extensions = | memory = 2-channel DDR3/LPDDR2, 2-channel DDR3L, maximum of 4GB total (2GB per channel) | gpu = SGX544 | vpu = | apu = | video = HDMI 1.4, MIPI DSI, 2-channel LVDS, 2-channel RGB LCD | audio = I2S, PCM | network = | storage = 4x SD Card, eMMC NAND, 2-channel raw NAND | usb = OTG, 2x Host | other = | release_date = December 2012 | website = [http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html] }} &nbsp; &nbsp; &nbsp; = Overview = RK3328 offers a high-integration and power efficiency&nbsp;SOC for 4K HDR OTT/IPTV. It support HDR10 ,HLG HDR ,&nbsp;4K 10bits 30fps H.264 video decoder and 4K 10bits 60fps H265 video decoder.Comply with lots of high-performance interface,such as multi-channel display with HDMI2.0a, TV Encoder, the Quad-core GPU can acheive&nbsp;high-resolution display and game. == Cortex-A53 == Quad-core Cortex-A53 is integrated with separate Neon and FPU coprocessor, also with shared L2 Cache.&nbsp; &nbsp; = RK3328 SoC Features = *CPU: **ARM Cortex-A53&nbsp;Quad-Core&nbsp; *GPU **&nbsp;Mali-450MP4 **Comply with Open GL ES1.1/2.0 *Multi-Media: **4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps **1080P other video decoders (VC-1, MPEG-1/2/4, VP8) **1080P video encoder for H.264 and H.265 **Support HDR10 ,HLG HDR , Support conversion between SDR and HDR *Display: **HDMI 2.0a for 4K@60Hz with HDCP 1.4/2.2 **Support conversion between Rec.2020 and Rec.709 *Memory: **LPDDR3/DDR3/DDR3L/DDR4 **eMMC 4.51,SDCard, SPI Flash *External interface **USB 2.0 x2 and USB 3.0 x1 **100M Ethernet w/ built-in PHY **Built-in CVBS and audio DAC **8 channels I2S IO and 8 chanel digital PDM input (for MIC array) = History = &nbsp; &nbsp; &nbsp; = Documentation = &nbsp; [http://10.10.10.12:8444/images/9/9e/RK_DDR_Support_List_Ver2.24.pdf RK_DDR_Support_List_Ver2.24] &nbsp; &nbsp; = Software = == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" |- | '''board''' | '''kernel''' | '''uboot''' | '''dts''' |- | RK_EVB_RK3228H_BOX_RK805_DDR3 | rockchip_linux_defconfig | rk3328_linux_defconfig | rk3328r-linux.dts |} &nbsp; &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" |- | '''chip''' | '''Kernel eMMC index''' | '''Kernel SD index''' | '''Uboot eMMC index''' | '''Uboot SD index''' | '''Baud speed''' |- | RK3399 | 1 | 0 | 0 | 1 | 1500000 |} == How to get the sources == The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code.&nbsp;Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github. RK3399 optimized Debian & Buildroot <pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml repo sync </pre> == How to build the sources == === Build Environment === You need a 64-bit&nbsp;Ubuntu. Note: old versions&nbsp;Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so Install&nbsp;ARM cross-compile tool chain and compile kernel relative&nbsp;software package:&nbsp; $ sudo apt-get install gcc-arm-linux-gnueabihf&nbsp;gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev === Installing the build tools and download source === Please follow&nbsp;[http://rockchip.wikidot.com/linux-user-guide linux user guide]&nbsp;to install the build tools and download source. &nbsp; === Building kernel === For ARM V8 (RK3399 optimized SDK) <pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre> === Building uboot === For RK3399 optimized SDK (rkproduct uboot) <pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre> === Building rootfs === ==== Debian ==== You&nbsp;can download the prebuilt image directly. [http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive] or you could use the&nbsp;[https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script]&nbsp;from Rockchip to build rootfs yourselves. ==== Yocto ==== If you want to use Yocto to build your rootfs see&nbsp;[http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide]&nbsp;for detail. ==== Buildroot ==== If you want to use Buildroot to build your rootfs see&nbsp;[http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide]&nbsp;for detail. &nbsp; &nbsp; = Devices = If you need the rk3399-excavator&nbsp;board, please communicate through&nbsp;the following&nbsp;contact information. <pre>Telephone: 4007700590 Email: service@rock-chips.com</pre> &nbsp; = See also = [[RK3288|RK3288]] [[RK3399|RK3399]] = Owners of the SoC on IRC = = Commuity Support = = References = 1.[https://en.wikipedia.org/wiki/ARM_Cortex-A53 https://en.wikipedia.org/wiki/ARM_Cortex-A53] = Exteneral Links = &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 517c35f1820d2a69f8f2b03927f0c306d4cf8b1e Template:Infobox SoC1 10 56 393 2017-03-09T01:59:34Z Kever 2 Created page with "{{infobox | above = {{{name|<includeonly>{{PAGENAME}}</includeonly>}}} | abovestyle = background: #dedede; | image = {{{image|}}} | caption = {{{caption|}}} | headerstyle..." wikitext text/x-wiki {{infobox | above = {{{name|<includeonly>{{PAGENAME}}</includeonly>}}} | abovestyle = background: #dedede; | image = {{{image|}}} | caption = {{{caption|}}} | headerstyle = background: #dedede; | header1 = | label1 = Manufacturer | data1 = {{{manufacturer|}}} | header2 = | label2 = Process | data2 = {{{process|}}} | header3 = | label3 = CPU | data3 = {{{cpu|}}} | header4 = | label4 = L2 | data4 = {{{l2|}}} | header5 = | label5 = Extensions | data5 = {{{extensions|}}} | header6 = | label6 = Memory | data6 = {{{memory|}}} | header7 = | label7 = GPU | data7 = {{{gpu|}}} | header8 = | label8 = VPU | data8 = {{{vpu|}}} | header9 = | label9 = APU | data9 = {{{apu|}}} | header10 = Connectivity | label10 = | data10 = | header11 = | label11 = Video | data11 = {{{video|}}} | header12 = | label12 = Audio | data12 = {{{audio|}}} | header13 = | label13 = Network | data13 = {{{network|}}} | header14 = | label14 = Storage | data14 = {{{storage|}}} | header15 = | label15 = USB | data15 = {{{usb|}}} | header16 = | label16 = Other | data16 = {{{other|}}} | header17 = | label17 = Release Date | data17 = {{{release_date|}}} | header18 = | label18 = Website | data18 = {{{website|}}} }} 9af7362d36472ab4f99eac9c884387201556eed6 Template:Infobox/row 10 48 394 312 2017-03-09T02:00:04Z Kever 2 wikitext text/x-wiki <includeonly>{{#if:{{{header|}}} |<tr><th colspan="2" class="{{{class|}}}" style="text-align:center; {{{headerstyle|}}}">{{{header}}}</th></tr> |{{#if:{{{data|}}} |<tr class="{{{rowclass|}}}">{{#if:{{{label|}}} |<th scope="row" style="text-align:left; {{{labelstyle|}}}">{{{label}}}</th><td class="{{{class|}}}" style="{{{datastyle|}}}"> |<td colspan="2" class="{{{class|}}}" style="text-align:center; {{{datastyle|}}}"> }} {{{data}}}</td></tr> }} }}</includeonly><noinclude> == Usage == <pre>{{Infobox/row | header = Header text | class = optional_th_class | headerstyle = optional_th_style }}</pre> <pre>{{Infobox/row | label = Optional label text | data = Actual data | rowclass = optional_tr_class | class = optional_td_class | labelstyle = optional_th_style | datastyle = optional_td_style }}</pre> === Template Attributes === {| class="wikitable" ! name ! description |- ! header | Header Text, if a this row is a header |- ! data | Data Text, if this row is not a header |- ! label | Optional label Text, if this row is not a header |} == See also == * {{tl|Infobox/begin}} * {{tl|Infobox/end}} * {{tl|Infobox}} [[Category:Infobox]]</noinclude> 01f0a3f76fdf1d8c11e94e1f34d9433254b4d4a9 Template:Tl 10 57 395 2017-03-09T02:00:19Z Kever 2 Created page with "<includeonly><tt><nowiki>{{</nowiki>[[Template:{{{1|}}}|{{{1|}}}]]<nowiki>}}</nowiki></tt></includeonly><noinclude> == Usage == <pre>{{tl|template_name}}</pre> </noinclude>" wikitext text/x-wiki <includeonly><tt><nowiki>{{</nowiki>[[Template:{{{1|}}}|{{{1|}}}]]<nowiki>}}</nowiki></tt></includeonly><noinclude> == Usage == <pre>{{tl|template_name}}</pre> </noinclude> 75164e415d596d34e73e8998203fe97577f52ec4 Fastboot 0 12 406 405 2017-03-09T02:54:28Z Karen 3 wikitext text/x-wiki = Introduction = Fastboot is a protocol that can be used to re-flash partitions on your device (update the flash file system in your devices). It is this small tool that comes with the Android SDK (Software Developer Kit), which is an alternative to the Recovery Mode for doing installations and updates. It first comes with Android. Google have submit the fastboot code to mainline U-boot. So we can use this protocol to flash partition on your device. There are three way to enter fastboot mode = Fastboot command = Rockchip use 0x2207 as its USB vendor ID. This VID is not in Google's original fastboot code. So every fastboot command have to use "-i" parameter to specify vid to fastboot.<br/> To list all the Rockchip devices attached to your USB port in fastboot mode. <pre><code>$ sudo fastboot -i 0x2207 devices 0123456789AB fastboot</code> </pre> To flash loader <pre><code>$ sudo fastboot -i 0x2207 flash loader "path to your loader"</code> </pre> To flash Android boot image <pre><code>$ sudo fastboot -i 0x2207 flash boot_a "path to your boot image" 0123456789AB fastboot</code> </pre> To flash Android system image <pre><code>$ sudo fastboot -i 0x2207 flash system_a "path to your system image" 0123456789AB fastboot</code></pre> To Get Version: <pre>fastboot getvar version</pre> To Get Version: <pre>fastboot getvar version-bootloader </pre> To Get Unlocked: <pre>fastboot getvar unlocked </pre> To Get Locked: <pre>fastboot getvar secure</pre> To Get Product Information: <pre>fastboot getvar product</pre> To Get Serialno: <pre>fastboot getvar serialno</pre> To Get Partition Type: <pre>fastboot getvar partition-type:<partition_name> </pre> To Get Partition Size: <pre>fastboot getvar partition-size:<partition_name> </pre> To Get Partition Offset: <pre>fastboot getvar partition-offset:<partition_name></pre> &nbsp; &nbsp; === Download Image === fastboot flash <partition_name> <filename>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 烧写固件 (如:fastboot flash system system.img。 烧写parameter/loader时,需指定分区名为”parameter”/”loader”) fastboot update <filename> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 烧写升级包 (升级包通过在android源码中make updatepackage生成) &nbsp; == 1.2 Reboot == {| border="0" cellpadding="0" cellspacing="0" width="760" |- | style="width:608px;" | fastboot oem recovery&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 重启进recovery fastboot oem recovery:wipe_data&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 重启恢复出厂设置 fastboot reboot&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 重启 fastboot reboot-bootloader&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 重启进入rockusb烧写模式 fastboot continue&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 重启 |} &nbsp; === Lock and Unlock the Device === fastboot oem unlock&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 解锁 fastboot oem unlock_accept&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 确认解锁 (需要在fastboot oem unlock命令后,5秒内输入) fastboot oem lock&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 锁住设备 === 1.2.2 Special Command === fastboot boot <kernel> [ <ramdisk> ]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 临时从指定固件启动 (kernel目前支持Image/zImage,需要将dtb存于kernel末尾,或者resource分区中) fastboot oem log&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 获取串口log信息 fastboot oem ucmd <UBOOT cmds>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 运行UBOOT命令 == 1.3&nbsp;'''Fastboot Unlock''' == fastboot锁住状态下,不允许烧写及执行oem命令,初始状态为锁住。 解锁流程大致如下: 1、执行fastboot oem unlock 2、5秒内继续执行fastboot oem unlock_accept 3、机器会重启进入recovery恢复出厂设置 4、再次进入fastboot,则fastboot getvar unlocked应该返回"yes"(设备已解锁) &nbsp; 如果设备进入fastboot状态后,fastboot命令提示未发现设备,则需要在命令中加入-i参数指定设备vid,例如fastboot -i 0x2207 getvar unlocked 3d3c4608f16991e64fac20a78879f0b76175007f 407 406 2017-03-09T02:55:13Z Karen 3 wikitext text/x-wiki = Introduction = Fastboot is a protocol that can be used to re-flash partitions on your device (update the flash file system in your devices). It is this small tool that comes with the Android SDK (Software Developer Kit), which is an alternative to the Recovery Mode for doing installations and updates. It first comes with Android. Google have submit the fastboot code to mainline U-boot. So we can use this protocol to flash partition on your device. There are three way to enter fastboot mode = Fastboot command = Rockchip use 0x2207 as its USB vendor ID. This VID is not in Google's original fastboot code. So every fastboot command have to use "-i" parameter to specify vid to fastboot.<br/> To list all the Rockchip devices attached to your USB port in fastboot mode. <pre><code>$ sudo fastboot -i 0x2207 devices 0123456789AB fastboot</code> </pre> To flash loader <pre><code>$ sudo fastboot -i 0x2207 flash loader "path to your loader"</code> </pre> To flash Android boot image <pre><code>$ sudo fastboot -i 0x2207 flash boot_a "path to your boot image" 0123456789AB fastboot</code> </pre> To flash Android system image <pre><code>$ sudo fastboot -i 0x2207 flash system_a "path to your system image" 0123456789AB fastboot</code></pre> To Get Version: <pre>fastboot getvar version</pre> To Get Version: <pre>fastboot getvar version-bootloader </pre> To Get Unlocked: <pre>fastboot getvar unlocked </pre> To Get Locked: <pre>fastboot getvar secure</pre> To Get Product Information: <pre>fastboot getvar product</pre> To Get Serialno: <pre>fastboot getvar serialno</pre> To Get Partition Type: <pre>fastboot getvar partition-type:<partition_name> </pre> To Get Partition Size: <pre>fastboot getvar partition-size:<partition_name> </pre> To Get Partition Offset: <pre>fastboot getvar partition-offset:<partition_name></pre> &nbsp; &nbsp; === Download Image === fastboot flash <partition_name> <filename>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 烧写固件 (如:fastboot flash system system.img。 烧写parameter/loader时,需指定分区名为”parameter”/”loader”) fastboot update <filename> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 烧写升级包 (升级包通过在android源码中make updatepackage生成) &nbsp; == 1.2 Reboot == {| border="0" cellpadding="0" cellspacing="0" width="760" |- | style="width:608px;" | fastboot oem recovery&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 重启进recovery fastboot oem recovery:wipe_data&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 重启恢复出厂设置 fastboot reboot&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 重启 fastboot reboot-bootloader&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 重启进入rockusb烧写模式 fastboot continue&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 重启 |} &nbsp; === Lock and Unlock the Device === fastboot oem unlock&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 解锁 fastboot oem unlock_accept&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 确认解锁 (需要在fastboot oem unlock命令后,5秒内输入) fastboot oem lock&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 锁住设备 === 1.2.2 Special Command === fastboot boot <kernel> [ <ramdisk> ]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 临时从指定固件启动 (kernel目前支持Image/zImage,需要将dtb存于kernel末尾,或者resource分区中) fastboot oem log&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 获取串口log信息 fastboot oem ucmd <UBOOT cmds>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 运行UBOOT命令 == '''Fastboot Unlock''' == fastboot锁住状态下,不允许烧写及执行oem命令,初始状态为锁住。 解锁流程大致如下: 1、执行fastboot oem unlock 2、5秒内继续执行fastboot oem unlock_accept 3、机器会重启进入recovery恢复出厂设置 4、再次进入fastboot,则fastboot getvar unlocked应该返回"yes"(设备已解锁) &nbsp; 如果设备进入fastboot状态后,fastboot命令提示未发现设备,则需要在命令中加入-i参数指定设备vid,例如fastboot -i 0x2207 getvar unlocked 55b4e542890279affff5802ff0c80a70cc45bde7 408 407 2017-03-09T02:55:24Z Karen 3 wikitext text/x-wiki = Introduction = Fastboot is a protocol that can be used to re-flash partitions on your device (update the flash file system in your devices). It is this small tool that comes with the Android SDK (Software Developer Kit), which is an alternative to the Recovery Mode for doing installations and updates. It first comes with Android. Google have submit the fastboot code to mainline U-boot. So we can use this protocol to flash partition on your device. There are three way to enter fastboot mode = Fastboot command = Rockchip use 0x2207 as its USB vendor ID. This VID is not in Google's original fastboot code. So every fastboot command have to use "-i" parameter to specify vid to fastboot.<br/> To list all the Rockchip devices attached to your USB port in fastboot mode. <pre><code>$ sudo fastboot -i 0x2207 devices 0123456789AB fastboot</code> </pre> To flash loader <pre><code>$ sudo fastboot -i 0x2207 flash loader "path to your loader"</code> </pre> To flash Android boot image <pre><code>$ sudo fastboot -i 0x2207 flash boot_a "path to your boot image" 0123456789AB fastboot</code> </pre> To flash Android system image <pre><code>$ sudo fastboot -i 0x2207 flash system_a "path to your system image" 0123456789AB fastboot</code></pre> To Get Version: <pre>fastboot getvar version</pre> To Get Version: <pre>fastboot getvar version-bootloader </pre> To Get Unlocked: <pre>fastboot getvar unlocked </pre> To Get Locked: <pre>fastboot getvar secure</pre> To Get Product Information: <pre>fastboot getvar product</pre> To Get Serialno: <pre>fastboot getvar serialno</pre> To Get Partition Type: <pre>fastboot getvar partition-type:<partition_name> </pre> To Get Partition Size: <pre>fastboot getvar partition-size:<partition_name> </pre> To Get Partition Offset: <pre>fastboot getvar partition-offset:<partition_name></pre> &nbsp; &nbsp; === Download Image === fastboot flash <partition_name> <filename>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 烧写固件 (如:fastboot flash system system.img。 烧写parameter/loader时,需指定分区名为”parameter”/”loader”) fastboot update <filename> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 烧写升级包 (升级包通过在android源码中make updatepackage生成) &nbsp; == 1.2 Reboot == {| border="0" cellpadding="0" cellspacing="0" width="760" |- | style="width:608px;" | fastboot oem recovery&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 重启进recovery fastboot oem recovery:wipe_data&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 重启恢复出厂设置 fastboot reboot&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 重启 fastboot reboot-bootloader&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 重启进入rockusb烧写模式 fastboot continue&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 重启 |} &nbsp; === Lock and Unlock the Device === fastboot oem unlock&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 解锁 fastboot oem unlock_accept&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 确认解锁 (需要在fastboot oem unlock命令后,5秒内输入) fastboot oem lock&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 锁住设备 === 1.2.2 Special Command === fastboot boot <kernel> [ <ramdisk> ]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 临时从指定固件启动 (kernel目前支持Image/zImage,需要将dtb存于kernel末尾,或者resource分区中) fastboot oem log&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 获取串口log信息 fastboot oem ucmd <UBOOT cmds>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 运行UBOOT命令 == Fastboot Unlock == fastboot锁住状态下,不允许烧写及执行oem命令,初始状态为锁住。 解锁流程大致如下: 1、执行fastboot oem unlock 2、5秒内继续执行fastboot oem unlock_accept 3、机器会重启进入recovery恢复出厂设置 4、再次进入fastboot,则fastboot getvar unlocked应该返回"yes"(设备已解锁) &nbsp; 如果设备进入fastboot状态后,fastboot命令提示未发现设备,则需要在命令中加入-i参数指定设备vid,例如fastboot -i 0x2207 getvar unlocked 18695b46fc30277921c1aa1286d42f710bb8c51c 409 408 2017-03-09T02:55:42Z Karen 3 wikitext text/x-wiki = Introduction = Fastboot is a protocol that can be used to re-flash partitions on your device (update the flash file system in your devices). It is this small tool that comes with the Android SDK (Software Developer Kit), which is an alternative to the Recovery Mode for doing installations and updates. It first comes with Android. Google have submit the fastboot code to mainline U-boot. So we can use this protocol to flash partition on your device. There are three way to enter fastboot mode = Fastboot command = Rockchip use 0x2207 as its USB vendor ID. This VID is not in Google's original fastboot code. So every fastboot command have to use "-i" parameter to specify vid to fastboot.<br/> To list all the Rockchip devices attached to your USB port in fastboot mode. <pre><code>$ sudo fastboot -i 0x2207 devices 0123456789AB fastboot</code> </pre> To flash loader <pre><code>$ sudo fastboot -i 0x2207 flash loader "path to your loader"</code> </pre> To flash Android boot image <pre><code>$ sudo fastboot -i 0x2207 flash boot_a "path to your boot image" 0123456789AB fastboot</code> </pre> To flash Android system image <pre><code>$ sudo fastboot -i 0x2207 flash system_a "path to your system image" 0123456789AB fastboot</code></pre> To Get Version: <pre>fastboot getvar version</pre> To Get Version: <pre>fastboot getvar version-bootloader </pre> To Get Unlocked: <pre>fastboot getvar unlocked </pre> To Get Locked: <pre>fastboot getvar secure</pre> To Get Product Information: <pre>fastboot getvar product</pre> To Get Serialno: <pre>fastboot getvar serialno</pre> To Get Partition Type: <pre>fastboot getvar partition-type:<partition_name> </pre> To Get Partition Size: <pre>fastboot getvar partition-size:<partition_name> </pre> To Get Partition Offset: <pre>fastboot getvar partition-offset:<partition_name></pre> &nbsp; &nbsp; === Download Image === fastboot flash <partition_name> <filename>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 烧写固件 (如:fastboot flash system system.img。 烧写parameter/loader时,需指定分区名为”parameter”/”loader”) fastboot update <filename> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 烧写升级包 (升级包通过在android源码中make updatepackage生成) &nbsp; == Reboot == {| border="0" cellpadding="0" cellspacing="0" width="760" |- | style="width:608px;" | fastboot oem recovery&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 重启进recovery fastboot oem recovery:wipe_data&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 重启恢复出厂设置 fastboot reboot&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 重启 fastboot reboot-bootloader&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 重启进入rockusb烧写模式 fastboot continue&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 重启 |} &nbsp; &nbsp; === Lock and Unlock the Device === fastboot oem unlock&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 解锁 fastboot oem unlock_accept&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 确认解锁 (需要在fastboot oem unlock命令后,5秒内输入) fastboot oem lock&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 锁住设备 === Special Command === fastboot boot <kernel> [ <ramdisk> ]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 临时从指定固件启动 (kernel目前支持Image/zImage,需要将dtb存于kernel末尾,或者resource分区中) fastboot oem log&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 获取串口log信息 fastboot oem ucmd <UBOOT cmds>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 运行UBOOT命令 == Fastboot Unlock == fastboot锁住状态下,不允许烧写及执行oem命令,初始状态为锁住。 解锁流程大致如下: 1、执行fastboot oem unlock 2、5秒内继续执行fastboot oem unlock_accept 3、机器会重启进入recovery恢复出厂设置 4、再次进入fastboot,则fastboot getvar unlocked应该返回"yes"(设备已解锁) &nbsp; 如果设备进入fastboot状态后,fastboot命令提示未发现设备,则需要在命令中加入-i参数指定设备vid,例如fastboot -i 0x2207 getvar unlocked 53cff11648634f27a521fe9e0d1c0d7e44160f53 412 409 2017-03-09T03:14:26Z Karen 3 wikitext text/x-wiki = Introduction = Fastboot is a protocol that can be used to re-flash partitions on your device (update the flash file system in your devices). It is this small tool that comes with the Android SDK (Software Developer Kit), which is an alternative to the Recovery Mode for doing installations and updates. It first comes with Android. Google have submit the fastboot code to mainline U-boot. So we can use this protocol to flash partition on your device. There are three way to enter fastboot mode = Fastboot command = Rockchip use 0x2207 as its USB vendor ID. This VID is not in Google's original fastboot code. So every fastboot command have to use "-i" parameter to specify vid to fastboot.<br/> To list all the Rockchip devices attached to your USB port in fastboot mode. <pre><code>$ sudo fastboot -i 0x2207 devices 0123456789AB fastboot</code> </pre> To flash loader <pre><code>$ sudo fastboot -i 0x2207 flash loader "path to your loader"</code> </pre> To flash Android boot image <pre><code>$ sudo fastboot -i 0x2207 flash boot_a "path to your boot image" 0123456789AB fastboot</code> </pre> To flash Android system image <pre><code>$ sudo fastboot -i 0x2207 flash system_a "path to your system image" 0123456789AB fastboot</code></pre> To Get Version: <pre>fastboot getvar version</pre> To Get Version: <pre>fastboot getvar version-bootloader </pre> To Get Unlocked: <pre>fastboot getvar unlocked </pre> To Get Locked: <pre>fastboot getvar secure</pre> To Get Product Information: <pre>fastboot getvar product</pre> To Get Serialno: <pre>fastboot getvar serialno</pre> To Get Partition Type: <pre>fastboot getvar partition-type:<partition_name> </pre> To Get Partition Size: <pre>fastboot getvar partition-size:<partition_name> </pre> To Get Partition Offset: <pre>fastboot getvar partition-offset:<partition_name></pre> &nbsp; &nbsp; === Download Image === To Download Image <pre>fastboot flash <partition_name> <filename> </pre> (For example:fastboot flash system system.img When download the parameter or loader,需指定分区名为”parameter”/”loader”) &nbsp;To Update package <pre>fastboot update <filename> </pre> (升级包通过在android源码中make updatepackage生成) &nbsp; == Reboot == {| border="0" cellpadding="0" cellspacing="0" width="760" |- | style="width:608px;" | fastboot oem recovery&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 重启进recovery fastboot oem recovery:wipe_data&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 重启恢复出厂设置 fastboot reboot&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 重启 fastboot reboot-bootloader&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 重启进入rockusb烧写模式 fastboot continue&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 重启 |} &nbsp; &nbsp; === Lock and Unlock the Device === fastboot oem unlock&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 解锁 fastboot oem unlock_accept&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 确认解锁 (需要在fastboot oem unlock命令后,5秒内输入) fastboot oem lock&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 锁住设备 === Special Command === fastboot boot <kernel> [ <ramdisk> ]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 临时从指定固件启动 (kernel目前支持Image/zImage,需要将dtb存于kernel末尾,或者resource分区中) fastboot oem log&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 获取串口log信息 fastboot oem ucmd <UBOOT cmds>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 运行UBOOT命令 == Fastboot Unlock == fastboot锁住状态下,不允许烧写及执行oem命令,初始状态为锁住。 解锁流程大致如下: 1、执行fastboot oem unlock 2、5秒内继续执行fastboot oem unlock_accept 3、机器会重启进入recovery恢复出厂设置 4、再次进入fastboot,则fastboot getvar unlocked应该返回"yes"(设备已解锁) &nbsp; 如果设备进入fastboot状态后,fastboot命令提示未发现设备,则需要在命令中加入-i参数指定设备vid,例如fastboot -i 0x2207 getvar unlocked 3b04213e22d9bd142436d551237d9f7eb7ed27fc 413 412 2017-03-09T03:18:11Z Karen 3 wikitext text/x-wiki = Introduction = Fastboot is a protocol that can be used to re-flash partitions on your device (update the flash file system in your devices). It is this small tool that comes with the Android SDK (Software Developer Kit), which is an alternative to the Recovery Mode for doing installations and updates. It first comes with Android. Google have submit the fastboot code to mainline U-boot. So we can use this protocol to flash partition on your device. There are three way to enter fastboot mode = Fastboot command = Rockchip use 0x2207 as its USB vendor ID. This VID is not in Google's original fastboot code. So every fastboot command have to use "-i" parameter to specify vid to fastboot.<br/> To list all the Rockchip devices attached to your USB port in fastboot mode. <pre><code>$ sudo fastboot -i 0x2207 devices 0123456789AB fastboot</code> </pre> To flash loader <pre><code>$ sudo fastboot -i 0x2207 flash loader "path to your loader"</code> </pre> To flash Android boot image <pre><code>$ sudo fastboot -i 0x2207 flash boot_a "path to your boot image" 0123456789AB fastboot</code> </pre> To flash Android system image <pre><code>$ sudo fastboot -i 0x2207 flash system_a "path to your system image" 0123456789AB fastboot</code></pre> To Get Version: <pre>fastboot getvar version</pre> To Get Version: <pre>fastboot getvar version-bootloader </pre> To Get Unlocked: <pre>fastboot getvar unlocked </pre> To Get Locked: <pre>fastboot getvar secure</pre> To Get Product Information: <pre>fastboot getvar product</pre> To Get Serialno: <pre>fastboot getvar serialno</pre> To Get Partition Type: <pre>fastboot getvar partition-type:<partition_name> </pre> To Get Partition Size: <pre>fastboot getvar partition-size:<partition_name> </pre> To Get Partition Offset: <pre>fastboot getvar partition-offset:<partition_name></pre> &nbsp; &nbsp; === Download Image === To Download Image <pre>fastboot flash <partition_name> <filename> </pre> (For example:fastboot flash system system.img When download the parameter or loader,需指定分区名为”parameter”/”loader”) &nbsp;To Update Firmware <pre>fastboot update <filename> </pre> (The firmware package was generated from &nbsp;android source code which is “make updatepackage”) (升级包通过在android源码中make updatepackage生成) &nbsp; == Reboot == {| border="0" cellpadding="0" cellspacing="0" width="760" |- | style="width:608px;" | fastboot oem recovery&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 重启进recovery fastboot oem recovery:wipe_data&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 重启恢复出厂设置 fastboot reboot&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 重启 fastboot reboot-bootloader&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 重启进入rockusb烧写模式 fastboot continue&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 重启 |} &nbsp; &nbsp; === Lock and Unlock the Device === fastboot oem unlock&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 解锁 fastboot oem unlock_accept&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 确认解锁 (需要在fastboot oem unlock命令后,5秒内输入) fastboot oem lock&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 锁住设备 === Special Command === fastboot boot <kernel> [ <ramdisk> ]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 临时从指定固件启动 (kernel目前支持Image/zImage,需要将dtb存于kernel末尾,或者resource分区中) fastboot oem log&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 获取串口log信息 fastboot oem ucmd <UBOOT cmds>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 运行UBOOT命令 == Fastboot Unlock == fastboot锁住状态下,不允许烧写及执行oem命令,初始状态为锁住。 解锁流程大致如下: 1、执行fastboot oem unlock 2、5秒内继续执行fastboot oem unlock_accept 3、机器会重启进入recovery恢复出厂设置 4、再次进入fastboot,则fastboot getvar unlocked应该返回"yes"(设备已解锁) &nbsp; 如果设备进入fastboot状态后,fastboot命令提示未发现设备,则需要在命令中加入-i参数指定设备vid,例如fastboot -i 0x2207 getvar unlocked e8ce107b0aa9ac63e01290d6d8b820a0d082b893 418 413 2017-03-09T03:25:39Z Karen 3 wikitext text/x-wiki = Introduction = Fastboot is a protocol that can be used to re-flash partitions on your device (update the flash file system in your devices). It is this small tool that comes with the Android SDK (Software Developer Kit), which is an alternative to the Recovery Mode for doing installations and updates. It first comes with Android. Google have submit the fastboot code to mainline U-boot. So we can use this protocol to flash partition on your device. There are three way to enter fastboot mode = Fastboot command = Rockchip use 0x2207 as its USB vendor ID. This VID is not in Google's original fastboot code. So every fastboot command have to use "-i" parameter to specify vid to fastboot.<br/> To list all the Rockchip devices attached to your USB port in fastboot mode. <pre><code>$ sudo fastboot -i 0x2207 devices 0123456789AB fastboot</code> </pre> To flash loader <pre><code>$ sudo fastboot -i 0x2207 flash loader "path to your loader"</code> </pre> To flash Android boot image <pre><code>$ sudo fastboot -i 0x2207 flash boot_a "path to your boot image" 0123456789AB fastboot</code> </pre> To flash Android system image <pre><code>$ sudo fastboot -i 0x2207 flash system_a "path to your system image" 0123456789AB fastboot</code></pre> To Get Version: <pre>fastboot getvar version</pre> To Get Version: <pre>fastboot getvar version-bootloader </pre> To Get Unlocked: <pre>fastboot getvar unlocked </pre> To Get Locked: <pre>fastboot getvar secure</pre> To Get Product Information: <pre>fastboot getvar product</pre> To Get Serialno: <pre>fastboot getvar serialno</pre> To Get Partition Type: <pre>fastboot getvar partition-type:<partition_name> </pre> To Get Partition Size: <pre>fastboot getvar partition-size:<partition_name> </pre> To Get Partition Offset: <pre>fastboot getvar partition-offset:<partition_name></pre> &nbsp; &nbsp; === Download Image === To Download Image <pre>fastboot flash <partition_name> <filename> </pre> (For example:fastboot flash system system.img When download the parameter or loader,需指定分区名为”parameter”/”loader”) &nbsp;To Update Firmware <pre>fastboot update <filename> </pre> (The firmware package was generated from &nbsp;android source code which is “make updatepackage”) (升级包通过在android源码中make updatepackage生成) &nbsp; == Reboot == 重启进recovery <pre>fastboot oem recovery </pre> 重启恢复出厂设置 <pre>fastboot oem recovery:wipe_data</pre> Reboot <pre>fastboot reboot</pre> 重启进入rockusb烧写模式 <pre>fastboot reboot-bootloader</pre> <pre>fastboot continue </pre> &nbsp; === Lock and Unlock the Device === fastboot oem unlock&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 解锁 fastboot oem unlock_accept&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 确认解锁 (需要在fastboot oem unlock命令后,5秒内输入) fastboot oem lock&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 锁住设备 === Special Command === fastboot boot <kernel> [ <ramdisk> ]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 临时从指定固件启动 (kernel目前支持Image/zImage,需要将dtb存于kernel末尾,或者resource分区中) fastboot oem log&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 获取串口log信息 fastboot oem ucmd <UBOOT cmds>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 运行UBOOT命令 </pre> == Fastboot Unlock == fastboot锁住状态下,不允许烧写及执行oem命令,初始状态为锁住。 解锁流程大致如下: 1、执行fastboot oem unlock 2、5秒内继续执行fastboot oem unlock_accept 3、机器会重启进入recovery恢复出厂设置 4、再次进入fastboot,则fastboot getvar unlocked应该返回"yes"(设备已解锁) &nbsp; 如果设备进入fastboot状态后,fastboot命令提示未发现设备,则需要在命令中加入-i参数指定设备vid,例如fastboot -i 0x2207 getvar unlocked 5b2c083f6a08f47932e1a001a3b492c6ebd1bdf8 422 418 2017-03-09T03:42:14Z Karen 3 wikitext text/x-wiki = Introduction = Fastboot is a protocol that can be used to re-flash partitions on your device (update the flash file system in your devices). It is this small tool that comes with the Android SDK (Software Developer Kit), which is an alternative to the Recovery Mode for doing installations and updates. It first comes with Android. Google have submit the fastboot code to mainline U-boot. So we can use this protocol to flash partition on your device. There are three way to enter fastboot mode = Fastboot command = Rockchip use 0x2207 as its USB vendor ID. This VID is not in Google's original fastboot code. So every fastboot command have to use "-i" parameter to specify vid to fastboot.<br/> To list all the Rockchip devices attached to your USB port in fastboot mode. <pre><code>$ sudo fastboot -i 0x2207 devices 0123456789AB fastboot</code> </pre> To flash loader <pre><code>$ sudo fastboot -i 0x2207 flash loader "path to your loader"</code> </pre> To flash Android boot image <pre><code>$ sudo fastboot -i 0x2207 flash boot_a "path to your boot image" 0123456789AB fastboot</code> </pre> To flash Android system image <pre><code>$ sudo fastboot -i 0x2207 flash system_a "path to your system image" 0123456789AB fastboot</code></pre> To Get Version: <pre>fastboot getvar version</pre> To Get Version: <pre>fastboot getvar version-bootloader </pre> To Get Unlocked: <pre>fastboot getvar unlocked </pre> To Get Locked: <pre>fastboot getvar secure</pre> To Get Product Information: <pre>fastboot getvar product</pre> To Get Serialno: <pre>fastboot getvar serialno</pre> To Get Partition Type: <pre>fastboot getvar partition-type:<partition_name> </pre> To Get Partition Size: <pre>fastboot getvar partition-size:<partition_name> </pre> To Get Partition Offset: <pre>fastboot getvar partition-offset:<partition_name></pre> &nbsp; &nbsp; === Download Image === To Flash&nbsp;Image <pre>fastboot flash <partition_name> <filename> </pre> (For example:fastboot flash system system.img When download the parameter or loader,you need assign the partition name as "parameter" or "loader") &nbsp;To Update Firmware <pre>fastboot update <filename> </pre> (The firmware package was generated from &nbsp;android source code which is “make updatepackage”) &nbsp; == Reboot == 重启进recovery <pre>fastboot oem recovery </pre> 重启恢复出厂设置 <pre>fastboot oem recovery:wipe_data</pre> Reboot <pre>fastboot reboot</pre> 重启进入rockusb烧写模式 <pre>fastboot reboot-bootloader</pre> <pre>fastboot continue </pre> &nbsp; === Lock and Unlock the Device === fastboot oem unlock&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 解锁 fastboot oem unlock_accept&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 确认解锁 (需要在fastboot oem unlock命令后,5秒内输入) fastboot oem lock&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 锁住设备 === Special Command === fastboot boot <kernel> [ <ramdisk> ]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 临时从指定固件启动 (kernel目前支持Image/zImage,需要将dtb存于kernel末尾,或者resource分区中) fastboot oem log&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 获取串口log信息 fastboot oem ucmd <UBOOT cmds>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 运行UBOOT命令 </pre> == Fastboot Unlock == fastboot锁住状态下,不允许烧写及执行oem命令,初始状态为锁住。 解锁流程大致如下: 1、执行fastboot oem unlock 2、5秒内继续执行fastboot oem unlock_accept 3、机器会重启进入recovery恢复出厂设置 4、再次进入fastboot,则fastboot getvar unlocked应该返回"yes"(设备已解锁) &nbsp; 如果设备进入fastboot状态后,fastboot命令提示未发现设备,则需要在命令中加入-i参数指定设备vid,例如fastboot -i 0x2207 getvar unlocked fffbc1bf0aca9b1bddc78b1a2a93f23eda742347 423 422 2017-03-09T03:42:40Z Karen 3 wikitext text/x-wiki = Introduction = Fastboot is a protocol that can be used to re-flash partitions on your device (update the flash file system in your devices). It is this small tool that comes with the Android SDK (Software Developer Kit), which is an alternative to the Recovery Mode for doing installations and updates. It first comes with Android. Google have submit the fastboot code to mainline U-boot. So we can use this protocol to flash partition on your device. There are three way to enter fastboot mode = Fastboot command = Rockchip use 0x2207 as its USB vendor ID. This VID is not in Google's original fastboot code. So every fastboot command have to use "-i" parameter to specify vid to fastboot.<br/> To list all the Rockchip devices attached to your USB port in fastboot mode. <pre><code>$ sudo fastboot -i 0x2207 devices 0123456789AB fastboot</code> </pre> To flash loader <pre><code>$ sudo fastboot -i 0x2207 flash loader "path to your loader"</code> </pre> To flash Android boot image <pre><code>$ sudo fastboot -i 0x2207 flash boot_a "path to your boot image" 0123456789AB fastboot</code> </pre> To flash Android system image <pre><code>$ sudo fastboot -i 0x2207 flash system_a "path to your system image" 0123456789AB fastboot</code></pre> To Get Version: <pre>fastboot getvar version</pre> To Get Version: <pre>fastboot getvar version-bootloader </pre> To Get Unlocked: <pre>fastboot getvar unlocked </pre> To Get Locked: <pre>fastboot getvar secure</pre> To Get Product Information: <pre>fastboot getvar product</pre> To Get Serialno: <pre>fastboot getvar serialno</pre> To Get Partition Type: <pre>fastboot getvar partition-type:<partition_name> </pre> To Get Partition Size: <pre>fastboot getvar partition-size:<partition_name> </pre> To Get Partition Offset: <pre>fastboot getvar partition-offset:<partition_name> </pre> === Download Image === To Flash&nbsp;Image <pre>fastboot flash <partition_name> <filename> </pre> (For example:fastboot flash system system.img When download the parameter or loader,you need assign the partition name as "parameter" or "loader") &nbsp;To Update Firmware <pre>fastboot update <filename> </pre> (The firmware package was generated from &nbsp;android source code which is “make updatepackage”) &nbsp; == Reboot == 重启进recovery <pre>fastboot oem recovery </pre> 重启恢复出厂设置 <pre>fastboot oem recovery:wipe_data</pre> Reboot <pre>fastboot reboot</pre> 重启进入rockusb烧写模式 <pre>fastboot reboot-bootloader</pre> <pre>fastboot continue </pre> &nbsp; === Lock and Unlock the Device === fastboot oem unlock&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 解锁 fastboot oem unlock_accept&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 确认解锁 (需要在fastboot oem unlock命令后,5秒内输入) fastboot oem lock&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 锁住设备 === Special Command === fastboot boot <kernel> [ <ramdisk> ]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 临时从指定固件启动 (kernel目前支持Image/zImage,需要将dtb存于kernel末尾,或者resource分区中) fastboot oem log&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 获取串口log信息 fastboot oem ucmd <UBOOT cmds>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 运行UBOOT命令 </pre> == Fastboot Unlock == fastboot锁住状态下,不允许烧写及执行oem命令,初始状态为锁住。 解锁流程大致如下: 1、执行fastboot oem unlock 2、5秒内继续执行fastboot oem unlock_accept 3、机器会重启进入recovery恢复出厂设置 4、再次进入fastboot,则fastboot getvar unlocked应该返回"yes"(设备已解锁) &nbsp; 如果设备进入fastboot状态后,fastboot命令提示未发现设备,则需要在命令中加入-i参数指定设备vid,例如fastboot -i 0x2207 getvar unlocked a9193a6f8a9eb4bbd6924340101438b3e6c2bf77 424 423 2017-03-09T03:44:20Z Karen 3 wikitext text/x-wiki = Introduction = Fastboot is a protocol that can be used to re-flash partitions on your device (update the flash file system in your devices). It is this small tool that comes with the Android SDK (Software Developer Kit), which is an alternative to the Recovery Mode for doing installations and updates. It first comes with Android. Google have submit the fastboot code to mainline U-boot. So we can use this protocol to flash partition on your device. There are three way to enter fastboot mode = Fastboot command = Rockchip use 0x2207 as its USB vendor ID. This VID is not in Google's original fastboot code. So every fastboot command have to use "-i" parameter to specify vid to fastboot.<br/> To list all the Rockchip devices attached to your USB port in fastboot mode. <pre><code>$ sudo fastboot -i 0x2207 devices 0123456789AB fastboot</code> </pre> To flash loader <pre><code>$ sudo fastboot -i 0x2207 flash loader "path to your loader"</code> </pre> To flash Android boot image <pre><code>$ sudo fastboot -i 0x2207 flash boot_a "path to your boot image" 0123456789AB fastboot</code> </pre> To flash Android system image <pre><code>$ sudo fastboot -i 0x2207 flash system_a "path to your system image" 0123456789AB fastboot</code></pre> To Get Version: <pre>fastboot getvar version</pre> To Get Version: <pre>fastboot getvar version-bootloader </pre> To Get Unlocked: <pre>fastboot getvar unlocked </pre> To Get Locked: <pre>fastboot getvar secure</pre> To Get Product Information: <pre>fastboot getvar product</pre> To Get Serialno: <pre>fastboot getvar serialno</pre> To Get Partition Type: <pre>fastboot getvar partition-type:<partition_name> </pre> To Get Partition Size: <pre>fastboot getvar partition-size:<partition_name> </pre> To Get Partition Offset: <pre>fastboot getvar partition-offset:<partition_name> </pre> === Download Image === To Flash&nbsp;Image <pre>fastboot flash <partition_name> <filename> </pre> &nbsp;(For example:fastboot flash system system.img) When download the parameter or loader,you need assign the partition name as "parameter" or "loader" To Update Firmware <pre>fastboot update <filename> </pre> (The firmware package was generated from &nbsp;android source code which is “make updatepackage”) &nbsp; == Reboot == 重启进recovery <pre>fastboot oem recovery </pre> 重启恢复出厂设置 <pre>fastboot oem recovery:wipe_data</pre> Reboot <pre>fastboot reboot</pre> 重启进入rockusb烧写模式 <pre>fastboot reboot-bootloader</pre> <pre>fastboot continue </pre> &nbsp; === Lock and Unlock the Device === fastboot oem unlock&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 解锁 fastboot oem unlock_accept&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 确认解锁 (需要在fastboot oem unlock命令后,5秒内输入) fastboot oem lock&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 锁住设备 === Special Command === fastboot boot <kernel> [ <ramdisk> ]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 临时从指定固件启动 (kernel目前支持Image/zImage,需要将dtb存于kernel末尾,或者resource分区中) fastboot oem log&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 获取串口log信息 fastboot oem ucmd <UBOOT cmds>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 运行UBOOT命令 </pre> == Fastboot Unlock == fastboot锁住状态下,不允许烧写及执行oem命令,初始状态为锁住。 解锁流程大致如下: 1、执行fastboot oem unlock 2、5秒内继续执行fastboot oem unlock_accept 3、机器会重启进入recovery恢复出厂设置 4、再次进入fastboot,则fastboot getvar unlocked应该返回"yes"(设备已解锁) &nbsp; 如果设备进入fastboot状态后,fastboot命令提示未发现设备,则需要在命令中加入-i参数指定设备vid,例如fastboot -i 0x2207 getvar unlocked 36d42d67845ed34ed834b337e8785625591ab366 425 424 2017-03-09T03:48:18Z Karen 3 wikitext text/x-wiki = Introduction = Fastboot is a protocol that can be used to re-flash partitions on your device (update the flash file system in your devices). It is this small tool that comes with the Android SDK (Software Developer Kit), which is an alternative to the Recovery Mode for doing installations and updates. It first comes with Android. Google have submit the fastboot code to mainline U-boot. So we can use this protocol to flash partition on your device. There are three way to enter fastboot mode = Fastboot command = Rockchip use 0x2207 as its USB vendor ID. This VID is not in Google's original fastboot code. So every fastboot command have to use "-i" parameter to specify vid to fastboot.<br/> To list all the Rockchip devices attached to your USB port in fastboot mode. <pre><code>$ sudo fastboot -i 0x2207 devices 0123456789AB fastboot</code> </pre> To flash loader <pre><code>$ sudo fastboot -i 0x2207 flash loader "path to your loader"</code> </pre> To flash Android boot image <pre><code>$ sudo fastboot -i 0x2207 flash boot_a "path to your boot image" 0123456789AB fastboot</code> </pre> To flash Android system image <pre><code>$ sudo fastboot -i 0x2207 flash system_a "path to your system image" 0123456789AB fastboot</code></pre> To Get Version: <pre>fastboot getvar version</pre> To Get Version: <pre>fastboot getvar version-bootloader </pre> To Get Unlocked: <pre>fastboot getvar unlocked </pre> To Get Locked: <pre>fastboot getvar secure</pre> To Get Product Information: <pre>fastboot getvar product</pre> To Get Serialno: <pre>fastboot getvar serialno</pre> To Get Partition Type: <pre>fastboot getvar partition-type:<partition_name> </pre> To Get Partition Size: <pre>fastboot getvar partition-size:<partition_name> </pre> To Get Partition Offset: <pre>fastboot getvar partition-offset:<partition_name> </pre> === Download Image === To Flash&nbsp;Image <pre>fastboot flash <partition_name> <filename> </pre> &nbsp;(For example:fastboot flash system system.img) When download the parameter or loader,you need assign the partition name as "parameter" or "loader" To Update Firmware <pre>fastboot update <filename> </pre> (The firmware package was generated from &nbsp;android source code which is “make updatepackage”) &nbsp; == Reboot == 重启进recovery <pre>fastboot oem recovery </pre> 重启恢复出厂设置 <pre>fastboot oem recovery:wipe_data</pre> Reboot <pre>fastboot reboot</pre> 重启进入rockusb烧写模式 <pre>fastboot reboot-bootloader</pre> <pre>fastboot continue </pre> &nbsp; === Lock and Unlock the Device === To unlock <pre>fastboot oem unlock</pre> To &nbsp;确认解锁(需要在fastboot oem unlock命令后,5秒内输入) <pre>fastboot oem unlock_accep</pre> 锁住设备 <pre>fastboot oem lock </pre> === Special Command === fastboot boot <kernel> [ <ramdisk> ]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 临时从指定固件启动 (kernel目前支持Image/zImage,需要将dtb存于kernel末尾,或者resource分区中) fastboot oem log&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 获取串口log信息 fastboot oem ucmd <UBOOT cmds>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 运行UBOOT命令 </pre> == Fastboot Unlock == fastboot锁住状态下,不允许烧写及执行oem命令,初始状态为锁住。 解锁流程大致如下: 1、执行fastboot oem unlock 2、5秒内继续执行fastboot oem unlock_accept 3、机器会重启进入recovery恢复出厂设置 4、再次进入fastboot,则fastboot getvar unlocked应该返回"yes"(设备已解锁) &nbsp; 如果设备进入fastboot状态后,fastboot命令提示未发现设备,则需要在命令中加入-i参数指定设备vid,例如fastboot -i 0x2207 getvar unlocked 8c272ba748a73beee0478d7f5759bafd6cffaff6 426 425 2017-03-09T03:48:39Z Karen 3 wikitext text/x-wiki = Introduction = Fastboot is a protocol that can be used to re-flash partitions on your device (update the flash file system in your devices). It is this small tool that comes with the Android SDK (Software Developer Kit), which is an alternative to the Recovery Mode for doing installations and updates. It first comes with Android. Google have submit the fastboot code to mainline U-boot. So we can use this protocol to flash partition on your device. There are three way to enter fastboot mode = Fastboot command = Rockchip use 0x2207 as its USB vendor ID. This VID is not in Google's original fastboot code. So every fastboot command have to use "-i" parameter to specify vid to fastboot.<br/> To list all the Rockchip devices attached to your USB port in fastboot mode. <pre><code>$ sudo fastboot -i 0x2207 devices 0123456789AB fastboot</code> </pre> To flash loader <pre><code>$ sudo fastboot -i 0x2207 flash loader "path to your loader"</code> </pre> To flash Android boot image <pre><code>$ sudo fastboot -i 0x2207 flash boot_a "path to your boot image" 0123456789AB fastboot</code> </pre> To flash Android system image <pre><code>$ sudo fastboot -i 0x2207 flash system_a "path to your system image" 0123456789AB fastboot</code></pre> To Get Version: <pre>fastboot getvar version</pre> To Get Version: <pre>fastboot getvar version-bootloader </pre> To Get Unlocked: <pre>fastboot getvar unlocked </pre> To Get Locked: <pre>fastboot getvar secure</pre> To Get Product Information: <pre>fastboot getvar product</pre> To Get Serialno: <pre>fastboot getvar serialno</pre> To Get Partition Type: <pre>fastboot getvar partition-type:<partition_name> </pre> To Get Partition Size: <pre>fastboot getvar partition-size:<partition_name> </pre> To Get Partition Offset: <pre>fastboot getvar partition-offset:<partition_name> </pre> === Download Image === To Flash&nbsp;Image <pre>fastboot flash <partition_name> <filename> </pre> &nbsp;(For example:fastboot flash system system.img) When download the parameter or loader,you need assign the partition name as "parameter" or "loader" To Update Firmware <pre>fastboot update <filename> </pre> (The firmware package was generated from &nbsp;android source code which is “make updatepackage”) &nbsp; == Reboot == 重启进recovery <pre>fastboot oem recovery </pre> 重启恢复出厂设置 <pre>fastboot oem recovery:wipe_data</pre> Reboot <pre>fastboot reboot</pre> 重启进入rockusb烧写模式 <pre>fastboot reboot-bootloader</pre> <pre>fastboot continue </pre> === Lock and Unlock the Device === To unlock <pre>fastboot oem unlock</pre> To &nbsp;确认解锁(需要在fastboot oem unlock命令后,5秒内输入) <pre>fastboot oem unlock_accep</pre> 锁住设备 <pre>fastboot oem lock </pre> === Special Command === fastboot boot <kernel> [ <ramdisk> ]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 临时从指定固件启动 (kernel目前支持Image/zImage,需要将dtb存于kernel末尾,或者resource分区中) fastboot oem log&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 获取串口log信息 fastboot oem ucmd <UBOOT cmds>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 运行UBOOT命令 </pre> == Fastboot Unlock == fastboot锁住状态下,不允许烧写及执行oem命令,初始状态为锁住。 解锁流程大致如下: 1、执行fastboot oem unlock 2、5秒内继续执行fastboot oem unlock_accept 3、机器会重启进入recovery恢复出厂设置 4、再次进入fastboot,则fastboot getvar unlocked应该返回"yes"(设备已解锁) &nbsp; 如果设备进入fastboot状态后,fastboot命令提示未发现设备,则需要在命令中加入-i参数指定设备vid,例如fastboot -i 0x2207 getvar unlocked 2e510c2abddc443ba4698cf7a730bca27ba160ad 427 426 2017-03-09T03:52:16Z Karen 3 wikitext text/x-wiki = Introduction = Fastboot is a protocol that can be used to re-flash partitions on your device (update the flash file system in your devices). It is this small tool that comes with the Android SDK (Software Developer Kit), which is an alternative to the Recovery Mode for doing installations and updates. It first comes with Android. Google have submit the fastboot code to mainline U-boot. So we can use this protocol to flash partition on your device. There are three way to enter fastboot mode = Fastboot command = Rockchip use 0x2207 as its USB vendor ID. This VID is not in Google's original fastboot code. So every fastboot command have to use "-i" parameter to specify vid to fastboot.<br/> To list all the Rockchip devices attached to your USB port in fastboot mode. <pre><code>$ sudo fastboot -i 0x2207 devices 0123456789AB fastboot</code> </pre> To flash loader <pre><code>$ sudo fastboot -i 0x2207 flash loader "path to your loader"</code> </pre> To flash Android boot image <pre><code>$ sudo fastboot -i 0x2207 flash boot_a "path to your boot image" 0123456789AB fastboot</code> </pre> To flash Android system image <pre><code>$ sudo fastboot -i 0x2207 flash system_a "path to your system image" 0123456789AB fastboot</code></pre> To Get Version: <pre>fastboot getvar version</pre> To Get Version: <pre>fastboot getvar version-bootloader </pre> To Get Unlocked: <pre>fastboot getvar unlocked </pre> To Get Locked: <pre>fastboot getvar secure</pre> To Get Product Information: <pre>fastboot getvar product</pre> To Get Serialno: <pre>fastboot getvar serialno</pre> To Get Partition Type: <pre>fastboot getvar partition-type:<partition_name> </pre> To Get Partition Size: <pre>fastboot getvar partition-size:<partition_name> </pre> To Get Partition Offset: <pre>fastboot getvar partition-offset:<partition_name> </pre> === Download Image === To Flash&nbsp;Image <pre>fastboot flash <partition_name> <filename> </pre> &nbsp;(For example:fastboot flash system system.img) When download the parameter or loader,you need assign the partition name as "parameter" or "loader" To Update Firmware <pre>fastboot update <filename> </pre> (The firmware package was generated from &nbsp;android source code which is “make updatepackage”) == Reboot == 重启进recovery <pre>fastboot oem recovery </pre> 重启恢复出厂设置 <pre>fastboot oem recovery:wipe_data</pre> Reboot <pre>fastboot reboot</pre> 重启进入rockusb烧写模式 <pre>fastboot reboot-bootloader</pre> <pre>fastboot continue </pre> === Lock and Unlock the Device === To unlock <pre>fastboot oem unlock</pre> To &nbsp;确认解锁(需要在fastboot oem unlock命令后,5秒内输入) <pre>fastboot oem unlock_accep</pre> 锁住设备 <pre>fastboot oem lock </pre> === Special Command === fastboot boot <kernel> [ <ramdisk> ]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 临时从指定固件启动 (kernel目前支持Image/zImage,需要将dtb存于kernel末尾,或者resource分区中) fastboot oem log&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 获取串口log信息 fastboot oem ucmd <UBOOT cmds>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 运行UBOOT命令 </pre> == Fastboot Unlock == fastboot锁住状态下,不允许烧写及执行oem命令,初始状态为锁住。 解锁流程大致如下: 1、执行fastboot oem unlock 2、5秒内继续执行fastboot oem unlock_accept 3、机器会重启进入recovery恢复出厂设置 4、再次进入fastboot,则fastboot getvar unlocked应该返回"yes"(设备已解锁) &nbsp; 如果设备进入fastboot状态后,fastboot命令提示未发现设备,则需要在命令中加入-i参数指定设备vid,例如fastboot -i 0x2207 getvar unlocked a4952c278cc6a650e88bf6c4872b6538c7898189 428 427 2017-03-09T03:54:19Z Karen 3 wikitext text/x-wiki = Introduction = Fastboot is a protocol that can be used to re-flash partitions on your device (update the flash file system in your devices). It is this small tool that comes with the Android SDK (Software Developer Kit), which is an alternative to the Recovery Mode for doing installations and updates. It first comes with Android. Google have submit the fastboot code to mainline U-boot. So we can use this protocol to flash partition on your device. There are three way to enter fastboot mode = Fastboot command = Rockchip use 0x2207 as its USB vendor ID. This VID is not in Google's original fastboot code. So every fastboot command have to use "-i" parameter to specify vid to fastboot.<br/> To list all the Rockchip devices attached to your USB port in fastboot mode. <pre><code>$ sudo fastboot -i 0x2207 devices 0123456789AB fastboot</code> </pre> To flash loader <pre><code>$ sudo fastboot -i 0x2207 flash loader "path to your loader"</code> </pre> To flash Android boot image <pre><code>$ sudo fastboot -i 0x2207 flash boot_a "path to your boot image" 0123456789AB fastboot</code> </pre> To flash Android system image <pre><code>$ sudo fastboot -i 0x2207 flash system_a "path to your system image" 0123456789AB fastboot</code></pre> To Get Version: <pre>fastboot getvar version</pre> To Get Version: <pre>fastboot getvar version-bootloader </pre> To Get Unlocked: <pre>fastboot getvar unlocked </pre> To Get Locked: <pre>fastboot getvar secure</pre> To Get Product Information: <pre>fastboot getvar product</pre> To Get Serialno: <pre>fastboot getvar serialno</pre> To Get Partition Type: <pre>fastboot getvar partition-type:<partition_name> </pre> To Get Partition Size: <pre>fastboot getvar partition-size:<partition_name> </pre> To Get Partition Offset: <pre>fastboot getvar partition-offset:<partition_name> </pre> &nbsp; === Download Image === To Flash&nbsp;Image <pre>fastboot flash <partition_name> <filename> </pre> &nbsp;(For example:fastboot flash system system.img) When download the parameter or loader,you need assign the partition name as "parameter" or "loader" To Update Firmware <pre>fastboot update <filename> </pre> (The firmware package was generated from &nbsp;android source code which is “make updatepackage”) == Reboot == 重启进recovery <pre>fastboot oem recovery </pre> 重启恢复出厂设置 <pre>fastboot oem recovery:wipe_data</pre> Reboot <pre>fastboot reboot</pre> 重启进入rockusb烧写模式 <pre>fastboot reboot-bootloader</pre> <pre>fastboot continue </pre> === Lock and Unlock the Device === To unlock <pre>fastboot oem unlock</pre> To &nbsp;确认解锁(需要在fastboot oem unlock命令后,5秒内输入) <pre>fastboot oem unlock_accep</pre> 锁住设备 <pre>fastboot oem lock </pre> === Special Command === <pre>fastboot boot <kernel> [ <ramdisk> ]</pre> 临时从指定固件启动 (kernel目前支持Image/zImage,需要将dtb存于kernel末尾,或者resource分区中) <pre>fastboot oem log</pre> 获取串口log信息 <pre>fastboot oem ucmd <UBOOT cmds></pre> 运行UBOOT命令 == Fastboot Unlock == fastboot锁住状态下,不允许烧写及执行oem命令,初始状态为锁住。 解锁流程大致如下: 1、执行fastboot oem unlock 2、5秒内继续执行fastboot oem unlock_accept 3、机器会重启进入recovery恢复出厂设置 4、再次进入fastboot,则fastboot getvar unlocked应该返回"yes"(设备已解锁) &nbsp; 如果设备进入fastboot状态后,fastboot命令提示未发现设备,则需要在命令中加入-i参数指定设备vid,例如fastboot -i 0x2207 getvar unlocked 398961a26b7a9897ad6472bebf578cafda0e1522 429 428 2017-03-09T06:06:08Z Karen 3 wikitext text/x-wiki = Introduction = Fastboot is a protocol that can be used to re-flash partitions on your device (update the flash file system in your devices). It is this small tool that comes with the Android SDK (Software Developer Kit), which is an alternative to the Recovery Mode for doing installations and updates. It first comes with Android. Google have submit the fastboot code to mainline U-boot. So we can use this protocol to flash partition on your device. There are three way to enter fastboot mode = Fastboot command = Rockchip use 0x2207 as its USB vendor ID. This VID is not in Google's original fastboot code. So every fastboot command have to use "-i" parameter to specify vid to fastboot.<br/> To list all the Rockchip devices attached to your USB port in fastboot mode. <pre><code>$ sudo fastboot -i 0x2207 devices 0123456789AB fastboot</code> </pre> To flash loader <pre><code>$ sudo fastboot -i 0x2207 flash loader "path to your loader"</code> </pre> To flash Android boot image <pre><code>$ sudo fastboot -i 0x2207 flash boot_a "path to your boot image" 0123456789AB fastboot</code> </pre> To flash Android system image <pre><code>$ sudo fastboot -i 0x2207 flash system_a "path to your system image" 0123456789AB fastboot</code></pre> To Get Version: <pre>fastboot getvar version</pre> To Get Version: <pre>fastboot getvar version-bootloader </pre> To Get Unlocked: <pre>fastboot getvar unlocked </pre> To Get Locked: <pre>fastboot getvar secure</pre> To Get Product Information: <pre>fastboot getvar product</pre> To Get Serialno: <pre>fastboot getvar serialno</pre> To Get Partition Type: <pre>fastboot getvar partition-type:<partition_name> </pre> To Get Partition Size: <pre>fastboot getvar partition-size:<partition_name> </pre> To Get Partition Offset: <pre>fastboot getvar partition-offset:<partition_name> </pre> &nbsp; === Download the Image === To Flash&nbsp;Image <pre>fastboot flash <partition_name> <filename> </pre> &nbsp;(For example:fastboot flash system system.img) When download the parameter or loader,you need assign the partition name as "parameter" or "loader" To Update Firmware <pre>fastboot update <filename> </pre> (The firmware package was generated from &nbsp;android source code which is “make updatepackage”) == Reboot == 重启进recovery <pre>fastboot oem recovery </pre> 重启恢复出厂设置 <pre>fastboot oem recovery:wipe_data</pre> Reboot <pre>fastboot reboot</pre> 重启进入rockusb烧写模式 <pre>fastboot reboot-bootloader</pre> <pre>fastboot continue </pre> === Lock and Unlock the Device === To unlock <pre>fastboot oem unlock</pre> To &nbsp;确认解锁(需要在fastboot oem unlock命令后,5秒内输入) <pre>fastboot oem unlock_accep</pre> 锁住设备 <pre>fastboot oem lock </pre> === Special Command === <pre>fastboot boot <kernel> [ <ramdisk> ]</pre> 临时从指定固件启动 (kernel目前支持Image/zImage,需要将dtb存于kernel末尾,或者resource分区中) <pre>fastboot oem log</pre> 获取串口log信息 <pre>fastboot oem ucmd <UBOOT cmds></pre> 运行UBOOT命令 == Fastboot Unlock == fastboot锁住状态下,不允许烧写及执行oem命令,初始状态为锁住。 解锁流程大致如下: 1、执行fastboot oem unlock 2、5秒内继续执行fastboot oem unlock_accept 3、机器会重启进入recovery恢复出厂设置 4、再次进入fastboot,则fastboot getvar unlocked应该返回"yes"(设备已解锁) &nbsp; 如果设备进入fastboot状态后,fastboot命令提示未发现设备,则需要在命令中加入-i参数指定设备vid,例如fastboot -i 0x2207 getvar unlocked acb1d68eb8bdce743cdda097a49d2cd2c950cde8 430 429 2017-03-09T06:06:52Z Karen 3 wikitext text/x-wiki = Introduction = Fastboot is a protocol that can be used to re-flash partitions on your device (update the flash file system in your devices). It is this small tool that comes with the Android SDK (Software Developer Kit), which is an alternative to the Recovery Mode for doing installations and updates. It first comes with Android. Google have submit the fastboot code to mainline U-boot. So we can use this protocol to flash partition on your device. There are three way to enter fastboot mode = Fastboot command = Rockchip use 0x2207 as its USB vendor ID. This VID is not in Google's original fastboot code. So every fastboot command have to use "-i" parameter to specify vid to fastboot.<br/> To list all the Rockchip devices attached to your USB port in fastboot mode. <pre><code>$ sudo fastboot -i 0x2207 devices 0123456789AB fastboot</code> </pre> To flash loader <pre><code>$ sudo fastboot -i 0x2207 flash loader "path to your loader"</code> </pre> To flash Android boot image <pre><code>$ sudo fastboot -i 0x2207 flash boot_a "path to your boot image" 0123456789AB fastboot</code> </pre> To flash Android system image <pre><code>$ sudo fastboot -i 0x2207 flash system_a "path to your system image" 0123456789AB fastboot</code></pre> To Get Version: <pre>fastboot getvar version</pre> To Get Version: <pre>fastboot getvar version-bootloader </pre> To Get Unlocked: <pre>fastboot getvar unlocked </pre> To Get Locked: <pre>fastboot getvar secure</pre> To Get Product Information: <pre>fastboot getvar product</pre> To Get Serialno: <pre>fastboot getvar serialno</pre> To Get Partition Type: <pre>fastboot getvar partition-type:<partition_name> </pre> To Get Partition Size: <pre>fastboot getvar partition-size:<partition_name> </pre> To Get Partition Offset: <pre>fastboot getvar partition-offset:<partition_name> </pre> &nbsp; === ===Download the Image=== === To Flash&nbsp;Image <pre>fastboot flash <partition_name> <filename> </pre> &nbsp;(For example:fastboot flash system system.img) When download the parameter or loader,you need assign the partition name as "parameter" or "loader" To Update Firmware <pre>fastboot update <filename> </pre> (The firmware package was generated from &nbsp;android source code which is “make updatepackage”) == Reboot == 重启进recovery <pre>fastboot oem recovery </pre> 重启恢复出厂设置 <pre>fastboot oem recovery:wipe_data</pre> Reboot <pre>fastboot reboot</pre> 重启进入rockusb烧写模式 <pre>fastboot reboot-bootloader</pre> <pre>fastboot continue </pre> === Lock and Unlock the Device === To unlock <pre>fastboot oem unlock</pre> To &nbsp;确认解锁(需要在fastboot oem unlock命令后,5秒内输入) <pre>fastboot oem unlock_accep</pre> 锁住设备 <pre>fastboot oem lock </pre> === Special Command === <pre>fastboot boot <kernel> [ <ramdisk> ]</pre> 临时从指定固件启动 (kernel目前支持Image/zImage,需要将dtb存于kernel末尾,或者resource分区中) <pre>fastboot oem log</pre> 获取串口log信息 <pre>fastboot oem ucmd <UBOOT cmds></pre> 运行UBOOT命令 == Fastboot Unlock == fastboot锁住状态下,不允许烧写及执行oem命令,初始状态为锁住。 解锁流程大致如下: 1、执行fastboot oem unlock 2、5秒内继续执行fastboot oem unlock_accept 3、机器会重启进入recovery恢复出厂设置 4、再次进入fastboot,则fastboot getvar unlocked应该返回"yes"(设备已解锁) &nbsp; 如果设备进入fastboot状态后,fastboot命令提示未发现设备,则需要在命令中加入-i参数指定设备vid,例如fastboot -i 0x2207 getvar unlocked dbf2a9794c6c4279d936295226fc98eae9f700fd 431 430 2017-03-09T06:09:42Z Karen 3 wikitext text/x-wiki = Introduction = Fastboot is a protocol that can be used to re-flash partitions on your device (update the flash file system in your devices). It is this small tool that comes with the Android SDK (Software Developer Kit), which is an alternative to the Recovery Mode for doing installations and updates. It first comes with Android. Google have submit the fastboot code to mainline U-boot. So we can use this protocol to flash partition on your device. There are three way to enter fastboot mode = Fastboot command = Rockchip use 0x2207 as its USB vendor ID. This VID is not in Google's original fastboot code. So every fastboot command have to use "-i" parameter to specify vid to fastboot.<br/> To list all the Rockchip devices attached to your USB port in fastboot mode. <pre><code>$ sudo fastboot -i 0x2207 devices 0123456789AB fastboot</code> </pre> To flash loader <pre><code>$ sudo fastboot -i 0x2207 flash loader "path to your loader"</code> </pre> To flash Android boot image <pre><code>$ sudo fastboot -i 0x2207 flash boot_a "path to your boot image" 0123456789AB fastboot</code> </pre> To flash Android system image <pre><code>$ sudo fastboot -i 0x2207 flash system_a "path to your system image" 0123456789AB fastboot</code></pre> To Get Version: <pre>fastboot getvar version</pre> To Get Version: <pre>fastboot getvar version-bootloader </pre> To Get Unlocked: <pre>fastboot getvar unlocked </pre> To Get Locked: <pre>fastboot getvar secure</pre> To Get Product Information: <pre>fastboot getvar product</pre> To Get Serialno: <pre>fastboot getvar serialno</pre> To Get Partition Type: <pre>fastboot getvar partition-type:<partition_name> </pre> To Get Partition Size: <pre>fastboot getvar partition-size:<partition_name> </pre> To Get Partition Offset: <pre>fastboot getvar partition-offset:<partition_name> </pre> &nbsp; &nbsp; === Download the Image === To Flash&nbsp;Image <pre>fastboot flash <partition_name> <filename> </pre> &nbsp;(For example:fastboot flash system system.img) When download the parameter or loader,you need assign the partition name as "parameter" or "loader" To Update Firmware <pre>fastboot update <filename> </pre> (The firmware package was generated from &nbsp;android source code which is “make updatepackage”) == Reboot == 重启进recovery <pre>fastboot oem recovery </pre> 重启恢复出厂设置 <pre>fastboot oem recovery:wipe_data</pre> Reboot <pre>fastboot reboot</pre> 重启进入rockusb烧写模式 <pre>fastboot reboot-bootloader</pre> <pre>fastboot continue </pre> === Lock and Unlock the Device === To unlock <pre>fastboot oem unlock</pre> To &nbsp;确认解锁(需要在fastboot oem unlock命令后,5秒内输入) <pre>fastboot oem unlock_accep</pre> 锁住设备 <pre>fastboot oem lock </pre> === Special Command === <pre>fastboot boot <kernel> [ <ramdisk> ]</pre> 临时从指定固件启动 (kernel目前支持Image/zImage,需要将dtb存于kernel末尾,或者resource分区中) <pre>fastboot oem log</pre> 获取串口log信息 <pre>fastboot oem ucmd <UBOOT cmds></pre> 运行UBOOT命令 == Fastboot Unlock == fastboot锁住状态下,不允许烧写及执行oem命令,初始状态为锁住。 解锁流程大致如下: 1、执行fastboot oem unlock 2、5秒内继续执行fastboot oem unlock_accept 3、机器会重启进入recovery恢复出厂设置 4、再次进入fastboot,则fastboot getvar unlocked应该返回"yes"(设备已解锁) &nbsp; 如果设备进入fastboot状态后,fastboot命令提示未发现设备,则需要在命令中加入-i参数指定设备vid,例如fastboot -i 0x2207 getvar unlocked 139ab34f9ab6647f8ecfd34d0367d0fda7641ffa 432 431 2017-03-09T06:10:38Z Karen 3 wikitext text/x-wiki = Introduction = Fastboot is a protocol that can be used to re-flash partitions on your device (update the flash file system in your devices). It is this small tool that comes with the Android SDK (Software Developer Kit), which is an alternative to the Recovery Mode for doing installations and updates. It first comes with Android. Google have submit the fastboot code to mainline U-boot. So we can use this protocol to flash partition on your device. There are three way to enter fastboot mode = Fastboot command = Rockchip use 0x2207 as its USB vendor ID. This VID is not in Google's original fastboot code. So every fastboot command have to use "-i" parameter to specify vid to fastboot.<br/> To list all the Rockchip devices attached to your USB port in fastboot mode. <pre><code>$ sudo fastboot -i 0x2207 devices 0123456789AB fastboot</code> </pre> To flash loader <pre><code>$ sudo fastboot -i 0x2207 flash loader "path to your loader"</code> </pre> To flash Android boot image <pre><code>$ sudo fastboot -i 0x2207 flash boot_a "path to your boot image" 0123456789AB fastboot</code> </pre> To flash Android system image <pre><code>$ sudo fastboot -i 0x2207 flash system_a "path to your system image" 0123456789AB fastboot</code></pre> To Get Version: <pre>fastboot getvar version</pre> To Get Version: <pre>fastboot getvar version-bootloader </pre> To Get Unlocked: <pre>fastboot getvar unlocked </pre> To Get Locked: <pre>fastboot getvar secure</pre> To Get Product Information: <pre>fastboot getvar product</pre> To Get Serialno: <pre>fastboot getvar serialno</pre> To Get Partition Type: <pre>fastboot getvar partition-type:<partition_name> </pre> To Get Partition Size: <pre>fastboot getvar partition-size:<partition_name> </pre> To Get Partition Offset: <pre>fastboot getvar partition-offset:<partition_name> </pre> &nbsp; &nbsp; == Download the Image == To Flash&nbsp;Image <pre>fastboot flash <partition_name> <filename> </pre> &nbsp;(For example:fastboot flash system system.img) When download the parameter or loader,you need assign the partition name as "parameter" or "loader" To Update Firmware <pre>fastboot update <filename> </pre> (The firmware package was generated from &nbsp;android source code which is “make updatepackage”) == Reboot == 重启进recovery <pre>fastboot oem recovery </pre> 重启恢复出厂设置 <pre>fastboot oem recovery:wipe_data</pre> Reboot <pre>fastboot reboot</pre> 重启进入rockusb烧写模式 <pre>fastboot reboot-bootloader</pre> <pre>fastboot continue </pre> === Lock and Unlock the Device === To unlock <pre>fastboot oem unlock</pre> To &nbsp;确认解锁(需要在fastboot oem unlock命令后,5秒内输入) <pre>fastboot oem unlock_accep</pre> 锁住设备 <pre>fastboot oem lock </pre> === Special Command === <pre>fastboot boot <kernel> [ <ramdisk> ]</pre> 临时从指定固件启动 (kernel目前支持Image/zImage,需要将dtb存于kernel末尾,或者resource分区中) <pre>fastboot oem log</pre> 获取串口log信息 <pre>fastboot oem ucmd <UBOOT cmds></pre> 运行UBOOT命令 == Fastboot Unlock == fastboot锁住状态下,不允许烧写及执行oem命令,初始状态为锁住。 解锁流程大致如下: 1、执行fastboot oem unlock 2、5秒内继续执行fastboot oem unlock_accept 3、机器会重启进入recovery恢复出厂设置 4、再次进入fastboot,则fastboot getvar unlocked应该返回"yes"(设备已解锁) &nbsp; 如果设备进入fastboot状态后,fastboot命令提示未发现设备,则需要在命令中加入-i参数指定设备vid,例如fastboot -i 0x2207 getvar unlocked b037f25ad17cc399bba5ca9deee4ce82569fe1c2 442 432 2017-03-09T07:12:10Z Karen 3 wikitext text/x-wiki = Introduction = Fastboot is a protocol that can be used to re-flash partitions on your device (update the flash file system in your devices). It is this small tool that comes with the Android SDK (Software Developer Kit), which is an alternative to the Recovery Mode for doing installations and updates. It first comes with Android. Google have submit the fastboot code to mainline U-boot. So we can use this protocol to flash partition on your device. There are three way to enter fastboot mode = Fastboot command = Rockchip use 0x2207 as its USB vendor ID. This VID is not in Google's original fastboot code. So every fastboot command have to use "-i" parameter to specify vid to fastboot.<br/> To list all the Rockchip devices attached to your USB port in fastboot mode. <pre><code>$ sudo fastboot -i 0x2207 devices 0123456789AB fastboot</code> </pre> To flash loader <pre><code>$ sudo fastboot -i 0x2207 flash loader "path to your loader"</code> </pre> To flash Android boot image <pre><code>$ sudo fastboot -i 0x2207 flash boot_a "path to your boot image" 0123456789AB fastboot</code> </pre> To flash Android system image <pre><code>$ sudo fastboot -i 0x2207 flash system_a "path to your system image" 0123456789AB fastboot</code></pre> To Get Version: <pre>fastboot getvar version</pre> To Get Version: <pre>fastboot getvar version-bootloader </pre> To Get Unlocked: <pre>fastboot getvar unlocked </pre> To Get Locked: <pre>fastboot getvar secure</pre> To Get Product Information: <pre>fastboot getvar product</pre> To Get Serialno: <pre>fastboot getvar serialno</pre> To Get Partition Type: <pre>fastboot getvar partition-type:<partition_name> </pre> To Get Partition Size: <pre>fastboot getvar partition-size:<partition_name> </pre> To Get Partition Offset: <pre>fastboot getvar partition-offset:<partition_name> </pre> &nbsp; &nbsp; == Download the Image == To Flash&nbsp;Image <pre>fastboot flash <partition_name> <filename> </pre> &nbsp;(For example:fastboot flash system system.img) When download the parameter or loader,you need assign the partition name as "parameter" or "loader" To Update Firmware <pre>fastboot update <filename> </pre> (The firmware package was generated from &nbsp;android source code which is “make updatepackage”) == Reboot == &nbsp;To recovery <pre>fastboot oem recovery </pre> &nbsp;To recovery and restore <pre>fastboot oem recovery:wipe_data</pre> To Reboot <pre>fastboot reboot</pre> 重启进入rockusb烧写模式 <pre>fastboot reboot-bootloader</pre> <pre>fastboot continue </pre> === Lock and Unlock the Device === To unlock <pre>fastboot oem unlock</pre> To &nbsp;confirm unlock(input &nbsp;it in 5 minutes after inputing fastboot oem unlock command) <pre>fastboot oem unlock_accep</pre> To lock the device <pre>fastboot oem lock </pre> === Special Command === <pre>fastboot boot <kernel> [ <ramdisk> ]</pre> 临时从指定固件启动 (kernel目前支持Image/zImage,需要将dtb存于kernel末尾,或者resource分区中) <pre>fastboot oem log</pre> 获取串口log信息 <pre>fastboot oem ucmd <UBOOT cmds></pre> 运行UBOOT命令 == Fastboot Unlock == fastboot锁住状态下,不允许烧写及执行oem命令,初始状态为锁住。 解锁流程大致如下: 1、执行fastboot oem unlock 2、5秒内继续执行fastboot oem unlock_accept 3、机器会重启进入recovery恢复出厂设置 4、再次进入fastboot,则fastboot getvar unlocked应该返回"yes"(设备已解锁) &nbsp; 如果设备进入fastboot状态后,fastboot命令提示未发现设备,则需要在命令中加入-i参数指定设备vid,例如fastboot -i 0x2207 getvar unlocked 6567aee05d2cc9c0223fa9ab67892bd391008315 443 442 2017-03-09T07:12:38Z Karen 3 wikitext text/x-wiki = Introduction = Fastboot is a protocol that can be used to re-flash partitions on your device (update the flash file system in your devices). It is this small tool that comes with the Android SDK (Software Developer Kit), which is an alternative to the Recovery Mode for doing installations and updates. It first comes with Android. Google have submit the fastboot code to mainline U-boot. So we can use this protocol to flash partition on your device. There are three way to enter fastboot mode = Fastboot command = Rockchip use 0x2207 as its USB vendor ID. This VID is not in Google's original fastboot code. So every fastboot command have to use "-i" parameter to specify vid to fastboot.<br/> To list all the Rockchip devices attached to your USB port in fastboot mode. <pre><code>$ sudo fastboot -i 0x2207 devices 0123456789AB fastboot</code> </pre> To flash loader <pre><code>$ sudo fastboot -i 0x2207 flash loader "path to your loader"</code> </pre> To flash Android boot image <pre><code>$ sudo fastboot -i 0x2207 flash boot_a "path to your boot image" 0123456789AB fastboot</code> </pre> To flash Android system image <pre><code>$ sudo fastboot -i 0x2207 flash system_a "path to your system image" 0123456789AB fastboot</code></pre> To Get Version: <pre>fastboot getvar version</pre> To Get Version: <pre>fastboot getvar version-bootloader </pre> To Get Unlocked: <pre>fastboot getvar unlocked </pre> To Get Locked: <pre>fastboot getvar secure</pre> To Get Product Information: <pre>fastboot getvar product</pre> To Get Serialno: <pre>fastboot getvar serialno</pre> To Get Partition Type: <pre>fastboot getvar partition-type:<partition_name> </pre> To Get Partition Size: <pre>fastboot getvar partition-size:<partition_name> </pre> To Get Partition Offset: <pre>fastboot getvar partition-offset:<partition_name> </pre> &nbsp; &nbsp; == Download the Image == To flash&nbsp;image <pre>fastboot flash <partition_name> <filename> </pre> &nbsp;(For example:fastboot flash system system.img) When download the parameter or loader,you need assign the partition name as "parameter" or "loader" To update firmware <pre>fastboot update <filename> </pre> (The firmware package was generated from &nbsp;android source code which is “make updatepackage”) == Reboot == &nbsp;To recovery <pre>fastboot oem recovery </pre> &nbsp;To recovery and restore <pre>fastboot oem recovery:wipe_data</pre> To Reboot <pre>fastboot reboot</pre> 重启进入rockusb烧写模式 <pre>fastboot reboot-bootloader</pre> <pre>fastboot continue </pre> === Lock and Unlock the Device === To unlock <pre>fastboot oem unlock</pre> To &nbsp;confirm unlock(input &nbsp;it in 5 minutes after inputing fastboot oem unlock command) <pre>fastboot oem unlock_accep</pre> To lock the device <pre>fastboot oem lock </pre> === Special Command === <pre>fastboot boot <kernel> [ <ramdisk> ]</pre> 临时从指定固件启动 (kernel目前支持Image/zImage,需要将dtb存于kernel末尾,或者resource分区中) <pre>fastboot oem log</pre> 获取串口log信息 <pre>fastboot oem ucmd <UBOOT cmds></pre> 运行UBOOT命令 == Fastboot Unlock == fastboot锁住状态下,不允许烧写及执行oem命令,初始状态为锁住。 解锁流程大致如下: 1、执行fastboot oem unlock 2、5秒内继续执行fastboot oem unlock_accept 3、机器会重启进入recovery恢复出厂设置 4、再次进入fastboot,则fastboot getvar unlocked应该返回"yes"(设备已解锁) &nbsp; 如果设备进入fastboot状态后,fastboot命令提示未发现设备,则需要在命令中加入-i参数指定设备vid,例如fastboot -i 0x2207 getvar unlocked 2c499c7a4052205503add8037a7ceccdfdcf3757 445 443 2017-03-09T07:20:00Z Karen 3 wikitext text/x-wiki = Introduction = Fastboot is a protocol that can be used to re-flash partitions on your device (update the flash file system in your devices). It is this small tool that comes with the Android SDK (Software Developer Kit), which is an alternative to the Recovery Mode for doing installations and updates. It first comes with Android. Google have submit the fastboot code to mainline U-boot. So we can use this protocol to flash partition on your device. There are three way to enter fastboot mode = Fastboot command = Rockchip use 0x2207 as its USB vendor ID. This VID is not in Google's original fastboot code. So every fastboot command have to use "-i" parameter to specify vid to fastboot.<br/> To list all the Rockchip devices attached to your USB port in fastboot mode. <pre><code>$ sudo fastboot -i 0x2207 devices 0123456789AB fastboot</code> </pre> To flash loader <pre><code>$ sudo fastboot -i 0x2207 flash loader "path to your loader"</code> </pre> To flash android boot image <pre><code>$ sudo fastboot -i 0x2207 flash boot_a "path to your boot image" 0123456789AB fastboot</code> </pre> To flash android system image <pre><code>$ sudo fastboot -i 0x2207 flash system_a "path to your system image" 0123456789AB fastboot</code></pre> To get version: <pre>fastboot getvar version</pre> To get version: <pre>fastboot getvar version-bootloader </pre> To get unlocked: <pre>fastboot getvar unlocked </pre> To get&nbsp;locked: <pre>fastboot getvar secure</pre> To get product information: <pre>fastboot getvar product</pre> To get serialno: <pre>fastboot getvar serialno</pre> To get partition type: <pre>fastboot getvar partition-type:<partition_name> </pre> To get partition size: <pre>fastboot getvar partition-size:<partition_name> </pre> To get partition offset: <pre>fastboot getvar partition-offset:<partition_name> </pre> == Download the Image == To flash&nbsp;image <pre>fastboot flash <partition_name> <filename> </pre> &nbsp;(For example:fastboot flash system system.img) When download the parameter or loader,you need assign the partition name as "parameter" or "loader" To update firmware <pre>fastboot update <filename> </pre> (The firmware package was generated from &nbsp;android source code which is “make updatepackage”) == Reboot == &nbsp;To recovery <pre>fastboot oem recovery </pre> &nbsp;To recovery and restore <pre>fastboot oem recovery:wipe_data</pre> To Reboot <pre>fastboot reboot</pre> To reboot and enter rockusb loader mode <pre>fastboot reboot-bootloader</pre> To continue <pre>fastboot continue </pre> === Lock and Unlock the Device === To unlock <pre>fastboot oem unlock</pre> To &nbsp;confirm unlock(input &nbsp;it in 5 minutes after inputing fastboot oem unlock command) <pre>fastboot oem unlock_accep</pre> To lock the device <pre>fastboot oem lock </pre> === Special Command === <pre>fastboot boot <kernel> [ <ramdisk> ]</pre> 临时从指定固件启动 (kernel目前支持Image/zImage,需要将dtb存于kernel末尾,或者resource分区中) <pre>fastboot oem log</pre> 获取串口log信息 <pre>fastboot oem ucmd <UBOOT cmds></pre> 运行UBOOT命令 == Fastboot Unlock == fastboot锁住状态下,不允许烧写及执行oem命令,初始状态为锁住。 解锁流程大致如下: 1、执行fastboot oem unlock 2、5秒内继续执行fastboot oem unlock_accept 3、机器会重启进入recovery恢复出厂设置 4、再次进入fastboot,则fastboot getvar unlocked应该返回"yes"(设备已解锁) &nbsp; 如果设备进入fastboot状态后,fastboot命令提示未发现设备,则需要在命令中加入-i参数指定设备vid,例如fastboot -i 0x2207 getvar unlocked 1973962026a8e97798f01ca3afe82dd6a298f435 447 445 2017-03-09T07:29:10Z Karen 3 wikitext text/x-wiki = Introduction = Fastboot is a protocol that can be used to re-flash partitions on your device (update the flash file system in your devices). It is this small tool that comes with the Android SDK (Software Developer Kit), which is an alternative to the Recovery Mode for doing installations and updates. It first comes with Android. Google have submit the fastboot code to mainline U-boot. So we can use this protocol to flash partition on your device. There are three way to enter fastboot mode = Fastboot command = Rockchip use 0x2207 as its USB vendor ID. This VID is not in Google's original fastboot code. So every fastboot command have to use "-i" parameter to specify vid to fastboot.<br/> To list all the Rockchip devices attached to your USB port in fastboot mode. <pre><code>$ sudo fastboot -i 0x2207 devices 0123456789AB fastboot</code> </pre> To flash loader <pre><code>$ sudo fastboot -i 0x2207 flash loader "path to your loader"</code> </pre> To flash android boot image <pre><code>$ sudo fastboot -i 0x2207 flash boot_a "path to your boot image" 0123456789AB fastboot</code> </pre> To flash android system image <pre><code>$ sudo fastboot -i 0x2207 flash system_a "path to your system image" 0123456789AB fastboot</code></pre> To get version: <pre>fastboot getvar version</pre> To get version: <pre>fastboot getvar version-bootloader </pre> To get unlocked: <pre>fastboot getvar unlocked </pre> To get&nbsp;locked: <pre>fastboot getvar secure</pre> To get product information: <pre>fastboot getvar product</pre> To get serialno: <pre>fastboot getvar serialno</pre> To get partition type: <pre>fastboot getvar partition-type:<partition_name> </pre> To get partition size: <pre>fastboot getvar partition-size:<partition_name> </pre> To get partition offset: <pre>fastboot getvar partition-offset:<partition_name> </pre> == Download the Image == To flash&nbsp;image <pre>fastboot flash <partition_name> <filename> </pre> &nbsp;(For example:fastboot flash system system.img) When download the parameter or loader,you need assign the partition name as "parameter" or "loader" To update firmware <pre>fastboot update <filename> </pre> (The firmware package was generated from &nbsp;android source code which is “make updatepackage”) == Reboot == &nbsp;To recovery <pre>fastboot oem recovery </pre> &nbsp;To recovery and restore <pre>fastboot oem recovery:wipe_data</pre> To Reboot <pre>fastboot reboot</pre> To reboot and enter rockusb loader mode <pre>fastboot reboot-bootloader</pre> To continue <pre>fastboot continue </pre> === Lock and Unlock the Device === To unlock <pre>fastboot oem unlock</pre> To &nbsp;confirm unlock(input &nbsp;it in 5 minutes after inputing fastboot oem unlock command) <pre>fastboot oem unlock_accep</pre> To lock the device <pre>fastboot oem lock </pre> === Special Command === To boot from specifc firmware <pre>fastboot boot <kernel> [ <ramdisk> ]</pre> 临时从指定固件启动 (kernel目前支持Image/zImage,需要将dtb存于kernel末尾,或者resource分区中) To get log info <pre>fastboot oem log </pre> To execute u-Boot command: <pre>fastboot oem ucmd <UBOOT cmds></pre> == Fastboot Unlock == fastboot锁住状态下,不允许烧写及执行oem命令,初始状态为锁住。 解锁流程大致如下: 1、执行fastboot oem unlock 2、5秒内继续执行fastboot oem unlock_accept 3、机器会重启进入recovery恢复出厂设置 4、再次进入fastboot,则fastboot getvar unlocked应该返回"yes"(设备已解锁) &nbsp; 如果设备进入fastboot状态后,fastboot命令提示未发现设备,则需要在命令中加入-i参数指定设备vid,例如fastboot -i 0x2207 getvar unlocked fbe198c7e9782d19e6c4af7431070614d2193474 448 447 2017-03-09T07:29:27Z Karen 3 wikitext text/x-wiki = Introduction = Fastboot is a protocol that can be used to re-flash partitions on your device (update the flash file system in your devices). It is this small tool that comes with the Android SDK (Software Developer Kit), which is an alternative to the Recovery Mode for doing installations and updates. It first comes with Android. Google have submit the fastboot code to mainline U-boot. So we can use this protocol to flash partition on your device. There are three way to enter fastboot mode = Fastboot command = Rockchip use 0x2207 as its USB vendor ID. This VID is not in Google's original fastboot code. So every fastboot command have to use "-i" parameter to specify vid to fastboot.<br/> To list all the Rockchip devices attached to your USB port in fastboot mode. <pre><code>$ sudo fastboot -i 0x2207 devices 0123456789AB fastboot</code> </pre> To flash loader <pre><code>$ sudo fastboot -i 0x2207 flash loader "path to your loader"</code> </pre> To flash android boot image <pre><code>$ sudo fastboot -i 0x2207 flash boot_a "path to your boot image" 0123456789AB fastboot</code> </pre> To flash android system image <pre><code>$ sudo fastboot -i 0x2207 flash system_a "path to your system image" 0123456789AB fastboot</code></pre> To get version: <pre>fastboot getvar version</pre> To get version: <pre>fastboot getvar version-bootloader </pre> To get unlocked: <pre>fastboot getvar unlocked </pre> To get&nbsp;locked: <pre>fastboot getvar secure</pre> To get product information: <pre>fastboot getvar product</pre> To get serialno: <pre>fastboot getvar serialno</pre> To get partition type: <pre>fastboot getvar partition-type:<partition_name> </pre> To get partition size: <pre>fastboot getvar partition-size:<partition_name> </pre> To get partition offset: <pre>fastboot getvar partition-offset:<partition_name> </pre> == Download the Image == To flash&nbsp;image: <pre>fastboot flash <partition_name> <filename> </pre> &nbsp;(For example:fastboot flash system system.img) When download the parameter or loader,you need assign the partition name as "parameter" or "loader" To update firmware: <pre>fastboot update <filename> </pre> (The firmware package was generated from &nbsp;android source code which is “make updatepackage”) == Reboot == &nbsp;To recovery <pre>fastboot oem recovery </pre> &nbsp;To recovery and restore <pre>fastboot oem recovery:wipe_data</pre> To Reboot <pre>fastboot reboot</pre> To reboot and enter rockusb loader mode <pre>fastboot reboot-bootloader</pre> To continue <pre>fastboot continue </pre> === Lock and Unlock the Device === To unlock <pre>fastboot oem unlock</pre> To &nbsp;confirm unlock(input &nbsp;it in 5 minutes after inputing fastboot oem unlock command) <pre>fastboot oem unlock_accep</pre> To lock the device <pre>fastboot oem lock </pre> === Special Command === To boot from specifc firmware <pre>fastboot boot <kernel> [ <ramdisk> ]</pre> 临时从指定固件启动 (kernel目前支持Image/zImage,需要将dtb存于kernel末尾,或者resource分区中) To get log info <pre>fastboot oem log </pre> To execute u-Boot command: <pre>fastboot oem ucmd <UBOOT cmds></pre> == Fastboot Unlock == fastboot锁住状态下,不允许烧写及执行oem命令,初始状态为锁住。 解锁流程大致如下: 1、执行fastboot oem unlock 2、5秒内继续执行fastboot oem unlock_accept 3、机器会重启进入recovery恢复出厂设置 4、再次进入fastboot,则fastboot getvar unlocked应该返回"yes"(设备已解锁) &nbsp; 如果设备进入fastboot状态后,fastboot命令提示未发现设备,则需要在命令中加入-i参数指定设备vid,例如fastboot -i 0x2207 getvar unlocked 044760574e9c5a4698aad154de8351d0b7cc1bda 449 448 2017-03-09T07:30:05Z Karen 3 wikitext text/x-wiki = Introduction = Fastboot is a protocol that can be used to re-flash partitions on your device (update the flash file system in your devices). It is this small tool that comes with the Android SDK (Software Developer Kit), which is an alternative to the Recovery Mode for doing installations and updates. It first comes with Android. Google have submit the fastboot code to mainline U-boot. So we can use this protocol to flash partition on your device. There are three way to enter fastboot mode = Fastboot command = Rockchip use 0x2207 as its USB vendor ID. This VID is not in Google's original fastboot code. So every fastboot command have to use "-i" parameter to specify vid to fastboot.<br/> To list all the Rockchip devices attached to your USB port in fastboot mode. <pre><code>$ sudo fastboot -i 0x2207 devices 0123456789AB fastboot</code> </pre> To flash loader <pre><code>$ sudo fastboot -i 0x2207 flash loader "path to your loader"</code> </pre> To flash android boot image <pre><code>$ sudo fastboot -i 0x2207 flash boot_a "path to your boot image" 0123456789AB fastboot</code> </pre> To flash android system image <pre><code>$ sudo fastboot -i 0x2207 flash system_a "path to your system image" 0123456789AB fastboot</code></pre> To get version: <pre>fastboot getvar version</pre> To get version: <pre>fastboot getvar version-bootloader </pre> To get unlocked: <pre>fastboot getvar unlocked </pre> To get&nbsp;locked: <pre>fastboot getvar secure</pre> To get product information: <pre>fastboot getvar product</pre> To get serialno: <pre>fastboot getvar serialno</pre> To get partition type: <pre>fastboot getvar partition-type:<partition_name> </pre> To get partition size: <pre>fastboot getvar partition-size:<partition_name> </pre> To get partition offset: <pre>fastboot getvar partition-offset:<partition_name> </pre> == Download the Image == To flash&nbsp;image: <pre>fastboot flash <partition_name> <filename> </pre> &nbsp;(For example:fastboot flash system system.img) When download the parameter or loader,you need assign the partition name as "parameter" or "loader" To update firmware: <pre>fastboot update <filename> </pre> (The firmware package was generated from &nbsp;android source code which is “make updatepackage”) == Reboot == &nbsp;To recovery: <pre>fastboot oem recovery </pre> &nbsp;To recovery and restore: <pre>fastboot oem recovery:wipe_data</pre> To Reboot: <pre>fastboot reboot</pre> To reboot and enter rockusb loader mode <pre>fastboot reboot-bootloader</pre> To continue: <pre>fastboot continue </pre> === Lock and Unlock the Device === To unlock: <pre>fastboot oem unlock</pre> To &nbsp;confirm unlock(input &nbsp;it in 5 minutes after inputing fastboot oem unlock command): <pre>fastboot oem unlock_accep</pre> To lock the device: <pre>fastboot oem lock </pre> &nbsp; === Special Command === To boot from specifc firmware: <pre>fastboot boot <kernel> [ <ramdisk> ]</pre> 临时从指定固件启动 (kernel目前支持Image/zImage,需要将dtb存于kernel末尾,或者resource分区中) To get log info <pre>fastboot oem log </pre> To execute u-Boot command: <pre>fastboot oem ucmd <UBOOT cmds></pre> == Fastboot Unlock == fastboot锁住状态下,不允许烧写及执行oem命令,初始状态为锁住。 解锁流程大致如下: 1、执行fastboot oem unlock 2、5秒内继续执行fastboot oem unlock_accept 3、机器会重启进入recovery恢复出厂设置 4、再次进入fastboot,则fastboot getvar unlocked应该返回"yes"(设备已解锁) &nbsp; 如果设备进入fastboot状态后,fastboot命令提示未发现设备,则需要在命令中加入-i参数指定设备vid,例如fastboot -i 0x2207 getvar unlocked 91b339498a57cfba01569c315d0cd58e4bbdd519 455 449 2017-03-09T07:54:52Z Karen 3 wikitext text/x-wiki = Introduction = Fastboot is a protocol that can be used to re-flash partitions on your device (update the flash file system in your devices). It is this small tool that comes with the Android SDK (Software Developer Kit), which is an alternative to the Recovery Mode for doing installations and updates. It first comes with Android. Google have submit the fastboot code to mainline U-boot. So we can use this protocol to flash partition on your device. There are three way to enter fastboot mode = Fastboot command = Rockchip use 0x2207 as its USB vendor ID. This VID is not in Google's original fastboot code. So every fastboot command have to use "-i" parameter to specify vid to fastboot.<br/> To list all the Rockchip devices attached to your USB port in fastboot mode. <pre><code>$ sudo fastboot -i 0x2207 devices 0123456789AB fastboot</code> </pre> To flash loader <pre><code>$ sudo fastboot -i 0x2207 flash loader "path to your loader"</code> </pre> To flash android boot image <pre><code>$ sudo fastboot -i 0x2207 flash boot_a "path to your boot image" 0123456789AB fastboot</code> </pre> To flash android system image <pre><code>$ sudo fastboot -i 0x2207 flash system_a "path to your system image" 0123456789AB fastboot</code></pre> To get version: <pre>fastboot getvar version</pre> To get version: <pre>fastboot getvar version-bootloader </pre> To get unlocked: <pre>fastboot getvar unlocked </pre> To get&nbsp;locked: <pre>fastboot getvar secure</pre> To get product information: <pre>fastboot getvar product</pre> To get serialno: <pre>fastboot getvar serialno</pre> To get partition type: <pre>fastboot getvar partition-type:<partition_name> </pre> To get partition size: <pre>fastboot getvar partition-size:<partition_name> </pre> To get partition offset: <pre>fastboot getvar partition-offset:<partition_name> </pre> == Download the Image == To flash&nbsp;image: <pre>fastboot flash <partition_name> <filename> </pre> &nbsp;(For example:fastboot flash system system.img) When download the parameter or loader,you need assign the partition name as "<var>parameter</var>" or "<var>loader</var>" To update firmware: <pre>fastboot update <filename> </pre> (The firmware package was generated from &nbsp;android source code <var>make updatepackage</var>) == Reboot == &nbsp;To recovery: <pre>fastboot oem recovery </pre> &nbsp;To recovery and restore: <pre>fastboot oem recovery:wipe_data</pre> To Reboot: <pre>fastboot reboot</pre> To reboot and enter rockusb loader mode <pre>fastboot reboot-bootloader</pre> To continue: <pre>fastboot continue </pre> === Lock and Unlock the Device === To unlock: <pre>fastboot oem unlock</pre> To &nbsp;confirm unlock(input &nbsp;it in 5 minutes after inputing fastboot oem unlock command): <pre>fastboot oem unlock_accep</pre> To lock the device: <pre>fastboot oem lock </pre> &nbsp; === Special Command === To boot from specifc firmware: <pre>fastboot boot <kernel> [ <ramdisk> ]</pre> 临时从指定固件启动 (kernel目前支持Image/zImage,需要将dtb存于kernel末尾,或者resource分区中) To get log info <pre>fastboot oem log </pre> To execute u-Boot command: <pre>fastboot oem ucmd <UBOOT cmds></pre> == Fastboot Unlock == fastboot锁住状态下,不允许烧写及执行oem命令,初始状态为锁住。 解锁流程大致如下: 1、执行fastboot oem unlock 2、5秒内继续执行fastboot oem unlock_accept 3、机器会重启进入recovery恢复出厂设置 4、再次进入fastboot,则fastboot getvar unlocked应该返回"yes"(设备已解锁) &nbsp; 如果设备进入fastboot状态后,fastboot命令提示未发现设备,则需要在命令中加入-i参数指定设备vid,例如fastboot -i 0x2207 getvar unlocked 418ea9555298fcbb0da8655e71fbe845f282cf6e RK3328 0 24 410 392 2017-03-09T03:13:19Z Kever 2 wikitext text/x-wiki {{Infobox SoC | image = [[File:rk3288_soc.png|250px]] | manufacturer = Rockcihp | process = 28nm | cpu = Quad-Core ARM Cortex-A53 | ltwo = | extensions = | memory = 2-channel DDR3/LPDDR2, 2-channel DDR3L, maximum of 4GB total (2GB per channel) | gpu = SGX544 | vpu = | apu = | video = HDMI 1.4, MIPI DSI, 2-channel LVDS, 2-channel RGB LCD | audio = I2S, PCM | network = | storage = 4x SD Card, eMMC NAND, 2-channel raw NAND | usb = OTG, 2x Host | other = | release_date = December 2012 | website = [http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html] }} &nbsp; &nbsp; &nbsp; = Overview = RK3328 offers a high-integration and power efficiency&nbsp;SOC for 4K HDR OTT/IPTV. It support HDR10 ,HLG HDR ,&nbsp;4K 10bits 30fps H.264 video decoder and 4K 10bits 60fps H265 video decoder.Comply with lots of high-performance interface,such as multi-channel display with HDMI2.0a, TV Encoder, the Quad-core GPU can acheive&nbsp;high-resolution display and game. == Cortex-A53 == Quad-core Cortex-A53 is integrated with separate Neon and FPU coprocessor, also with shared L2 Cache.&nbsp; &nbsp; = RK3328 SoC Features = *CPU: **ARM Cortex-A53&nbsp;Quad-Core&nbsp; *GPU **&nbsp;Mali-450MP4 **Comply with Open GL ES1.1/2.0 *Multi-Media: **4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps **1080P other video decoders (VC-1, MPEG-1/2/4, VP8) **1080P video encoder for H.264 and H.265 **Support HDR10 ,HLG HDR , Support conversion between SDR and HDR *Display: **HDMI 2.0a for 4K@60Hz with HDCP 1.4/2.2 **Support conversion between Rec.2020 and Rec.709 *Memory: **LPDDR3/DDR3/DDR3L/DDR4 **eMMC 4.51,SDCard, SPI Flash *External interface **USB 2.0 x2 and USB 3.0 x1 **100M Ethernet w/ built-in PHY **Built-in CVBS and audio DAC **8 channels I2S IO and 8 chanel digital PDM input (for MIC array) = History = &nbsp; &nbsp; &nbsp; = Documentation = &nbsp; [http://10.10.10.12:8444/images/9/9e/RK_DDR_Support_List_Ver2.24.pdf RK_DDR_Support_List_Ver2.24] &nbsp; &nbsp; = Software = == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" |- | '''board''' | '''kernel''' | '''uboot''' | '''dts''' |- | RK_EVB_RK3228H_BOX_RK805_DDR3 | rockchip_linux_defconfig | rk3328_linux_defconfig | rk3328r-linux.dts |} &nbsp; &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" |- | '''chip''' | '''Kernel eMMC index''' | '''Kernel SD index''' | '''Uboot eMMC index''' | '''Uboot SD index''' | '''Baud speed''' |- | RK3399 | 1 | 0 | 0 | 1 | 1500000 |} == How to get the sources == The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code.&nbsp;Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github. RK3399 optimized Debian & Buildroot <pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml repo sync </pre> == How to build the sources == === Build Environment === You need a 64-bit&nbsp;Ubuntu. Note: old versions&nbsp;Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so Install&nbsp;ARM cross-compile tool chain and compile kernel relative&nbsp;software package:&nbsp; $ sudo apt-get install gcc-arm-linux-gnueabihf&nbsp;gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev === Installing the build tools and download source === Please follow&nbsp;[http://rockchip.wikidot.com/linux-user-guide linux user guide]&nbsp;to install the build tools and download source. &nbsp; === Building kernel === For ARM V8 (RK3399 optimized SDK) <pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre> === Building uboot === For RK3399 optimized SDK (rkproduct uboot) <pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre> === Building rootfs === ==== Debian ==== You&nbsp;can download the prebuilt image directly. [http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive] or you could use the&nbsp;[https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script]&nbsp;from Rockchip to build rootfs yourselves. ==== Yocto ==== If you want to use Yocto to build your rootfs see&nbsp;[http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide]&nbsp;for detail. ==== Buildroot ==== If you want to use Buildroot to build your rootfs see&nbsp;[http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide]&nbsp;for detail. &nbsp; &nbsp; = Devices = If you need the rk3399-excavator&nbsp;board, please communicate through&nbsp;the following&nbsp;contact information. <pre>Telephone: 4007700590 Email: service@rock-chips.com</pre> &nbsp; = See also = [[RK3288|RK3288]] [[RK3399|RK3399]] = Owners of the SoC on IRC = = Commuity Support = = References = 1.[https://en.wikipedia.org/wiki/ARM_Cortex-A53 https://en.wikipedia.org/wiki/ARM_Cortex-A53] = Exteneral Links = &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; bd4e82d24cb483d504269f15be8e8ef918387015 414 410 2017-03-09T03:18:37Z Kever 2 wikitext text/x-wiki {{Infobox SoC | image = [[File:rk3328_soc.png|250px]] | manufacturer = Rockcihp | process = 28nm | cpu = Quad-Core ARM Cortex-A53 | ltwo = | extensions = 4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps | memory = 2-channel DDR3/LPDDR2, 2-channel DDR3L, maximum of 4GB total (2GB per channel) | gpu = Mali-450MP2 | vpu = | apu = | video = HDMI 1.4, | audio = 8 channels I2S/PDM interface, supports 8 channels Mic array | network = | storage = 4x SD Card, eMMC NAND, 2-channel raw NAND | usb = 1* USB2.0 otg, 1* USB 2.0 Host, 1* USB 3.0 Host | other = | release_date = December 2012 | website = [http://www.rock-chips.com/a/en/products/RK33_Series/2017/0118/829.html| Product Page] }} &nbsp; &nbsp; &nbsp; = Overview = RK3328 offers a high-integration and power efficiency&nbsp;SOC for 4K HDR OTT/IPTV. It support HDR10 ,HLG HDR ,&nbsp;4K 10bits 30fps H.264 video decoder and 4K 10bits 60fps H265 video decoder.Comply with lots of high-performance interface,such as multi-channel display with HDMI2.0a, TV Encoder, the Quad-core GPU can acheive&nbsp;high-resolution display and game. == Cortex-A53 == Quad-core Cortex-A53 is integrated with separate Neon and FPU coprocessor, also with shared L2 Cache.&nbsp; &nbsp; = RK3328 SoC Features = *CPU: **ARM Cortex-A53&nbsp;Quad-Core&nbsp; *GPU **&nbsp;Mali-450MP4 **Comply with Open GL ES1.1/2.0 *Multi-Media: **4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps **1080P other video decoders (VC-1, MPEG-1/2/4, VP8) **1080P video encoder for H.264 and H.265 **Support HDR10 ,HLG HDR , Support conversion between SDR and HDR *Display: **HDMI 2.0a for 4K@60Hz with HDCP 1.4/2.2 **Support conversion between Rec.2020 and Rec.709 *Memory: **LPDDR3/DDR3/DDR3L/DDR4 **eMMC 4.51,SDCard, SPI Flash *External interface **USB 2.0 x2 and USB 3.0 x1 **100M Ethernet w/ built-in PHY **Built-in CVBS and audio DAC **8 channels I2S IO and 8 chanel digital PDM input (for MIC array) = History = &nbsp; &nbsp; &nbsp; = Documentation = &nbsp; [http://10.10.10.12:8444/images/9/9e/RK_DDR_Support_List_Ver2.24.pdf RK_DDR_Support_List_Ver2.24] &nbsp; &nbsp; = Software = == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" |- | '''board''' | '''kernel''' | '''uboot''' | '''dts''' |- | RK_EVB_RK3228H_BOX_RK805_DDR3 | rockchip_linux_defconfig | rk3328_linux_defconfig | rk3328r-linux.dts |} &nbsp; &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" |- | '''chip''' | '''Kernel eMMC index''' | '''Kernel SD index''' | '''Uboot eMMC index''' | '''Uboot SD index''' | '''Baud speed''' |- | RK3399 | 1 | 0 | 0 | 1 | 1500000 |} == How to get the sources == The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code.&nbsp;Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github. RK3399 optimized Debian & Buildroot <pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml repo sync </pre> == How to build the sources == === Build Environment === You need a 64-bit&nbsp;Ubuntu. Note: old versions&nbsp;Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so Install&nbsp;ARM cross-compile tool chain and compile kernel relative&nbsp;software package:&nbsp; $ sudo apt-get install gcc-arm-linux-gnueabihf&nbsp;gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev === Installing the build tools and download source === Please follow&nbsp;[http://rockchip.wikidot.com/linux-user-guide linux user guide]&nbsp;to install the build tools and download source. &nbsp; === Building kernel === For ARM V8 (RK3399 optimized SDK) <pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre> === Building uboot === For RK3399 optimized SDK (rkproduct uboot) <pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre> === Building rootfs === ==== Debian ==== You&nbsp;can download the prebuilt image directly. [http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive] or you could use the&nbsp;[https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script]&nbsp;from Rockchip to build rootfs yourselves. ==== Yocto ==== If you want to use Yocto to build your rootfs see&nbsp;[http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide]&nbsp;for detail. ==== Buildroot ==== If you want to use Buildroot to build your rootfs see&nbsp;[http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide]&nbsp;for detail. &nbsp; &nbsp; = Devices = If you need the rk3399-excavator&nbsp;board, please communicate through&nbsp;the following&nbsp;contact information. <pre>Telephone: 4007700590 Email: service@rock-chips.com</pre> &nbsp; = See also = [[RK3288|RK3288]] [[RK3399|RK3399]] = Owners of the SoC on IRC = = Commuity Support = = References = 1.[https://en.wikipedia.org/wiki/ARM_Cortex-A53 https://en.wikipedia.org/wiki/ARM_Cortex-A53] = Exteneral Links = &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; a52c71baf8dc0875b20d610cdb3f0d60741a7914 415 414 2017-03-09T03:20:43Z Kever 2 wikitext text/x-wiki {{Infobox SoC | image = [[File:rk3328_soc.png|250px]] | manufacturer = Rockcihp | process = 28nm | cpu = Quad-Core ARM Cortex-A53 | ltwo = | extensions = | memory = 2-channel DDR3/LPDDR2, 2-channel DDR3L, maximum of 4GB total (2GB per channel) | gpu = Mali-450MP2 | vpu = 4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps | apu = | video = HDMI 1.4, | audio = 8 channels I2S/PDM interface, supports 8 channels Mic array | network = | storage = 4x SD Card, eMMC NAND, 2-channel raw NAND | usb = 1* USB2.0 otg, 1* USB 2.0 Host, 1* USB 3.0 Host | other = | release_date = December 2012 | website = [ http://www.rock-chips.com/a/en/products/RK33_Series/2017/0118/829.html | Product Page] }} &nbsp; &nbsp; &nbsp; = Overview = RK3328 offers a high-integration and power efficiency&nbsp;SOC for 4K HDR OTT/IPTV. It support HDR10 ,HLG HDR ,&nbsp;4K 10bits 30fps H.264 video decoder and 4K 10bits 60fps H265 video decoder.Comply with lots of high-performance interface,such as multi-channel display with HDMI2.0a, TV Encoder, the Quad-core GPU can acheive&nbsp;high-resolution display and game. == Cortex-A53 == Quad-core Cortex-A53 is integrated with separate Neon and FPU coprocessor, also with shared L2 Cache.&nbsp; &nbsp; = RK3328 SoC Features = *CPU: **ARM Cortex-A53&nbsp;Quad-Core&nbsp; *GPU **&nbsp;Mali-450MP4 **Comply with Open GL ES1.1/2.0 *Multi-Media: **4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps **1080P other video decoders (VC-1, MPEG-1/2/4, VP8) **1080P video encoder for H.264 and H.265 **Support HDR10 ,HLG HDR , Support conversion between SDR and HDR *Display: **HDMI 2.0a for 4K@60Hz with HDCP 1.4/2.2 **Support conversion between Rec.2020 and Rec.709 *Memory: **LPDDR3/DDR3/DDR3L/DDR4 **eMMC 4.51,SDCard, SPI Flash *External interface **USB 2.0 x2 and USB 3.0 x1 **100M Ethernet w/ built-in PHY **Built-in CVBS and audio DAC **8 channels I2S IO and 8 chanel digital PDM input (for MIC array) = History = &nbsp; &nbsp; &nbsp; = Documentation = &nbsp; [http://10.10.10.12:8444/images/9/9e/RK_DDR_Support_List_Ver2.24.pdf RK_DDR_Support_List_Ver2.24] &nbsp; &nbsp; = Software = == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" |- | '''board''' | '''kernel''' | '''uboot''' | '''dts''' |- | RK_EVB_RK3228H_BOX_RK805_DDR3 | rockchip_linux_defconfig | rk3328_linux_defconfig | rk3328r-linux.dts |} &nbsp; &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" |- | '''chip''' | '''Kernel eMMC index''' | '''Kernel SD index''' | '''Uboot eMMC index''' | '''Uboot SD index''' | '''Baud speed''' |- | RK3399 | 1 | 0 | 0 | 1 | 1500000 |} == How to get the sources == The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code.&nbsp;Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github. RK3399 optimized Debian & Buildroot <pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml repo sync </pre> == How to build the sources == === Build Environment === You need a 64-bit&nbsp;Ubuntu. Note: old versions&nbsp;Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so Install&nbsp;ARM cross-compile tool chain and compile kernel relative&nbsp;software package:&nbsp; $ sudo apt-get install gcc-arm-linux-gnueabihf&nbsp;gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev === Installing the build tools and download source === Please follow&nbsp;[http://rockchip.wikidot.com/linux-user-guide linux user guide]&nbsp;to install the build tools and download source. &nbsp; === Building kernel === For ARM V8 (RK3399 optimized SDK) <pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre> === Building uboot === For RK3399 optimized SDK (rkproduct uboot) <pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre> === Building rootfs === ==== Debian ==== You&nbsp;can download the prebuilt image directly. [http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive] or you could use the&nbsp;[https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script]&nbsp;from Rockchip to build rootfs yourselves. ==== Yocto ==== If you want to use Yocto to build your rootfs see&nbsp;[http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide]&nbsp;for detail. ==== Buildroot ==== If you want to use Buildroot to build your rootfs see&nbsp;[http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide]&nbsp;for detail. &nbsp; &nbsp; = Devices = If you need the rk3399-excavator&nbsp;board, please communicate through&nbsp;the following&nbsp;contact information. <pre>Telephone: 4007700590 Email: service@rock-chips.com</pre> &nbsp; = See also = [[RK3288|RK3288]] [[RK3399|RK3399]] = Owners of the SoC on IRC = = Commuity Support = = References = 1.[https://en.wikipedia.org/wiki/ARM_Cortex-A53 https://en.wikipedia.org/wiki/ARM_Cortex-A53] = Exteneral Links = &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2cdc20785285f2ad3bab35b5191dde3a0535e69e 416 415 2017-03-09T03:21:51Z Kever 2 wikitext text/x-wiki {{Infobox SoC | image = [[File:rk3328_soc.png|250px]] | manufacturer = Rockcihp | process = 28nm | cpu = Quad-Core ARM Cortex-A53 | ltwo = | extensions = | memory = 2-channel DDR3/LPDDR2, 2-channel DDR3L, maximum of 4GB total (2GB per channel) | gpu = Mali-450MP2 | vpu = 4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps | apu = | video = HDMI 1.4, | audio = 8 channels I2S/PDM interface, supports 8 channels Mic array | network = | storage = 4x SD Card, eMMC NAND, 2-channel raw NAND | usb = 1* USB2.0 otg, 1* USB 2.0 Host, 1* USB 3.0 Host | other = | release_date = December 2012 | website = http://www.rock-chips.com/a/en/products/RK33_Series/2017/0118/829.html | Product Page }} &nbsp; &nbsp; &nbsp; = Overview = RK3328 offers a high-integration and power efficiency&nbsp;SOC for 4K HDR OTT/IPTV. It support HDR10 ,HLG HDR ,&nbsp;4K 10bits 30fps H.264 video decoder and 4K 10bits 60fps H265 video decoder.Comply with lots of high-performance interface,such as multi-channel display with HDMI2.0a, TV Encoder, the Quad-core GPU can acheive&nbsp;high-resolution display and game. == Cortex-A53 == Quad-core Cortex-A53 is integrated with separate Neon and FPU coprocessor, also with shared L2 Cache.&nbsp; &nbsp; = RK3328 SoC Features = *CPU: **ARM Cortex-A53&nbsp;Quad-Core&nbsp; *GPU **&nbsp;Mali-450MP4 **Comply with Open GL ES1.1/2.0 *Multi-Media: **4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps **1080P other video decoders (VC-1, MPEG-1/2/4, VP8) **1080P video encoder for H.264 and H.265 **Support HDR10 ,HLG HDR , Support conversion between SDR and HDR *Display: **HDMI 2.0a for 4K@60Hz with HDCP 1.4/2.2 **Support conversion between Rec.2020 and Rec.709 *Memory: **LPDDR3/DDR3/DDR3L/DDR4 **eMMC 4.51,SDCard, SPI Flash *External interface **USB 2.0 x2 and USB 3.0 x1 **100M Ethernet w/ built-in PHY **Built-in CVBS and audio DAC **8 channels I2S IO and 8 chanel digital PDM input (for MIC array) = History = &nbsp; &nbsp; &nbsp; = Documentation = &nbsp; [http://10.10.10.12:8444/images/9/9e/RK_DDR_Support_List_Ver2.24.pdf RK_DDR_Support_List_Ver2.24] &nbsp; &nbsp; = Software = == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" |- | '''board''' | '''kernel''' | '''uboot''' | '''dts''' |- | RK_EVB_RK3228H_BOX_RK805_DDR3 | rockchip_linux_defconfig | rk3328_linux_defconfig | rk3328r-linux.dts |} &nbsp; &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" |- | '''chip''' | '''Kernel eMMC index''' | '''Kernel SD index''' | '''Uboot eMMC index''' | '''Uboot SD index''' | '''Baud speed''' |- | RK3399 | 1 | 0 | 0 | 1 | 1500000 |} == How to get the sources == The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code.&nbsp;Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github. RK3399 optimized Debian & Buildroot <pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml repo sync </pre> == How to build the sources == === Build Environment === You need a 64-bit&nbsp;Ubuntu. Note: old versions&nbsp;Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so Install&nbsp;ARM cross-compile tool chain and compile kernel relative&nbsp;software package:&nbsp; $ sudo apt-get install gcc-arm-linux-gnueabihf&nbsp;gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev === Installing the build tools and download source === Please follow&nbsp;[http://rockchip.wikidot.com/linux-user-guide linux user guide]&nbsp;to install the build tools and download source. &nbsp; === Building kernel === For ARM V8 (RK3399 optimized SDK) <pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre> === Building uboot === For RK3399 optimized SDK (rkproduct uboot) <pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre> === Building rootfs === ==== Debian ==== You&nbsp;can download the prebuilt image directly. [http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive] or you could use the&nbsp;[https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script]&nbsp;from Rockchip to build rootfs yourselves. ==== Yocto ==== If you want to use Yocto to build your rootfs see&nbsp;[http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide]&nbsp;for detail. ==== Buildroot ==== If you want to use Buildroot to build your rootfs see&nbsp;[http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide]&nbsp;for detail. &nbsp; &nbsp; = Devices = If you need the rk3399-excavator&nbsp;board, please communicate through&nbsp;the following&nbsp;contact information. <pre>Telephone: 4007700590 Email: service@rock-chips.com</pre> &nbsp; = See also = [[RK3288|RK3288]] [[RK3399|RK3399]] = Owners of the SoC on IRC = = Commuity Support = = References = 1.[https://en.wikipedia.org/wiki/ARM_Cortex-A53 https://en.wikipedia.org/wiki/ARM_Cortex-A53] = Exteneral Links = &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 9c0cb95c3985b676ee42aa54e98754797a4df6ef 417 416 2017-03-09T03:22:54Z Kever 2 wikitext text/x-wiki {{Infobox SoC | title = RK3328 | image = [[File:rk3328_soc.png|250px]] | manufacturer = Rockcihp | process = 28nm | cpu = Quad-Core ARM Cortex-A53 | ltwo = | extensions = | memory = 2-channel DDR3/LPDDR2, 2-channel DDR3L, maximum of 4GB total (2GB per channel) | gpu = Mali-450MP2 | vpu = 4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps | apu = | video = HDMI 1.4, | audio = 8 channels I2S/PDM interface, supports 8 channels Mic array | network = | storage = 4x SD Card, eMMC NAND, 2-channel raw NAND | usb = 1* USB2.0 otg, 1* USB 2.0 Host, 1* USB 3.0 Host | other = | release_date = December 2012 | website = http://www.rock-chips.com/a/en/products/RK33_Series/2017/0118/829.html | Product Page }} &nbsp; &nbsp; &nbsp; = Overview = RK3328 offers a high-integration and power efficiency&nbsp;SOC for 4K HDR OTT/IPTV. It support HDR10 ,HLG HDR ,&nbsp;4K 10bits 30fps H.264 video decoder and 4K 10bits 60fps H265 video decoder.Comply with lots of high-performance interface,such as multi-channel display with HDMI2.0a, TV Encoder, the Quad-core GPU can acheive&nbsp;high-resolution display and game. == Cortex-A53 == Quad-core Cortex-A53 is integrated with separate Neon and FPU coprocessor, also with shared L2 Cache.&nbsp; &nbsp; = RK3328 SoC Features = *CPU: **ARM Cortex-A53&nbsp;Quad-Core&nbsp; *GPU **&nbsp;Mali-450MP4 **Comply with Open GL ES1.1/2.0 *Multi-Media: **4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps **1080P other video decoders (VC-1, MPEG-1/2/4, VP8) **1080P video encoder for H.264 and H.265 **Support HDR10 ,HLG HDR , Support conversion between SDR and HDR *Display: **HDMI 2.0a for 4K@60Hz with HDCP 1.4/2.2 **Support conversion between Rec.2020 and Rec.709 *Memory: **LPDDR3/DDR3/DDR3L/DDR4 **eMMC 4.51,SDCard, SPI Flash *External interface **USB 2.0 x2 and USB 3.0 x1 **100M Ethernet w/ built-in PHY **Built-in CVBS and audio DAC **8 channels I2S IO and 8 chanel digital PDM input (for MIC array) = History = &nbsp; &nbsp; &nbsp; = Documentation = &nbsp; [http://10.10.10.12:8444/images/9/9e/RK_DDR_Support_List_Ver2.24.pdf RK_DDR_Support_List_Ver2.24] &nbsp; &nbsp; = Software = == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" |- | '''board''' | '''kernel''' | '''uboot''' | '''dts''' |- | RK_EVB_RK3228H_BOX_RK805_DDR3 | rockchip_linux_defconfig | rk3328_linux_defconfig | rk3328r-linux.dts |} &nbsp; &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" |- | '''chip''' | '''Kernel eMMC index''' | '''Kernel SD index''' | '''Uboot eMMC index''' | '''Uboot SD index''' | '''Baud speed''' |- | RK3399 | 1 | 0 | 0 | 1 | 1500000 |} == How to get the sources == The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code.&nbsp;Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github. RK3399 optimized Debian & Buildroot <pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml repo sync </pre> == How to build the sources == === Build Environment === You need a 64-bit&nbsp;Ubuntu. Note: old versions&nbsp;Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so Install&nbsp;ARM cross-compile tool chain and compile kernel relative&nbsp;software package:&nbsp; $ sudo apt-get install gcc-arm-linux-gnueabihf&nbsp;gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev === Installing the build tools and download source === Please follow&nbsp;[http://rockchip.wikidot.com/linux-user-guide linux user guide]&nbsp;to install the build tools and download source. &nbsp; === Building kernel === For ARM V8 (RK3399 optimized SDK) <pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre> === Building uboot === For RK3399 optimized SDK (rkproduct uboot) <pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre> === Building rootfs === ==== Debian ==== You&nbsp;can download the prebuilt image directly. [http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive] or you could use the&nbsp;[https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script]&nbsp;from Rockchip to build rootfs yourselves. ==== Yocto ==== If you want to use Yocto to build your rootfs see&nbsp;[http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide]&nbsp;for detail. ==== Buildroot ==== If you want to use Buildroot to build your rootfs see&nbsp;[http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide]&nbsp;for detail. &nbsp; &nbsp; = Devices = If you need the rk3399-excavator&nbsp;board, please communicate through&nbsp;the following&nbsp;contact information. <pre>Telephone: 4007700590 Email: service@rock-chips.com</pre> &nbsp; = See also = [[RK3288|RK3288]] [[RK3399|RK3399]] = Owners of the SoC on IRC = = Commuity Support = = References = 1.[https://en.wikipedia.org/wiki/ARM_Cortex-A53 https://en.wikipedia.org/wiki/ARM_Cortex-A53] = Exteneral Links = &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; bb39559c3e5b2e6d50c9c1f86694cff92f351df9 File:Rk3328 soc.png 6 58 411 2017-03-09T03:14:24Z Kever 2 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 Template:Infobox SoC 10 43 419 403 2017-03-09T03:25:58Z Kever 2 wikitext text/x-wiki <table class="infobox" cellspacing="5" style="width:300px;"> <tr><th colspan="2" class="" style="text-align:center; font-size:125%; font-weight:bold; background: #dedede;">{{{title}}}</th></tr> <tr class=""><td colspan="2" class="" style="text-align:center;"> {{{image}}}</td></tr> <tr class=""><th scope="row" style="text-align:left;">Manufacturer</th><td class="" style=""> {{{manufacturer}}}</td></tr> <tr class=""><th scope="row" style="text-align:left;">Process</th><td class="" style=""> {{{process}}}</td></tr> <tr class=""><th scope="row" style="text-align:left;">CPU</th><td class="" style=""> {{{cpu}}}</td></tr> <tr class=""><th scope="row" style="text-align:left;">Memory</th><td class="" style=""> {{{memory}}}</td></tr> <tr class=""><th scope="row" style="text-align:left;">GPU</th><td class="" style=""> {{{gpu}}}</td></tr> <tr><th colspan="2" class="" style="text-align:center; background: #dedede;">Connectivity</th></tr> <tr class=""><th scope="row" style="text-align:left;">Video</th><td class="" style=""> {{{video}}}</td></tr> <tr class=""><th scope="row" style="text-align:left;">Audio</th><td class="" style=""> {{{audio}}}</td></tr> <tr class=""><th scope="row" style="text-align:left;">Storage</th><td class="" style=""> {{{storage}}}</td></tr> <tr class=""><th scope="row" style="text-align:left;">USB</th><td class="" style=""> {{{usb}}}</td></tr> <tr class=""><th scope="row" style="text-align:left;">Release Date</th><td class="" style=""> {{{release_date}}}</td></tr> <tr class=""><th scope="row" style="text-align:left;">Website</th><td class="" style=""> [{{{website}}} Product Page] </td></tr> </table> 451ac23eed4f2b25119d97ec39327c8406175281 RK3288 0 20 420 401 2017-03-09T03:36:53Z Kever 2 wikitext text/x-wiki {{Infobox SoC | title = RK3288 | image = [[File:rk3288_soc.png|200px]] | manufacturer = Rockcihp | process = 28nm | cpu = Quad-Core ARM Cortex-A17 | ltwo = | extensions = | memory = 2-channel DDR3/LPDDR2, 2-channel DDR3L, maximum of 4GB total (2GB per channel) | gpu = SGX544 | vpu = | apu = | video = HDMI 1.4, MIPI DSI, 2-channel LVDS, 2-channel RGB LCD | audio = I2S, PCM | network = | storage = 4x SD Card, eMMC NAND, 2-channel raw NAND | usb = OTG, 2x Host | other = | release_date = December 2012 | website = http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html }} &nbsp; &nbsp; &nbsp; Integrated with a Quad-Core Cortex-A17 which up to 1.8GHz and ARMMali-T764&nbsp;which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant&nbsp;interfaces provide&nbsp;a friendly solution for product&nbsp;development. Futhermore &nbsp; &nbsp; &nbsp; = Overview = The RK3288 offers&nbsp;an extensible, leading&nbsp;performance,long-standing heritage platform,ideally suited for &nbsp;set-top box solution, tablet and chromebook.The platform is integrated with a Quad-Core Cortex-A17 which up to 1.8GHz and ARM Mali-T764&nbsp;which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant&nbsp;interfaces provide&nbsp;a friendly solution for product&nbsp;development. Futhermore, the power consumption is&nbsp;optimal for applications such as imaging/video, communication and broadband infrastructure,and performance audio applications. &nbsp; = RK3288 SoC Features = *CPU: **Quad Core Cortex-A17&nbsp;up to 1.8GHz **32KB L1-Cache **1MB L2-Cache *GPU: **ARM Mali-T764 GPU, with TE, ASTC, AFBC technology **Quad core 3D Graphics engine **Dual core 2D Graphics engine **Comply with&nbsp;OpenGL ES1.1/2.0/3.0, OpenVG1.1, OpenCL, DirectX11 *Display: **4Kx2K@60fpsHDMI2.0 **Up to 3840X2160 display resolution **Support dual-channel LVDS/dual-channel MIPI-DSI/eDP1.1 *Camera: **Support up to 5M pixels **8bits/10bits/12bits raw data interface&nbsp; *Memory: **Dual channels 64-bit DRAM controller **Support DDR3/DDR3L, LPDDR2, LPDDR3 *Connectivity: **Embedded 13M ISP and MIPI-CSI2 interface *Audio: **I2S/PCM with 8 channels *OS: **Support Android 4.2 or up = Devices = Rockchip: EVB-RK3328 Firefly: [[Firefly-RK3288|Firefly-RK3288]]<br/> [[Firefly-RK3288_reload|Firefly-RK3288 reload]]<br/> [[Rock2_Square|Rock2 Square]]<br/> [[Rock2_Full|Rock2 Full]]<br/> [[MiQi|MiQi]]<br/> [[Popmetal|Popmetal]]<br/> [[Fennec|Fennec]]<br/> [[PhyCORE-RK3288|phyCORE-RK3288]] ASUS: Tinker board = Documentation = #[http://10.10.10.12:8444/images/4/4e/Rockchip_RK3288_Datasheet_V2.2-20170301.pdf Rockchip_RK3288_Datasheet_V2.2-20170301] = Software = == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" |- | '''board''' | '''kernel''' | '''uboot''' | '''dts''' |- | RK3288_MAINBOARD_V3.0 | rockchip_linux_defconfig | rk3288_linux_defconfig | rk-linux.dts |} &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" |- | '''chip''' | '''Kernel eMMC index''' | '''Kernel SD index''' | '''Uboot eMMC index''' | '''Uboot SD index''' | '''Baud speed''' |- | RK3288 | 1 | 0 | 0 | 1 | 115200 |} = See also = [[RK3328|RK3328]] [[RK3399|RK3399]] = References = #[https://en.wikipedia.org/wiki/ARM_Cortex-A17 https://en.wikipedia.org/wiki/ARM_Cortex-A17] #[http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html] c6eba081680bfee7b9931cc44dc821baf9f9c133 434 420 2017-03-09T06:28:44Z Kever 2 wikitext text/x-wiki {{Infobox SoC | title = RK3288 | image = [[File:rk3288_soc.png|200px]] | manufacturer = Rockcihp | process = 28nm | cpu = Quad-Core ARM Cortex-A17 | ltwo = | extensions = | memory = 2-channel DDR3/LPDDR2, 2-channel DDR3L, maximum of 4GB total (2GB per channel) | gpu = SGX544 | vpu = | apu = | video = HDMI 1.4, MIPI DSI, 2-channel LVDS, 2-channel RGB LCD | audio = I2S, PCM | network = | storage = 4x SD Card, eMMC NAND, 2-channel raw NAND | usb = OTG, 2x Host | other = | release_date = December 2012 | website = http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html }} &nbsp; &nbsp; &nbsp; Integrated with a Quad-Core #REDIRECT which up to 1.8GHz and ARMMali-T764&nbsp;which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant&nbsp;interfaces provide&nbsp;a friendly solution for product&nbsp;development. Futhermore &nbsp; &nbsp; &nbsp; = Overview = The RK3288 offers&nbsp;an extensible, leading&nbsp;performance,long-standing heritage platform,ideally suited for &nbsp;set-top box solution, tablet and chromebook.The platform is integrated with a Quad-Core Cortex-A17 which up to 1.8GHz and ARM Mali-T764&nbsp;which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant&nbsp;interfaces provide&nbsp;a friendly solution for product&nbsp;development. Futhermore, the power consumption is&nbsp;optimal for applications such as imaging/video, communication and broadband infrastructure,and performance audio applications. &nbsp; = RK3288 SoC Features = *CPU: **Quad Core Cortex-A17&nbsp;up to 1.8GHz **32KB L1-Cache **1MB L2-Cache *GPU: **ARM Mali-T764 GPU, with TE, ASTC, AFBC technology **Quad core 3D Graphics engine **Dual core 2D Graphics engine **Comply with&nbsp;OpenGL ES1.1/2.0/3.0, OpenVG1.1, OpenCL, DirectX11 *Display: **4Kx2K@60fpsHDMI2.0 **Up to 3840X2160 display resolution **Support dual-channel LVDS/dual-channel MIPI-DSI/eDP1.1 *Camera: **Support up to 5M pixels **8bits/10bits/12bits raw data interface&nbsp; *Memory: **Dual channels 64-bit DRAM controller **Support DDR3/DDR3L, LPDDR2, LPDDR3 *Connectivity: **Embedded 13M ISP and MIPI-CSI2 interface *Audio: **I2S/PCM with 8 channels *OS: **Support Android 4.2 or up = Devices = Rockchip: EVB-RK3328 Firefly: [[Firefly-RK3288|Firefly-RK3288]]<br/> [[Firefly-RK3288_reload|Firefly-RK3288 reload]]<br/> [[Rock2_Square|Rock2 Square]]<br/> [[Rock2_Full|Rock2 Full]]<br/> [[MiQi|MiQi]]<br/> [[Popmetal|Popmetal]]<br/> [[Fennec|Fennec]]<br/> [[PhyCORE-RK3288|phyCORE-RK3288]] ASUS: Tinker board = Documentation = #[http://10.10.10.12:8444/images/4/4e/Rockchip_RK3288_Datasheet_V2.2-20170301.pdf Rockchip_RK3288_Datasheet_V2.2-20170301] = Software = == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" |- | '''board''' | '''kernel''' | '''uboot''' | '''dts''' |- | RK3288_MAINBOARD_V3.0 | rockchip_linux_defconfig | rk3288_linux_defconfig | rk-linux.dts |} &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" |- | '''chip''' | '''Kernel eMMC index''' | '''Kernel SD index''' | '''Uboot eMMC index''' | '''Uboot SD index''' | '''Baud speed''' |- | RK3288 | 1 | 0 | 0 | 1 | 115200 |} = See also = [[RK3328|RK3328]] [[RK3399|RK3399]] = References = #[https://en.wikipedia.org/wiki/ARM_Cortex-A17 https://en.wikipedia.org/wiki/ARM_Cortex-A17] #[http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html] acce92f3c0ccdddd9f1eb1f524bb7da8f078e20f 435 434 2017-03-09T06:29:27Z Kever 2 wikitext text/x-wiki {{Infobox SoC | title = RK3288 | image = [[File:rk3288_soc.png|200px]] | manufacturer = Rockcihp | process = 28nm | cpu = Quad-Core ARM Cortex-A17 | ltwo = | extensions = | memory = 2-channel DDR3/LPDDR2, 2-channel DDR3L, maximum of 4GB total (2GB per channel) | gpu = SGX544 | vpu = | apu = | video = HDMI 1.4, MIPI DSI, 2-channel LVDS, 2-channel RGB LCD | audio = I2S, PCM | network = | storage = 4x SD Card, eMMC NAND, 2-channel raw NAND | usb = OTG, 2x Host | other = | release_date = December 2012 | website = http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html }} &nbsp; &nbsp; &nbsp; Integrated with a Quad-Core [https://en.wikipedia.org/wiki/ARM_Cortex-A17 Cortex-A17]&nbsp;which up to 1.8GHz and ARMMali-T764&nbsp;which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant&nbsp;interfaces provide&nbsp;a friendly solution for product&nbsp;development. Futhermore &nbsp; &nbsp; &nbsp; = Overview = The RK3288 offers&nbsp;an extensible, leading&nbsp;performance,long-standing heritage platform,ideally suited for &nbsp;set-top box solution, tablet and chromebook.The platform is integrated with a Quad-Core Cortex-A17 which up to 1.8GHz and ARM Mali-T764&nbsp;which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant&nbsp;interfaces provide&nbsp;a friendly solution for product&nbsp;development. Futhermore, the power consumption is&nbsp;optimal for applications such as imaging/video, communication and broadband infrastructure,and performance audio applications. &nbsp; = RK3288 SoC Features = *CPU: **Quad Core Cortex-A17&nbsp;up to 1.8GHz **32KB L1-Cache **1MB L2-Cache *GPU: **ARM Mali-T764 GPU, with TE, ASTC, AFBC technology **Quad core 3D Graphics engine **Dual core 2D Graphics engine **Comply with&nbsp;OpenGL ES1.1/2.0/3.0, OpenVG1.1, OpenCL, DirectX11 *Display: **4Kx2K@60fpsHDMI2.0 **Up to 3840X2160 display resolution **Support dual-channel LVDS/dual-channel MIPI-DSI/eDP1.1 *Camera: **Support up to 5M pixels **8bits/10bits/12bits raw data interface&nbsp; *Memory: **Dual channels 64-bit DRAM controller **Support DDR3/DDR3L, LPDDR2, LPDDR3 *Connectivity: **Embedded 13M ISP and MIPI-CSI2 interface *Audio: **I2S/PCM with 8 channels *OS: **Support Android 4.2 or up = Devices = Rockchip: EVB-RK3328 Firefly: [[Firefly-RK3288|Firefly-RK3288]]<br/> [[Firefly-RK3288_reload|Firefly-RK3288 reload]]<br/> [[Rock2_Square|Rock2 Square]]<br/> [[Rock2_Full|Rock2 Full]]<br/> [[MiQi|MiQi]]<br/> [[Popmetal|Popmetal]]<br/> [[Fennec|Fennec]]<br/> [[PhyCORE-RK3288|phyCORE-RK3288]] ASUS: Tinker board = Documentation = #[http://10.10.10.12:8444/images/4/4e/Rockchip_RK3288_Datasheet_V2.2-20170301.pdf Rockchip_RK3288_Datasheet_V2.2-20170301] = Software = == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" |- | '''board''' | '''kernel''' | '''uboot''' | '''dts''' |- | RK3288_MAINBOARD_V3.0 | rockchip_linux_defconfig | rk3288_linux_defconfig | rk-linux.dts |} &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" |- | '''chip''' | '''Kernel eMMC index''' | '''Kernel SD index''' | '''Uboot eMMC index''' | '''Uboot SD index''' | '''Baud speed''' |- | RK3288 | 1 | 0 | 0 | 1 | 115200 |} = See also = [[RK3328|RK3328]] [[RK3399|RK3399]] = References = #[https://en.wikipedia.org/wiki/ARM_Cortex-A17 https://en.wikipedia.org/wiki/ARM_Cortex-A17] #[http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html] c3e66409cf44cdea9cb46e1a152346b0dfcc5335 436 435 2017-03-09T06:38:52Z Kever 2 wikitext text/x-wiki {{Infobox SoC | title = RK3288 | image = [[File:rk3288_soc.png|200px]] | manufacturer = Rockcihp | process = 28nm | cpu = Quad-Core ARM Cortex-A17 | ltwo = | extensions = | memory = 2-channel DDR3/LPDDR2, 2-channel DDR3L, maximum of 4GB total (2GB per channel) | gpu = SGX544 | vpu = | apu = | video = HDMI 1.4, MIPI DSI, 2-channel LVDS, 2-channel RGB LCD | audio = I2S, PCM | network = | storage = 4x SD Card, eMMC NAND, 2-channel raw NAND | usb = OTG, 2x Host | other = | release_date = December 2012 | website = http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html }} &nbsp; &nbsp; &nbsp; Integrated with a Quad-Core [https://en.wikipedia.org/wiki/ARM_Cortex-A17 Cortex-A17]&nbsp;which up to 1.8GHz and ARMMali-T764&nbsp;which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant&nbsp;interfaces provide&nbsp;a friendly solution for product&nbsp;development. Futhermore &nbsp; &nbsp; &nbsp; = Overview = The RK3288 offers&nbsp;<cite>an extensible</cite>, <var>leading&nbsp;performance</var>,long-standing heritage platform,ideally suited for &nbsp;set-top box solution, tablet and chromebook.The platform is integrated with a Quad-Core Cortex-A17 which up to 1.8GHz and ARM Mali-T764&nbsp;which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant&nbsp;interfaces provide&nbsp;a friendly solution for product&nbsp;development. Futhermore, the power consumption is&nbsp;optimal for applications such as imaging/video, communication and broadband infrastructure,and performance audio applications. --[[User:Kever|Kever]] ([[User talk:Kever|talk]]) 14:38, 9 March 2017 (CST) = RK3288 SoC Features = *CPU: **Quad Core Cortex-A17&nbsp;up to 1.8GHz **32KB L1-Cache **1MB L2-Cache *GPU: **ARM Mali-T764 GPU, with TE, ASTC, AFBC technology **Quad core 3D Graphics engine **Dual core 2D Graphics engine **Comply with&nbsp;OpenGL ES1.1/2.0/3.0, OpenVG1.1, OpenCL, DirectX11 *Display: **4Kx2K@60fpsHDMI2.0 **Up to 3840X2160 display resolution **Support dual-channel LVDS/dual-channel MIPI-DSI/eDP1.1 *Camera: **Support up to 5M pixels **8bits/10bits/12bits raw data interface&nbsp; *Memory: **Dual channels 64-bit DRAM controller **Support DDR3/DDR3L, LPDDR2, LPDDR3 *Connectivity: **Embedded 13M ISP and MIPI-CSI2 interface *Audio: **I2S/PCM with 8 channels *OS: **Support Android 4.2 or up = Devices = Rockchip: EVB-RK3328 Firefly: [[Firefly-RK3288|Firefly-RK3288]]<br/> [[Firefly-RK3288_reload|Firefly-RK3288 reload]]<br/> [[Rock2_Square|Rock2 Square]]<br/> [[Rock2_Full|Rock2 Full]]<br/> [[MiQi|MiQi]]<br/> [[Popmetal|Popmetal]]<br/> [[Fennec|Fennec]]<br/> [[PhyCORE-RK3288|phyCORE-RK3288]] ASUS: Tinker board = Documentation = #[http://10.10.10.12:8444/images/4/4e/Rockchip_RK3288_Datasheet_V2.2-20170301.pdf Rockchip_RK3288_Datasheet_V2.2-20170301] = Software = == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" |- | '''board''' | '''kernel''' | '''uboot''' | '''dts''' |- | RK3288_MAINBOARD_V3.0 | rockchip_linux_defconfig | rk3288_linux_defconfig | rk-linux.dts |} &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" |- | '''chip''' | '''Kernel eMMC index''' | '''Kernel SD index''' | '''Uboot eMMC index''' | '''Uboot SD index''' | '''Baud speed''' |- | RK3288 | 1 | 0 | 0 | 1 | 115200 |} = See also = [[RK3328|RK3328]] [[RK3399|RK3399]] = References = #[https://en.wikipedia.org/wiki/ARM_Cortex-A17 https://en.wikipedia.org/wiki/ARM_Cortex-A17] #[http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html] 3f8a8b58173ea9d706ae0cf8218929388863dbee 437 436 2017-03-09T06:41:35Z Kever 2 wikitext text/x-wiki {{Infobox SoC | title = RK3288 | image = [[File:rk3288_soc.png|200px]] | manufacturer = Rockcihp | process = 28nm | cpu = Quad-Core ARM Cortex-A17 | ltwo = | extensions = | memory = 2-channel DDR3/LPDDR2, 2-channel DDR3L, maximum of 4GB total (2GB per channel) | gpu = SGX544 | vpu = | apu = | video = HDMI 1.4, MIPI DSI, 2-channel LVDS, 2-channel RGB LCD | audio = I2S, PCM | network = | storage = 4x SD Card, eMMC NAND, 2-channel raw NAND | usb = OTG, 2x Host | other = | release_date = December 2012 | website = http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html }} &nbsp; &nbsp; &nbsp; Integrated with a Quad-Core [https://en.wikipedia.org/wiki/ARM_Cortex-A17 Cortex-A17]&nbsp;which up to 1.8GHz and ARMMali-T764&nbsp;which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant&nbsp;interfaces provide&nbsp;a friendly solution for product&nbsp;development. Futhermore &nbsp; &nbsp; &nbsp; = Overview = The RK3288 offers&nbsp;<cite>an extensible</cite>, <var>leading&nbsp;performance</var>,long-standing heritage platform,ideally suited for &nbsp;set-top box solution, tablet and chromebook.The platform is integrated with a Quad-Core Cortex-A17 which up to 1.8GHz and ARM Mali-T764&nbsp;which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant&nbsp;interfaces provide&nbsp;a friendly solution for product&nbsp;development. Futhermore, the power consumption is&nbsp;optimal for applications such as imaging/video, communication and broadband infrastructure,<span style="color:#B22222;"><span style="background-color:#E6E6FA;">and performance audio applications</span></span><span style="background-color:#E6E6FA;">.</span> = RK3288 SoC Features = *CPU: **Quad Core Cortex-A17&nbsp;up to 1.8GHz **32KB L1-Cache **1MB L2-Cache *GPU: **ARM Mali-T764 GPU, with TE, ASTC, AFBC technology **Quad core 3D Graphics engine **Dual core 2D Graphics engine **Comply with&nbsp;OpenGL ES1.1/2.0/3.0, OpenVG1.1, OpenCL, DirectX11 *Display: **4Kx2K@60fpsHDMI2.0 **Up to 3840X2160 display resolution **Support dual-channel LVDS/dual-channel MIPI-DSI/eDP1.1 *Camera: **Support up to 5M pixels **8bits/10bits/12bits raw data interface&nbsp; *Memory: **Dual channels 64-bit DRAM controller **Support DDR3/DDR3L, LPDDR2, LPDDR3 *Connectivity: **Embedded 13M ISP and MIPI-CSI2 interface *Audio: **I2S/PCM with 8 channels *OS: **Support Android 4.2 or up = Devices = Rockchip: EVB-RK3328 Firefly: [[Firefly-RK3288|Firefly-RK3288]]<br/> [[Firefly-RK3288_reload|Firefly-RK3288 reload]]<br/> [[Rock2_Square|Rock2 Square]]<br/> [[Rock2_Full|Rock2 Full]]<br/> [[MiQi|MiQi]]<br/> [[Popmetal|Popmetal]]<br/> [[Fennec|Fennec]]<br/> [[PhyCORE-RK3288|phyCORE-RK3288]] ASUS: Tinker board = Documentation = #[http://10.10.10.12:8444/images/4/4e/Rockchip_RK3288_Datasheet_V2.2-20170301.pdf Rockchip_RK3288_Datasheet_V2.2-20170301] = Software = == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" |- | '''board''' | '''kernel''' | '''uboot''' | '''dts''' |- | RK3288_MAINBOARD_V3.0 | rockchip_linux_defconfig | rk3288_linux_defconfig | rk-linux.dts |} &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" |- | '''chip''' | '''Kernel eMMC index''' | '''Kernel SD index''' | '''Uboot eMMC index''' | '''Uboot SD index''' | '''Baud speed''' |- | RK3288 | 1 | 0 | 0 | 1 | 115200 |} = See also = [[RK3328|RK3328]] [[RK3399|RK3399]] = References = #[https://en.wikipedia.org/wiki/ARM_Cortex-A17 https://en.wikipedia.org/wiki/ARM_Cortex-A17] #[http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html] 4c9b8429f30f22b8d8e347ab3bf516202998f844 Devices 0 49 421 372 2017-03-09T03:38:34Z Kever 2 wikitext text/x-wiki Here list the boards that appear&nbsp;at upstream or Rockchip github&nbsp;source code. = RK3288 Boards = [[Firefly-RK3288]] [[ASUS_Tinker|ASUS Tinker Board]] &nbsp; &nbsp; = RK3399 Boards = Rockchip: RK3399&nbsp;[[Excavator_sapphire_board|Excavator sapphire]] Firefly: [[Firefly-RK3399|Firefly-RK3399]] = RK3328 Boards = ec895d53e65ab77c46e8371ac745cc03b0da0dcb File:RK3399 Linux Buildroot System Development Guide.pdf 6 26 433 222 2017-03-09T06:20:53Z Kevan 10 Kevan uploaded a new version of [[File:RK3399 Linux Buildroot System Development Guide.pdf]] wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 438 433 2017-03-09T06:43:35Z Kevan 10 Kevan uploaded a new version of [[File:RK3399 Linux Buildroot System Development Guide.pdf]] wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 U-Boot 0 11 439 353 2017-03-09T06:46:02Z Kever 2 wikitext text/x-wiki U-Boot Guide = Download U-Boot = == Upstream U-Boot == You can clone the u-boot repository by running: <pre>git clone git://git.denx.de/u-boot.git</pre> Alternatively you can use u-boot-rockchip instead which may with some patches not get in mainline: <pre>git clone git://git.denx.de/u-boot-rockchip.git</pre> == Rockchp U-Boot == You can clone the u-boot repository by running: <pre>git clone https://github.com/rockchip-linux/u-boot.git </pre> = Supported Devices = Upstream U-Boot support Rockchip SoCs: RK3036, RK3188, [[RK3288|RK3288]], [[RK3328|RK3328]], [[RK3399|RK3399]] &nbsp; *RK3036 boards supported: <ol style="margin-left: 40px;"> <li>EVB RK3036 - use evb-rk3036 configuration</li> <li>Kylin - use kylin_rk3036 configuration</li> </ol> *RK3288 boards supported: <ol style="margin-left: 40px;"> <li>EVB RK3288 - use evb-rk3288 configuration</li> <li>Fennec RK3288 - use fennec-rk3288 configuration</li> <li>Firefly RK3288 - use firefly-rk3288 configuration</li> <li>Hisense Chromebook - use chromebook_jerry configuration</li> <li>Miniarm RK3288 - use miniarm-rk3288 configuration</li> <li>PopMetal RK3288 - use popmetal-rk3288 configuration</li> <li>Radxa Rock 2 - use rock2 configuration</li> <li>ASUS Tinker</li> </ol> *RK3188 boards&nbsp;supported: <ol style="margin-left: 40px;"> <li>Radxa Rock - use rock&nbsp;configuration</li> </ol> *RK3328 boards&nbsp;supported: <ol style="margin-left: 40px;"> <li>EVB RK3328 - use evb-rk3328 configuration</li> </ol> *RK3399 boards&nbsp;supported: <ol style="margin-left: 40px;"> <li>EVB RK3399 - use evb-rk3399 configuration</li> </ol> &nbsp; = Configure U-Boot = First you need to chose a correct defconfig for your board; When you have determined what <board_name> you want to build, configure: <pre>make CROSS_COMPILE=arm-linux-gnueabi-&nbsp;<board_name>_defconfig</pre> You may need to change the U-Boot function/feature support by modify the defconfig file or, there is also menuconfig to play with settings if you feel like it: <pre>make CROSS_COMPILE=arm-linux-gnueabi- menuconfig</pre> &nbsp; &nbsp; = Build U-Boot = == Get a toolchain == If you haven't done so before, get a suitable&nbsp;toolchain&nbsp;installed and added to your PATH. In Ubuntu 14.04, you can use below command to install cross compiler for armv7: <pre>sudo apt-get install gcc-arm-linux-gnueabi</pre> Or for ARM64 <pre>sudo apt-get install gcc-aarch64-linux-gnu </pre> &nbsp; == Build == For armv7: <pre>make CROSS_COMPILE=arm-linux-gnueabi-</pre> or for ARM64: <pre>make ARCH=arm CROSS_COMPILE=aarch64-linux-gnu-</pre> In order to support debug in ARM DS-5, you may need add ctags in make command: <pre>CFLAGS='-gdwarf-3'</pre> = Istall U-Boot = Rockchp SoCs's bootrom need special format named IDBlock at special offset 0x64 block for boot, so we need to package&nbsp;SPL(or Rockchip miniloader) &nbsp;in IDB format. Rockchp bootrom supports SPL back to bootrom and bootrom load the U-Boot, so the SPL for Rockchip SoCs can option to back to bootrom, usually decide by if the IRAM is enought for driver to load U-Boot. == Using U-Boot SPL == After build&nbsp;complete, U-Boot with SPL support will generate a spl folder with <var>u-boot-spl.bin</var>&nbsp;inside <pre>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl.bin rk3288_idb.img</pre> This image is suppose to flash to offset 0x64. For&nbsp;<var>u-boot.bin</var>, it's diffrent for SPL back to bootrom or not, if enable&nbsp;CONFIG_ROCKCHIP_SPL_BACK_TO_BROM, we can append the U-Boot to IDB data: <pre>cat u-boot.bin >> rk3288_idb.img</pre> <code>If&nbsp;</code>CONFIG_ROCKCHIP_SPL_BACK_TO_BROM&nbsp;not enabled, no more package operation is need for u-boot-dtb.bin, and it need to flalsh to 0x200 which is decide by&nbsp;CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR. == Support ATF with SPL FIT image == == Using Rockchip miniloader == Alternatively, you can use Rockchip miniloader and U-Boot instead which do not need SPL. The miniloader is package as IDBlock, and the u-boot.bin need to package with rockchip tool: <pre>loaderimage --pack --uboot u-boot.bin rk3288_uboot.img</pre> According to the [[partitions]] definition, this output should write to offset 0x4000. = Boot = == Boot from eMMC == == Boot from SD/TF Card == == Boot from USB-Disk == == Netboot/TFTP == == Distro boot == = U-Boot download = In U-Boot, there are multi way to update image for system, you can chose any of one easy use for you. == fastboot == See [[fastboot]] == ums == 0ff3c7147796f574e8567982409bde2d3413a22a 440 439 2017-03-09T06:49:38Z Kever 2 wikitext text/x-wiki U-Boot Guide = Download U-Boot = == Upstream U-Boot == You can clone the u-boot repository by running: <pre>git clone git://git.denx.de/u-boot.git</pre> Alternatively you can use u-boot-rockchip instead which may with some patches not get in mainline: <pre>git clone git://git.denx.de/u-boot-rockchip.git</pre> == Rockchp U-Boot == You can clone the u-boot repository by running: <pre>git clone https://github.com/rockchip-linux/u-boot.git </pre> = Supported Devices = Upstream U-Boot support Rockchip SoCs: RK3036, RK3188, [[RK3288|RK3288]], [[RK3328|RK3328]], [[RK3399|RK3399]] &nbsp; *RK3036 boards supported: <ol style="margin-left: 40px;"> <li>EVB RK3036 - use evb-rk3036 configuration</li> <li>Kylin - use kylin_rk3036 configuration</li> </ol> *RK3288 boards supported: <ol style="margin-left: 40px;"> <li>EVB RK3288 - use evb-rk3288 configuration</li> <li>Fennec RK3288 - use fennec-rk3288 configuration</li> <li>Firefly RK3288 - use firefly-rk3288 configuration</li> <li>Hisense Chromebook - use chromebook_jerry configuration</li> <li>Miniarm RK3288 - use miniarm-rk3288 configuration</li> <li>PopMetal RK3288 - use popmetal-rk3288 configuration</li> <li>Radxa Rock 2 - use rock2 configuration</li> <li>ASUS Tinker</li> </ol> *RK3188 boards&nbsp;supported: <ol style="margin-left: 40px;"> <li>Radxa Rock - use rock&nbsp;configuration</li> </ol> *RK3328 boards&nbsp;supported: <ol style="margin-left: 40px;"> <li>EVB RK3328 - use evb-rk3328 configuration</li> </ol> *RK3399 boards&nbsp;supported: <ol style="margin-left: 40px;"> <li>EVB RK3399 - use evb-rk3399 configuration</li> </ol> &nbsp; = Configure U-Boot = First you need to chose a correct defconfig for your board; When you have determined what <board_name> you want to build, configure: <pre>make CROSS_COMPILE=arm-linux-gnueabi-&nbsp;<board_name>_defconfig</pre> You may need to change the U-Boot function/feature support by modify the defconfig file or, there is also menuconfig to play with settings if you feel like it: <pre>make CROSS_COMPILE=arm-linux-gnueabi- menuconfig</pre> &nbsp; &nbsp; = Build U-Boot = == Get a toolchain == If you haven't done so before, get a suitable&nbsp;toolchain&nbsp;installed and added to your PATH. In Ubuntu 14.04, you can use below command to install cross compiler for armv7: <pre>sudo apt-get install gcc-arm-linux-gnueabi</pre> Or for ARM64 <pre>sudo apt-get install gcc-aarch64-linux-gnu </pre> &nbsp; == Build == For armv7: <pre>make CROSS_COMPILE=arm-linux-gnueabi-</pre> or for ARM64: <pre>make ARCH=arm CROSS_COMPILE=aarch64-linux-gnu-</pre> In order to support debug in ARM DS-5, you may need add ctags in make command: <pre>CFLAGS='-gdwarf-3'</pre> = Istall U-Boot = Rockchp SoCs's bootrom need special format named IDBlock at special offset 0x64 block for boot, so we need to package&nbsp;SPL(or Rockchip miniloader) &nbsp;in IDB format. Rockchp bootrom supports SPL back to bootrom and bootrom load the U-Boot, so the SPL for Rockchip SoCs can option to back to bootrom, usually decide by if the IRAM is enought for driver to load U-Boot. == Using U-Boot SPL == After build&nbsp;complete, U-Boot with SPL support will generate a spl folder with <var>u-boot-spl.bin</var>&nbsp;inside <pre>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl.bin rk3288_idb.img</pre> '''This image is suppose to flash to offset 0x64.''' For&nbsp;<var>u-boot.bin</var>, it's diffrent for SPL back to bootrom or not, if enable&nbsp;CONFIG_ROCKCHIP_SPL_BACK_TO_BROM, we can append the U-Boot to IDB data: <pre>cat u-boot.bin >> rk3288_idb.img</pre> <code>If&nbsp;</code>CONFIG_ROCKCHIP_SPL_BACK_TO_BROM&nbsp;not enabled, no more package operation is need for u-boot-dtb.bin, and it need to flalsh to 0x200 which is decide by&nbsp;CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR. == Support ATF with SPL FIT image == == Using Rockchip miniloader == Alternatively, you can use Rockchip miniloader and U-Boot instead which do not need SPL. The miniloader is package as IDBlock, and the u-boot.bin need to package with rockchip tool: <pre>loaderimage --pack --uboot u-boot.bin rk3288_uboot.img</pre> According to the [[partitions]] definition, this output should write to offset 0x4000. = Boot = == Boot from eMMC == == Boot from SD/TF Card == == Boot from USB-Disk == == Netboot/TFTP == == Distro boot == = U-Boot download = In U-Boot, there are multi way to update image for system, you can chose any of one easy use for you. == fastboot == See [[fastboot]] == ums == 2974b542e3b30b8e52bb7be6e6294598f701a6e5 RK3399 0 21 441 386 2017-03-09T06:54:00Z Kevan 10 wikitext text/x-wiki Rockchip RK3399 SoC integrates&nbsp;dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor, and with&nbsp;ARM Mali-T864 GPU. {| border="0" cellpadding="1" cellspacing="0" class="infobox" style="width: 200px;" |- | [[File:RK3399 Soc.png|RTENOTITLE]] |} = Overview = RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications. = SoC Features = {| border="0" cellpadding="1" cellspacing="1" style="width: 972px;" |- | style="width: 530px;" | *CPU: **Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU **Frequency is over 1.8GHz (Big cluster) *GPU: **&nbsp;Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11 **Supports AFBC (ARM Frame Buffer Compression) *Display: **Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600 **Dual channel MIPI-DSI (4 lanes per channel) **eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR **HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2 **DisplayPort 1.2 (4 lanes, up to 4K 60Hz) **Supports Rec.2020 and conversion to Rec.709 *Camera: **&nbsp;Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels *Memory: **Dual channels 64-bit DRAM controller **Support DDR3/DDR3L, LPDDR3, LPDDR4 *Connectivity: **PCIe 2.1 (4 full-duplex lanes with 20Gbps) **Embedded low power MCU for other application **8 channels I2S supports 8 channels RX or 8 channels TX | style="width: 429px;" | [[File:RK3399 Block Diagram.png|RTENOTITLE]] |} = Documentation = #[http://10.10.10.12:8444/images/6/60/Rockchip_RK3399_Datasheet_V1.6-20170301.pdf Rockchip_RK3399_Datasheet_V1.6-20170301] #[http://10.10.10.12:8444/images/2/27/RK3399_Linux_Debian_System_Development_Guide.pdf RK3399_Linux_Debian_System_Development_Guide] #[http://10.10.10.12:8444/images/9/9e/RK_DDR_Support_List_Ver2.24.pdf RK_DDR_Support_List_Ver2.24] = Software = == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" style="line-height: 1.6; width: 768px;" |- | style="width: 119px; text-align: center;" | '''board''' | style="width: 172px; text-align: center;" | '''kernel''' | style="width: 124px; text-align: center;" | '''uboot''' | style="width: 310px; text-align: center;" | '''dts''' |- | style="width: 119px; text-align: center;" | rk3399-excavator | style="width: 172px; text-align: center;" | rockchip_linux_defconfig | style="width: 124px; text-align: center;" | rk3399_linux_defconfig | style="width: 310px; text-align: center;" | rk3399-sapphire-excavator-linux.dts |} == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" style="width: 859px;" |- | style="width: 68px; text-align: center;" | '''chip''' | style="width: 181px; text-align: center;" | '''Kernel eMMC index''' | style="width: 142px; text-align: center;" | '''Kernel SD index''' | style="width: 158px; text-align: center;" | '''Uboot eMMC index''' | style="width: 146px; text-align: center;" | '''Uboot SD index''' | style="width: 132px; text-align: center;" | '''Baud speed''' |- | style="width: 68px; text-align: center;" | RK3399 | style="width: 181px; text-align: center;" | 1 | style="width: 142px; text-align: center;" | 0 | style="width: 158px; text-align: center;" | 0 | style="width: 146px; text-align: center;" | 1 | style="width: 132px; text-align: center;" | 1500000 |} == How to get the sources == The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code.&nbsp;Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github. RK3399 optimized Debian & Buildroot <pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml repo sync </pre> == How to build the sources == === Build Environment === You need a 64-bit&nbsp;Ubuntu. Note: old versions&nbsp;Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so Install&nbsp;ARM cross-compile tool chain and compile kernel relative&nbsp;software package:&nbsp; $ sudo apt-get install gcc-arm-linux-gnueabihf&nbsp;gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev === Building kernel === For ARM V8 (RK3399 optimized SDK) <pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre> === Building uboot === For RK3399 optimized SDK (rkproduct uboot) <pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre> === Building rootfs === ==== Debian ==== you could refer to [[Media:RK3399_Linux_Debian_System_Development_Guide.pdf|RK3399 Linux Debian System Development Guide]]&nbsp;from Rockchip to build rootfs yourselves. ==== Buildroot ==== you could refer to [[Media:RK3399_Linux_Buildroot_System_Development_Guide.pdf|RK3399 Linux Buildroot System Development Guide]]&nbsp;from Rockchip to build rootfs yourselves. = Devices = Rockchip: [[Excavator_sapphire_board|Excavator_sapphire_board]] Firefly: [http://wiki.t-firefly.com/index.php/Firefly-RK3399 Firefly-RK3399] If you need the rk3399-excavator&nbsp;board, please communicate through&nbsp;the following&nbsp;contact information. <pre>Telephone: 4007700590 Email: service@rock-chips.com</pre> = See also = [[RK3288|RK3288]] [[RK3328|RK3328]] = Owners of the SoC on IRC = = Commuity Support = = References = = Exteneral Links = 133b2f3c546405724931c7c80f9d6d8352343761 444 441 2017-03-09T07:17:56Z Kevan 10 wikitext text/x-wiki Rockchip RK3399 SoC integrates&nbsp;dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor, and with&nbsp;ARM Mali-T864 GPU. {| border="0" cellpadding="1" cellspacing="0" class="infobox" style="width: 200px;" |- | [[File:RK3399 Soc.png|RTENOTITLE]] |} = Overview = RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications. = SoC Features = {| border="0" cellpadding="1" cellspacing="1" style="width: 972px;" |- | style="width: 530px;" | *CPU: **Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU **Frequency is over 1.8GHz (Big cluster) *GPU: **&nbsp;Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11 **Supports AFBC (ARM Frame Buffer Compression) *Display: **Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600 **Dual channel MIPI-DSI (4 lanes per channel) **eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR **HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2 **DisplayPort 1.2 (4 lanes, up to 4K 60Hz) **Supports Rec.2020 and conversion to Rec.709 *Camera: **&nbsp;Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels *Memory: **Dual channels 64-bit DRAM controller **Support DDR3/DDR3L, LPDDR3, LPDDR4 *Connectivity: **PCIe 2.1 (4 full-duplex lanes with 20Gbps) **Embedded low power MCU for other application **8 channels I2S supports 8 channels RX or 8 channels TX | style="width: 429px;" | [[File:RK3399 Block Diagram.png|RTENOTITLE]] |} = Documentation = #[http://10.10.10.12:8444/images/6/60/Rockchip_RK3399_Datasheet_V1.6-20170301.pdf Rockchip_RK3399_Datasheet_V1.6-20170301] #[http://10.10.10.12:8444/images/2/27/RK3399_Linux_Debian_System_Development_Guide.pdf RK3399_Linux_Debian_System_Development_Guide] #[http://10.10.10.12:8444/images/9/9e/RK_DDR_Support_List_Ver2.24.pdf RK_DDR_Support_List_Ver2.24] = Software = == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" style="line-height: 1.6; width: 768px;" |- | style="width: 119px; text-align: center;" | '''board''' | style="width: 172px; text-align: center;" | '''kernel''' | style="width: 124px; text-align: center;" | '''uboot''' | style="width: 310px; text-align: center;" | '''dts''' |- | style="width: 119px; text-align: center;" | rk3399-excavator | style="width: 172px; text-align: center;" | rockchip_linux_defconfig | style="width: 124px; text-align: center;" | rk3399_linux_defconfig | style="width: 310px; text-align: center;" | rk3399-sapphire-excavator-linux.dts |} == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" style="width: 859px;" |- | style="width: 68px; text-align: center;" | '''chip''' | style="width: 181px; text-align: center;" | '''Kernel eMMC index''' | style="width: 142px; text-align: center;" | '''Kernel SD index''' | style="width: 158px; text-align: center;" | '''Uboot eMMC index''' | style="width: 146px; text-align: center;" | '''Uboot SD index''' | style="width: 132px; text-align: center;" | '''Baud speed''' |- | style="width: 68px; text-align: center;" | RK3399 | style="width: 181px; text-align: center;" | 1 | style="width: 142px; text-align: center;" | 0 | style="width: 158px; text-align: center;" | 0 | style="width: 146px; text-align: center;" | 1 | style="width: 132px; text-align: center;" | 1500000 |} == How to get the sources == The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code.&nbsp;Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github. RK3399 optimized Debian & Buildroot <pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml repo sync </pre> == How to build the sources == === Build Environment === You need a 64-bit&nbsp;Ubuntu. Note: old versions&nbsp;Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so Install&nbsp;ARM cross-compile tool chain and compile kernel relative&nbsp;software package:&nbsp; $ sudo apt-get install gcc-arm-linux-gnueabihf&nbsp;gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev === Building kernel &&nbsp;resource === For RK3399&nbsp;Excavator-sapphire&nbsp;board: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">make ARCH=arm64 rockchip_linux_defconfig &&&nbsp;make&nbsp;ARCH=arm64&nbsp;rk3399-sapphire-excavator-linux.img&nbsp;-j4</div> For&nbsp;Firefly-RK3399 board: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">make ARCH=arm64 rockchip_linux_defconfig && make ARCH=arm64 rk3399-firefly-mini-linux.img -j12&nbsp;</div> === Building uboot === For RK3399 optimized SDK (rkproduct uboot) <pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre> === Building rootfs === ==== Debian ==== you could refer to [[Media:RK3399_Linux_Debian_System_Development_Guide.pdf|RK3399 Linux Debian System Development Guide]]&nbsp;from Rockchip to build rootfs yourselves. ==== Buildroot ==== you could refer to [[Media:RK3399_Linux_Buildroot_System_Development_Guide.pdf|RK3399 Linux Buildroot System Development Guide]]&nbsp;from Rockchip to build rootfs yourselves. = Devices = Rockchip: [[Excavator_sapphire_board|Excavator_sapphire_board]] Firefly: [http://wiki.t-firefly.com/index.php/Firefly-RK3399 Firefly-RK3399] If you need the rk3399-excavator&nbsp;board, please communicate through&nbsp;the following&nbsp;contact information. <pre>Telephone: 4007700590 Email: service@rock-chips.com</pre> = See also = [[RK3288|RK3288]] [[RK3328|RK3328]] = Owners of the SoC on IRC = = Commuity Support = = References = = Exteneral Links = 0522e947a5496232b41f98437d07013f00474b4c 446 444 2017-03-09T07:20:31Z Kevan 10 wikitext text/x-wiki Rockchip RK3399 SoC integrates&nbsp;dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor, and with&nbsp;ARM Mali-T864 GPU. {| border="0" cellpadding="1" cellspacing="0" class="infobox" style="width: 200px;" |- | [[File:RK3399 Soc.png|RTENOTITLE]] |} = Overview = RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications. = SoC Features = {| border="0" cellpadding="1" cellspacing="1" style="width: 972px;" |- | style="width: 530px;" | *CPU: **Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU **Frequency is over 1.8GHz (Big cluster) *GPU: **&nbsp;Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11 **Supports AFBC (ARM Frame Buffer Compression) *Display: **Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600 **Dual channel MIPI-DSI (4 lanes per channel) **eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR **HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2 **DisplayPort 1.2 (4 lanes, up to 4K 60Hz) **Supports Rec.2020 and conversion to Rec.709 *Camera: **&nbsp;Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels *Memory: **Dual channels 64-bit DRAM controller **Support DDR3/DDR3L, LPDDR3, LPDDR4 *Connectivity: **PCIe 2.1 (4 full-duplex lanes with 20Gbps) **Embedded low power MCU for other application **8 channels I2S supports 8 channels RX or 8 channels TX | style="width: 429px;" | [[File:RK3399 Block Diagram.png|RTENOTITLE]] |} = Documentation = #[http://10.10.10.12:8444/images/6/60/Rockchip_RK3399_Datasheet_V1.6-20170301.pdf Rockchip_RK3399_Datasheet_V1.6-20170301] #[http://10.10.10.12:8444/images/2/27/RK3399_Linux_Debian_System_Development_Guide.pdf RK3399_Linux_Debian_System_Development_Guide] #[http://10.10.10.12:8444/images/9/9e/RK_DDR_Support_List_Ver2.24.pdf RK_DDR_Support_List_Ver2.24] = Software = == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" style="line-height: 1.6; width: 768px;" |- | style="width: 119px; text-align: center;" | '''board''' | style="width: 172px; text-align: center;" | '''kernel''' | style="width: 124px; text-align: center;" | '''uboot''' | style="width: 310px; text-align: center;" | '''dts''' |- | style="width: 119px; text-align: center;" | rk3399-excavator | style="width: 172px; text-align: center;" | rockchip_linux_defconfig | style="width: 124px; text-align: center;" | rk3399_linux_defconfig | style="width: 310px; text-align: center;" | rk3399-sapphire-excavator-linux.dts |} == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" style="width: 859px;" |- | style="width: 68px; text-align: center;" | '''chip''' | style="width: 181px; text-align: center;" | '''Kernel eMMC index''' | style="width: 142px; text-align: center;" | '''Kernel SD index''' | style="width: 158px; text-align: center;" | '''Uboot eMMC index''' | style="width: 146px; text-align: center;" | '''Uboot SD index''' | style="width: 132px; text-align: center;" | '''Baud speed''' |- | style="width: 68px; text-align: center;" | RK3399 | style="width: 181px; text-align: center;" | 1 | style="width: 142px; text-align: center;" | 0 | style="width: 158px; text-align: center;" | 0 | style="width: 146px; text-align: center;" | 1 | style="width: 132px; text-align: center;" | 1500000 |} == How to get the sources == The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code.&nbsp;Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github. RK3399 optimized Debian & Buildroot <pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml repo sync </pre> == How to build the sources == === Build Environment === You need a 64-bit&nbsp;Ubuntu. Note: old versions&nbsp;Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so Install&nbsp;ARM cross-compile tool chain and compile kernel relative&nbsp;software package:&nbsp; $ sudo apt-get install gcc-arm-linux-gnueabihf&nbsp;gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev === Building kernel &&nbsp;resource === For RK3399&nbsp;Excavator-sapphire&nbsp;board: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">make ARCH=arm64 rockchip_linux_defconfig && make ARCH=arm64 rk3399-sapphire-excavator-linux.img -j4</div> For&nbsp;Firefly-RK3399 board: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">make ARCH=arm64 rockchip_linux_defconfig && make ARCH=arm64 rk3399-firefly-mini-linux.img -j12&nbsp;</div> === Building uboot === For RK3399 optimized SDK (rkproduct uboot) <pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre> === Building rootfs === ==== Debian ==== you could refer to [[Media:RK3399_Linux_Debian_System_Development_Guide.pdf|RK3399 Linux Debian System Development Guide]]&nbsp;from Rockchip to build rootfs yourselves. ==== Buildroot ==== you could refer to [[Media:RK3399_Linux_Buildroot_System_Development_Guide.pdf|RK3399 Linux Buildroot System Development Guide]]&nbsp;from Rockchip to build rootfs yourselves. = Devices = Rockchip: [[Excavator_sapphire_board|Excavator_sapphire_board]] Firefly: [http://wiki.t-firefly.com/index.php/Firefly-RK3399 Firefly-RK3399] If you need the rk3399-excavator&nbsp;board, please communicate through&nbsp;the following&nbsp;contact information. <pre>Telephone: 4007700590 Email: service@rock-chips.com</pre> = See also = [[RK3288|RK3288]] [[RK3328|RK3328]] = Owners of the SoC on IRC = = Commuity Support = = References = = Exteneral Links = 2d9cca6fb7473732de6b384d2eb1e69210d16cba 450 446 2017-03-09T07:36:59Z Kevan 10 wikitext text/x-wiki Rockchip RK3399 SoC integrates&nbsp;dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor, and with&nbsp;ARM Mali-T864 GPU. {| border="0" cellpadding="1" cellspacing="0" class="infobox" style="width: 200px;" |- | [[File:RK3399 Soc.png|RTENOTITLE]] |} = Overview = RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications. = SoC Features = {| border="0" cellpadding="1" cellspacing="1" style="width: 972px;" |- | style="width: 530px;" | *CPU: **Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU **Frequency is over 1.8GHz (Big cluster) *GPU: **&nbsp;Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11 **Supports AFBC (ARM Frame Buffer Compression) *Display: **Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600 **Dual channel MIPI-DSI (4 lanes per channel) **eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR **HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2 **DisplayPort 1.2 (4 lanes, up to 4K 60Hz) **Supports Rec.2020 and conversion to Rec.709 *Camera: **&nbsp;Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels *Memory: **Dual channels 64-bit DRAM controller **Support DDR3/DDR3L, LPDDR3, LPDDR4 *Connectivity: **PCIe 2.1 (4 full-duplex lanes with 20Gbps) **Embedded low power MCU for other application **8 channels I2S supports 8 channels RX or 8 channels TX | style="width: 429px;" | [[File:RK3399 Block Diagram.png|RTENOTITLE]] |} = Documentation = #[http://10.10.10.12:8444/images/6/60/Rockchip_RK3399_Datasheet_V1.6-20170301.pdf Rockchip_RK3399_Datasheet_V1.6-20170301] #[http://10.10.10.12:8444/images/2/27/RK3399_Linux_Debian_System_Development_Guide.pdf RK3399_Linux_Debian_System_Development_Guide] #[http://10.10.10.12:8444/images/9/9e/RK_DDR_Support_List_Ver2.24.pdf RK_DDR_Support_List_Ver2.24] = Software = == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" style="line-height: 1.6; width: 768px;" |- | style="width: 119px; text-align: center;" | '''board''' | style="width: 172px; text-align: center;" | '''kernel''' | style="width: 124px; text-align: center;" | '''uboot''' | style="width: 310px; text-align: center;" | '''dts''' |- | style="width: 119px; text-align: center;" | rk3399-excavator | style="width: 172px; text-align: center;" | rockchip_linux_defconfig | style="width: 124px; text-align: center;" | rk3399_linux_defconfig | style="width: 310px; text-align: center;" | rk3399-sapphire-excavator-linux.dts |} == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" style="width: 859px;" |- | style="width: 68px; text-align: center;" | '''chip''' | style="width: 181px; text-align: center;" | '''Kernel eMMC index''' | style="width: 142px; text-align: center;" | '''Kernel SD index''' | style="width: 158px; text-align: center;" | '''Uboot eMMC index''' | style="width: 146px; text-align: center;" | '''Uboot SD index''' | style="width: 132px; text-align: center;" | '''Baud speed''' |- | style="width: 68px; text-align: center;" | RK3399 | style="width: 181px; text-align: center;" | 1 | style="width: 142px; text-align: center;" | 0 | style="width: 158px; text-align: center;" | 0 | style="width: 146px; text-align: center;" | 1 | style="width: 132px; text-align: center;" | 1500000 |} == How to get the sources == The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code.&nbsp;Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github. RK3399 optimized Debian & Buildroot <pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml repo sync </pre> == How to build the sources == === Build Environment === You need a 64-bit&nbsp;Ubuntu. Note: old versions&nbsp;Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so Install&nbsp;ARM cross-compile tool chain and compile kernel relative&nbsp;software package:&nbsp; $ sudo apt-get install gcc-arm-linux-gnueabihf&nbsp;gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev === Building kernel &&nbsp;resource === For RK3399&nbsp;Excavator-sapphire&nbsp;board: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">make ARCH=arm64 rockchip_linux_defconfig && make ARCH=arm64 rk3399-sapphire-excavator-linux.img -j12</div> For&nbsp;Firefly-RK3399 board: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">make ARCH=arm64 rockchip_linux_defconfig && make ARCH=arm64 rk3399-firefly-mini-linux.img -j12&nbsp;</div> === Building uboot === For RK3399 optimized SDK (rkproduct uboot) <pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre> === Building rootfs === ==== Debian ==== you could refer to [[Media:RK3399_Linux_Debian_System_Development_Guide.pdf|RK3399 Linux Debian System Development Guide]]&nbsp;from Rockchip to build rootfs yourselves. ==== Buildroot ==== you could refer to [[Media:RK3399_Linux_Buildroot_System_Development_Guide.pdf|RK3399 Linux Buildroot System Development Guide]]&nbsp;from Rockchip to build rootfs yourselves. = Devices = Rockchip: [[Excavator_sapphire_board|Excavator_sapphire_board]] Firefly: [http://wiki.t-firefly.com/index.php/Firefly-RK3399 Firefly-RK3399] If you need the rk3399-excavator&nbsp;board, please communicate through&nbsp;the following&nbsp;contact information. <pre>Telephone: 4007700590 Email: service@rock-chips.com</pre> = See also = [[RK3288|RK3288]] [[RK3328|RK3328]] = Owners of the SoC on IRC = = Commuity Support = = References = = Exteneral Links = b06ca5cce6bed74faa262fb010678889c131f2dc 451 450 2017-03-09T07:38:26Z Kevan 10 wikitext text/x-wiki Rockchip RK3399 SoC integrates&nbsp;dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor, and with&nbsp;ARM Mali-T864 GPU. {| border="0" cellpadding="1" cellspacing="0" class="infobox" style="width: 200px;" |- | [[File:RK3399 Soc.png|RTENOTITLE]] |} = Overview = RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications. = SoC Features = {| border="0" cellpadding="1" cellspacing="1" style="width: 972px;" |- | style="width: 530px;" | *CPU: **Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU **Frequency is over 1.8GHz (Big cluster) *GPU: **&nbsp;Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11 **Supports AFBC (ARM Frame Buffer Compression) *Display: **Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600 **Dual channel MIPI-DSI (4 lanes per channel) **eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR **HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2 **DisplayPort 1.2 (4 lanes, up to 4K 60Hz) **Supports Rec.2020 and conversion to Rec.709 *Camera: **&nbsp;Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels *Memory: **Dual channels 64-bit DRAM controller **Support DDR3/DDR3L, LPDDR3, LPDDR4 *Connectivity: **PCIe 2.1 (4 full-duplex lanes with 20Gbps) **Embedded low power MCU for other application **8 channels I2S supports 8 channels RX or 8 channels TX | style="width: 429px;" | [[File:RK3399 Block Diagram.png|RTENOTITLE]] |} = Documentation = #[http://10.10.10.12:8444/images/6/60/Rockchip_RK3399_Datasheet_V1.6-20170301.pdf Rockchip_RK3399_Datasheet_V1.6-20170301] #[http://10.10.10.12:8444/images/2/27/RK3399_Linux_Debian_System_Development_Guide.pdf RK3399_Linux_Debian_System_Development_Guide] #[http://10.10.10.12:8444/images/9/9e/RK_DDR_Support_List_Ver2.24.pdf RK_DDR_Support_List_Ver2.24] = Software = == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" style="line-height: 1.6; width: 768px;" |- | style="width: 119px; text-align: center;" | '''board''' | style="width: 172px; text-align: center;" | '''kernel''' | style="width: 124px; text-align: center;" | '''uboot''' | style="width: 310px; text-align: center;" | '''dts''' |- | style="width: 119px; text-align: center;" | rk3399-excavator | style="width: 172px; text-align: center;" | rockchip_linux_defconfig | style="width: 124px; text-align: center;" | rk3399_linux_defconfig | style="width: 310px; text-align: center;" | rk3399-sapphire-excavator-linux.dts |} == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" style="width: 859px;" |- | style="width: 68px; text-align: center;" | '''chip''' | style="width: 181px; text-align: center;" | '''Kernel eMMC index''' | style="width: 142px; text-align: center;" | '''Kernel SD index''' | style="width: 158px; text-align: center;" | '''Uboot eMMC index''' | style="width: 146px; text-align: center;" | '''Uboot SD index''' | style="width: 132px; text-align: center;" | '''Baud speed''' |- | style="width: 68px; text-align: center;" | RK3399 | style="width: 181px; text-align: center;" | 1 | style="width: 142px; text-align: center;" | 0 | style="width: 158px; text-align: center;" | 0 | style="width: 146px; text-align: center;" | 1 | style="width: 132px; text-align: center;" | 1500000 |} == How to get the sources == The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code.&nbsp;Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github. RK3399 optimized Debian & Buildroot <pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml repo sync </pre> == How to build the sources == === Build Environment === You need a 64-bit&nbsp;Ubuntu. Note: old versions&nbsp;Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;"><br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so</div> Install&nbsp;ARM cross-compile tool chain and compile kernel relative&nbsp;software package:&nbsp; <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">$ sudo apt-get install gcc-arm-linux-gnueabihf&nbsp;gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev</div> === Building kernel &&nbsp;resource === For RK3399&nbsp;Excavator-sapphire&nbsp;board: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">make ARCH=arm64 rockchip_linux_defconfig && make ARCH=arm64 rk3399-sapphire-excavator-linux.img -j12</div> For&nbsp;Firefly-RK3399 board: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">make ARCH=arm64 rockchip_linux_defconfig && make ARCH=arm64 rk3399-firefly-mini-linux.img -j12&nbsp;</div> === Building uboot === For RK3399 optimized SDK (rkproduct uboot) <pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre> === Building rootfs === ==== Debian ==== you could refer to [[Media:RK3399_Linux_Debian_System_Development_Guide.pdf|RK3399 Linux Debian System Development Guide]]&nbsp;from Rockchip to build rootfs yourselves. ==== Buildroot ==== you could refer to [[Media:RK3399_Linux_Buildroot_System_Development_Guide.pdf|RK3399 Linux Buildroot System Development Guide]]&nbsp;from Rockchip to build rootfs yourselves. = Devices = Rockchip: [[Excavator_sapphire_board|Excavator_sapphire_board]] Firefly: [http://wiki.t-firefly.com/index.php/Firefly-RK3399 Firefly-RK3399] If you need the rk3399-excavator&nbsp;board, please communicate through&nbsp;the following&nbsp;contact information. <pre>Telephone: 4007700590 Email: service@rock-chips.com</pre> = See also = [[RK3288|RK3288]] [[RK3328|RK3328]] = Owners of the SoC on IRC = = Commuity Support = = References = = Exteneral Links = e2bd4bae1c49ef95ff7e52e92184c2cc807c1127 452 451 2017-03-09T07:40:02Z Kevan 10 wikitext text/x-wiki Rockchip RK3399 SoC integrates&nbsp;dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor, and with&nbsp;ARM Mali-T864 GPU. {| border="0" cellpadding="1" cellspacing="0" class="infobox" style="width: 200px;" |- | [[File:RK3399 Soc.png|RTENOTITLE]] |} = Overview = RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications. = SoC Features = {| border="0" cellpadding="1" cellspacing="1" style="width: 972px;" |- | style="width: 530px;" | *CPU: **Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU **Frequency is over 1.8GHz (Big cluster) *GPU: **&nbsp;Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11 **Supports AFBC (ARM Frame Buffer Compression) *Display: **Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600 **Dual channel MIPI-DSI (4 lanes per channel) **eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR **HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2 **DisplayPort 1.2 (4 lanes, up to 4K 60Hz) **Supports Rec.2020 and conversion to Rec.709 *Camera: **&nbsp;Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels *Memory: **Dual channels 64-bit DRAM controller **Support DDR3/DDR3L, LPDDR3, LPDDR4 *Connectivity: **PCIe 2.1 (4 full-duplex lanes with 20Gbps) **Embedded low power MCU for other application **8 channels I2S supports 8 channels RX or 8 channels TX | style="width: 429px;" | [[File:RK3399 Block Diagram.png|RTENOTITLE]] |} = Documentation = #[http://10.10.10.12:8444/images/6/60/Rockchip_RK3399_Datasheet_V1.6-20170301.pdf Rockchip_RK3399_Datasheet_V1.6-20170301] #[http://10.10.10.12:8444/images/2/27/RK3399_Linux_Debian_System_Development_Guide.pdf RK3399_Linux_Debian_System_Development_Guide] #[http://10.10.10.12:8444/images/9/9e/RK_DDR_Support_List_Ver2.24.pdf RK_DDR_Support_List_Ver2.24] = Software = == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" style="line-height: 1.6; width: 768px;" |- | style="width: 119px; text-align: center;" | '''board''' | style="width: 172px; text-align: center;" | '''kernel''' | style="width: 124px; text-align: center;" | '''uboot''' | style="width: 310px; text-align: center;" | '''dts''' |- | style="width: 119px; text-align: center;" | rk3399-excavator | style="width: 172px; text-align: center;" | rockchip_linux_defconfig | style="width: 124px; text-align: center;" | rk3399_linux_defconfig | style="width: 310px; text-align: center;" | rk3399-sapphire-excavator-linux.dts |} == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" style="width: 859px;" |- | style="width: 68px; text-align: center;" | '''chip''' | style="width: 181px; text-align: center;" | '''Kernel eMMC index''' | style="width: 142px; text-align: center;" | '''Kernel SD index''' | style="width: 158px; text-align: center;" | '''Uboot eMMC index''' | style="width: 146px; text-align: center;" | '''Uboot SD index''' | style="width: 132px; text-align: center;" | '''Baud speed''' |- | style="width: 68px; text-align: center;" | RK3399 | style="width: 181px; text-align: center;" | 1 | style="width: 142px; text-align: center;" | 0 | style="width: 158px; text-align: center;" | 0 | style="width: 146px; text-align: center;" | 1 | style="width: 132px; text-align: center;" | 1500000 |} == How to get the sources == The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code.&nbsp;Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github. RK3399 optimized Debian & Buildroot <pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml repo sync </pre> == How to build the sources == === Build Environment === You need a 64-bit&nbsp;Ubuntu. Note: old versions&nbsp;Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;"><br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so</div> Install&nbsp;ARM cross-compile tool chain and compile kernel relative&nbsp;software package:&nbsp; <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">$ sudo apt-get install gcc-arm-linux-gnueabihf&nbsp;gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev</div> === Building kernel &&nbsp;resource === For RK3399&nbsp;Excavator-sapphire&nbsp;board: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">make ARCH=arm64 rockchip_linux_defconfig && make ARCH=arm64 rk3399-sapphire-excavator-linux.img -j12</div> For&nbsp;Firefly-RK3399 board: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">make ARCH=arm64 rockchip_linux_defconfig && make ARCH=arm64 rk3399-firefly-mini-linux.img -j12&nbsp;</div> === Building uboot === For RK3399 optimized SDK (rkproduct uboot) <pre>cd u-boot && make rk3399_linux_defconfig && make ARCHV=aarch64 -j12 && cd .. </pre> === Building rootfs === ==== Debian ==== you could refer to [[Media:RK3399_Linux_Debian_System_Development_Guide.pdf|RK3399 Linux Debian System Development Guide]]&nbsp;from Rockchip to build rootfs yourselves. ==== Buildroot ==== you could refer to [[Media:RK3399_Linux_Buildroot_System_Development_Guide.pdf|RK3399 Linux Buildroot System Development Guide]]&nbsp;from Rockchip to build rootfs yourselves. = Devices = Rockchip: [[Excavator_sapphire_board|Excavator_sapphire_board]] Firefly: [http://wiki.t-firefly.com/index.php/Firefly-RK3399 Firefly-RK3399] If you need the rk3399-excavator&nbsp;board, please communicate through&nbsp;the following&nbsp;contact information. <pre>Telephone: 4007700590 Email: service@rock-chips.com</pre> = See also = [[RK3288|RK3288]] [[RK3328|RK3328]] = Owners of the SoC on IRC = = Commuity Support = = References = = Exteneral Links = e8eee01ac7150f21eb698abaa954da5bc977e4b3 453 452 2017-03-09T07:43:05Z Kevan 10 wikitext text/x-wiki Rockchip RK3399 SoC integrates&nbsp;dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor, and with&nbsp;ARM Mali-T864 GPU. {| border="0" cellpadding="1" cellspacing="0" class="infobox" style="width: 200px;" |- | [[File:RK3399 Soc.png|RTENOTITLE]] |} = Overview = RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications. = SoC Features = {| border="0" cellpadding="1" cellspacing="1" style="width: 972px;" |- | style="width: 530px;" | *CPU: **Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU **Frequency is over 1.8GHz (Big cluster) *GPU: **&nbsp;Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11 **Supports AFBC (ARM Frame Buffer Compression) *Display: **Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600 **Dual channel MIPI-DSI (4 lanes per channel) **eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR **HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2 **DisplayPort 1.2 (4 lanes, up to 4K 60Hz) **Supports Rec.2020 and conversion to Rec.709 *Camera: **&nbsp;Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels *Memory: **Dual channels 64-bit DRAM controller **Support DDR3/DDR3L, LPDDR3, LPDDR4 *Connectivity: **PCIe 2.1 (4 full-duplex lanes with 20Gbps) **Embedded low power MCU for other application **8 channels I2S supports 8 channels RX or 8 channels TX | style="width: 429px;" | [[File:RK3399 Block Diagram.png|RTENOTITLE]] |} = Documentation = #[http://10.10.10.12:8444/images/6/60/Rockchip_RK3399_Datasheet_V1.6-20170301.pdf Rockchip_RK3399_Datasheet_V1.6-20170301] #[http://10.10.10.12:8444/images/2/27/RK3399_Linux_Debian_System_Development_Guide.pdf RK3399_Linux_Debian_System_Development_Guide] #[http://10.10.10.12:8444/images/9/9e/RK_DDR_Support_List_Ver2.24.pdf RK_DDR_Support_List_Ver2.24] = Software = == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" style="line-height: 1.6; width: 768px;" |- | style="width: 119px; text-align: center;" | '''board''' | style="width: 172px; text-align: center;" | '''kernel''' | style="width: 124px; text-align: center;" | '''uboot''' | style="width: 310px; text-align: center;" | '''dts''' |- | style="width: 119px; text-align: center;" | rk3399-excavator | style="width: 172px; text-align: center;" | rockchip_linux_defconfig | style="width: 124px; text-align: center;" | rk3399_linux_defconfig | style="width: 310px; text-align: center;" | rk3399-sapphire-excavator-linux.dts |} == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" style="width: 859px;" |- | style="width: 68px; text-align: center;" | '''chip''' | style="width: 181px; text-align: center;" | '''Kernel eMMC index''' | style="width: 142px; text-align: center;" | '''Kernel SD index''' | style="width: 158px; text-align: center;" | '''Uboot eMMC index''' | style="width: 146px; text-align: center;" | '''Uboot SD index''' | style="width: 132px; text-align: center;" | '''Baud speed''' |- | style="width: 68px; text-align: center;" | RK3399 | style="width: 181px; text-align: center;" | 1 | style="width: 142px; text-align: center;" | 0 | style="width: 158px; text-align: center;" | 0 | style="width: 146px; text-align: center;" | 1 | style="width: 132px; text-align: center;" | 1500000 |} == How to get the sources == The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code.&nbsp;Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github. RK3399 optimized Debian & Buildroot <pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml repo sync </pre> == How to build the sources == === Build Environment === You need a 64-bit&nbsp;Ubuntu. Note: old versions&nbsp;Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;"><br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so</div> Install&nbsp;ARM cross-compile tool chain and compile kernel relative&nbsp;software package:&nbsp; <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">$ sudo apt-get install gcc-arm-linux-gnueabihf&nbsp;gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev</div> === Building kernel &&nbsp;resource === For RK3399&nbsp;Excavator-sapphire&nbsp;board: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd kernel && make ARCH=arm64 rockchip_linux_defconfig && make ARCH=arm64 rk3399-sapphire-excavator-linux.img -j12 && cd ..</div> For&nbsp;Firefly-RK3399 board: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd kernel && make ARCH=arm64 rockchip_linux_defconfig && make ARCH=arm64 rk3399-firefly-mini-linux.img -j12 && cd ..</div> === Building uboot === For RK3399 optimized SDK (rkproduct uboot) <pre>cd u-boot && make rk3399_linux_defconfig && make ARCHV=aarch64 -j12 && cd .. </pre> === Building rootfs === ==== Debian ==== you could refer to [[Media:RK3399_Linux_Debian_System_Development_Guide.pdf|RK3399 Linux Debian System Development Guide]]&nbsp;from Rockchip to build rootfs yourselves. ==== Buildroot ==== you could refer to [[Media:RK3399_Linux_Buildroot_System_Development_Guide.pdf|RK3399 Linux Buildroot System Development Guide]]&nbsp;from Rockchip to build rootfs yourselves. = Devices = Rockchip: [[Excavator_sapphire_board|Excavator_sapphire_board]] Firefly: [http://wiki.t-firefly.com/index.php/Firefly-RK3399 Firefly-RK3399] If you need the rk3399-excavator&nbsp;board, please communicate through&nbsp;the following&nbsp;contact information. <pre>Telephone: 4007700590 Email: service@rock-chips.com</pre> = See also = [[RK3288|RK3288]] [[RK3328|RK3328]] = Owners of the SoC on IRC = = Commuity Support = = References = = Exteneral Links = ba508acc9e34e568dccf2d4b86cde983bc65a324 454 453 2017-03-09T07:46:00Z Kevan 10 wikitext text/x-wiki Rockchip RK3399 SoC integrates&nbsp;dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor, and with&nbsp;ARM Mali-T864 GPU. {| border="0" cellpadding="1" cellspacing="0" class="infobox" style="width: 200px;" |- | [[File:RK3399 Soc.png|RTENOTITLE]] |} = Overview = RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications. = SoC Features = {| border="0" cellpadding="1" cellspacing="1" style="width: 972px;" |- | style="width: 530px;" | *CPU: **Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU **Frequency is over 1.8GHz (Big cluster) *GPU: **&nbsp;Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11 **Supports AFBC (ARM Frame Buffer Compression) *Display: **Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600 **Dual channel MIPI-DSI (4 lanes per channel) **eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR **HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2 **DisplayPort 1.2 (4 lanes, up to 4K 60Hz) **Supports Rec.2020 and conversion to Rec.709 *Camera: **&nbsp;Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels *Memory: **Dual channels 64-bit DRAM controller **Support DDR3/DDR3L, LPDDR3, LPDDR4 *Connectivity: **PCIe 2.1 (4 full-duplex lanes with 20Gbps) **Embedded low power MCU for other application **8 channels I2S supports 8 channels RX or 8 channels TX | style="width: 429px;" | [[File:RK3399 Block Diagram.png|RTENOTITLE]] |} = Documentation = #[http://10.10.10.12:8444/images/6/60/Rockchip_RK3399_Datasheet_V1.6-20170301.pdf Rockchip_RK3399_Datasheet_V1.6-20170301] #[http://10.10.10.12:8444/images/2/27/RK3399_Linux_Debian_System_Development_Guide.pdf RK3399_Linux_Debian_System_Development_Guide] #[http://10.10.10.12:8444/images/9/9e/RK_DDR_Support_List_Ver2.24.pdf RK_DDR_Support_List_Ver2.24] = Software = == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" style="line-height: 1.6; width: 768px;" |- | style="width: 119px; text-align: center;" | '''board''' | style="width: 172px; text-align: center;" | '''kernel''' | style="width: 124px; text-align: center;" | '''uboot''' | style="width: 310px; text-align: center;" | '''dts''' |- | style="width: 119px; text-align: center;" | rk3399-excavator | style="width: 172px; text-align: center;" | rockchip_linux_defconfig | style="width: 124px; text-align: center;" | rk3399_linux_defconfig | style="width: 310px; text-align: center;" | rk3399-sapphire-excavator-linux.dts |} == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" style="width: 859px;" |- | style="width: 68px; text-align: center;" | '''chip''' | style="width: 181px; text-align: center;" | '''Kernel eMMC index''' | style="width: 142px; text-align: center;" | '''Kernel SD index''' | style="width: 158px; text-align: center;" | '''Uboot eMMC index''' | style="width: 146px; text-align: center;" | '''Uboot SD index''' | style="width: 132px; text-align: center;" | '''Baud speed''' |- | style="width: 68px; text-align: center;" | RK3399 | style="width: 181px; text-align: center;" | 1 | style="width: 142px; text-align: center;" | 0 | style="width: 158px; text-align: center;" | 0 | style="width: 146px; text-align: center;" | 1 | style="width: 132px; text-align: center;" | 1500000 |} == How to get the sources == The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code.&nbsp;Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github. RK3399 optimized Debian & Buildroot <pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml repo sync </pre> == How to build the sources == === Build Environment === You need a 64-bit&nbsp;Ubuntu. Note: old versions&nbsp;Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;"><br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so</div> Install&nbsp;ARM cross-compile tool chain and compile kernel relative&nbsp;software package:&nbsp; <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">$ sudo apt-get install gcc-arm-linux-gnueabihf&nbsp;gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev</div> === Building kernel &&nbsp;resource === For RK3399&nbsp;Excavator-sapphire&nbsp;board: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd kernel && make ARCH=arm64 rockchip_linux_defconfig && make ARCH=arm64 rk3399-sapphire-excavator-linux.img -j12 && cd ..</div> For&nbsp;Firefly-RK3399 board: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd kernel && make ARCH=arm64 rockchip_linux_defconfig && make ARCH=arm64 rk3399-firefly-mini-linux.img -j12 && cd ..</div> === Building uboot === For RK3399 optimized SDK (rkproduct uboot) <pre>cd u-boot && make rk3399_linux_defconfig && make ARCHV=aarch64 -j12 && cd .. </pre> === Building rootfs === ==== Debian ==== you could refer to [[Media:RK3399_Linux_Debian_System_Development_Guide.pdf|RK3399 Linux Debian System Development Guide]]&nbsp;from Rockchip to build rootfs yourselves. ==== Buildroot ==== <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd buildroot && make rockchip_rk3399_defconfig && cd .. && ./build_all.sh -j12 && ./mkfirmware.sh&nbsp;</div> You could refer to [[Media:RK3399_Linux_Buildroot_System_Development_Guide.pdf|RK3399 Linux Buildroot System Development Guide]]&nbsp;from Rockchip to build rootfs yourselves. = Devices = Rockchip: [[Excavator_sapphire_board|Excavator_sapphire_board]] Firefly: [http://wiki.t-firefly.com/index.php/Firefly-RK3399 Firefly-RK3399] If you need the rk3399-excavator&nbsp;board, please communicate through&nbsp;the following&nbsp;contact information. <pre>Telephone: 4007700590 Email: service@rock-chips.com</pre> = See also = [[RK3288|RK3288]] [[RK3328|RK3328]] = Owners of the SoC on IRC = = Commuity Support = = References = = Exteneral Links = d40e63b53421825d5d111326c4eaa2b2186d2c57 Fastboot 0 12 456 455 2017-03-09T08:07:48Z Karen 3 wikitext text/x-wiki = Introduction = Fastboot is a protocol that can be used to re-flash partitions on your device (update the flash file system in your devices). It is this small tool that comes with the Android SDK (Software Developer Kit), which is an alternative to the Recovery Mode for doing installations and updates. It first comes with Android. Google have submit the fastboot code to mainline U-boot. So we can use this protocol to flash partition on your device. There are three way to enter fastboot mode = Fastboot command = Rockchip use 0x2207 as its USB vendor ID. This VID is not in Google's original fastboot code. So every fastboot command have to use "-i" parameter to specify vid to fastboot.<br/> To list all the Rockchip devices attached to your USB port in fastboot mode. <pre><code>$ sudo fastboot -i 0x2207 devices 0123456789AB fastboot</code> </pre> To flash loader <pre><code>$ sudo fastboot -i 0x2207 flash loader "path to your loader"</code> </pre> To flash android boot image <pre><code>$ sudo fastboot -i 0x2207 flash boot_a "path to your boot image" 0123456789AB fastboot</code> </pre> To flash android system image <pre><code>$ sudo fastboot -i 0x2207 flash system_a "path to your system image" 0123456789AB fastboot</code></pre> To get version: <pre>fastboot getvar version</pre> To get version: <pre>fastboot getvar version-bootloader </pre> To get unlocked: <pre>fastboot getvar unlocked </pre> To get&nbsp;locked: <pre>fastboot getvar secure</pre> To get product information: <pre>fastboot getvar product</pre> To get serialno: <pre>fastboot getvar serialno</pre> To get partition type: <pre>fastboot getvar partition-type:<partition_name> </pre> To get partition size: <pre>fastboot getvar partition-size:<partition_name> </pre> To get partition offset: <pre>fastboot getvar partition-offset:<partition_name> </pre> == Download the Image == To flash&nbsp;image: <pre>fastboot flash <partition_name> <filename> </pre> &nbsp;(For example:fastboot flash system system.img) When download the parameter or loader,you need assign the partition name as "<var>parameter</var>" or "<var>loader</var>" To update firmware: <pre>fastboot update <filename> </pre> (The firmware package was generated from &nbsp;android source code <var>make updatepackage</var>) == Reboot == &nbsp;To recovery: <pre>fastboot oem recovery </pre> &nbsp;To recovery and restore: <pre>fastboot oem recovery:wipe_data</pre> To Reboot: <pre>fastboot reboot</pre> To reboot and enter rockusb loader mode <pre>fastboot reboot-bootloader</pre> To continue: <pre>fastboot continue </pre> === Lock and Unlock the Device === To unlock: <pre>fastboot oem unlock</pre> To &nbsp;confirm unlock(input &nbsp;it in 5 minutes after inputing fastboot oem unlock command): <pre>fastboot oem unlock_accep</pre> To lock the device: <pre>fastboot oem lock </pre> &nbsp; === Special Command === To boot from specifc firmware templately: <pre>fastboot boot <kernel> [ <ramdisk> ]</pre> (Kernel supports Image/zImage,and you should&nbsp;keep <var>dtb</var> in the last part of kernel,or <var>resource partition</var>) To generate a&nbsp;log file: <pre>fastboot oem log </pre> To execute u-Boot command: <pre>fastboot oem ucmd <UBOOT cmds></pre> == Fastboot Unlock == fastboot锁住状态下,不允许烧写及执行oem命令,初始状态为锁住。 解锁流程大致如下: 1、执行fastboot oem unlock 2、5秒内继续执行fastboot oem unlock_accept 3、机器会重启进入recovery恢复出厂设置 4、再次进入fastboot,则fastboot getvar unlocked应该返回"yes"(设备已解锁) &nbsp; 如果设备进入fastboot状态后,fastboot命令提示未发现设备,则需要在命令中加入-i参数指定设备vid,例如fastboot -i 0x2207 getvar unlocked aae53c9eb22cb31a2f42e5b462b8c4198877d79c 457 456 2017-03-09T08:11:14Z Karen 3 wikitext text/x-wiki = Introduction = Fastboot is a protocol that can be used to re-flash partitions on your device (update the flash file system in your devices). It is this small tool that comes with the Android SDK (Software Developer Kit), which is an alternative to the Recovery Mode for doing installations and updates. It first comes with Android. Google have submit the fastboot code to mainline U-boot. So we can use this protocol to flash partition on your device. There are three way to enter fastboot mode = Fastboot command = Rockchip use 0x2207 as its USB vendor ID. This VID is not in Google's original fastboot code. So every fastboot command have to use "-i" parameter to specify vid to fastboot.<br/> To list all the Rockchip devices attached to your USB port in fastboot mode. <pre><code>$ sudo fastboot -i 0x2207 devices 0123456789AB fastboot</code> </pre> To flash loader <pre><code>$ sudo fastboot -i 0x2207 flash loader "path to your loader"</code> </pre> To flash android boot image <pre><code>$ sudo fastboot -i 0x2207 flash boot_a "path to your boot image" 0123456789AB fastboot</code> </pre> To flash android system image <pre><code>$ sudo fastboot -i 0x2207 flash system_a "path to your system image" 0123456789AB fastboot</code></pre> To get version: <pre>fastboot getvar version</pre> To get version: <pre>fastboot getvar version-bootloader </pre> To get unlocked: <pre>fastboot getvar unlocked </pre> To get&nbsp;locked: <pre>fastboot getvar secure</pre> To get product information: <pre>fastboot getvar product</pre> To get serialno: <pre>fastboot getvar serialno</pre> To get partition type: <pre>fastboot getvar partition-type:<partition_name> </pre> To get partition size: <pre>fastboot getvar partition-size:<partition_name> </pre> To get partition offset: <pre>fastboot getvar partition-offset:<partition_name> </pre> == Download the Image == To flash&nbsp;image: <pre>fastboot flash <partition_name> <filename> </pre> &nbsp;(For example:fastboot flash system system.img) When download the parameter or loader,you need assign the partition name as "<var>parameter</var>" or "<var>loader</var>" To update firmware: <pre>fastboot update <filename> </pre> (The firmware package was generated from &nbsp;android source code <var>make updatepackage</var>) == Reboot == &nbsp;To recovery: <pre>fastboot oem recovery </pre> &nbsp;To recovery and restore: <pre>fastboot oem recovery:wipe_data</pre> To Reboot: <pre>fastboot reboot</pre> To reboot and enter rockusb loader mode <pre>fastboot reboot-bootloader</pre> To continue: <pre>fastboot continue </pre> === Lock and Unlock the Device === To unlock: <pre>fastboot oem unlock</pre> To &nbsp;confirm unlock(input &nbsp;it in 5 minutes after inputing fastboot oem unlock command): <pre>fastboot oem unlock_accep</pre> To lock the device: <pre>fastboot oem lock </pre> &nbsp; === Special Command === To boot from specifc firmware templately: <pre>fastboot boot <kernel> [ <ramdisk> ]</pre> (Kernel supports Image/zImage,and you should&nbsp;keep <var>dtb</var> in the last part of kernel,or <var>resource partition</var>) To generate a&nbsp;log file: <pre>fastboot oem log </pre> To execute u-Boot command: <pre>fastboot oem ucmd <UBOOT cmds></pre> == Fastboot Unlock == With locked fastboot,it is&nbsp; fastboot锁住状态下,不允许烧写及执行oem命令,初始状态为锁住。 解锁流程大致如下: 1、执行fastboot oem unlock 2、5秒内继续执行fastboot oem unlock_accept 3、机器会重启进入recovery恢复出厂设置 4、再次进入fastboot,则fastboot getvar unlocked应该返回"yes"(设备已解锁) &nbsp; 如果设备进入fastboot状态后,fastboot命令提示未发现设备,则需要在命令中加入-i参数指定设备vid,例如fastboot -i 0x2207 getvar unlocked e0e6d8c4d1d87cca668e18c3b9df2689b17fd269 462 457 2017-03-09T11:16:30Z Karen 3 wikitext text/x-wiki = Introduction = Fastboot is a protocol that can be used to re-flash partitions on your device (update the flash file system in your devices). It is this small tool that comes with the Android SDK (Software Developer Kit), which is an alternative to the Recovery Mode for doing installations and updates. It first comes with Android. Google have submit the fastboot code to mainline U-boot. So we can use this protocol to flash partition on your device. There are three way to enter fastboot mode = Fastboot command = Rockchip use 0x2207 as its USB vendor ID. This VID is not in Google's original fastboot code. So every fastboot command have to use "-i" parameter to specify vid to fastboot.<br/> To list all the Rockchip devices attached to your USB port in fastboot mode. <pre><code>$ sudo fastboot -i 0x2207 devices 0123456789AB fastboot</code> </pre> To flash loader <pre><code>$ sudo fastboot -i 0x2207 flash loader "path to your loader"</code> </pre> To flash android boot image <pre><code>$ sudo fastboot -i 0x2207 flash boot_a "path to your boot image" 0123456789AB fastboot</code> </pre> To flash android system image <pre><code>$ sudo fastboot -i 0x2207 flash system_a "path to your system image" 0123456789AB fastboot</code></pre> To get version: <pre>fastboot getvar version</pre> To get version: <pre>fastboot getvar version-bootloader </pre> To get unlocked: <pre>fastboot getvar unlocked </pre> To get&nbsp;locked: <pre>fastboot getvar secure</pre> To get product information: <pre>fastboot getvar product</pre> To get serialno: <pre>fastboot getvar serialno</pre> To get partition type: <pre>fastboot getvar partition-type:<partition_name> </pre> To get partition size: <pre>fastboot getvar partition-size:<partition_name> </pre> To get partition offset: <pre>fastboot getvar partition-offset:<partition_name> </pre> == Download the Image == To flash&nbsp;image: <pre>fastboot flash <partition_name> <filename> </pre> &nbsp;(For example:fastboot flash system system.img) When download the parameter or loader,you need assign the partition name as "<var>parameter</var>" or "<var>loader</var>" To update firmware: <pre>fastboot update <filename> </pre> (The firmware package was generated from &nbsp;android source code <var>make updatepackage</var>) == Reboot == &nbsp;To recovery: <pre>fastboot oem recovery </pre> &nbsp;To recovery and restore: <pre>fastboot oem recovery:wipe_data</pre> To Reboot: <pre>fastboot reboot</pre> To reboot and enter rockusb loader mode <pre>fastboot reboot-bootloader</pre> To continue: <pre>fastboot continue </pre> === Lock and Unlock the Device === To unlock: <pre>fastboot oem unlock</pre> To &nbsp;confirm unlock(input &nbsp;it in 5 minutes after typing <var>fastboot oem unlock command</var>): <pre>fastboot oem unlock_accep</pre> To lock the device: <pre>fastboot oem lock </pre> &nbsp; === Special Command === To boot from specifc firmware templately: <pre>fastboot boot <kernel> [ <ramdisk> ]</pre> (Kernel supports Image/zImage,and you should&nbsp;keep <var>dtb</var> in the last part of kernel,or <var>resource partition</var>) To generate a&nbsp;log file: <pre>fastboot oem log </pre> To execute u-Boot command: <pre>fastboot oem ucmd <UBOOT cmds></pre> == Fastboot Unlock == With locked fastboot,it is&nbsp; fastboot锁住状态下,不允许烧写及执行oem命令,初始状态为锁住。 解锁流程大致如下: 1、执行fastboot oem unlock 2、5秒内继续执行fastboot oem unlock_accept 3、机器会重启进入recovery恢复出厂设置 4、再次进入fastboot,则fastboot getvar unlocked应该返回"yes"(设备已解锁) &nbsp; 如果设备进入fastboot状态后,fastboot命令提示未发现设备,则需要在命令中加入-i参数指定设备vid,例如fastboot -i 0x2207 getvar unlocked 00bad245bbf0f2c7e6fe36040f76f6a4e042f90e 463 462 2017-03-09T11:17:20Z Karen 3 wikitext text/x-wiki = Introduction = Fastboot is a protocol that can be used to re-flash partitions on your device (update the flash file system in your devices). It is this small tool that comes with the Android SDK (Software Developer Kit), which is an alternative to the Recovery Mode for doing installations and updates. It first comes with Android. Google have submit the fastboot code to mainline U-boot. So we can use this protocol to flash partition on your device. There are three way to enter fastboot mode = Fastboot command = Rockchip use 0x2207 as its USB vendor ID. This VID is not in Google's original fastboot code. So every fastboot command have to use "-i" parameter to specify vid to fastboot.<br/> To list all the Rockchip devices attached to your USB port in fastboot mode. <pre><code>$ sudo fastboot -i 0x2207 devices 0123456789AB fastboot</code> </pre> To flash loader <pre><code>$ sudo fastboot -i 0x2207 flash loader "path to your loader"</code> </pre> To flash android boot image <pre><code>$ sudo fastboot -i 0x2207 flash boot_a "path to your boot image" 0123456789AB fastboot</code> </pre> To flash android system image <pre><code>$ sudo fastboot -i 0x2207 flash system_a "path to your system image" 0123456789AB fastboot</code></pre> To get version: <pre>fastboot getvar version</pre> To get version: <pre>fastboot getvar version-bootloader </pre> To get unlocked: <pre>fastboot getvar unlocked </pre> To get&nbsp;locked: <pre>fastboot getvar secure</pre> To get product information: <pre>fastboot getvar product</pre> To get serialno: <pre>fastboot getvar serialno</pre> To get partition type: <pre>fastboot getvar partition-type:<partition_name> </pre> To get partition size: <pre>fastboot getvar partition-size:<partition_name> </pre> To get partition offset: <pre>fastboot getvar partition-offset:<partition_name> </pre> == Download the Image == To flash&nbsp;image: <pre>fastboot flash <partition_name> <filename> </pre> &nbsp;(For example:fastboot flash system system.img) When download the parameter or loader,you need assign the partition name as "<var>parameter</var>" or "<var>loader</var>" To update firmware: <pre>fastboot update <filename> </pre> (The firmware package was generated from &nbsp;android source code <var>make updatepackage</var>) == Reboot == &nbsp;To recovery: <pre>fastboot oem recovery </pre> &nbsp;To recovery and restore: <pre>fastboot oem recovery:wipe_data</pre> To Reboot: <pre>fastboot reboot</pre> To reboot and enter into rockusb loader mode <pre>fastboot reboot-bootloader</pre> To continue: <pre>fastboot continue </pre> &nbsp; === Lock and Unlock the Device === To unlock: <pre>fastboot oem unlock</pre> To &nbsp;confirm unlock(input &nbsp;it in 5 minutes after typing <var>fastboot oem unlock command</var>): <pre>fastboot oem unlock_accep</pre> To lock the device: <pre>fastboot oem lock </pre> &nbsp; === Special Command === To boot from specifc firmware templately: <pre>fastboot boot <kernel> [ <ramdisk> ]</pre> (Kernel supports Image/zImage,and you should&nbsp;keep <var>dtb</var> in the last part of kernel,or <var>resource partition</var>) To generate a&nbsp;log file: <pre>fastboot oem log </pre> To execute u-Boot command: <pre>fastboot oem ucmd <UBOOT cmds></pre> == Fastboot Unlock == With locked fastboot,it is&nbsp; fastboot锁住状态下,不允许烧写及执行oem命令,初始状态为锁住。 解锁流程大致如下: 1、执行fastboot oem unlock 2、5秒内继续执行fastboot oem unlock_accept 3、机器会重启进入recovery恢复出厂设置 4、再次进入fastboot,则fastboot getvar unlocked应该返回"yes"(设备已解锁) &nbsp; 如果设备进入fastboot状态后,fastboot命令提示未发现设备,则需要在命令中加入-i参数指定设备vid,例如fastboot -i 0x2207 getvar unlocked a3f6ebdefaf21ea5ca80aa074a47f2f000546a45 464 463 2017-03-09T11:39:30Z Karen 3 wikitext text/x-wiki = Introduction = Fastboot is a protocol that can be used to re-flash partitions on your device (update the flash file system in your devices). It is this small tool that comes with the Android SDK (Software Developer Kit), which is an alternative to the Recovery Mode for doing installations and updates. It first comes with Android. Google have submit the fastboot code to mainline U-boot. So we can use this protocol to flash partition on your device. There are three way to enter fastboot mode = Fastboot command = Rockchip use 0x2207 as its USB vendor ID. This VID is not in Google's original fastboot code. So every fastboot command have to use "-i" parameter to specify vid to fastboot.<br/> To list all the Rockchip devices attached to your USB port in fastboot mode. <pre><code>$ sudo fastboot -i 0x2207 devices 0123456789AB fastboot</code> </pre> To flash loader <pre><code>$ sudo fastboot -i 0x2207 flash loader "path to your loader"</code> </pre> To flash android boot image <pre><code>$ sudo fastboot -i 0x2207 flash boot_a "path to your boot image" 0123456789AB fastboot</code> </pre> To flash android system image <pre><code>$ sudo fastboot -i 0x2207 flash system_a "path to your system image" 0123456789AB fastboot</code></pre> To get version: <pre>fastboot getvar version</pre> To get version: <pre>fastboot getvar version-bootloader </pre> To get unlocked: <pre>fastboot getvar unlocked </pre> To get&nbsp;locked: <pre>fastboot getvar secure</pre> To get product information: <pre>fastboot getvar product</pre> To get serialno: <pre>fastboot getvar serialno</pre> To get partition type: <pre>fastboot getvar partition-type:<partition_name> </pre> To get partition size: <pre>fastboot getvar partition-size:<partition_name> </pre> To get partition offset: <pre>fastboot getvar partition-offset:<partition_name> </pre> == Download the Image == To flash&nbsp;image: <pre>fastboot flash <partition_name> <filename> </pre> &nbsp;(For example:fastboot flash system system.img) When download the parameter or loader,you need assign the partition name as "<var>parameter</var>" or "<var>loader</var>" To update firmware: <pre>fastboot update <filename> </pre> (The firmware package was generated from &nbsp;android source code <var>make updatepackage</var>) == Reboot == &nbsp;To recovery: <pre>fastboot oem recovery </pre> &nbsp;To recovery and restore: <pre>fastboot oem recovery:wipe_data</pre> To Reboot: <pre>fastboot reboot</pre> To reboot and enter into rockusb loader mode <pre>fastboot reboot-bootloader</pre> To continue: <pre>fastboot continue </pre> &nbsp; === Lock and Unlock the Device === To unlock: <pre>fastboot oem unlock</pre> To &nbsp;confirm unlock(input &nbsp;it in 5 minutes after typing <var>fastboot oem unlock command</var>): <pre>fastboot oem unlock_accep</pre> To lock the device: <pre>fastboot oem lock </pre> &nbsp; === Special Command === To boot from specifc firmware templately: <pre>fastboot boot <kernel> [ <ramdisk> ]</pre> (Kernel supports Image/zImage,and you should&nbsp;keep <var>dtb</var> in the last part of kernel,or <var>resource partition</var>) To generate a&nbsp;log file: <pre>fastboot oem log </pre> To execute u-Boot command: <pre>fastboot oem ucmd <UBOOT cmds></pre> == Unlock your device via fastboot == With locked fastboot,it is&nbsp; fastboot锁住状态下,不允许烧写及执行oem命令,初始状态为锁住。 解锁流程大致如下: 1、执行fastboot oem unlock 2、5秒内继续执行fastboot oem unlock_accept 3、机器会重启进入recovery恢复出厂设置 4、再次进入fastboot,则fastboot getvar unlocked应该返回"yes"(设备已解锁) &nbsp; 如果设备进入fastboot状态后,fastboot命令提示未发现设备,则需要在命令中加入-i参数指定设备vid,例如fastboot -i 0x2207 getvar unlocked d464aa452c5f3564da0325138ea2e5136efe6838 465 464 2017-03-09T12:00:22Z Karen 3 wikitext text/x-wiki = Introduction = Fastboot is a protocol that can be used to re-flash partitions on your device (update the flash file system in your devices). It is this small tool that comes with the Android SDK (Software Developer Kit), which is an alternative to the Recovery Mode for doing installations and updates. It first comes with Android. Google have submit the fastboot code to mainline U-boot. So we can use this protocol to flash partition on your device. There are three way to enter fastboot mode = Fastboot command = Rockchip use 0x2207 as its USB vendor ID. This VID is not in Google's original fastboot code. So every fastboot command have to use "-i" parameter to specify vid to fastboot.<br/> To list all the Rockchip devices attached to your USB port in fastboot mode. <pre><code>$ sudo fastboot -i 0x2207 devices 0123456789AB fastboot</code> </pre> To flash loader <pre><code>$ sudo fastboot -i 0x2207 flash loader "path to your loader"</code> </pre> To flash android boot image <pre><code>$ sudo fastboot -i 0x2207 flash boot_a "path to your boot image" 0123456789AB fastboot</code> </pre> To flash android system image <pre><code>$ sudo fastboot -i 0x2207 flash system_a "path to your system image" 0123456789AB fastboot</code></pre> To get version: <pre>fastboot getvar version</pre> To get version: <pre>fastboot getvar version-bootloader </pre> To get unlocked: <pre>fastboot getvar unlocked </pre> To get&nbsp;locked: <pre>fastboot getvar secure</pre> To get product information: <pre>fastboot getvar product</pre> To get serialno: <pre>fastboot getvar serialno</pre> To get partition type: <pre>fastboot getvar partition-type:<partition_name> </pre> To get partition size: <pre>fastboot getvar partition-size:<partition_name> </pre> To get partition offset: <pre>fastboot getvar partition-offset:<partition_name> </pre> == Download the Image == To flash&nbsp;image: <pre>fastboot flash <partition_name> <filename> </pre> &nbsp;(For example:fastboot flash system system.img) When download the parameter or loader,you need assign the partition name as "<var>parameter</var>" or "<var>loader</var>" To update firmware: <pre>fastboot update <filename> </pre> (The firmware package was generated from &nbsp;android source code <var>make updatepackage</var>) == Reboot == &nbsp;To recovery: <pre>fastboot oem recovery </pre> &nbsp;To recovery and restore: <pre>fastboot oem recovery:wipe_data</pre> To Reboot: <pre>fastboot reboot</pre> To reboot and enter into rockusb loader mode <pre>fastboot reboot-bootloader</pre> To continue: <pre>fastboot continue </pre> &nbsp; === Lock and Unlock the Device === To unlock: <pre>fastboot oem unlock</pre> To &nbsp;confirm unlock(input &nbsp;it in 5 minutes after typing <var>fastboot oem unlock command</var>): <pre>fastboot oem unlock_accep</pre> To lock the device: <pre>fastboot oem lock </pre> &nbsp; === Special Command === To boot from specifc firmware templately: <pre>fastboot boot <kernel> [ <ramdisk> ]</pre> (Kernel supports Image/zImage,and you should&nbsp;keep <var>dtb</var> in the last part of kernel,or <var>resource partition</var>) To generate a&nbsp;log file: <pre>fastboot oem log </pre> To execute u-Boot command: <pre>fastboot oem ucmd <UBOOT cmds></pre> == Unlock your device via fastboot == With locked fastboot,it is&nbsp; fastboot锁住状态下,不允许烧写及执行oem命令,初始状态为锁住。 '''To relock the bootloader''': 1、 Executing <var>fastboot oem unlock</var> 2、Then executing&nbsp;<var>fastboot oem unlock_accept in 5 seconds,</var> 3、机器会重启进入recovery恢复出厂设置 4、Now put your device into fastboot mode, and <var>fastboot getvar unlocked will return to&nbsp;</var>"yes" (Congraduations you have unlock your device finished!) what if the device have entered into fastboot mode with note that ,&nbsp; 如果设备进入fastboot状态后,fastboot命令提示未发现设备,则需要在命令中加入-i参数指定设备vid,例如fastboot -i 0x2207 getvar unlocked 28f3a1c6574dc53e2acb20ac74942c966cb65366 466 465 2017-03-09T12:38:58Z Karen 3 wikitext text/x-wiki = Introduction = Fastboot is a protocol that can be used to re-flash partitions on your device (update the flash file system in your devices). It is this small tool that comes with the Android SDK (Software Developer Kit), which is an alternative to the Recovery Mode for doing installations and updates. It first comes with Android. Google have submit the fastboot code to mainline U-boot. So we can use this protocol to flash partition on your device. There are three way to enter fastboot mode = Fastboot command = Rockchip use 0x2207 as its USB vendor ID. This VID is not in Google's original fastboot code. So every fastboot command have to use "-i" parameter to specify vid to fastboot.<br/> To list all the Rockchip devices attached to your USB port in fastboot mode. <pre><code>$ sudo fastboot -i 0x2207 devices 0123456789AB fastboot</code> </pre> To flash loader <pre><code>$ sudo fastboot -i 0x2207 flash loader "path to your loader"</code> </pre> To flash android boot image <pre><code>$ sudo fastboot -i 0x2207 flash boot_a "path to your boot image" 0123456789AB fastboot</code> </pre> To flash android system image <pre><code>$ sudo fastboot -i 0x2207 flash system_a "path to your system image" 0123456789AB fastboot</code></pre> To get version: <pre>fastboot getvar version</pre> To get version: <pre>fastboot getvar version-bootloader </pre> To get unlocked: <pre>fastboot getvar unlocked </pre> To get&nbsp;locked: <pre>fastboot getvar secure</pre> To get product information: <pre>fastboot getvar product</pre> To get serialno: <pre>fastboot getvar serialno</pre> To get partition type: <pre>fastboot getvar partition-type:<partition_name> </pre> To get partition size: <pre>fastboot getvar partition-size:<partition_name> </pre> To get partition offset: <pre>fastboot getvar partition-offset:<partition_name> </pre> == Download the Image == To flash&nbsp;image: <pre>fastboot flash <partition_name> <filename> </pre> &nbsp;(For example:fastboot flash system system.img) When download the parameter or loader,you need assign the partition name as "<var>parameter</var>" or "<var>loader</var>" To update firmware: <pre>fastboot update <filename> </pre> (The firmware package was generated from &nbsp;android source code <var>make updatepackage</var>) == Reboot == &nbsp;To recovery: <pre>fastboot oem recovery </pre> &nbsp;To recovery and restore: <pre>fastboot oem recovery:wipe_data</pre> To Reboot: <pre>fastboot reboot</pre> To reboot and enter into rockusb loader mode <pre>fastboot reboot-bootloader</pre> To continue: <pre>fastboot continue </pre> &nbsp; === Lock and Unlock the Device === To unlock: <pre>fastboot oem unlock</pre> To &nbsp;confirm unlock(input &nbsp;it in 5 minutes after typing <var>fastboot oem unlock command</var>): <pre>fastboot oem unlock_accep</pre> To lock the device: <pre>fastboot oem lock </pre> &nbsp; === Special Command === To boot from specifc firmware templately: <pre>fastboot boot <kernel> [ <ramdisk> ]</pre> (Kernel supports Image/zImage,and you should&nbsp;keep <var>dtb</var> in the last part of kernel,or <var>resource partition</var>) To generate a&nbsp;log file: <pre>fastboot oem log </pre> To execute u-Boot command: <pre>fastboot oem ucmd <UBOOT cmds></pre> == Unlock your device via fastboot == Initially,it is not allow you perform flash ot oem command with locked fastboot. '''To relock''': 1、 Executing <var>fastboot oem unlock</var> 2、Then executing&nbsp;<var>fastboot oem unlock_accept in 5 seconds,</var> 3、you device will reboot and recovery 4、Now put your device into fastboot mode, and <var>fastboot getvar unlocked will return to&nbsp;</var>"yes" (Congraduations you have unlock your device finished!) what if the device have entered into fastboot mode with indicates that <var>NOT found your device</var>, you need put '''<var>-i</var>'''into your command in order to assign device ID. For example:fastboot -i 0x2207 getvar unlocked &nbsp; 3480d2990694ab86b0cd7800c52d0bc678a2441d 467 466 2017-03-09T12:39:30Z Karen 3 wikitext text/x-wiki = Introduction = Fastboot is a protocol that can be used to re-flash partitions on your device (update the flash file system in your devices). It is this small tool that comes with the Android SDK (Software Developer Kit), which is an alternative to the Recovery Mode for doing installations and updates. It first comes with Android. Google have submit the fastboot code to mainline U-boot. So we can use this protocol to flash partition on your device. There are three way to enter fastboot mode = Fastboot command = Rockchip use 0x2207 as its USB vendor ID. This VID is not in Google's original fastboot code. So every fastboot command have to use "-i" parameter to specify vid to fastboot.<br/> To list all the Rockchip devices attached to your USB port in fastboot mode. <pre><code>$ sudo fastboot -i 0x2207 devices 0123456789AB fastboot</code> </pre> To flash loader <pre><code>$ sudo fastboot -i 0x2207 flash loader "path to your loader"</code> </pre> To flash android boot image <pre><code>$ sudo fastboot -i 0x2207 flash boot_a "path to your boot image" 0123456789AB fastboot</code> </pre> To flash android system image <pre><code>$ sudo fastboot -i 0x2207 flash system_a "path to your system image" 0123456789AB fastboot</code></pre> To get version: <pre>fastboot getvar version</pre> To get version: <pre>fastboot getvar version-bootloader </pre> To get unlocked: <pre>fastboot getvar unlocked </pre> To get&nbsp;locked: <pre>fastboot getvar secure</pre> To get product information: <pre>fastboot getvar product</pre> To get serialno: <pre>fastboot getvar serialno</pre> To get partition type: <pre>fastboot getvar partition-type:<partition_name> </pre> To get partition size: <pre>fastboot getvar partition-size:<partition_name> </pre> To get partition offset: <pre>fastboot getvar partition-offset:<partition_name> </pre> == Download the Image == To flash&nbsp;image: <pre>fastboot flash <partition_name> <filename> </pre> &nbsp;(For example:fastboot flash system system.img) When download the parameter or loader,you need assign the partition name as "<var>parameter</var>" or "<var>loader</var>" To update firmware: <pre>fastboot update <filename> </pre> (The firmware package was generated from &nbsp;android source code <var>make updatepackage</var>) == Reboot == &nbsp;To recovery: <pre>fastboot oem recovery </pre> &nbsp;To recovery and restore: <pre>fastboot oem recovery:wipe_data</pre> To Reboot: <pre>fastboot reboot</pre> To reboot and enter into rockusb loader mode <pre>fastboot reboot-bootloader</pre> To continue: <pre>fastboot continue </pre> &nbsp; === Lock and Unlock the Device === To unlock: <pre>fastboot oem unlock</pre> To &nbsp;confirm unlock(input &nbsp;it in 5 minutes after typing <var>fastboot oem unlock command</var>): <pre>fastboot oem unlock_accep</pre> To lock the device: <pre>fastboot oem lock </pre> &nbsp; === Special Command === To boot from specifc firmware templately: <pre>fastboot boot <kernel> [ <ramdisk> ]</pre> (Kernel supports Image/zImage,and you should&nbsp;keep <var>dtb</var> in the last part of kernel,or <var>resource partition</var>) To generate a&nbsp;log file: <pre>fastboot oem log </pre> To execute u-Boot command: <pre>fastboot oem ucmd <UBOOT cmds></pre> == Unlock your device via fastboot == Initially,it is not allow you perform flash ot oem command with locked fastboot. '''To relock''': 1、Executing <var>fastboot oem unlock</var> 2、Then executing&nbsp;<var>fastboot oem unlock_accept in 5 seconds,</var> 3、you device will reboot and recovery 4、Now put your device into fastboot mode, and <var>fastboot getvar unlocked will return to&nbsp;</var>"yes" (Congraduations you have unlock your device finished!) what if the device have entered into fastboot mode with indicates that <var>NOT found your device</var>, you need put '''<var>-i</var>'''into your command in order to assign device ID. For example:fastboot -i 0x2207 getvar unlocked &nbsp; 97cee11201ab74fe578b62fc12f9d8ee8304698e 471 467 2017-03-10T01:13:51Z Karen 3 wikitext text/x-wiki = Introduction = Fastboot is a protocol that can be used to re-flash partitions on your device (update the flash file system in your devices). It is this small tool that comes with the Android SDK (Software Developer Kit), which is an alternative to the Recovery Mode for doing installations and updates. It first comes with Android. Google have submit the fastboot code to mainline U-boot. So we can use this protocol to flash partition on your device. There are three way to enter fastboot mode = Fastboot command = Rockchip use 0x2207 as its USB vendor ID. This VID is not in Google's original fastboot code. So every fastboot command have to use "-i" parameter to specify vid to fastboot.<br/> To list all the Rockchip devices attached to your USB port in fastboot mode. <pre><code>$ sudo fastboot -i 0x2207 devices 0123456789AB fastboot</code> </pre> To flash loader <pre><code>$ sudo fastboot -i 0x2207 flash loader "path to your loader"</code> </pre> To flash android boot image <pre><code>$ sudo fastboot -i 0x2207 flash boot_a "path to your boot image" 0123456789AB fastboot</code> </pre> To flash android system image <pre><code>$ sudo fastboot -i 0x2207 flash system_a "path to your system image" 0123456789AB fastboot</code></pre> To get version: <pre>fastboot getvar version</pre> To get version: <pre>fastboot getvar version-bootloader </pre> To get unlocked: <pre>fastboot getvar unlocked </pre> To get&nbsp;locked: <pre>fastboot getvar secure</pre> To get product information: <pre>fastboot getvar product</pre> To get serialno: <pre>fastboot getvar serialno</pre> To get partition type: <pre>fastboot getvar partition-type:<partition_name> </pre> To get partition size: <pre>fastboot getvar partition-size:<partition_name> </pre> To get partition offset: <pre>fastboot getvar partition-offset:<partition_name> </pre> == Download the Image == To flash&nbsp;image: <pre>fastboot flash <partition_name> <filename> </pre> &nbsp;(For example:fastboot flash system system.img) When download the parameter or loader,you need assign the partition name as "<var>parameter</var>" or "<var>loader</var>" To update firmware: <pre>fastboot update <filename> </pre> (The firmware package was generated from &nbsp;android source code <var>make updatepackage</var>) == Reboot == &nbsp;To recovery: <pre>fastboot oem recovery </pre> &nbsp;To recovery and restore: <pre>fastboot oem recovery:wipe_data</pre> To Reboot: <pre>fastboot reboot</pre> To reboot and enter into rockusb loader mode <pre>fastboot reboot-bootloader</pre> To continue: <pre>fastboot continue </pre> &nbsp; === Lock and Unlock the Device === To unlock: <pre>fastboot oem unlock</pre> To &nbsp;confirm unlock(input &nbsp;it in 5 minutes after typing <var>fastboot oem unlock command</var>): <pre>fastboot oem unlock_accep</pre> To lock the device: <pre>fastboot oem lock </pre> &nbsp; === Special Command === To boot from specifc firmware templately: <pre>fastboot boot <kernel> [ <ramdisk> ]</pre> (Kernel supports Image/zImage,and you should&nbsp;keep <var>dtb</var> in the last part of kernel,or <var>resource partition</var>) To generate a&nbsp;log file: <pre>fastboot oem log </pre> To execute u-Boot command: <pre>fastboot oem ucmd <UBOOT cmds></pre> == Unlock your device via fastboot == Initially,it is not allow you perform flash ot oem command with locked fastboot. '''To relock''': 1、Executing <var>fastboot oem unlock</var> 2、Then executing&nbsp;<var>fastboot oem unlock_accept in 5 seconds,</var> 3、You device will reboot and recovery 4、Now put your device into fastboot mode and <var>fastboot getvar unlocked will return to&nbsp;</var>"yes" (Congraduations you have unlock your device finished!) what if the device have entered into fastboot mode with indicates that <var>NOT found your device</var>, you need put '''<var>-i&nbsp;</var>'''into your command in order to assign device ID. For example:fastboot -i 0x2207 getvar unlocked &nbsp; a8e3848e37ff6107f5f8dfcaa3650bb9307e72d5 479 471 2017-03-10T01:59:26Z Karen 3 wikitext text/x-wiki = Introduction = Fastboot is a protocol that can be used to re-flash partitions on your device (update the flash file system in your devices). It is this small tool that comes with the Android SDK (Software Developer Kit), which is an alternative to the Recovery Mode for doing installations and updates. It first comes with Android. Google have submit the fastboot code to mainline U-boot. So we can use this protocol to flash partition on your device. There are three way to enter fastboot mode = Fastboot command = Rockchip use 0x2207 as its USB vendor ID. This VID is not in Google's original fastboot code. So every fastboot command have to use "-i" parameter to specify vid to fastboot.<br/> To list all the Rockchip devices attached to your USB port in fastboot mode. <pre><code>$ sudo fastboot -i 0x2207 devices 0123456789AB fastboot</code> </pre> To flash loader <pre><code>$ sudo fastboot -i 0x2207 flash loader "path to your loader"</code> </pre> To flash android boot image <pre><code>$ sudo fastboot -i 0x2207 flash boot_a "path to your boot image" 0123456789AB fastboot</code> </pre> To flash android system image <pre><code>$ sudo fastboot -i 0x2207 flash system_a "path to your system image" 0123456789AB fastboot</code></pre> To get version: <pre>fastboot getvar version</pre> To get version: <pre>fastboot getvar version-bootloader </pre> To get unlocked: <pre>fastboot getvar unlocked </pre> To get&nbsp;locked: <pre>fastboot getvar secure</pre> To get product information: <pre>fastboot getvar product</pre> To get serialno: <pre>fastboot getvar serialno</pre> To get partition type: <pre>fastboot getvar partition-type:<partition_name> </pre> To get partition size: <pre>fastboot getvar partition-size:<partition_name> </pre> To get partition offset: <pre>fastboot getvar partition-offset:<partition_name> </pre> == Download the Image == To flash&nbsp;image: <pre>fastboot flash <partition_name> <filename> </pre> &nbsp;(For example:fastboot flash system system.img) When download the parameter or loader,you need assign the partition name as "<var>parameter</var>" or "<var>loader</var>" To update firmware: <pre>fastboot update <filename> </pre> (The firmware package was generated from &nbsp;android source code <var>make updatepackage</var>) == Reboot == &nbsp;To recovery: <pre>fastboot oem recovery </pre> &nbsp;To recovery and restore: <pre>fastboot oem recovery:wipe_data</pre> To Reboot: <pre>fastboot reboot</pre> To reboot and enter into rockusb loader mode <pre>fastboot reboot-bootloader</pre> To continue: <pre>fastboot continue </pre> &nbsp; === Lock and Unlock the Device === To unlock: <pre>fastboot oem unlock</pre> To &nbsp;confirm unlock(input &nbsp;it in 5 minutes after typing <var>fastboot oem unlock command</var>): <pre>fastboot oem unlock_accep</pre> To lock the device: <pre>fastboot oem lock </pre> &nbsp; === Special Command === To boot from specifc firmware templately: <pre>fastboot boot <kernel> [ <ramdisk> ]</pre> (Kernel supports Image/zImage,and you should&nbsp;keep <var>dtb</var> in the last part of kernel,or <var>resource partition</var>) To generate a&nbsp;log file: <pre>fastboot oem log </pre> To execute u-Boot command: <pre>fastboot oem ucmd <UBOOT cmds></pre> == Unlock your device via fastboot == Initially,it is not allow you perform flash or&nbsp;oem command with locked fastboot. '''To relock''': 1、Executing <var>fastboot oem unlock</var> 2、Then executing&nbsp;<var>fastboot oem unlock_accept in 5 seconds,</var> 3、You device will reboot and recovery 4、Now push&nbsp;your device into fastboot mode again and <var>fastboot getvar unlocked will return to&nbsp;</var>"yes" (Congraduations you have unlock your device finished!) What if the device have entered into fastboot mode with indicates that <var>NOT found your device</var>, you need put '''<var>-i&nbsp;</var>'''into your command in order to assign device ID. For example:fastboot -i 0x2207 getvar unlocked &nbsp; 356b74441fdd7beea4a7b28c6b88e1529ab4890e RK3328 0 24 458 417 2017-03-09T08:47:17Z Karen 3 wikitext text/x-wiki {{Infobox SoC | title = RK3328 | image = [[File:rk3328_soc.png|250px]] | manufacturer = Rockcihp | process = 28nm | cpu = Quad-Core ARM Cortex-A53 | ltwo = | extensions = | memory = 2-channel DDR3/LPDDR2, 2-channel DDR3L, maximum of 4GB total (2GB per channel) | gpu = Mali-450MP2 | vpu = 4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps | apu = | video = HDMI 1.4, | audio = 8 channels I2S/PDM interface, supports 8 channels Mic array | network = | storage = 4x SD Card, eMMC NAND, 2-channel raw NAND | usb = 1* USB2.0 otg, 1* USB 2.0 Host, 1* USB 3.0 Host | other = | release_date = December 2012 | website = http://www.rock-chips.com/a/en/products/RK33_Series/2017/0118/829.html | Product Page }} &nbsp; &nbsp; &nbsp; = Overview = RK3328 offers a high-integration and power efficiency&nbsp;SOC for 4K HDR OTT/IPTV. It support HDR10 ,HLG HDR ,&nbsp;4K 10bits 30fps H.264 video decoder and 4K 10bits 60fps H265 video decoder.Comply with lots of high-performance interface,such as multi-channel display with HDMI2.0a, TV Encoder, the Quad-core GPU can acheive&nbsp;high-resolution display and game. == Cortex-A53 == Quad-core Cortex-A53 is integrated with separate Neon and FPU coprocessor, also with shared L2 Cache.&nbsp; &nbsp; = RK3328 SoC Features = *CPU: **ARM Cortex-A53&nbsp;Quad-Core&nbsp; *GPU **&nbsp;Mali-450MP4 **Comply with Open GL ES1.1/2.0 *Multi-Media: **4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps **1080P other video decoders (VC-1, MPEG-1/2/4, VP8) **1080P video encoder for H.264 and H.265 **Support HDR10 ,HLG HDR , Support conversion between SDR and HDR *Display: **HDMI 2.0a for 4K@60Hz with HDCP 1.4/2.2 **Support conversion between Rec.2020 and Rec.709 *Memory: **LPDDR3/DDR3/DDR3L/DDR4 **eMMC 4.51,SDCard, SPI Flash *External interface **USB 2.0 x2 and USB 3.0 x1 **100M Ethernet w/ built-in PHY **Built-in CVBS and audio DAC **8 channels I2S IO and 8 chanel digital PDM input (for MIC array) = History = empty &nbsp; = Documentation = &nbsp; [http://10.10.10.12:8444/images/9/9e/RK_DDR_Support_List_Ver2.24.pdf RK_DDR_Support_List_Ver2.24] &nbsp; &nbsp; = Software = == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" |- | '''board''' | '''kernel''' | '''uboot''' | '''dts''' |- | RK_EVB_RK3228H_BOX_RK805_DDR3 | rockchip_linux_defconfig | rk3328_linux_defconfig | rk3328r-linux.dts |} &nbsp; &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" |- | '''chip''' | '''Kernel eMMC index''' | '''Kernel SD index''' | '''Uboot eMMC index''' | '''Uboot SD index''' | '''Baud speed''' |- | RK3399 | 1 | 0 | 0 | 1 | 1500000 |} == How to get the sources == The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code.&nbsp;Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github. RK3399 optimized Debian & Buildroot <pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml repo sync </pre> == How to build the sources == === Build Environment === You need a 64-bit&nbsp;Ubuntu. Note: old versions&nbsp;Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so Install&nbsp;ARM cross-compile tool chain and compile kernel relative&nbsp;software package:&nbsp; $ sudo apt-get install gcc-arm-linux-gnueabihf&nbsp;gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev === Installing the build tools and download source === Please follow&nbsp;[http://rockchip.wikidot.com/linux-user-guide linux user guide]&nbsp;to install the build tools and download source. &nbsp; === Building kernel === For ARM V8 (RK3399 optimized SDK) <pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre> === Building uboot === For RK3399 optimized SDK (rkproduct uboot) <pre>CROSS_COMPILE=aarch64-linux-gnu- make rk3399_linux_defconfig all</pre> === Building rootfs === ==== Debian ==== You&nbsp;can download the prebuilt image directly. [http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive] or you could use the&nbsp;[https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script]&nbsp;from Rockchip to build rootfs yourselves. ==== Yocto ==== If you want to use Yocto to build your rootfs see&nbsp;[http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide]&nbsp;for detail. ==== Buildroot ==== If you want to use Buildroot to build your rootfs see&nbsp;[http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide]&nbsp;for detail. &nbsp; &nbsp; = Devices = If you need the rk3399-excavator&nbsp;board, please communicate through&nbsp;the following&nbsp;contact information. <pre>Telephone: 4007700590 Email: service@rock-chips.com</pre> &nbsp; = See also = [[RK3288|RK3288]] [[RK3399|RK3399]] = Owners of the SoC on IRC = = Commuity Support = = References = 1.[https://en.wikipedia.org/wiki/ARM_Cortex-A53 https://en.wikipedia.org/wiki/ARM_Cortex-A53] = Exteneral Links = &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; b40ac609a800360b2a64df43c3643f35abaea130 459 458 2017-03-09T08:50:31Z Karen 3 wikitext text/x-wiki {{Infobox SoC | title = RK3328 | image = [[File:rk3328_soc.png|250px]] | manufacturer = Rockcihp | process = 28nm | cpu = Quad-Core ARM Cortex-A53 | ltwo = | extensions = | memory = 2-channel DDR3/LPDDR2, 2-channel DDR3L, maximum of 4GB total (2GB per channel) | gpu = Mali-450MP2 | vpu = 4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps | apu = | video = HDMI 1.4, | audio = 8 channels I2S/PDM interface, supports 8 channels Mic array | network = | storage = 4x SD Card, eMMC NAND, 2-channel raw NAND | usb = 1* USB2.0 otg, 1* USB 2.0 Host, 1* USB 3.0 Host | other = | release_date = December 2012 | website = http://www.rock-chips.com/a/en/products/RK33_Series/2017/0118/829.html | Product Page }} &nbsp; &nbsp; &nbsp; = Overview = RK3328 offers a high-integration and power efficiency&nbsp;SOC for 4K HDR OTT/IPTV. It support HDR10 ,HLG HDR ,&nbsp;4K 10bits 30fps H.264 video decoder and 4K 10bits 60fps H265 video decoder.Comply with lots of high-performance interface,such as multi-channel display with HDMI2.0a, TV Encoder, the Quad-core GPU can acheive&nbsp;high-resolution display and game. == Cortex-A53 == Quad-core Cortex-A53 is integrated with separate Neon and FPU coprocessor, also with shared L2 Cache.&nbsp; &nbsp; = RK3328 SoC Features = *CPU: **ARM Cortex-A53&nbsp;Quad-Core&nbsp; *GPU **&nbsp;Mali-450MP4 **Comply with Open GL ES1.1/2.0 *Multi-Media: **4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps **1080P other video decoders (VC-1, MPEG-1/2/4, VP8) **1080P video encoder for H.264 and H.265 **Support HDR10 ,HLG HDR , Support conversion between SDR and HDR *Display: **HDMI 2.0a for 4K@60Hz with HDCP 1.4/2.2 **Support conversion between Rec.2020 and Rec.709 *Memory: **LPDDR3/DDR3/DDR3L/DDR4 **eMMC 4.51,SDCard, SPI Flash *External interface **USB 2.0 x2 and USB 3.0 x1 **100M Ethernet w/ built-in PHY **Built-in CVBS and audio DAC **8 channels I2S IO and 8 chanel digital PDM input (for MIC array) = History = empty &nbsp; = Documentation = &nbsp; [http://10.10.10.12:8444/images/9/9e/RK_DDR_Support_List_Ver2.24.pdf RK_DDR_Support_List_Ver2.24] &nbsp; &nbsp; = Software = == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" |- | '''board''' | '''kernel''' | '''uboot''' | '''dts''' |- | RK_EVB_RK3228H_BOX_RK805_DDR3 | rockchip_linux_defconfig | rk3328_linux_defconfig | rk3328r-linux.dts |} &nbsp; &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" |- | '''chip''' | '''Kernel eMMC index''' | '''Kernel SD index''' | '''Uboot eMMC index''' | '''Uboot SD index''' | '''Baud speed''' |- | RK3399 | 1 | 0 | 0 | 1 | 1500000 |} == How to get the sources == The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code.&nbsp;Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github. RK3399 optimized Debian & Buildroot <pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml repo sync </pre> == How to build the sources == === Build Environment === You need a 64-bit&nbsp;Ubuntu. Note: old versions&nbsp;Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so Install&nbsp;ARM cross-compile tool chain and compile kernel relative&nbsp;software package:&nbsp; $ sudo apt-get install gcc-arm-linux-gnueabihf&nbsp;gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev === Installing the build tools and download source === Please follow&nbsp;[http://rockchip.wikidot.com/linux-user-guide linux user guide]&nbsp;to install the build tools and download source. &nbsp; === Building kernel === For ARM V8 (RK3399 optimized SDK) <pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rk3399-sapphire-excavator-linux.img -j4</pre> === Building uboot === empty === Building rootfs === ==== Debian ==== You&nbsp;can download the prebuilt image directly. [http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive] or you could use the&nbsp;[https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script]&nbsp;from Rockchip to build rootfs yourselves. ==== Yocto ==== If you want to use Yocto to build your rootfs see&nbsp;[http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide]&nbsp;for detail. ==== Buildroot ==== If you want to use Buildroot to build your rootfs see&nbsp;[http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide]&nbsp;for detail. &nbsp; &nbsp; = Devices = If you need the rk3399-excavator&nbsp;board, please communicate through&nbsp;the following&nbsp;contact information. <pre>Telephone: 4007700590 Email: service@rock-chips.com</pre> &nbsp; = See also = [[RK3288|RK3288]] [[RK3399|RK3399]] = Owners of the SoC on IRC = = Commuity Support = = References = 1.[https://en.wikipedia.org/wiki/ARM_Cortex-A53 https://en.wikipedia.org/wiki/ARM_Cortex-A53] = Exteneral Links = &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; dba2ffa90eac599cc14310c1808ba0ed223e6934 460 459 2017-03-09T08:51:04Z Karen 3 wikitext text/x-wiki {{Infobox SoC | title = RK3328 | image = [[File:rk3328_soc.png|250px]] | manufacturer = Rockcihp | process = 28nm | cpu = Quad-Core ARM Cortex-A53 | ltwo = | extensions = | memory = 2-channel DDR3/LPDDR2, 2-channel DDR3L, maximum of 4GB total (2GB per channel) | gpu = Mali-450MP2 | vpu = 4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps | apu = | video = HDMI 1.4, | audio = 8 channels I2S/PDM interface, supports 8 channels Mic array | network = | storage = 4x SD Card, eMMC NAND, 2-channel raw NAND | usb = 1* USB2.0 otg, 1* USB 2.0 Host, 1* USB 3.0 Host | other = | release_date = December 2012 | website = http://www.rock-chips.com/a/en/products/RK33_Series/2017/0118/829.html | Product Page }} &nbsp; &nbsp; &nbsp; = Overview = RK3328 offers a high-integration and power efficiency&nbsp;SOC for 4K HDR OTT/IPTV. It support HDR10 ,HLG HDR ,&nbsp;4K 10bits 30fps H.264 video decoder and 4K 10bits 60fps H265 video decoder.Comply with lots of high-performance interface,such as multi-channel display with HDMI2.0a, TV Encoder, the Quad-core GPU can acheive&nbsp;high-resolution display and game. == Cortex-A53 == Quad-core Cortex-A53 is integrated with separate Neon and FPU coprocessor, also with shared L2 Cache.&nbsp; &nbsp; = RK3328 SoC Features = *CPU: **ARM Cortex-A53&nbsp;Quad-Core&nbsp; *GPU **&nbsp;Mali-450MP4 **Comply with Open GL ES1.1/2.0 *Multi-Media: **4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps **1080P other video decoders (VC-1, MPEG-1/2/4, VP8) **1080P video encoder for H.264 and H.265 **Support HDR10 ,HLG HDR , Support conversion between SDR and HDR *Display: **HDMI 2.0a for 4K@60Hz with HDCP 1.4/2.2 **Support conversion between Rec.2020 and Rec.709 *Memory: **LPDDR3/DDR3/DDR3L/DDR4 **eMMC 4.51,SDCard, SPI Flash *External interface **USB 2.0 x2 and USB 3.0 x1 **100M Ethernet w/ built-in PHY **Built-in CVBS and audio DAC **8 channels I2S IO and 8 chanel digital PDM input (for MIC array) = History = empty &nbsp; = Documentation = &nbsp; [http://10.10.10.12:8444/images/9/9e/RK_DDR_Support_List_Ver2.24.pdf RK_DDR_Support_List_Ver2.24] &nbsp; &nbsp; = Software = == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" |- | '''board''' | '''kernel''' | '''uboot''' | '''dts''' |- | RK_EVB_RK3228H_BOX_RK805_DDR3 | rockchip_linux_defconfig | rk3328_linux_defconfig | rk3328r-linux.dts |} &nbsp; &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" |- | '''chip''' | '''Kernel eMMC index''' | '''Kernel SD index''' | '''Uboot eMMC index''' | '''Uboot SD index''' | '''Baud speed''' |- | RK3399 | 1 | 0 | 0 | 1 | 1500000 |} == How to get the sources == The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code.&nbsp;Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github. RK3399 optimized Debian & Buildroot <pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml repo sync </pre> == How to build the sources == === Build Environment === You need a 64-bit&nbsp;Ubuntu. Note: old versions&nbsp;Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so Install&nbsp;ARM cross-compile tool chain and compile kernel relative&nbsp;software package:&nbsp; $ sudo apt-get install gcc-arm-linux-gnueabihf&nbsp;gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev === Installing the build tools and download source === Please follow&nbsp;[http://rockchip.wikidot.com/linux-user-guide linux user guide]&nbsp;to install the build tools and download source. &nbsp; === Building kernel === empty === Building uboot === empty === Building rootfs === ==== Debian ==== You&nbsp;can download the prebuilt image directly. [http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive] or you could use the&nbsp;[https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script]&nbsp;from Rockchip to build rootfs yourselves. ==== Yocto ==== If you want to use Yocto to build your rootfs see&nbsp;[http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide]&nbsp;for detail. ==== Buildroot ==== If you want to use Buildroot to build your rootfs see&nbsp;[http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide]&nbsp;for detail. &nbsp; &nbsp; = Devices = If you need the rk3399-excavator&nbsp;board, please communicate through&nbsp;the following&nbsp;contact information. <pre>Telephone: 4007700590 Email: service@rock-chips.com</pre> &nbsp; = See also = [[RK3288|RK3288]] [[RK3399|RK3399]] = Owners of the SoC on IRC = = Commuity Support = = References = 1.[https://en.wikipedia.org/wiki/ARM_Cortex-A53 https://en.wikipedia.org/wiki/ARM_Cortex-A53] = Exteneral Links = &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; f971ebf85956326ff8d2d32a6d7ea89daed0e291 475 460 2017-03-10T01:43:44Z Karen 3 wikitext text/x-wiki {{Infobox SoC | title = RK3328 | image = [[File:rk3328_soc.png|250px]] | manufacturer = Rockcihp | process = 28nm | cpu = Quad-Core ARM Cortex-A53 | ltwo = | extensions = | memory = 2-channel DDR3/LPDDR2, 2-channel DDR3L, maximum of 4GB total (2GB per channel) | gpu = Mali-450MP2 | vpu = 4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps | apu = | video = HDMI 1.4, | audio = 8 channels I2S/PDM interface, supports 8 channels Mic array | network = | storage = 4x SD Card, eMMC NAND, 2-channel raw NAND | usb = 1* USB2.0 otg, 1* USB 2.0 Host, 1* USB 3.0 Host | other = | release_date = December 2012 | website = http://www.rock-chips.com/a/en/products/RK33_Series/2017/0118/829.html | Product Page }} &nbsp; &nbsp; &nbsp; = Overview = RK3328 offers a high-integration and power efficiency&nbsp;SOC for 4K HDR OTT/IPTV. It support HDR10 ,HLG HDR ,&nbsp;4K 10bits 30fps H.264 video decoder and 4K 10bits 60fps H265 video decoder.Comply with lots of high-performance interface,such as multi-channel display with HDMI2.0a, TV Encoder, the Quad-core GPU can acheive&nbsp;high-resolution display and game. == Cortex-A53 == Quad-core Cortex-A53 is integrated with separate Neon and FPU coprocessor, also with shared L2 Cache.&nbsp; &nbsp; = RK3328 SoC Features = *CPU: **ARM Cortex-A53&nbsp;Quad-Core&nbsp; *GPU **&nbsp;Mali-450MP4 **Comply with Open GL ES1.1/2.0 *Multi-Media: **4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps **1080P other video decoders (VC-1, MPEG-1/2/4, VP8) **1080P video encoder for H.264 and H.265 **Support HDR10 ,HLG HDR , Support conversion between SDR and HDR *Display: **HDMI 2.0a for 4K@60Hz with HDCP 1.4/2.2 **Support conversion between Rec.2020 and Rec.709 *Memory: **LPDDR3/DDR3/DDR3L/DDR4 **eMMC 4.51,SDCard, SPI Flash *External interface **USB 2.0 x2 and USB 3.0 x1 **100M Ethernet w/ built-in PHY **Built-in CVBS and audio DAC **8 channels I2S IO and 8 chanel digital PDM input (for MIC array) &nbsp; = History = empty &nbsp; = Documentation = &nbsp; [http://10.10.10.12:8444/images/9/9e/RK_DDR_Support_List_Ver2.24.pdf RK_DDR_Support_List_Ver2.24] &nbsp; &nbsp; = Software = == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" |- | '''board''' | '''kernel''' | '''uboot''' | '''dts''' |- | RK_EVB_RK3228H_BOX_RK805_DDR3 | rockchip_linux_defconfig | rk3328_linux_defconfig | rk3328r-linux.dts |} &nbsp; &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" |- | '''chip''' | '''Kernel eMMC index''' | '''Kernel SD index''' | '''Uboot eMMC index''' | '''Uboot SD index''' | '''Baud speed''' |- | RK3399 | 1 | 0 | 0 | 1 | 1500000 |} == How to get the sources == The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code.&nbsp;Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github. RK3399 optimized Debian & Buildroot <pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml repo sync </pre> == How to build the sources == === Build Environment === You need a 64-bit&nbsp;Ubuntu. Note: old versions&nbsp;Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so Install&nbsp;ARM cross-compile tool chain and compile kernel relative&nbsp;software package:&nbsp; $ sudo apt-get install gcc-arm-linux-gnueabihf&nbsp;gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev === Installing the build tools and download source === Please follow&nbsp;[http://rockchip.wikidot.com/linux-user-guide linux user guide]&nbsp;to install the build tools and download source. &nbsp; &nbsp; === Building kernel === empty === Building uboot === empty === Building rootfs === ==== Debian ==== You&nbsp;can download the prebuilt image directly. [http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive] or you could use the&nbsp;[https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script]&nbsp;from Rockchip to build rootfs yourselves. ==== Yocto ==== If you want to use Yocto to build your rootfs see&nbsp;[http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide]&nbsp;for detail. ==== Buildroot ==== If you want to use Buildroot to build your rootfs see&nbsp;[http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide]&nbsp;for detail. = Devices = If you need the rk3399-excavator&nbsp;board, please communicate through&nbsp;the following&nbsp;contact information. <pre>Telephone: 4007700590 Email: service@rock-chips.com</pre> &nbsp; = See also = [[RK3288|RK3288]] [[RK3399|RK3399]] = References = 1.[https://en.wikipedia.org/wiki/ARM_Cortex-A53 https://en.wikipedia.org/wiki/ARM_Cortex-A53] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 4bd18ce9c7d0412e5ab33835d9fda68f6e22c4b6 476 475 2017-03-10T01:44:21Z Karen 3 wikitext text/x-wiki {{Infobox SoC | title = RK3328 | image = [[File:rk3328_soc.png|250px]] | manufacturer = Rockcihp | process = 28nm | cpu = Quad-Core ARM Cortex-A53 | ltwo = | extensions = | memory = 2-channel DDR3/LPDDR2, 2-channel DDR3L, maximum of 4GB total (2GB per channel) | gpu = Mali-450MP2 | vpu = 4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps | apu = | video = HDMI 1.4, | audio = 8 channels I2S/PDM interface, supports 8 channels Mic array | network = | storage = 4x SD Card, eMMC NAND, 2-channel raw NAND | usb = 1* USB2.0 otg, 1* USB 2.0 Host, 1* USB 3.0 Host | other = | release_date = December 2012 | website = http://www.rock-chips.com/a/en/products/RK33_Series/2017/0118/829.html | Product Page }} &nbsp; &nbsp; &nbsp; = Overview = RK3328 offers a high-integration and power efficiency&nbsp;SOC for 4K HDR OTT/IPTV. It support HDR10 ,HLG HDR ,&nbsp;4K 10bits 30fps H.264 video decoder and 4K 10bits 60fps H265 video decoder.Comply with lots of high-performance interface,such as multi-channel display with HDMI2.0a, TV Encoder, the Quad-core GPU can acheive&nbsp;high-resolution display and game. == Cortex-A53 == Quad-core Cortex-A53 is integrated with separate Neon and FPU coprocessor, also with shared L2 Cache.&nbsp; &nbsp; = RK3328 SoC Features = *CPU: **ARM Cortex-A53&nbsp;Quad-Core&nbsp; *GPU **&nbsp;Mali-450MP4 **Comply with Open GL ES1.1/2.0 *Multi-Media: **4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps **1080P other video decoders (VC-1, MPEG-1/2/4, VP8) **1080P video encoder for H.264 and H.265 **Support HDR10 ,HLG HDR , Support conversion between SDR and HDR *Display: **HDMI 2.0a for 4K@60Hz with HDCP 1.4/2.2 **Support conversion between Rec.2020 and Rec.709 *Memory: **LPDDR3/DDR3/DDR3L/DDR4 **eMMC 4.51,SDCard, SPI Flash *External interface **USB 2.0 x2 and USB 3.0 x1 **100M Ethernet w/ built-in PHY **Built-in CVBS and audio DAC **8 channels I2S IO and 8 chanel digital PDM input (for MIC array) = Documentation = &nbsp; [http://10.10.10.12:8444/images/9/9e/RK_DDR_Support_List_Ver2.24.pdf RK_DDR_Support_List_Ver2.24] &nbsp; &nbsp; = Software = == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" |- | '''board''' | '''kernel''' | '''uboot''' | '''dts''' |- | RK_EVB_RK3228H_BOX_RK805_DDR3 | rockchip_linux_defconfig | rk3328_linux_defconfig | rk3328r-linux.dts |} &nbsp; &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" |- | '''chip''' | '''Kernel eMMC index''' | '''Kernel SD index''' | '''Uboot eMMC index''' | '''Uboot SD index''' | '''Baud speed''' |- | RK3399 | 1 | 0 | 0 | 1 | 1500000 |} == How to get the sources == The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code.&nbsp;Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github. RK3399 optimized Debian & Buildroot <pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml repo sync </pre> == How to build the sources == === Build Environment === You need a 64-bit&nbsp;Ubuntu. Note: old versions&nbsp;Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so Install&nbsp;ARM cross-compile tool chain and compile kernel relative&nbsp;software package:&nbsp; $ sudo apt-get install gcc-arm-linux-gnueabihf&nbsp;gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev === Installing the build tools and download source === Please follow&nbsp;[http://rockchip.wikidot.com/linux-user-guide linux user guide]&nbsp;to install the build tools and download source. &nbsp; &nbsp; === Building kernel === empty === Building uboot === empty === Building rootfs === ==== Debian ==== You&nbsp;can download the prebuilt image directly. [http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive] or you could use the&nbsp;[https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script]&nbsp;from Rockchip to build rootfs yourselves. ==== Yocto ==== If you want to use Yocto to build your rootfs see&nbsp;[http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide]&nbsp;for detail. ==== Buildroot ==== If you want to use Buildroot to build your rootfs see&nbsp;[http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide]&nbsp;for detail. = Devices = If you need the rk3399-excavator&nbsp;board, please communicate through&nbsp;the following&nbsp;contact information. <pre>Telephone: 4007700590 Email: service@rock-chips.com</pre> &nbsp; = See also = [[RK3288|RK3288]] [[RK3399|RK3399]] = References = 1.[https://en.wikipedia.org/wiki/ARM_Cortex-A53 https://en.wikipedia.org/wiki/ARM_Cortex-A53] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 3a2db46f98eb262bf6ebb5292c019bb4926f82c9 Excavator sapphire board 0 59 461 2017-03-09T09:56:43Z Chery 9 Created page with " = Rockchip github status&nbsp; &nbsp; = - Rockchip github代码支持情况, 给出相关配置, 具体使用指向通用guide链接 = Upstream status&nbsp; &nbsp; = - ups..." wikitext text/x-wiki = Rockchip github status&nbsp; &nbsp; = - Rockchip github代码支持情况, 给出相关配置, 具体使用指向通用guide链接 = Upstream status&nbsp; &nbsp; = - upstream代码支持情况, 给出相关配置, 具体使用指向通用guide链接<br/> &nbsp; = Documentation = &nbsp;&nbsp; - 其他有效的内容, 如该板子专有的软件开发指南, 硬件改动(如何进入bootrom模式, 如何接串口等) = Image = &nbsp;&nbsp;&nbsp; - Image, 如有有提供固件, 提供下载链接 = See also = &nbsp; &nbsp; - See also, 同芯片其他板子链接 = References = &nbsp;&nbsp;&nbsp; - References, 其他有价值的链接, 如不同Distribution官方网站介绍该板子boot指南, 板子的官方网页. 3028b6502de9d3df674925ce329cd5f9a3d4f3bd 487 461 2017-03-10T03:25:21Z Chery 9 wikitext text/x-wiki {| border="1" cellpadding="1" cellspacing="1" style="width: 500px;" |- | excavator |} = Rockchip github status&nbsp; &nbsp; = - Rockchip github代码支持情况, 给出相关配置, 具体使用指向通用guide链接 = Upstream status&nbsp; &nbsp; = - upstream代码支持情况, 给出相关配置, 具体使用指向通用guide链接<br/> &nbsp; = Documentation = &nbsp;&nbsp; - 其他有效的内容, 如该板子专有的软件开发指南, 硬件改动(如何进入bootrom模式, 如何接串口等) = Image = &nbsp;&nbsp;&nbsp; - Image, 如有有提供固件, 提供下载链接 = See also = &nbsp; &nbsp; - See also, 同芯片其他板子链接 = References = &nbsp;&nbsp;&nbsp; - References, 其他有价值的链接, 如不同Distribution官方网站介绍该板子boot指南, 板子的官方网页. f9aa6d7f380a559ad282097a6586d3f9e84ae423 488 487 2017-03-10T03:25:45Z Chery 9 wikitext text/x-wiki {| border="0" cellpadding="1" cellspacing="1" class="infobox" style="width: 500px;" |- | excavator |} = Rockchip github status&nbsp; &nbsp; = - Rockchip github代码支持情况, 给出相关配置, 具体使用指向通用guide链接 = Upstream status&nbsp; &nbsp; = - upstream代码支持情况, 给出相关配置, 具体使用指向通用guide链接<br/> &nbsp; = Documentation = &nbsp;&nbsp; - 其他有效的内容, 如该板子专有的软件开发指南, 硬件改动(如何进入bootrom模式, 如何接串口等) = Image = &nbsp;&nbsp;&nbsp; - Image, 如有有提供固件, 提供下载链接 = See also = &nbsp; &nbsp; - See also, 同芯片其他板子链接 = References = &nbsp;&nbsp;&nbsp; - References, 其他有价值的链接, 如不同Distribution官方网站介绍该板子boot指南, 板子的官方网页. e0213eca2348243bcecab7d264a392c622e19dad 490 488 2017-03-10T03:27:29Z Chery 9 wikitext text/x-wiki {| border="0" cellpadding="1" cellspacing="1" class="infobox" style="width: 500px;" |- | [[File:Excavator board.png]] |} = Rockchip github status&nbsp; &nbsp; = - Rockchip github代码支持情况, 给出相关配置, 具体使用指向通用guide链接 = Upstream status&nbsp; &nbsp; = - upstream代码支持情况, 给出相关配置, 具体使用指向通用guide链接<br/> &nbsp; = Documentation = &nbsp;&nbsp; - 其他有效的内容, 如该板子专有的软件开发指南, 硬件改动(如何进入bootrom模式, 如何接串口等) = Image = &nbsp;&nbsp;&nbsp; - Image, 如有有提供固件, 提供下载链接 = See also = &nbsp; &nbsp; - See also, 同芯片其他板子链接 = References = &nbsp;&nbsp;&nbsp; - References, 其他有价值的链接, 如不同Distribution官方网站介绍该板子boot指南, 板子的官方网页. 0d127bd3477aea66b210ef76b53f8355331ec676 492 490 2017-03-10T03:31:06Z Chery 9 wikitext text/x-wiki {| border="0" cellpadding="1" cellspacing="1" class="infobox" style="width: 500px;" |- | [[File:Excavator board.png]] |} = Rockchip github status&nbsp; &nbsp; = - Rockchip github代码支持情况, 给出相关配置, 具体使用指向通用guide链接 = Upstream status&nbsp; &nbsp; = - upstream代码支持情况, 给出相关配置, 具体使用指向通用guide链接<br/> &nbsp; = Documentation = [[Media:RK3399_EVB_User_Guide-20160920.pdf|RK3399 EVB User Guide]] = Image = &nbsp;&nbsp;&nbsp; - Image, 如有有提供固件, 提供下载链接 = See also = &nbsp; &nbsp; - See also, 同芯片其他板子链接 = References = &nbsp;&nbsp;&nbsp; - References, 其他有价值的链接, 如不同Distribution官方网站介绍该板子boot指南, 板子的官方网页. 3624fec9859f628349c6d7a5eb7845262a88bde0 494 492 2017-03-10T03:36:37Z Chery 9 wikitext text/x-wiki {| border="0" cellpadding="1" cellspacing="1" class="infobox" style="width: 500px;" |- | [[File:Excavator board.png]] |} = Rockchip github status&nbsp; &nbsp; = - Rockchip github代码支持情况, 给出相关配置, 具体使用指向通用guide链接 = Upstream status&nbsp; &nbsp; = - upstream代码支持情况, 给出相关配置, 具体使用指向通用guide链接<br/> &nbsp; = Documentation = [[Media:RK3399_EVB_User_Guide-20160920.pdf|RK3399 EVB User Guide]] [[Media:BOM_RK_SAPPHIRE_SOCBOARD_RK3399_LPDDR3D178P232SD8_V12_20161111HXS.xlsx|Sapphire Board BOM]] = Image = &nbsp;&nbsp;&nbsp; - Image, 如有有提供固件, 提供下载链接 = See also = &nbsp; &nbsp; - See also, 同芯片其他板子链接 = References = &nbsp;&nbsp;&nbsp; - References, 其他有价值的链接, 如不同Distribution官方网站介绍该板子boot指南, 板子的官方网页. 58dd080a37364870a803ed92c12c03fb8dfcf856 RK3399 0 21 468 454 2017-03-10T01:04:20Z Kevan 10 wikitext text/x-wiki Rockchip RK3399 SoC integrates&nbsp;dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor, and with&nbsp;ARM Mali-T864 GPU. {| border="0" cellpadding="1" cellspacing="0" class="infobox" style="width: 200px;" |- | [[File:RK3399 Soc.png|RTENOTITLE]] |} = Overview = RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications. = SoC Features = {| border="0" cellpadding="1" cellspacing="1" style="width: 972px;" |- | style="width: 530px;" | *CPU: **Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU **Frequency is over 1.8GHz (Big cluster) *GPU: **&nbsp;Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11 **Supports AFBC (ARM Frame Buffer Compression) *Display: **Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600 **Dual channel MIPI-DSI (4 lanes per channel) **eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR **HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2 **DisplayPort 1.2 (4 lanes, up to 4K 60Hz) **Supports Rec.2020 and conversion to Rec.709 *Camera: **&nbsp;Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels *Memory: **Dual channels 64-bit DRAM controller **Support DDR3/DDR3L, LPDDR3, LPDDR4 *Connectivity: **PCIe 2.1 (4 full-duplex lanes with 20Gbps) **Embedded low power MCU for other application **8 channels I2S supports 8 channels RX or 8 channels TX | style="width: 429px;" | [[File:RK3399 Block Diagram.png|RTENOTITLE]] |} = Documentation = #[http://10.10.10.12:8444/images/6/60/Rockchip_RK3399_Datasheet_V1.6-20170301.pdf Rockchip_RK3399_Datasheet_V1.6-20170301] #[http://10.10.10.12:8444/images/9/9e/RK_DDR_Support_List_Ver2.24.pdf RK_DDR_Support_List_Ver2.24] #[http://10.10.10.12:8444/images/2/27/RK3399_Linux_Debian_System_Development_Guide.pdf RK3399_Linux_Debian_System_Development_Guide] #[http://10.10.10.12:8444/images/7/7e/RK3399_Linux_Buildroot_System_Development_Guide.pdf RK3399_Linux_Buildroot_System_Development_Guide] = Software = == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" style="line-height: 1.6; width: 768px;" |- | style="width: 119px; text-align: center;" | '''board''' | style="width: 172px; text-align: center;" | '''kernel''' | style="width: 124px; text-align: center;" | '''uboot''' | style="width: 310px; text-align: center;" | '''dts''' |- | style="width: 119px; text-align: center;" | rk3399-excavator | style="width: 172px; text-align: center;" | rockchip_linux_defconfig | style="width: 124px; text-align: center;" | rk3399_linux_defconfig | style="width: 310px; text-align: center;" | rk3399-sapphire-excavator-linux.dts |} == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" style="width: 859px;" |- | style="width: 68px; text-align: center;" | '''chip''' | style="width: 181px; text-align: center;" | '''Kernel eMMC index''' | style="width: 142px; text-align: center;" | '''Kernel SD index''' | style="width: 158px; text-align: center;" | '''Uboot eMMC index''' | style="width: 146px; text-align: center;" | '''Uboot SD index''' | style="width: 132px; text-align: center;" | '''Baud speed''' |- | style="width: 68px; text-align: center;" | RK3399 | style="width: 181px; text-align: center;" | 1 | style="width: 142px; text-align: center;" | 0 | style="width: 158px; text-align: center;" | 0 | style="width: 146px; text-align: center;" | 1 | style="width: 132px; text-align: center;" | 1500000 |} == How to get the sources == The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code.&nbsp;Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github. RK3399 optimized Debian & Buildroot <pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml repo sync </pre> == How to build the sources == === Build Environment === You need a 64-bit&nbsp;Ubuntu. Note: old versions&nbsp;Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;"><br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so</div> Install&nbsp;ARM cross-compile tool chain and compile kernel relative&nbsp;software package:&nbsp; <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">$ sudo apt-get install gcc-arm-linux-gnueabihf&nbsp;gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev</div> === Building kernel &&nbsp;resource === For RK3399&nbsp;Excavator-sapphire&nbsp;board: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd kernel && make ARCH=arm64 rockchip_linux_defconfig && make ARCH=arm64 rk3399-sapphire-excavator-linux.img -j12 && cd ..</div> For&nbsp;Firefly-RK3399 board: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd kernel && make ARCH=arm64 rockchip_linux_defconfig && make ARCH=arm64 rk3399-firefly-mini-linux.img -j12 && cd ..</div> === Building uboot === For RK3399 optimized SDK (rkproduct uboot) <pre>cd u-boot && make rk3399_linux_defconfig && make ARCHV=aarch64 -j12 && cd .. </pre> === Building rootfs === ==== Debian ==== you could refer to [[Media:RK3399_Linux_Debian_System_Development_Guide.pdf|RK3399 Linux Debian System Development Guide]]&nbsp;from Rockchip to build rootfs yourselves. ==== Buildroot ==== <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd buildroot && make rockchip_rk3399_defconfig && cd .. && ./build_all.sh -j12 && ./mkfirmware.sh&nbsp;</div> You could refer to [[Media:RK3399_Linux_Buildroot_System_Development_Guide.pdf|RK3399 Linux Buildroot System Development Guide]]&nbsp;from Rockchip to build rootfs yourselves. = Devices = Rockchip: [[Excavator_sapphire_board|Excavator_sapphire_board]] Firefly: [http://wiki.t-firefly.com/index.php/Firefly-RK3399 Firefly-RK3399] If you need the rk3399-excavator&nbsp;board, please communicate through&nbsp;the following&nbsp;contact information. <pre>Telephone: 4007700590 Email: service@rock-chips.com</pre> = See also = [[RK3288|RK3288]] [[RK3328|RK3328]] = Owners of the SoC on IRC = = Commuity Support = = References = = Exteneral Links = 13fd5a5155c2f046e22411f579d39bce75126df7 469 468 2017-03-10T01:06:40Z Kevan 10 wikitext text/x-wiki Rockchip RK3399 SoC integrates&nbsp;dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor, and with&nbsp;ARM Mali-T864 GPU. {| border="0" cellpadding="1" cellspacing="0" class="infobox" style="width: 200px;" |- | [[File:RK3399 Soc.png|RTENOTITLE]] |} = Overview = RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications. = SoC Features = {| border="0" cellpadding="1" cellspacing="1" style="width: 972px;" |- | style="width: 530px;" | *CPU: **Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU **Frequency is over 1.8GHz (Big cluster) *GPU: **&nbsp;Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11 **Supports AFBC (ARM Frame Buffer Compression) *Display: **Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600 **Dual channel MIPI-DSI (4 lanes per channel) **eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR **HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2 **DisplayPort 1.2 (4 lanes, up to 4K 60Hz) **Supports Rec.2020 and conversion to Rec.709 *Camera: **&nbsp;Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels *Memory: **Dual channels 64-bit DRAM controller **Support DDR3/DDR3L, LPDDR3, LPDDR4 *Connectivity: **PCIe 2.1 (4 full-duplex lanes with 20Gbps) **Embedded low power MCU for other application **8 channels I2S supports 8 channels RX or 8 channels TX | style="width: 429px;" | [[File:RK3399 Block Diagram.png|RTENOTITLE]] |} = Documentation = #[http://10.10.10.12:8444/images/6/60/Rockchip_RK3399_Datasheet_V1.6-20170301.pdf Rockchip_RK3399_Datasheet_V1.6-20170301] #[http://10.10.10.12:8444/images/9/9e/RK_DDR_Support_List_Ver2.24.pdf RK_DDR_Support_List_Ver2.24] #[http://10.10.10.12:8444/images/2/27/RK3399_Linux_Debian_System_Development_Guide.pdf RK3399_Linux_Debian_System_Development_Guide] #[http://10.10.10.12:8444/images/7/7e/RK3399_Linux_Buildroot_System_Development_Guide.pdf RK3399_Linux_Buildroot_System_Development_Guide] = Software = == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" style="line-height: 1.6; width: 768px;" |- | style="width: 119px; text-align: center;" | '''board''' | style="width: 172px; text-align: center;" | '''kernel''' | style="width: 124px; text-align: center;" | '''uboot''' | style="width: 310px; text-align: center;" | '''dts''' |- | style="width: 119px; text-align: center;" | rk3399-excavator | style="width: 172px; text-align: center;" | rockchip_linux_defconfig | style="width: 124px; text-align: center;" | rk3399_linux_defconfig | style="width: 310px; text-align: center;" | rk3399-sapphire-excavator-linux.dts |} == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" style="width: 859px;" |- | style="width: 68px; text-align: center;" | '''chip''' | style="width: 181px; text-align: center;" | '''Kernel eMMC index''' | style="width: 142px; text-align: center;" | '''Kernel SD index''' | style="width: 158px; text-align: center;" | '''Uboot eMMC index''' | style="width: 146px; text-align: center;" | '''Uboot SD index''' | style="width: 132px; text-align: center;" | '''Baud speed''' |- | style="width: 68px; text-align: center;" | RK3399 | style="width: 181px; text-align: center;" | 1 | style="width: 142px; text-align: center;" | 0 | style="width: 158px; text-align: center;" | 0 | style="width: 146px; text-align: center;" | 1 | style="width: 132px; text-align: center;" | 1500000 |} == How to get the sources == The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code. RK3399 optimized Debian & Buildroot <pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml repo sync </pre> == How to build the sources == === Build Environment === You need a 64-bit&nbsp;Ubuntu. Note: old versions&nbsp;Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;"><br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so</div> Install&nbsp;ARM cross-compile tool chain and compile kernel relative&nbsp;software package:&nbsp; <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">$ sudo apt-get install gcc-arm-linux-gnueabihf&nbsp;gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev</div> === Building kernel &&nbsp;resource === For RK3399&nbsp;Excavator-sapphire&nbsp;board: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd kernel && make ARCH=arm64 rockchip_linux_defconfig && make ARCH=arm64 rk3399-sapphire-excavator-linux.img -j12 && cd ..</div> For&nbsp;Firefly-RK3399 board: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd kernel && make ARCH=arm64 rockchip_linux_defconfig && make ARCH=arm64 rk3399-firefly-mini-linux.img -j12 && cd ..</div> === Building uboot === For RK3399 optimized SDK (rkproduct uboot) <pre>cd u-boot && make rk3399_linux_defconfig && make ARCHV=aarch64 -j12 && cd .. </pre> === Building rootfs === ==== Debian ==== you could refer to [[Media:RK3399_Linux_Debian_System_Development_Guide.pdf|RK3399 Linux Debian System Development Guide]]&nbsp;from Rockchip to build rootfs yourselves. ==== Buildroot ==== <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd buildroot && make rockchip_rk3399_defconfig && cd .. && ./build_all.sh -j12 && ./mkfirmware.sh&nbsp;</div> You could refer to [[Media:RK3399_Linux_Buildroot_System_Development_Guide.pdf|RK3399 Linux Buildroot System Development Guide]]&nbsp;from Rockchip to build rootfs yourselves. = Devices = Rockchip: [[Excavator_sapphire_board|Excavator_sapphire_board]] Firefly: [http://wiki.t-firefly.com/index.php/Firefly-RK3399 Firefly-RK3399] If you need the rk3399-excavator&nbsp;board, please communicate through&nbsp;the following&nbsp;contact information. <pre>Telephone: 4007700590 Email: service@rock-chips.com</pre> = See also = [[RK3288|RK3288]] [[RK3328|RK3328]] = Owners of the SoC on IRC = = Commuity Support = = References = = Exteneral Links = ef6a217ed7471d1ca308b2e6bfe93ec6dfac3a8d 470 469 2017-03-10T01:08:20Z Kevan 10 wikitext text/x-wiki Rockchip RK3399 SoC integrates&nbsp;dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor, and with&nbsp;ARM Mali-T864 GPU. {| border="0" cellpadding="1" cellspacing="0" class="infobox" style="width: 200px;" |- | [[File:RK3399 Soc.png|RTENOTITLE]] |} = Overview = RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications. = SoC Features = {| border="0" cellpadding="1" cellspacing="1" style="width: 972px;" |- | style="width: 530px;" | *CPU: **Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU **Frequency is over 1.8GHz (Big cluster) *GPU: **&nbsp;Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11 **Supports AFBC (ARM Frame Buffer Compression) *Display: **Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600 **Dual channel MIPI-DSI (4 lanes per channel) **eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR **HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2 **DisplayPort 1.2 (4 lanes, up to 4K 60Hz) **Supports Rec.2020 and conversion to Rec.709 *Camera: **&nbsp;Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels *Memory: **Dual channels 64-bit DRAM controller **Support DDR3/DDR3L, LPDDR3, LPDDR4 *Connectivity: **PCIe 2.1 (4 full-duplex lanes with 20Gbps) **Embedded low power MCU for other application **8 channels I2S supports 8 channels RX or 8 channels TX | style="width: 429px;" | [[File:RK3399 Block Diagram.png|RTENOTITLE]] |} = Documentation = #[http://10.10.10.12:8444/images/6/60/Rockchip_RK3399_Datasheet_V1.6-20170301.pdf Rockchip_RK3399_Datasheet_V1.6-20170301] #[http://10.10.10.12:8444/images/9/9e/RK_DDR_Support_List_Ver2.24.pdf RK_DDR_Support_List_Ver2.24] #[http://10.10.10.12:8444/images/2/27/RK3399_Linux_Debian_System_Development_Guide.pdf RK3399_Linux_Debian_System_Development_Guide] #[http://10.10.10.12:8444/images/7/7e/RK3399_Linux_Buildroot_System_Development_Guide.pdf RK3399_Linux_Buildroot_System_Development_Guide] = Software = == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" style="line-height: 1.6; width: 768px;" |- | style="width: 119px; text-align: center;" | '''board''' | style="width: 172px; text-align: center;" | '''kernel''' | style="width: 124px; text-align: center;" | '''uboot''' | style="width: 310px; text-align: center;" | '''dts''' |- | style="width: 119px; text-align: center;" | rk3399-excavator | style="width: 172px; text-align: center;" | rockchip_linux_defconfig | style="width: 124px; text-align: center;" | rk3399_linux_defconfig | style="width: 310px; text-align: center;" | rk3399-sapphire-excavator-linux.dts |} == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" style="width: 859px;" |- | style="width: 68px; text-align: center;" | '''chip''' | style="width: 181px; text-align: center;" | '''Kernel eMMC index''' | style="width: 142px; text-align: center;" | '''Kernel SD index''' | style="width: 158px; text-align: center;" | '''Uboot eMMC index''' | style="width: 146px; text-align: center;" | '''Uboot SD index''' | style="width: 132px; text-align: center;" | '''Baud speed''' |- | style="width: 68px; text-align: center;" | RK3399 | style="width: 181px; text-align: center;" | 1 | style="width: 142px; text-align: center;" | 0 | style="width: 158px; text-align: center;" | 0 | style="width: 146px; text-align: center;" | 1 | style="width: 132px; text-align: center;" | 1500000 |} == How to get the sources == The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code. RK3399 optimized Debian & Buildroot <pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml repo sync </pre> == How to build the sources == === Build Environment === You need a 64-bit&nbsp;Ubuntu. Note: old versions&nbsp;Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;"><br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so</div> Install&nbsp;ARM cross-compile tool chain and compile kernel relative&nbsp;software package:&nbsp; <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">$ sudo apt-get install gcc-arm-linux-gnueabihf&nbsp;gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev</div> === Building kernel &&nbsp;resource === For RK3399&nbsp;Excavator-sapphire&nbsp;board: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd kernel && make ARCH=arm64 rockchip_linux_defconfig && make ARCH=arm64 rk3399-sapphire-excavator-linux.img -j12 && cd ..</div> For&nbsp;Firefly-RK3399 board: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd kernel && make ARCH=arm64 rockchip_linux_defconfig && make ARCH=arm64 rk3399-firefly-mini-linux.img -j12 && cd ..</div> === Building uboot === For RK3399 optimized SDK (rkproduct uboot) <pre>cd u-boot && make rk3399_linux_defconfig && make ARCHV=aarch64 -j12 && cd .. </pre> === Building rootfs === ==== Debian ==== You could refer to [[Media:RK3399_Linux_Debian_System_Development_Guide.pdf|RK3399 Linux Debian System Development Guide]]&nbsp;from Rockchip to build rootfs yourselves. ==== Buildroot ==== <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd buildroot && make rockchip_rk3399_defconfig && cd .. && ./build_all.sh -j12 && ./mkfirmware.sh&nbsp;</div> You could refer to [[Media:RK3399_Linux_Buildroot_System_Development_Guide.pdf|RK3399 Linux Buildroot System Development Guide]]&nbsp;from Rockchip to build rootfs yourselves. = Devices = Rockchip: [[Excavator_sapphire_board|Excavator_sapphire_board]] Firefly: [http://wiki.t-firefly.com/index.php/Firefly-RK3399 Firefly-RK3399] If you need the rk3399-excavator&nbsp;board, please communicate through&nbsp;the following&nbsp;contact information. <pre>Telephone: 4007700590 Email: service@rock-chips.com</pre> = See also = [[RK3288|RK3288]] [[RK3328|RK3328]] = Owners of the SoC on IRC = = Commuity Support = = References = = Exteneral Links = 2dbbd72fbc99533a85ca47b0f3c260bec5624cc3 472 470 2017-03-10T01:15:29Z Kevan 10 wikitext text/x-wiki Rockchip RK3399 SoC integrates&nbsp;dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor, and with&nbsp;ARM Mali-T864 GPU. {| border="0" cellpadding="1" cellspacing="0" class="infobox" style="width: 200px;" |- | [[File:RK3399 Soc.png|RTENOTITLE]] |} = Overview = RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications. = SoC Features = {| border="0" cellpadding="1" cellspacing="1" style="width: 972px;" |- | style="width: 530px;" | *CPU: **Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU **Frequency is over 1.8GHz (Big cluster) *GPU: **&nbsp;Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11 **Supports AFBC (ARM Frame Buffer Compression) *Display: **Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600 **Dual channel MIPI-DSI (4 lanes per channel) **eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR **HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2 **DisplayPort 1.2 (4 lanes, up to 4K 60Hz) **Supports Rec.2020 and conversion to Rec.709 *Camera: **&nbsp;Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels *Memory: **Dual channels 64-bit DRAM controller **Support DDR3/DDR3L, LPDDR3, LPDDR4 *Connectivity: **PCIe 2.1 (4 full-duplex lanes with 20Gbps) **Embedded low power MCU for other application **8 channels I2S supports 8 channels RX or 8 channels TX | style="width: 429px;" | [[File:RK3399 Block Diagram.png|RTENOTITLE]] |} = Documentation = #[http://10.10.10.12:8444/images/6/60/Rockchip_RK3399_Datasheet_V1.6-20170301.pdf Rockchip_RK3399_Datasheet_V1.6-20170301] #[http://10.10.10.12:8444/images/9/9e/RK_DDR_Support_List_Ver2.24.pdf RK_DDR_Support_List_Ver2.24] #[http://10.10.10.12:8444/images/2/27/RK3399_Linux_Debian_System_Development_Guide.pdf RK3399_Linux_Debian_System_Development_Guide] #[http://10.10.10.12:8444/images/7/7e/RK3399_Linux_Buildroot_System_Development_Guide.pdf RK3399_Linux_Buildroot_System_Development_Guide] = Software = == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" style="line-height: 1.6; width: 768px;" |- | style="width: 119px; text-align: center;" | '''board''' | style="width: 172px; text-align: center;" | '''kernel''' | style="width: 124px; text-align: center;" | '''uboot''' | style="width: 310px; text-align: center;" | '''dts''' |- | style="width: 119px; text-align: center;" | rk3399-excavator | style="width: 172px; text-align: center;" | rockchip_linux_defconfig | style="width: 124px; text-align: center;" | rk3399_linux_defconfig | style="width: 310px; text-align: center;" | rk3399-sapphire-excavator-linux.dts |} == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" style="width: 859px;" |- | style="width: 68px; text-align: center;" | '''chip''' | style="width: 181px; text-align: center;" | '''Kernel eMMC index''' | style="width: 142px; text-align: center;" | '''Kernel SD index''' | style="width: 158px; text-align: center;" | '''Uboot eMMC index''' | style="width: 146px; text-align: center;" | '''Uboot SD index''' | style="width: 132px; text-align: center;" | '''Baud speed''' |- | style="width: 68px; text-align: center;" | RK3399 | style="width: 181px; text-align: center;" | 1 | style="width: 142px; text-align: center;" | 0 | style="width: 158px; text-align: center;" | 0 | style="width: 146px; text-align: center;" | 1 | style="width: 132px; text-align: center;" | 1500000 |} == How to get the sources == The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code. RK3399 optimized Debian & Buildroot <pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml repo sync </pre> == How to build the sources == === Build Environment === You need a 64-bit&nbsp;Ubuntu. Note: old versions&nbsp;Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;"><br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so</div> Install&nbsp;ARM cross-compile tool chain and compile kernel relative&nbsp;software package:&nbsp; <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">$ sudo apt-get install gcc-arm-linux-gnueabihf&nbsp;gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev</div> === Building kernel &&nbsp;resource === For RK3399&nbsp;Excavator-sapphire&nbsp;board: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd kernel && make ARCH=arm64 rockchip_linux_defconfig && make ARCH=arm64 rk3399-sapphire-excavator-linux.img -j12 && cd ..</div> For&nbsp;Firefly-RK3399 board: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd kernel && make ARCH=arm64 rockchip_linux_defconfig && make ARCH=arm64 rk3399-firefly-mini-linux.img -j12 && cd ..</div> === Building uboot === For RK3399 optimized SDK (rkproduct uboot) <pre>cd u-boot && make rk3399_linux_defconfig && make ARCHV=aarch64 -j12 && cd .. </pre> === Building rootfs === ==== Debian ==== You could refer to [[Media:RK3399_Linux_Debian_System_Development_Guide.pdf|RK3399 Linux Debian System Development Guide]]&nbsp;from Rockchip to build rootfs yourselves. ==== Buildroot ==== <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd buildroot && make rockchip_rk3399_defconfig && cd .. && ./build_all.sh -j12 && ./mkfirmware.sh&nbsp;</div> In order to get more details,you could refer to [[Media:RK3399_Linux_Buildroot_System_Development_Guide.pdf|RK3399 Linux Buildroot System Development Guide]]. = Devices = Rockchip: [[Excavator_sapphire_board|Excavator_sapphire_board]] Firefly: [http://wiki.t-firefly.com/index.php/Firefly-RK3399 Firefly-RK3399] If you need the rk3399-excavator&nbsp;board, please communicate through&nbsp;the following&nbsp;contact information. <pre>Telephone: 4007700590 Email: service@rock-chips.com</pre> = See also = [[RK3288|RK3288]] [[RK3328|RK3328]] = Owners of the SoC on IRC = = Commuity Support = = References = = Exteneral Links = f49a128943f466c4c73df7f8d561e643b1f262ce 473 472 2017-03-10T01:24:05Z Kevan 10 wikitext text/x-wiki Rockchip RK3399 SoC integrates&nbsp;dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor, and with&nbsp;ARM Mali-T864 GPU. {| border="0" cellpadding="1" cellspacing="0" class="infobox" style="width: 200px;" |- | [[File:RK3399 Soc.png|RTENOTITLE]] |} = Overview = RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications. = SoC Features = {| border="0" cellpadding="1" cellspacing="1" style="width: 972px;" |- | style="width: 530px;" | *CPU: **Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU **Frequency is over 1.8GHz (Big cluster) *GPU: **&nbsp;Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11 **Supports AFBC (ARM Frame Buffer Compression) *Display: **Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600 **Dual channel MIPI-DSI (4 lanes per channel) **eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR **HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2 **DisplayPort 1.2 (4 lanes, up to 4K 60Hz) **Supports Rec.2020 and conversion to Rec.709 *Camera: **&nbsp;Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels *Memory: **Dual channels 64-bit DRAM controller **Support DDR3/DDR3L, LPDDR3, LPDDR4 *Connectivity: **PCIe 2.1 (4 full-duplex lanes with 20Gbps) **Embedded low power MCU for other application **8 channels I2S supports 8 channels RX or 8 channels TX | style="width: 429px;" | [[File:RK3399 Block Diagram.png|RTENOTITLE]] |} = Documentation = #[http://10.10.10.12:8444/images/6/60/Rockchip_RK3399_Datasheet_V1.6-20170301.pdf Rockchip_RK3399_Datasheet_V1.6-20170301] #[http://10.10.10.12:8444/images/9/9e/RK_DDR_Support_List_Ver2.24.pdf RK_DDR_Support_List_Ver2.24] #[http://10.10.10.12:8444/images/2/27/RK3399_Linux_Debian_System_Development_Guide.pdf RK3399_Linux_Debian_System_Development_Guide] #[http://10.10.10.12:8444/images/7/7e/RK3399_Linux_Buildroot_System_Development_Guide.pdf RK3399_Linux_Buildroot_System_Development_Guide] = Software = == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" style="line-height: 1.6; width: 768px;" |- | style="width: 119px; text-align: center;" | '''board''' | style="width: 172px; text-align: center;" | '''kernel''' | style="width: 124px; text-align: center;" | '''uboot''' | style="width: 310px; text-align: center;" | '''dts''' |- | style="width: 119px; text-align: center;" | rk3399-excavator | style="width: 172px; text-align: center;" | rockchip_linux_defconfig | style="width: 124px; text-align: center;" | rk3399_linux_defconfig | style="width: 310px; text-align: center;" | rk3399-sapphire-excavator-linux.dts |} == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" style="width: 859px;" |- | style="width: 68px; text-align: center;" | '''chip''' | style="width: 181px; text-align: center;" | '''Kernel eMMC index''' | style="width: 142px; text-align: center;" | '''Kernel SD index''' | style="width: 158px; text-align: center;" | '''Uboot eMMC index''' | style="width: 146px; text-align: center;" | '''Uboot SD index''' | style="width: 132px; text-align: center;" | '''Baud speed''' |- | style="width: 68px; text-align: center;" | RK3399 | style="width: 181px; text-align: center;" | 1 | style="width: 142px; text-align: center;" | 0 | style="width: 158px; text-align: center;" | 0 | style="width: 146px; text-align: center;" | 1 | style="width: 132px; text-align: center;" | 1500000 |} == How to get the sources == The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code. RK3399 optimized Debian & Buildroot <pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml repo sync </pre> == How to build the sources == === Build Environment === You need a 64-bit&nbsp;Ubuntu. Note: old versions&nbsp;Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;"><br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so</div> Install&nbsp;ARM cross-compile tool chain and compile kernel relative&nbsp;software package:&nbsp; <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">$ sudo apt-get install gcc-arm-linux-gnueabihf&nbsp;gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev</div> === Building kernel &&nbsp;resource === For RK3399&nbsp;Excavator-sapphire&nbsp;board: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd kernel && make ARCH=arm64 rockchip_linux_defconfig && make ARCH=arm64 rk3399-sapphire-excavator-linux.img -j12 && cd ..</div> For&nbsp;Firefly-RK3399 board: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd kernel && make ARCH=arm64 rockchip_linux_defconfig && make ARCH=arm64 rk3399-firefly-mini-linux.img -j12 && cd ..</div> === Building uboot === For RK3399 optimized SDK (rkproduct uboot) <pre>cd u-boot && make rk3399_linux_defconfig && make ARCHV=aarch64 -j12 && cd .. </pre> === Building rootfs === ==== Debian ==== You could refer to [[Media:RK3399_Linux_Debian_System_Development_Guide.pdf|RK3399 Linux Debian System Development Guide]]&nbsp;from Rockchip to build rootfs yourselves. ==== Buildroot ==== <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd buildroot && make rockchip_rk3399_defconfig && cd .. && ./build_all.sh -j12 && ./mkfirmware.sh&nbsp;</div> In order to get more details,you could refer to [[Media:RK3399_Linux_Buildroot_System_Development_Guide.pdf|RK3399 Linux Buildroot System Development Guide]]. = Devices = Rockchip: [[Excavator_sapphire_board|Excavator_sapphire_board]] Firefly: [http://wiki.t-firefly.com/index.php/Firefly-RK3399 Firefly-RK3399] If you need the rk3399-excavator&nbsp;board, please communicate through&nbsp;the following&nbsp;contact information: <pre>Telephone: 4007700590 Email: service@rock-chips.com</pre> If you need the Firefly-RK3399 board,You can browse the following url&nbsp;for more details: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">http://wiki.t-firefly.com/index.php/Firefly-RK3399</div> = See also = [[RK3288|RK3288]] [[RK3328|RK3328]] = Owners of the SoC on IRC = = Commuity Support = = References = = Exteneral Links = 87a83380a191b061e8864148c6c61836f9494678 474 473 2017-03-10T01:42:51Z Karen 3 wikitext text/x-wiki Rockchip RK3399 SoC integrates&nbsp;dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor, and with&nbsp;ARM Mali-T864 GPU. {| border="0" cellpadding="1" cellspacing="0" class="infobox" style="width: 200px;" |- | [[File:RK3399 Soc.png|RTENOTITLE]] |} = Overview = RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications. = SoC Features = {| border="0" cellpadding="1" cellspacing="1" style="width: 972px;" |- | style="width: 530px;" | *CPU: **Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU **Frequency is over 1.8GHz (Big cluster) *GPU: **&nbsp;Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11 **Supports AFBC (ARM Frame Buffer Compression) *Display: **Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600 **Dual channel MIPI-DSI (4 lanes per channel) **eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR **HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2 **DisplayPort 1.2 (4 lanes, up to 4K 60Hz) **Supports Rec.2020 and conversion to Rec.709 *Camera: **&nbsp;Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels *Memory: **Dual channels 64-bit DRAM controller **Support DDR3/DDR3L, LPDDR3, LPDDR4 *Connectivity: **PCIe 2.1 (4 full-duplex lanes with 20Gbps) **Embedded low power MCU for other application **8 channels I2S supports 8 channels RX or 8 channels TX | style="width: 429px;" | [[File:RK3399 Block Diagram.png|RTENOTITLE]] |} &nbsp; = Documentation = #[http://10.10.10.12:8444/images/6/60/Rockchip_RK3399_Datasheet_V1.6-20170301.pdf Rockchip_RK3399_Datasheet_V1.6-20170301] #[http://10.10.10.12:8444/images/9/9e/RK_DDR_Support_List_Ver2.24.pdf RK_DDR_Support_List_Ver2.24] #[http://10.10.10.12:8444/images/2/27/RK3399_Linux_Debian_System_Development_Guide.pdf RK3399_Linux_Debian_System_Development_Guide] #[http://10.10.10.12:8444/images/7/7e/RK3399_Linux_Buildroot_System_Development_Guide.pdf RK3399_Linux_Buildroot_System_Development_Guide] = Software = == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" style="line-height: 1.6; width: 768px;" |- | style="width: 119px; text-align: center;" | '''board''' | style="width: 172px; text-align: center;" | '''kernel''' | style="width: 124px; text-align: center;" | '''uboot''' | style="width: 310px; text-align: center;" | '''dts''' |- | style="width: 119px; text-align: center;" | rk3399-excavator | style="width: 172px; text-align: center;" | rockchip_linux_defconfig | style="width: 124px; text-align: center;" | rk3399_linux_defconfig | style="width: 310px; text-align: center;" | rk3399-sapphire-excavator-linux.dts |} == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" style="width: 859px;" |- | style="width: 68px; text-align: center;" | '''chip''' | style="width: 181px; text-align: center;" | '''Kernel eMMC index''' | style="width: 142px; text-align: center;" | '''Kernel SD index''' | style="width: 158px; text-align: center;" | '''Uboot eMMC index''' | style="width: 146px; text-align: center;" | '''Uboot SD index''' | style="width: 132px; text-align: center;" | '''Baud speed''' |- | style="width: 68px; text-align: center;" | RK3399 | style="width: 181px; text-align: center;" | 1 | style="width: 142px; text-align: center;" | 0 | style="width: 158px; text-align: center;" | 0 | style="width: 146px; text-align: center;" | 1 | style="width: 132px; text-align: center;" | 1500000 |} &nbsp; == How to get the sources == The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code. RK3399 optimized Debian & Buildroot <pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml repo sync </pre> == How to build the sources == === Build Environment === You need a 64-bit&nbsp;Ubuntu. Note: old versions&nbsp;Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;"><br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so</div> Install&nbsp;ARM cross-compile tool chain and compile kernel relative&nbsp;software package:&nbsp; <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">$ sudo apt-get install gcc-arm-linux-gnueabihf&nbsp;gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev</div> &nbsp; === Building kernel &&nbsp;resource === For RK3399&nbsp;Excavator-sapphire&nbsp;board: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd kernel && make ARCH=arm64 rockchip_linux_defconfig && make ARCH=arm64 rk3399-sapphire-excavator-linux.img -j12 && cd ..</div> For&nbsp;Firefly-RK3399 board: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd kernel && make ARCH=arm64 rockchip_linux_defconfig && make ARCH=arm64 rk3399-firefly-mini-linux.img -j12 && cd ..</div> === Building uboot === For RK3399 optimized SDK (rkproduct uboot) <pre>cd u-boot && make rk3399_linux_defconfig && make ARCHV=aarch64 -j12 && cd .. </pre> === Building rootfs === ==== Debian ==== You could refer to [[Media:RK3399_Linux_Debian_System_Development_Guide.pdf|RK3399 Linux Debian System Development Guide]]&nbsp;from Rockchip to build rootfs yourselves. &nbsp; ==== Buildroot ==== <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd buildroot && make rockchip_rk3399_defconfig && cd .. && ./build_all.sh -j12 && ./mkfirmware.sh&nbsp;</div> In order to get more details,you could refer to [[Media:RK3399_Linux_Buildroot_System_Development_Guide.pdf|RK3399 Linux Buildroot System Development Guide]]. &nbsp; = Devices = Rockchip: [[Excavator_sapphire_board|Excavator_sapphire_board]] Firefly: [http://wiki.t-firefly.com/index.php/Firefly-RK3399 Firefly-RK3399] If you need the rk3399-excavator&nbsp;board, please communicate through&nbsp;the following&nbsp;contact information: <pre>Telephone: 4007700590 Email: service@rock-chips.com</pre> If you need the Firefly-RK3399 board,You can browse the following url&nbsp;for more details: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">[http://wiki.t-firefly.com/index.php/Firefly-RK3399 http://wiki.t-firefly.com/index.php/Firefly-RK3399]</div> = See also = [[RK3288|RK3288]] [[RK3328|RK3328]] = References = 15d50283bcbc1ac091d01062f1a40f8493e620bf 495 474 2017-03-10T03:57:00Z Kevan 10 wikitext text/x-wiki Rockchip RK3399 SoC integrates&nbsp;dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor, and with&nbsp;ARM Mali-T864 GPU. {| border="0" cellpadding="1" cellspacing="0" class="infobox" style="width: 200px;" |- | [[File:RK3399 Soc.png|RTENOTITLE]] |} = Overview = RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications. = SoC Features = {| border="0" cellpadding="1" cellspacing="1" style="width: 972px;" |- | style="width: 530px;" | *CPU: **Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU **Frequency is over 1.8GHz (Big cluster) *GPU: **&nbsp;Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11 **Supports AFBC (ARM Frame Buffer Compression) *Display: **Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600 **Dual channel MIPI-DSI (4 lanes per channel) **eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR **HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2 **DisplayPort 1.2 (4 lanes, up to 4K 60Hz) **Supports Rec.2020 and conversion to Rec.709 *Camera: **&nbsp;Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels *Memory: **Dual channels 64-bit DRAM controller **Support DDR3/DDR3L, LPDDR3, LPDDR4 *Connectivity: **PCIe 2.1 (4 full-duplex lanes with 20Gbps) **Embedded low power MCU for other application **8 channels I2S supports 8 channels RX or 8 channels TX | style="width: 429px;" | [[File:RK3399 Block Diagram.png|RTENOTITLE]] |} &nbsp; = Documentation = #[http://10.10.10.12:8444/images/6/60/Rockchip_RK3399_Datasheet_V1.6-20170301.pdf Rockchip_RK3399_Datasheet_V1.6-20170301] #[http://10.10.10.12:8444/images/9/9e/RK_DDR_Support_List_Ver2.24.pdf RK_DDR_Support_List_Ver2.24] #[http://10.10.10.12:8444/images/2/27/RK3399_Linux_Debian_System_Development_Guide.pdf RK3399_Linux_Debian_System_Development_Guide] #[http://10.10.10.12:8444/images/7/7e/RK3399_Linux_Buildroot_System_Development_Guide.pdf RK3399_Linux_Buildroot_System_Development_Guide] = Software = == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" style="line-height: 1.6; width: 768px;" |- | style="width: 119px; text-align: center;" | '''board''' | style="width: 172px; text-align: center;" | '''kernel''' | style="width: 124px; text-align: center;" | '''uboot''' | style="width: 310px; text-align: center;" | '''dts''' |- | style="width: 119px; text-align: center;" | rk3399-excavator | style="width: 172px; text-align: center;" | rockchip_linux_defconfig | style="width: 124px; text-align: center;" | rk3399_linux_defconfig | style="width: 310px; text-align: center;" | rk3399-sapphire-excavator-linux.dts |} == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" style="width: 859px;" |- | style="width: 68px; text-align: center;" | '''chip''' | style="width: 181px; text-align: center;" | '''Kernel eMMC index''' | style="width: 142px; text-align: center;" | '''Kernel SD index''' | style="width: 158px; text-align: center;" | '''Uboot eMMC index''' | style="width: 146px; text-align: center;" | '''Uboot SD index''' | style="width: 132px; text-align: center;" | '''Baud speed''' |- | style="width: 68px; text-align: center;" | RK3399 | style="width: 181px; text-align: center;" | 1 | style="width: 142px; text-align: center;" | 0 | style="width: 158px; text-align: center;" | 0 | style="width: 146px; text-align: center;" | 1 | style="width: 132px; text-align: center;" | 1500000 |} &nbsp; == How to get the sources == The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code. RK3399 optimized Debian & Buildroot <pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml repo sync </pre> == How to build the sources == === Build Environment === You need a 64-bit&nbsp;Ubuntu. Note: old versions&nbsp;Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;"><br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so</div> Install&nbsp;ARM cross-compile tool chain and compile kernel relative&nbsp;software package:&nbsp; <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">$ sudo apt-get install gcc-arm-linux-gnueabihf&nbsp;gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev</div> &nbsp; === Building kernel &&nbsp;resource === For RK3399&nbsp;Excavator-sapphire&nbsp;board: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd kernel && make ARCH=arm64 rockchip_linux_defconfig && make ARCH=arm64 rk3399-sapphire-excavator-linux.img -j12 && cd ..</div> For&nbsp;Firefly-RK3399 board: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd kernel && make ARCH=arm64 rockchip_linux_defconfig && make ARCH=arm64 rk3399-firefly-mini-linux.img -j12 && cd ..</div> === Building uboot === For RK3399 optimized SDK (rkproduct uboot) <pre>cd u-boot && make rk3399_linux_defconfig && make ARCHV=aarch64 -j12 && cd .. </pre> === Building rootfs === ==== Debian ==== You could refer to [[Media:RK3399_Linux_Debian_System_Development_Guide.pdf|RK3399 Linux Debian System Development Guide]]&nbsp;from Rockchip to build rootfs yourselves. &nbsp; ==== Buildroot ==== <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd buildroot && make rockchip_rk3399_defconfig && cd .. && ./build_all.sh -j12 && ./mkfirmware.sh&nbsp;</div> In order to get more details,you could refer to [[Media:RK3399_Linux_Buildroot_System_Development_Guide.pdf|RK3399 Linux Buildroot System Development Guide]]. &nbsp; = Devices = Rockchip: [[Excavator_sapphire_board|Excavator_sapphire_board]] Firefly: [http://wiki.t-firefly.com/index.php/Firefly-RK3399 Firefly-RK3399] If you need the rk3399-excavator&nbsp;board, please communicate through&nbsp;the following&nbsp;contact information: <pre>Telephone: 4007700590 Email: service@rock-chips.com</pre> If you need the Firefly-RK3399 board,you can browse the following url&nbsp;for more details: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">[http://wiki.t-firefly.com/index.php/Firefly-RK3399 http://wiki.t-firefly.com/index.php/Firefly-RK3399]</div> = See also = [[RK3288|RK3288]] [[RK3328|RK3328]] = References = f2c1d195d12f3d2e45564f489a46d98fcce673f0 Template:Infobox SoC1 10 56 481 393 2017-03-10T02:13:15Z Admin 1 Replaced content with "111" wikitext text/x-wiki 111 6216f8a75fd5bb3d5f22b6f9958cdede3fc086c2 482 481 2017-03-10T02:14:19Z Admin 1 wikitext text/x-wiki {{Infobox | above = {{{name|<includeonly>{{PAGENAME}}</includeonly>}}} | abovestyle = background: #dedede; | image = {{{image|}}} | caption = {{{caption|}}} | headerstyle = background: #dedede; | header1 = | label1 = Manufacturer | data1 = {{{manufacturer|}}} | header2 = | label2 = Process | data2 = {{{process|}}} | header3 = | label3 = CPU | data3 = {{{cpu|}}} | header4 = | label4 = L2 | data4 = {{{l2|}}} | header5 = | label5 = Extensions | data5 = {{{extensions|}}} | header6 = | label6 = Memory | data6 = {{{memory|}}} | header7 = | label7 = GPU | data7 = {{{gpu|}}} | header8 = | label8 = VPU | data8 = {{{vpu|}}} | header9 = | label9 = APU | data9 = {{{apu|}}} | header10 = Connectivity | label10 = | data10 = | header11 = | label11 = Video | data11 = {{{video|}}} | header12 = | label12 = Audio | data12 = {{{audio|}}} | header13 = | label13 = Network | data13 = {{{network|}}} | header14 = | label14 = Storage | data14 = {{{storage|}}} | header15 = | label15 = USB | data15 = {{{usb|}}} | header16 = | label16 = Other | data16 = {{{other|}}} | header17 = | label17 = Release Date | data17 = {{{release_date|}}} | header18 = | label18 = Website | data18 = {{{website|}}} }} d6f9d9bcd1d141ca7782e158ac07fbdcebfdcdb2 Template:Infobox 10 41 484 280 2017-03-10T02:24:57Z Admin 1 Replaced content with "{{{image}}}" wikitext text/x-wiki {{{image}}} 2bfd2a1217c99508ceac56f305441be044952834 486 484 2017-03-10T02:27:51Z Admin 1 wikitext text/x-wiki <includeonly><table class="infobox {{{bodyclass|}}}" cellspacing="5" style="width:22em; {{#if:{{{float|}}}|float: {{{float}}}; clear: {{#ifeq:{{{float|}}}|none|both|{{{float}}}}}; margin: 0 0 1em 1em;}} {{{bodystyle|}}}"> <!-- Title -->{{#if:{{{title|}}}|<caption class="{{{titleclass|}}}" style="{{{titlestyle|}}}">{{{title}}}</caption>}}<!-- Header -->{{#if:{{{above|}}}|<tr><th colspan=2 class="{{{aboveclass|}}}" style="text-align:center; font-size:125%; font-weight:bold; {{{abovestyle|}}}">{{{above}}}</th></tr>}} {{#ifeq:{{{child|}}}|yes|{{#if:{{{title|}}}|'''{{{title}}}'''}}}}<!-- Image -->{{#if:{{{image|}}}|{{Infobox/row |data={{{image}}}{{#if:{{{caption|}}}|<br /><span style="{{{captionstyle|}}}">{{{caption|}}}</span>}} |datastyle={{{imagestyle|}}} |class={{{imageclass|}}} |rowclass={{{imagerowclass|}}} }} }}<!-- Data rows -->{{Infobox/row |header={{{header1|}}} |headerstyle={{{headerstyle|}}} |label={{{label1|}}} |labelstyle={{{labelstyle|}}} |data={{{data1|}}} |datastyle={{{datastyle|}}} |class={{{class1|}}} |rowclass={{{rowclass1|}}} }}{{Infobox/row |header={{{header2|}}} |headerstyle={{{headerstyle|}}} |label={{{label2|}}} |labelstyle={{{labelstyle|}}} |data={{{data2|}}} |datastyle={{{datastyle|}}} |class={{{class2|}}} |rowclass={{{rowclass2|}}} }}{{Infobox/row |header={{{header3|}}} |headerstyle={{{headerstyle|}}} |label={{{label3|}}} |labelstyle={{{labelstyle|}}} |data={{{data3|}}} |datastyle={{{datastyle|}}} |class={{{class3|}}} |rowclass={{{rowclass3|}}} }}{{Infobox/row |header={{{header4|}}} |headerstyle={{{headerstyle|}}} |label={{{label4|}}} |labelstyle={{{labelstyle|}}} |data={{{data4|}}} |datastyle={{{datastyle|}}} |class={{{class4|}}} |rowclass={{{rowclass4|}}} }}{{Infobox/row |header={{{header5|}}} |headerstyle={{{headerstyle|}}} |label={{{label5|}}} |labelstyle={{{labelstyle|}}} |data={{{data5|}}} |datastyle={{{datastyle|}}} |class={{{class5|}}} |rowclass={{{rowclass5|}}} }}{{Infobox/row |header={{{header6|}}} |headerstyle={{{headerstyle|}}} |label={{{label6|}}} |labelstyle={{{labelstyle|}}} |data={{{data6|}}} |datastyle={{{datastyle|}}} |class={{{class6|}}} |rowclass={{{rowclass6|}}} }}{{Infobox/row |header={{{header7|}}} |headerstyle={{{headerstyle|}}} |label={{{label7|}}} |labelstyle={{{labelstyle|}}} |data={{{data7|}}} |datastyle={{{datastyle|}}} |class={{{class7|}}} |rowclass={{{rowclass7|}}} }}{{Infobox/row |header={{{header8|}}} |headerstyle={{{headerstyle|}}} |label={{{label8|}}} |labelstyle={{{labelstyle|}}} |data={{{data8|}}} |datastyle={{{datastyle|}}} |class={{{class8|}}} |rowclass={{{rowclass8|}}} }}{{Infobox/row |header={{{header9|}}} |headerstyle={{{headerstyle|}}} |label={{{label9|}}} |labelstyle={{{labelstyle|}}} |data={{{data9|}}} |datastyle={{{datastyle|}}} |class={{{class9|}}} |rowclass={{{rowclass9|}}} }}{{Infobox/row |header={{{header10|}}} |headerstyle={{{headerstyle|}}} |label={{{label10|}}} |labelstyle={{{labelstyle|}}} |data={{{data10|}}} |datastyle={{{datastyle|}}} |class={{{class10|}}} |rowclass={{{rowclass10|}}} }}{{Infobox/row |header={{{header11|}}} |headerstyle={{{headerstyle|}}} |label={{{label11|}}} |labelstyle={{{labelstyle|}}} |data={{{data11|}}} |datastyle={{{datastyle|}}} |class={{{class11|}}} |rowclass={{{rowclass11|}}} }}{{Infobox/row |header={{{header12|}}} |headerstyle={{{headerstyle|}}} |label={{{label12|}}} |labelstyle={{{labelstyle|}}} |data={{{data12|}}} |datastyle={{{datastyle|}}} |class={{{class12|}}} |rowclass={{{rowclass12|}}} }}{{Infobox/row |header={{{header13|}}} |headerstyle={{{headerstyle|}}} |label={{{label13|}}} |labelstyle={{{labelstyle|}}} |data={{{data13|}}} |datastyle={{{datastyle|}}} |class={{{class13|}}} |rowclass={{{rowclass13|}}} }}{{Infobox/row |header={{{header14|}}} |headerstyle={{{headerstyle|}}} |label={{{label14|}}} |labelstyle={{{labelstyle|}}} |data={{{data14|}}} |datastyle={{{datastyle|}}} |class={{{class14|}}} |rowclass={{{rowclass14|}}} }}{{Infobox/row |header={{{header15|}}} |headerstyle={{{headerstyle|}}} |label={{{label15|}}} |labelstyle={{{labelstyle|}}} |data={{{data15|}}} |datastyle={{{datastyle|}}} |class={{{class15|}}} |rowclass={{{rowclass15|}}} }}{{Infobox/row |header={{{header16|}}} |headerstyle={{{headerstyle|}}} |label={{{label16|}}} |labelstyle={{{labelstyle|}}} |data={{{data16|}}} |datastyle={{{datastyle|}}} |class={{{class16|}}} |rowclass={{{rowclass16|}}} }}{{Infobox/row |header={{{header17|}}} |headerstyle={{{headerstyle|}}} |label={{{label17|}}} |labelstyle={{{labelstyle|}}} |data={{{data17|}}} |datastyle={{{datastyle|}}} |class={{{class17|}}} |rowclass={{{rowclass17|}}} }}{{Infobox/row |header={{{header18|}}} |headerstyle={{{headerstyle|}}} |label={{{label18|}}} |labelstyle={{{labelstyle|}}} |data={{{data18|}}} |datastyle={{{datastyle|}}} |class={{{class18|}}} |rowclass={{{rowclass18|}}} }}{{Infobox/row |header={{{header19|}}} |headerstyle={{{headerstyle|}}} |label={{{label19|}}} |labelstyle={{{labelstyle|}}} |data={{{data19|}}} |datastyle={{{datastyle|}}} |class={{{class19|}}} |rowclass={{{rowclass19|}}} }}{{Infobox/row |header={{{header20|}}} |headerstyle={{{headerstyle|}}} |label={{{label20|}}} |labelstyle={{{labelstyle|}}} |data={{{data20|}}} |datastyle={{{datastyle|}}} |class={{{class20|}}} |rowclass={{{rowclass20|}}} }} {{Infobox/row |header={{{header21|}}} |headerstyle={{{headerstyle|}}} |label={{{label21|}}} |labelstyle={{{labelstyle|}}} |data={{{data21|}}} |datastyle={{{datastyle|}}} |class={{{class21|}}} |rowclass={{{rowclass21|}}} }} </table></includeonly> 48cb67a4c9c663a64feb97c5ff055aa6a71e4b0c File:RK3399 EVB User Guide-20160920.pdf 6 62 491 2017-03-10T03:29:42Z Chery 9 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 RK3288 0 20 497 437 2017-03-10T06:12:08Z Karen 3 wikitext text/x-wiki {{Infobox SoC | title = RK3288 | image = [[File:rk3288_soc.png|200px]] | manufacturer = Rockcihp | process = 28nm | cpu = Quad-Core ARM Cortex-A17 | ltwo = | extensions = | memory = 2-channel DDR3/LPDDR2, 2-channel DDR3L, maximum of 4GB total (2GB per channel) | gpu = SGX544 | vpu = | apu = | video = HDMI 1.4, MIPI DSI, 2-channel LVDS, 2-channel RGB LCD | audio = I2S, PCM | network = | storage = 4x SD Card, eMMC NAND, 2-channel raw NAND | usb = OTG, 2x Host | other = | release_date = December 2012 | website = http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html }} &nbsp; &nbsp; &nbsp; Integrated with a Quad-Core [https://en.wikipedia.org/wiki/ARM_Cortex-A17 Cortex-A17]&nbsp;which up to 1.8GHz and ARMMali-T764&nbsp;which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant&nbsp;interfaces provide&nbsp;a friendly solution for product&nbsp;development. Futhermore &nbsp; &nbsp; &nbsp; = Overview = The RK3288 offers&nbsp;<cite>an extensible</cite>, <var>leading&nbsp;performance</var>,long-standing heritage platform,ideally suited for &nbsp;set-top box solution, tablet and chromebook.The platform is integrated with a Quad-Core Cortex-A17 which up to 1.8GHz and ARM Mali-T764&nbsp;which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant&nbsp;interfaces provide&nbsp;a friendly solution for product&nbsp;development. Futhermore, the power consumption is&nbsp;optimal for applications such as imaging/video, communication and broadband infrastructure,<span style="color:#B22222;"><span style="background-color:#E6E6FA;">and performance audio applications</span></span><span style="background-color:#E6E6FA;">.</span> = RK3288 SoC Features = *CPU: **Quad Core Cortex-A17&nbsp;up to 1.8GHz **32KB L1-Cache **1MB L2-Cache *GPU: **ARM Mali-T764 GPU, with TE, ASTC, AFBC technology **Quad core 3D Graphics engine **Dual core 2D Graphics engine **Comply with&nbsp;OpenGL ES1.1/2.0/3.0, OpenVG1.1, OpenCL, DirectX11 *Display: **4Kx2K@60fpsHDMI2.0 **Up to 3840X2160 display resolution **Support dual-channel LVDS/dual-channel MIPI-DSI/eDP1.1 *Camera: **Support up to 5M pixels **8bits/10bits/12bits raw data interface&nbsp; *Memory: **Dual channels 64-bit DRAM controller **Support DDR3/DDR3L, LPDDR2, LPDDR3 *Connectivity: **Embedded 13M ISP and MIPI-CSI2 interface *Audio: **I2S/PCM with 8 channels *OS: **Support Android 4.2 or up = Devices = Rockchip: EVB-RK3328 Firefly: [[Firefly-RK3288|Firefly-RK3288]]<br/> [[Firefly-RK3288_reload|Firefly-RK3288 reload]]<br/> [[Rock2_Square|Rock2 Square]]<br/> [[Rock2_Full|Rock2 Full]]<br/> [[MiQi|MiQi]]<br/> [[Popmetal|Popmetal]]<br/> [[Fennec|Fennec]]<br/> [[PhyCORE-RK3288|phyCORE-RK3288]] ASUS: Tinker board = Documentation = #[http://10.10.10.12:8444/images/4/4e/Rockchip_RK3288_Datasheet_V2.2-20170301.pdf Rockchip_RK3288_Datasheet_V2.2-20170301] #[http://10.10.10.12:8444/images/5/5a/RK3288硬件设计资料.rar RK3288硬件设计资料] = Software = == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" |- | '''board''' | '''kernel''' | '''uboot''' | '''dts''' |- | RK3288_MAINBOARD_V3.0 | rockchip_linux_defconfig | rk3288_linux_defconfig | rk-linux.dts |} &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" |- | '''chip''' | '''Kernel eMMC index''' | '''Kernel SD index''' | '''Uboot eMMC index''' | '''Uboot SD index''' | '''Baud speed''' |- | RK3288 | 1 | 0 | 0 | 1 | 115200 |} = See also = [[RK3328|RK3328]] [[RK3399|RK3399]] = References = #[https://en.wikipedia.org/wiki/ARM_Cortex-A17 https://en.wikipedia.org/wiki/ARM_Cortex-A17] #[http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html] 336921a746aca280e53fa48e204a0e5560de2201 510 497 2017-03-10T08:29:59Z Karen 3 wikitext text/x-wiki {{Infobox SoC | title = RK3288 | image = [[File:rk3288_soc.png|200px]] | manufacturer = Rockcihp | process = 28nm | cpu = Quad-Core ARM Cortex-A17 | ltwo = | extensions = | memory = 2-channel DDR3/LPDDR2, 2-channel DDR3L, maximum of 4GB total (2GB per channel) | gpu = Mali | vpu = | apu = | video = HDMI 1.4, MIPI DSI, 2-channel LVDS, 2-channel RGB LCD | audio = I2S, PCM | network = | storage = 4x SD Card, eMMC NAND, 2-channel raw NAND | usb = OTG, 2x Host | other = | release_date = December 2012 | website = http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html }} &nbsp; &nbsp; &nbsp; Integrated with a Quad-Core [https://en.wikipedia.org/wiki/ARM_Cortex-A17 Cortex-A17]&nbsp;which up to 1.8GHz and ARMMali-T764&nbsp;which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant&nbsp;interfaces provide&nbsp;a friendly solution for product&nbsp;development. Futhermore &nbsp; &nbsp; &nbsp; &nbsp; = Overview = The RK3288 offers&nbsp;<cite>an extensible</cite>, <var>leading&nbsp;performance</var>,long-standing heritage platform,ideally suited for &nbsp;set-top box solution, tablet and chromebook.The platform is integrated with a Quad-Core Cortex-A17 which up to 1.8GHz and ARM Mali-T764&nbsp;which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant&nbsp;interfaces provide&nbsp;a friendly solution for product&nbsp;development. Futhermore, the power consumption is&nbsp;optimal for applications such as imaging/video, communication and broadband infrastructure,<span style="color:#B22222;"><span style="background-color:#E6E6FA;">and performance audio applications</span></span><span style="background-color:#E6E6FA;">.</span> = RK3288 SoC Features = *CPU: **Quad Core Cortex-A17&nbsp;up to 1.8GHz **32KB L1-Cache **1MB L2-Cache *GPU: **ARM Mali-T764 GPU, with TE, ASTC, AFBC technology **Quad core 3D Graphics engine **Dual core 2D Graphics engine **Comply with&nbsp;OpenGL ES1.1/2.0/3.0, OpenVG1.1, OpenCL, DirectX11 *Display: **4Kx2K@60fpsHDMI2.0 **Up to 3840X2160 display resolution **Support dual-channel LVDS/dual-channel MIPI-DSI/eDP1.1 *Camera: **Support up to 5M pixels **8bits/10bits/12bits raw data interface&nbsp; *Memory: **Dual channels 64-bit DRAM controller **Support DDR3/DDR3L, LPDDR2, LPDDR3 *Connectivity: **Embedded 13M ISP and MIPI-CSI2 interface *Audio: **I2S/PCM with 8 channels *OS: **Support Android 4.2 or up = Devices = Rockchip: EVB-RK3328 Firefly: [[Firefly-RK3288|Firefly-RK3288]]<br/> [[Firefly-RK3288_reload|Firefly-RK3288 reload]]<br/> [[Rock2_Square|Rock2 Square]]<br/> [[Rock2_Full|Rock2 Full]]<br/> [[MiQi|MiQi]]<br/> [[Popmetal|Popmetal]]<br/> [[Fennec|Fennec]]<br/> [[PhyCORE-RK3288|phyCORE-RK3288]] ASUS: Tinker board &nbsp; = Documentation = #[http://10.10.10.12:8444/images/4/4e/Rockchip_RK3288_Datasheet_V2.2-20170301.pdf Rockchip_RK3288_Datasheet_V2.2-20170301] #[http://10.10.10.12:8444/images/5/5a/RK3288硬件设计资料.rar RK3288硬件设计资料] = Software = == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" |- | '''board''' | '''kernel''' | '''uboot''' | '''dts''' |- | RK3288_MAINBOARD_V3.0 | rockchip_linux_defconfig | rk3288_linux_defconfig | rk-linux.dts |} &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" |- | '''chip''' | '''Kernel eMMC index''' | '''Kernel SD index''' | '''Uboot eMMC index''' | '''Uboot SD index''' | '''Baud speed''' |- | RK3288 | 1 | 0 | 0 | 1 | 115200 |} = See also = [[RK3328|RK3328]] [[RK3399|RK3399]] = References = #[https://en.wikipedia.org/wiki/ARM_Cortex-A17 https://en.wikipedia.org/wiki/ARM_Cortex-A17] #[http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html] a4644050f3192125733ab07e7ee48b2a265b13e4 511 510 2017-03-10T08:32:38Z Karen 3 wikitext text/x-wiki {{Infobox SoC | title = RK3288 | image = [[File:rk3288_soc.png|200px]] | manufacturer = Rockcihp | process = 28nm | cpu = Quad-Core ARM Cortex-A17 | ltwo = | extensions = | memory = 2-channel DDR3/LPDDR2, 2-channel DDR3L, maximum of 4GB total (2GB per channel) | gpu = ARM Mali-T764 GPU | vpu = | apu = | video = HDMI 1.4, MIPI DSI, 2-channel LVDS, 2-channel RGB LCD | audio = I2S, PCM | network = | storage = 4x SD Card, eMMC NAND, 2-channel raw NAND | usb = OTG, 2x Host | other = | release_date = December 2012 | website = http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html }} &nbsp; &nbsp; &nbsp; Integrated with a Quad-Core [https://en.wikipedia.org/wiki/ARM_Cortex-A17 Cortex-A17]&nbsp;which up to 1.8GHz and ARMMali-T764&nbsp;which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant&nbsp;interfaces provide&nbsp;a friendly solution for product&nbsp;development. Futhermore &nbsp; &nbsp; &nbsp; &nbsp; = Overview = The RK3288 offers&nbsp;<cite>an extensible</cite>, <var>leading&nbsp;performance</var>,long-standing heritage platform,ideally suited for &nbsp;set-top box solution, tablet and chromebook.The platform is integrated with a Quad-Core Cortex-A17 which up to 1.8GHz and ARM Mali-T764&nbsp;which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant&nbsp;interfaces provide&nbsp;a friendly solution for product&nbsp;development. Futhermore, the power consumption is&nbsp;optimal for applications such as imaging/video, communication and broadband infrastructure,<span style="color:#B22222;"><span style="background-color:#E6E6FA;">and performance audio applications</span></span><span style="background-color:#E6E6FA;">.</span> = RK3288 SoC Features = *CPU: **Quad Core Cortex-A17&nbsp;up to 1.8GHz **32KB L1-Cache **1MB L2-Cache *GPU: **ARM Mali-T764 GPU, with TE, ASTC, AFBC technology **Quad core 3D Graphics engine **Dual core 2D Graphics engine **Comply with&nbsp;OpenGL ES1.1/2.0/3.0, OpenVG1.1, OpenCL, DirectX11 *Display: **4Kx2K@60fpsHDMI2.0 **Up to 3840X2160 display resolution **Support dual-channel LVDS/dual-channel MIPI-DSI/eDP1.1 *Camera: **Support up to 5M pixels **8bits/10bits/12bits raw data interface&nbsp; *Memory: **Dual channels 64-bit DRAM controller **Support DDR3/DDR3L, LPDDR2, LPDDR3 *Connectivity: **Embedded 13M ISP and MIPI-CSI2 interface *Audio: **I2S/PCM with 8 channels *OS: **Support Android 4.2 or up = Devices = Rockchip: EVB-RK3328 Firefly: [[Firefly-RK3288|Firefly-RK3288]]<br/> [[Firefly-RK3288_reload|Firefly-RK3288 reload]]<br/> [[Rock2_Square|Rock2 Square]]<br/> [[Rock2_Full|Rock2 Full]]<br/> [[MiQi|MiQi]]<br/> [[Popmetal|Popmetal]]<br/> [[Fennec|Fennec]]<br/> [[PhyCORE-RK3288|phyCORE-RK3288]] ASUS: Tinker board &nbsp; = Documentation = #[http://10.10.10.12:8444/images/4/4e/Rockchip_RK3288_Datasheet_V2.2-20170301.pdf Rockchip_RK3288_Datasheet_V2.2-20170301] #[http://10.10.10.12:8444/images/5/5a/RK3288硬件设计资料.rar RK3288硬件设计资料] = Software = == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" |- | '''board''' | '''kernel''' | '''uboot''' | '''dts''' |- | RK3288_MAINBOARD_V3.0 | rockchip_linux_defconfig | rk3288_linux_defconfig | rk-linux.dts |} &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" |- | '''chip''' | '''Kernel eMMC index''' | '''Kernel SD index''' | '''Uboot eMMC index''' | '''Uboot SD index''' | '''Baud speed''' |- | RK3288 | 1 | 0 | 0 | 1 | 115200 |} = See also = [[RK3328|RK3328]] [[RK3399|RK3399]] = References = #[https://en.wikipedia.org/wiki/ARM_Cortex-A17 https://en.wikipedia.org/wiki/ARM_Cortex-A17] #[http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html] aefc0f4457f5324384afac3be94a2fdc4ef10007 512 511 2017-03-10T08:33:09Z Karen 3 wikitext text/x-wiki {{Infobox SoC | title = RK3288 | image = [[File:rk3288_soc.png|200px]] | manufacturer = Rockcihp | process = 28nm | cpu = Quad-Core ARM Cortex-A17 | ltwo = | extensions = | memory = 2-channel DDR3/LPDDR2, 2-channel DDR3L, maximum of 4GB total (2GB per channel) | gpu = ARM Mali-T764 | vpu = | apu = | video = HDMI 1.4, MIPI DSI, 2-channel LVDS, 2-channel RGB LCD | audio = I2S, PCM | network = | storage = 4x SD Card, eMMC NAND, 2-channel raw NAND | usb = OTG, 2x Host | other = | release_date = December 2012 | website = http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html }} &nbsp; &nbsp; &nbsp; Integrated with a Quad-Core [https://en.wikipedia.org/wiki/ARM_Cortex-A17 Cortex-A17]&nbsp;which up to 1.8GHz and ARMMali-T764&nbsp;which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant&nbsp;interfaces provide&nbsp;a friendly solution for product&nbsp;development. Futhermore &nbsp; &nbsp; &nbsp; &nbsp; = Overview = The RK3288 offers&nbsp;<cite>an extensible</cite>, <var>leading&nbsp;performance</var>,long-standing heritage platform,ideally suited for &nbsp;set-top box solution, tablet and chromebook.The platform is integrated with a Quad-Core Cortex-A17 which up to 1.8GHz and ARM Mali-T764&nbsp;which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant&nbsp;interfaces provide&nbsp;a friendly solution for product&nbsp;development. Futhermore, the power consumption is&nbsp;optimal for applications such as imaging/video, communication and broadband infrastructure,<span style="color:#B22222;"><span style="background-color:#E6E6FA;">and performance audio applications</span></span><span style="background-color:#E6E6FA;">.</span> = RK3288 SoC Features = *CPU: **Quad Core Cortex-A17&nbsp;up to 1.8GHz **32KB L1-Cache **1MB L2-Cache *GPU: **ARM Mali-T764 GPU, with TE, ASTC, AFBC technology **Quad core 3D Graphics engine **Dual core 2D Graphics engine **Comply with&nbsp;OpenGL ES1.1/2.0/3.0, OpenVG1.1, OpenCL, DirectX11 *Display: **4Kx2K@60fpsHDMI2.0 **Up to 3840X2160 display resolution **Support dual-channel LVDS/dual-channel MIPI-DSI/eDP1.1 *Camera: **Support up to 5M pixels **8bits/10bits/12bits raw data interface&nbsp; *Memory: **Dual channels 64-bit DRAM controller **Support DDR3/DDR3L, LPDDR2, LPDDR3 *Connectivity: **Embedded 13M ISP and MIPI-CSI2 interface *Audio: **I2S/PCM with 8 channels *OS: **Support Android 4.2 or up = Devices = Rockchip: EVB-RK3328 Firefly: [[Firefly-RK3288|Firefly-RK3288]]<br/> [[Firefly-RK3288_reload|Firefly-RK3288 reload]]<br/> [[Rock2_Square|Rock2 Square]]<br/> [[Rock2_Full|Rock2 Full]]<br/> [[MiQi|MiQi]]<br/> [[Popmetal|Popmetal]]<br/> [[Fennec|Fennec]]<br/> [[PhyCORE-RK3288|phyCORE-RK3288]] ASUS: Tinker board &nbsp; = Documentation = #[http://10.10.10.12:8444/images/4/4e/Rockchip_RK3288_Datasheet_V2.2-20170301.pdf Rockchip_RK3288_Datasheet_V2.2-20170301] #[http://10.10.10.12:8444/images/5/5a/RK3288硬件设计资料.rar RK3288硬件设计资料] = Software = == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" |- | '''board''' | '''kernel''' | '''uboot''' | '''dts''' |- | RK3288_MAINBOARD_V3.0 | rockchip_linux_defconfig | rk3288_linux_defconfig | rk-linux.dts |} &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" |- | '''chip''' | '''Kernel eMMC index''' | '''Kernel SD index''' | '''Uboot eMMC index''' | '''Uboot SD index''' | '''Baud speed''' |- | RK3288 | 1 | 0 | 0 | 1 | 115200 |} = See also = [[RK3328|RK3328]] [[RK3399|RK3399]] = References = #[https://en.wikipedia.org/wiki/ARM_Cortex-A17 https://en.wikipedia.org/wiki/ARM_Cortex-A17] #[http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html] 0f438a85cf58677bffa1103eac327ca7fe2b3599 513 512 2017-03-10T08:43:02Z Karen 3 wikitext text/x-wiki {{Infobox SoC | title = RK3288 | image = [[File:rk3288_soc.png|200px]] | manufacturer = Rockcihp | process = 28nm | cpu = Quad-Core ARM Cortex-A17 | ltwo = | extensions = | memory = 2-channel LPDDR3/LPDDR2, 2-channel DDR3L/DDR3, maximum of 4GB total (2GB per channel) | gpu = ARM Mali-T764 | vpu = | apu = | video = HDMI 1.4, MIPI DSI, 2-channel LVDS, 2-channel RGB LCD | audio = I2S, PCM | network = | storage = 4x SD Card, eMMC NAND, 2-channel raw NAND | usb = OTG, 2x Host | other = | release_date = December 2012 | website = http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html }} &nbsp; &nbsp; &nbsp; Integrated with a Quad-Core [https://en.wikipedia.org/wiki/ARM_Cortex-A17 Cortex-A17]&nbsp;which up to 1.8GHz and ARMMali-T764&nbsp;which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant&nbsp;interfaces provide&nbsp;a friendly solution for product&nbsp;development. Futhermore &nbsp; &nbsp; &nbsp; &nbsp; = Overview = The RK3288 offers&nbsp;<cite>an extensible</cite>, <var>leading&nbsp;performance</var>,long-standing heritage platform,ideally suited for &nbsp;set-top box solution, tablet and chromebook.The platform is integrated with a Quad-Core Cortex-A17 which up to 1.8GHz and ARM Mali-T764&nbsp;which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant&nbsp;interfaces provide&nbsp;a friendly solution for product&nbsp;development. Futhermore, the power consumption is&nbsp;optimal for applications such as imaging/video, communication and broadband infrastructure,<span style="color:#B22222;"><span style="background-color:#E6E6FA;">and performance audio applications</span></span><span style="background-color:#E6E6FA;">.</span> = RK3288 SoC Features = *CPU: **Quad Core Cortex-A17&nbsp;up to 1.8GHz **32KB L1-Cache **1MB L2-Cache *GPU: **ARM Mali-T764 GPU, with TE, ASTC, AFBC technology **Quad core 3D Graphics engine **Dual core 2D Graphics engine **Comply with&nbsp;OpenGL ES1.1/2.0/3.0, OpenVG1.1, OpenCL, DirectX11 *Display: **4Kx2K@60fpsHDMI2.0 **Up to 3840X2160 display resolution **Support dual-channel LVDS/dual-channel MIPI-DSI/eDP1.1 *Camera: **Support up to 5M pixels **8bits/10bits/12bits raw data interface&nbsp; *Memory: **Dual channels 64-bit DRAM controller **Support DDR3/DDR3L, LPDDR2, LPDDR3 *Connectivity: **Embedded 13M ISP and MIPI-CSI2 interface *Audio: **I2S/PCM with 8 channels *OS: **Support Android 4.2 or up = Devices = Rockchip: EVB-RK3328 Firefly: [[Firefly-RK3288|Firefly-RK3288]]<br/> [[Firefly-RK3288_reload|Firefly-RK3288 reload]]<br/> [[Rock2_Square|Rock2 Square]]<br/> [[Rock2_Full|Rock2 Full]]<br/> [[MiQi|MiQi]]<br/> [[Popmetal|Popmetal]]<br/> [[Fennec|Fennec]]<br/> [[PhyCORE-RK3288|phyCORE-RK3288]] ASUS: Tinker board &nbsp; = Documentation = #[http://10.10.10.12:8444/images/4/4e/Rockchip_RK3288_Datasheet_V2.2-20170301.pdf Rockchip_RK3288_Datasheet_V2.2-20170301] #[http://10.10.10.12:8444/images/5/5a/RK3288硬件设计资料.rar RK3288硬件设计资料] = Software = == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" |- | '''board''' | '''kernel''' | '''uboot''' | '''dts''' |- | RK3288_MAINBOARD_V3.0 | rockchip_linux_defconfig | rk3288_linux_defconfig | rk-linux.dts |} &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" |- | '''chip''' | '''Kernel eMMC index''' | '''Kernel SD index''' | '''Uboot eMMC index''' | '''Uboot SD index''' | '''Baud speed''' |- | RK3288 | 1 | 0 | 0 | 1 | 115200 |} = See also = [[RK3328|RK3328]] [[RK3399|RK3399]] = References = #[https://en.wikipedia.org/wiki/ARM_Cortex-A17 https://en.wikipedia.org/wiki/ARM_Cortex-A17] #[http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html] 15fd6a1a9575e0b1d13f50ce07c576bf57235bcc 520 513 2017-03-10T09:00:57Z Karen 3 wikitext text/x-wiki {{Infobox SoC | title = RK3288 | image = [[File:rk3288_soc.png|200px]] | manufacturer = Rockcihp | process = 28nm | cpu = Quad-Core ARM Cortex-A17 | ltwo = | extensions = | memory = 2-channel LPDDR3/LPDDR2, 2-channel DDR3L/DDR3, maximum of 4GB total (2GB per channel) | gpu = ARM Mali-T764 | vpu = | apu = | video = HDMI 1.4, MIPI DSI, 2-channel LVDS, 2-channel RGB LCD | audio = I2S, PCM | network = | storage = 4x SD Card, eMMC NAND, 2-channel raw NAND | usb = OTG, 2x Host | other = | release_date = June 2014 | website = http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html }} &nbsp; &nbsp; &nbsp; Integrated with a Quad-Core [https://en.wikipedia.org/wiki/ARM_Cortex-A17 Cortex-A17]&nbsp;which up to 1.8GHz and ARMMali-T764&nbsp;which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant&nbsp;interfaces provide&nbsp;a friendly solution for product&nbsp;development. Futhermore &nbsp; &nbsp; &nbsp; &nbsp; = Overview = The RK3288 offers&nbsp;<cite>an extensible</cite>, <var>leading&nbsp;performance</var>,long-standing heritage platform,ideally suited for &nbsp;set-top box solution, tablet and chromebook.The platform is integrated with a Quad-Core Cortex-A17 which up to 1.8GHz and ARM Mali-T764&nbsp;which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant&nbsp;interfaces provide&nbsp;a friendly solution for product&nbsp;development. Futhermore, the power consumption is&nbsp;optimal for applications such as imaging/video, communication and broadband infrastructure,<span style="color:#B22222;"><span style="background-color:#E6E6FA;">and performance audio applications</span></span><span style="background-color:#E6E6FA;">.</span> = RK3288 SoC Features = *CPU: **Quad Core Cortex-A17&nbsp;up to 1.8GHz **32KB L1-Cache **1MB L2-Cache *GPU: **ARM Mali-T764 GPU, with TE, ASTC, AFBC technology **Quad core 3D Graphics engine **Dual core 2D Graphics engine **Comply with&nbsp;OpenGL ES1.1/2.0/3.0, OpenVG1.1, OpenCL, DirectX11 *Display: **4Kx2K@60fpsHDMI2.0 **Up to 3840X2160 display resolution **Support dual-channel LVDS/dual-channel MIPI-DSI/eDP1.1 *Camera: **Support up to 5M pixels **8bits/10bits/12bits raw data interface&nbsp; *Memory: **Dual channels 64-bit DRAM controller **Support DDR3/DDR3L, LPDDR2, LPDDR3 *Connectivity: **Embedded 13M ISP and MIPI-CSI2 interface *Audio: **I2S/PCM with 8 channels *OS: **Support Android 4.2 or up = Devices = Rockchip: EVB-RK3328 Firefly: [[Firefly-RK3288|Firefly-RK3288]]<br/> [[Firefly-RK3288_reload|Firefly-RK3288 reload]]<br/> [[Rock2_Square|Rock2 Square]]<br/> [[Rock2_Full|Rock2 Full]]<br/> [[MiQi|MiQi]]<br/> [[Popmetal|Popmetal]]<br/> [[Fennec|Fennec]]<br/> [[PhyCORE-RK3288|phyCORE-RK3288]] ASUS: Tinker board &nbsp; = Documentation = #[http://10.10.10.12:8444/images/4/4e/Rockchip_RK3288_Datasheet_V2.2-20170301.pdf Rockchip_RK3288_Datasheet_V2.2-20170301] #[http://10.10.10.12:8444/images/5/5a/RK3288硬件设计资料.rar RK3288硬件设计资料] = Software = == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" |- | '''board''' | '''kernel''' | '''uboot''' | '''dts''' |- | RK3288_MAINBOARD_V3.0 | rockchip_linux_defconfig | rk3288_linux_defconfig | rk-linux.dts |} &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" |- | '''chip''' | '''Kernel eMMC index''' | '''Kernel SD index''' | '''Uboot eMMC index''' | '''Uboot SD index''' | '''Baud speed''' |- | RK3288 | 1 | 0 | 0 | 1 | 115200 |} = See also = [[RK3328|RK3328]] [[RK3399|RK3399]] = References = #[https://en.wikipedia.org/wiki/ARM_Cortex-A17 https://en.wikipedia.org/wiki/ARM_Cortex-A17] #[http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html] f1057bd4553b3fe51cfb6b7a89d2875ccf8c750b 527 520 2017-03-10T09:23:48Z Karen 3 wikitext text/x-wiki {{Infobox SoC | title = RK3288 | image = [[File:rk3288_soc.png|200px]] | manufacturer = Rockcihp | process = 28nm | cpu = Quad-Core ARM Cortex-A17 | ltwo = | extensions = | memory = 2-channel LPDDR3/LPDDR2, 2-channel DDR3L/DDR3, maximum of 4GB total (2GB per channel) | gpu = ARM Mali-T764 | vpu = | apu = | video = HDMI 1.4, MIPI DSI, 2-channel LVDS, 2-channel RGB LCD | audio = I2S, PCM | network = | storage = 4x SD Card, eMMC NAND, 2-channel raw NAND | usb = OTG, 2x Host | other = | release_date = June 2014 | website = http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html }} &nbsp; &nbsp; &nbsp; Integrated with a Quad-Core [https://en.wikipedia.org/wiki/ARM_Cortex-A17 Cortex-A17]&nbsp;which up to 1.8GHz and ARMMali-T764&nbsp;which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant&nbsp;interfaces provide&nbsp;a friendly solution for product&nbsp;development. Futhermore &nbsp; &nbsp; &nbsp; &nbsp; = Overview = The RK3288 offers&nbsp;<cite>an extensible</cite>, <var>leading&nbsp;performance</var>,long-standing heritage platform,ideally suited for &nbsp;set-top box solution, tablet and chromebook.The platform is integrated with a Quad-Core Cortex-A17 which up to 1.8GHz and ARM Mali-T764&nbsp;which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant&nbsp;interfaces provide&nbsp;a friendly solution for product&nbsp;development. Futhermore, the power consumption is&nbsp;optimal for applications such as imaging/video, communication and broadband infrastructure,<span style="color:#B22222;"><span style="background-color:#E6E6FA;">and performance audio applications</span></span><span style="background-color:#E6E6FA;">.</span> = RK3288 SoC Features = {| border="0" cellpadding="1" cellspacing="1" style="width: 972px;" |- | style="width: 530px;" | *CPU: **Quad Core Cortex-A17&nbsp;up to 1.8GHz **32KB L1-Cache **1MB L2-Cache *GPU: **ARM Mali-T764 GPU, with TE, ASTC, AFBC technology **Quad core 3D Graphics engine **Dual core 2D Graphics engine **Comply with&nbsp;OpenGL ES1.1/2.0/3.0, OpenVG1.1, OpenCL, DirectX11 *Display: **4Kx2K@60fpsHDMI2.0 **Up to 3840X2160 display resolution **Support dual-channel LVDS/dual-channel MIPI-DSI/eDP1.1 *Camera: **Support up to 5M pixels **8bits/10bits/12bits raw data interface&nbsp; *Memory: **Dual channels 64-bit DRAM controller **Support DDR3/DDR3L, LPDDR2, LPDDR3 *Connectivity: **Embedded 13M ISP and MIPI-CSI2 interface *Audio: **I2S/PCM with 8 channels *OS: **Support Android 4.2 or up | style="width: 429px;" | &nbsp; |} = Devices = Rockchip: EVB-RK3328 Firefly: [[Firefly-RK3288|Firefly-RK3288]]<br/> [[Firefly-RK3288_reload|Firefly-RK3288 reload]]<br/> [[Rock2_Square|Rock2 Square]]<br/> [[Rock2_Full|Rock2 Full]]<br/> [[MiQi|MiQi]]<br/> [[Popmetal|Popmetal]]<br/> [[Fennec|Fennec]]<br/> [[PhyCORE-RK3288|phyCORE-RK3288]] ASUS: Tinker board &nbsp; = Documentation = #[http://10.10.10.12:8444/images/4/4e/Rockchip_RK3288_Datasheet_V2.2-20170301.pdf Rockchip_RK3288_Datasheet_V2.2-20170301] #[http://10.10.10.12:8444/images/5/5a/RK3288硬件设计资料.rar RK3288硬件设计资料] = Software = == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" |- | '''board''' | '''kernel''' | '''uboot''' | '''dts''' |- | RK3288_MAINBOARD_V3.0 | rockchip_linux_defconfig | rk3288_linux_defconfig | rk-linux.dts |} &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" |- | '''chip''' | '''Kernel eMMC index''' | '''Kernel SD index''' | '''Uboot eMMC index''' | '''Uboot SD index''' | '''Baud speed''' |- | RK3288 | 1 | 0 | 0 | 1 | 115200 |} = See also = [[RK3328|RK3328]] [[RK3399|RK3399]] = References = #[https://en.wikipedia.org/wiki/ARM_Cortex-A17 https://en.wikipedia.org/wiki/ARM_Cortex-A17] #[http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html] 5f7f6e0a6772cf49c5ac3518287b6a38b403d35b 529 527 2017-03-10T09:25:07Z Karen 3 wikitext text/x-wiki {{Infobox SoC | title = RK3288 | image = [[File:rk3288_soc.png|200px]] | manufacturer = Rockcihp | process = 28nm | cpu = Quad-Core ARM Cortex-A17 | ltwo = | extensions = | memory = 2-channel LPDDR3/LPDDR2, 2-channel DDR3L/DDR3, maximum of 4GB total (2GB per channel) | gpu = ARM Mali-T764 | vpu = | apu = | video = HDMI 1.4, MIPI DSI, 2-channel LVDS, 2-channel RGB LCD | audio = I2S, PCM | network = | storage = 4x SD Card, eMMC NAND, 2-channel raw NAND | usb = OTG, 2x Host | other = | release_date = June 2014 | website = http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html }} &nbsp; &nbsp; &nbsp; Integrated with a Quad-Core [https://en.wikipedia.org/wiki/ARM_Cortex-A17 Cortex-A17]&nbsp;which up to 1.8GHz and ARMMali-T764&nbsp;which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant&nbsp;interfaces provide&nbsp;a friendly solution for product&nbsp;development. Futhermore &nbsp; &nbsp; &nbsp; &nbsp; = Overview = The RK3288 offers&nbsp;<cite>an extensible</cite>, <var>leading&nbsp;performance</var>,long-standing heritage platform,ideally suited for &nbsp;set-top box solution, tablet and chromebook.The platform is integrated with a Quad-Core Cortex-A17 which up to 1.8GHz and ARM Mali-T764&nbsp;which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant&nbsp;interfaces provide&nbsp;a friendly solution for product&nbsp;development. Futhermore, the power consumption is&nbsp;optimal for applications such as imaging/video, communication and broadband infrastructure,<span style="color:#B22222;"><span style="background-color:#E6E6FA;">and performance audio applications</span></span><span style="background-color:#E6E6FA;">.</span> = RK3288 SoC Features = {| border="0" cellpadding="1" cellspacing="1" style="width: 972px;" |- | style="width: 530px;" | *CPU: **Quad Core Cortex-A17&nbsp;up to 1.8GHz **32KB L1-Cache **1MB L2-Cache *GPU: **ARM Mali-T764 GPU, with TE, ASTC, AFBC technology **Quad core 3D Graphics engine **Dual core 2D Graphics engine **Comply with&nbsp;OpenGL ES1.1/2.0/3.0, OpenVG1.1, OpenCL, DirectX11 *Display: **4Kx2K@60fpsHDMI2.0 **Up to 3840X2160 display resolution **Support dual-channel LVDS/dual-channel MIPI-DSI/eDP1.1 *Camera: **Support up to 5M pixels **8bits/10bits/12bits raw data interface&nbsp; *Memory: **Dual channels 64-bit DRAM controller **Support DDR3/DDR3L, LPDDR2, LPDDR3 *Connectivity: **Embedded 13M ISP and MIPI-CSI2 interface *Audio: **I2S/PCM with 8 channels *OS: **Support Android 4.2 or up | style="width: 429px;" | [[File:3288.png]] |} = Devices = Rockchip: EVB-RK3328 Firefly: [[Firefly-RK3288|Firefly-RK3288]]<br/> [[Firefly-RK3288_reload|Firefly-RK3288 reload]]<br/> [[Rock2_Square|Rock2 Square]]<br/> [[Rock2_Full|Rock2 Full]]<br/> [[MiQi|MiQi]]<br/> [[Popmetal|Popmetal]]<br/> [[Fennec|Fennec]]<br/> [[PhyCORE-RK3288|phyCORE-RK3288]] ASUS: Tinker board &nbsp; = Documentation = #[http://10.10.10.12:8444/images/4/4e/Rockchip_RK3288_Datasheet_V2.2-20170301.pdf Rockchip_RK3288_Datasheet_V2.2-20170301] #[http://10.10.10.12:8444/images/5/5a/RK3288硬件设计资料.rar RK3288硬件设计资料] = Software = == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" |- | '''board''' | '''kernel''' | '''uboot''' | '''dts''' |- | RK3288_MAINBOARD_V3.0 | rockchip_linux_defconfig | rk3288_linux_defconfig | rk-linux.dts |} &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" |- | '''chip''' | '''Kernel eMMC index''' | '''Kernel SD index''' | '''Uboot eMMC index''' | '''Uboot SD index''' | '''Baud speed''' |- | RK3288 | 1 | 0 | 0 | 1 | 115200 |} = See also = [[RK3328|RK3328]] [[RK3399|RK3399]] = References = #[https://en.wikipedia.org/wiki/ARM_Cortex-A17 https://en.wikipedia.org/wiki/ARM_Cortex-A17] #[http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html] e1026ef894a3b74c6842503bce43110aeaecebbd Popmetal 0 29 505 236 2017-03-10T08:09:19Z Karen 3 wikitext text/x-wiki {| |- | CPU | RK3288 Quad-core ARM Cortex-A17 |- | GPU | Mali 760MP4 |- | Memory | 2GB DDR3 |- | Storage | 16GB eMMC, MicroSD (TF) Card, SATA 2.0 |- | Connectivity | 10/100/1000M Ethernet, 802.11a/b/g/n/ac, 2.4GHz/5GHz + Bluetooth 4.0(support BLE) |- | Interface | 2*USB host, 1*USB OTG, 1*HDMI 2.0, 1*HDMI 1.4, 1*HDMI in, 1*VGA, 1*MIPI, 1*EDP, 2*LVDS, 1*Headphone, 1*line in, 1*Spdif, 1*Mic, 1*I2S, 1*MIPI-CSI, 1*DVP, 1*IR, 2*LED, 1*Serial Port |} &nbsp; = Image = = See also = #[http://10.10.10.12:8444/index.php?title=Firefly-RK3288 Firefly-RK3288] #[http://10.10.10.12:8444/index.php?title=Firefly-RK3288_reload Firefly-RK3288 reload] #[http://10.10.10.12:8444/index.php?title=Rock2_Full Rock2 Full] #[http://10.10.10.12:8444/index.php?title=MiQi MiQi] #[http://10.10.10.12:8444/index.php?title=Fennec Fennec] #[http://10.10.10.12:8444/index.php?title=PhyCORE-RK3288 phyCORE-RK3288] = References = e5d3a12b0b39078c8ac49e9be3b62ca23f1afc20 509 505 2017-03-10T08:28:17Z Karen 3 wikitext text/x-wiki {{Infobox SoC | title = Popmetal | image = [[File:rk3288_soc.png|200px]] | manufacturer = Rockcihp | process = 28nm | cpu = Quad-Core ARM Cortex-A17 | ltwo = | extensions = | memory = 2-channel DDR3/LPDDR2, 2-channel DDR3L, maximum of 4GB total (2GB per channel) | gpu = SGX544 | vpu = | apu = | video = HDMI 1.4, MIPI DSI, 2-channel LVDS, 2-channel RGB LCD | audio = I2S, PCM | network = | storage = 4x SD Card, eMMC NAND, 2-channel raw NAND | usb = OTG, 2x Host | other = | release_date = December 2012 | website = http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html }} &nbsp; {| |- | CPU | RK3288 Quad-core ARM Cortex-A17 |- | GPU | Mali 760MP4 |- | Memory | 2GB DDR3 |- | Storage | 16GB eMMC, MicroSD (TF) Card, SATA 2.0 |- | Connectivity | 10/100/1000M Ethernet, 802.11a/b/g/n/ac, 2.4GHz/5GHz + Bluetooth 4.0(support BLE) |- | Interface | 2*USB host, 1*USB OTG, 1*HDMI 2.0, 1*HDMI 1.4, 1*HDMI in, 1*VGA, 1*MIPI, 1*EDP, 2*LVDS, 1*Headphone, 1*line in, 1*Spdif, 1*Mic, 1*I2S, 1*MIPI-CSI, 1*DVP, 1*IR, 2*LED, 1*Serial Port |} &nbsp; = Image = = See also = #[http://10.10.10.12:8444/index.php?title=Firefly-RK3288 Firefly-RK3288] #[http://10.10.10.12:8444/index.php?title=Firefly-RK3288_reload Firefly-RK3288 reload] #[http://10.10.10.12:8444/index.php?title=Rock2_Full Rock2 Full] #[http://10.10.10.12:8444/index.php?title=MiQi MiQi] #[http://10.10.10.12:8444/index.php?title=Fennec Fennec] #[http://10.10.10.12:8444/index.php?title=PhyCORE-RK3288 phyCORE-RK3288] = References = 3dce03fe405f8199ee44c0d9085168169c06040b 526 509 2017-03-10T09:11:38Z Karen 3 wikitext text/x-wiki {{Infobox SoC | title = Popmetal | image = [[File:rk3288_soc.png|200px]] | manufacturer = Rockcihp | process = 28nm | cpu = Quad-Core ARM Cortex-A17 | ltwo = | extensions = | memory = 2-channel DDR3/LPDDR2, 2-channel DDR3L, maximum of 4GB total (2GB per channel) | gpu = SGX544 | vpu = | apu = | video = HDMI 1.4, MIPI DSI, 2-channel LVDS, 2-channel RGB LCD | audio = I2S, PCM | network = | storage = 4x SD Card, eMMC NAND, 2-channel raw NAND | usb = OTG, 2x Host | other = | release_date = December 2012 | website = http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html }} &nbsp; {| |- | CPU | RK3288 Quad-core ARM Cortex-A17 |- | GPU | Mali 760MP4 |- | Memory | 2GB DDR3 |- | Storage | 16GB eMMC, MicroSD (TF) Card, SATA 2.0 |- | Connectivity | 10/100/1000M Ethernet, 802.11a/b/g/n/ac, 2.4GHz/5GHz + Bluetooth 4.0(support BLE) |- | Interface | 2*USB host, 1*USB OTG, 1*HDMI 2.0, 1*HDMI 1.4, 1*HDMI in, 1*VGA, 1*MIPI, 1*EDP, 2*LVDS, 1*Headphone, 1*line in, 1*Spdif, 1*Mic, 1*I2S, 1*MIPI-CSI, 1*DVP, 1*IR, 2*LED, 1*Serial Port |} &nbsp; = Image = = See also = #[http://10.10.10.12:8444/index.php?title=Firefly-RK3288 Firefly-RK3288] #[http://10.10.10.12:8444/index.php?title=Firefly-RK3288_reload Firefly-RK3288 reload] #[http://10.10.10.12:8444/index.php?title=Rock2_Full Rock2 Full] #[http://10.10.10.12:8444/index.php?title=MiQi MiQi] #[http://10.10.10.12:8444/index.php?title=Fennec Fennec] #[http://10.10.10.12:8444/index.php?title=PhyCORE-RK3288 phyCORE-RK3288] = References = 1.[http://10.10.10.12:8444/images/f/f4/PopMetal_EVB.rar PopMetal_EVB] 04eebc9a2f48e3db8e2f8fe02ae4fb5c1cf5d133 Template:Infobox SoC 10 43 521 419 2017-03-10T09:06:12Z Admin 1 wikitext text/x-wiki <table class="infobox" cellspacing="5" style="width:300px;"> <tr><th colspan="2" class="" style="text-align:center; font-size:125%; font-weight:bold; background: #dedede;">{{{title}}}</th></tr> <tr class=""><td colspan="2" class="" style="text-align:center;"> {{{image}}}</td></tr> <tr class=""><th scope="row" style="text-align:left;">Manufacturer</th><td class="" style=""> {{{manufacturer}}}</td></tr> <tr class=""><th scope="row" style="text-align:left;">Process</th><td class="" style=""> {{{process}}}</td></tr> <tr class=""><th scope="row" style="text-align:left;">CPU</th><td class="" style=""> {{{cpu}}}</td></tr> <tr class=""><th scope="row" style="text-align:left;">Memory</th><td class="" style=""> {{{memory}}}</td></tr> <tr class=""><th scope="row" style="text-align:left;">GPU</th><td class="" style=""> {{{gpu}}}</td></tr> <tr><th colspan="2" class="" style="text-align:center; background: #dedede;">Connectivity</th></tr> <tr class=""><th scope="row" style="text-align:left;">Video</th><td class="" style=""> {{{video}}}</td></tr> <tr class=""><th scope="row" style="text-align:left;">Audio</th><td class="" style=""> {{{audio}}}</td></tr> <tr class=""><th scope="row" style="text-align:left;">Storage</th><td class="" style=""> {{{storage}}}</td></tr> {{#if:{{{Connectivity|}}}|<tr class=""><th scope="row" style="text-align:left;">Storage</th><td class="" style=""> {{{Connectivity}}}</td></tr>}} {{#if:{{{Interface|}}}|<tr class=""><th scope="row" style="text-align:left;">Storage</th><td class="" style=""> {{{Interface}}}</td></tr>}} {{#if:{{{usb|}}}|<tr class=""><th scope="row" style="text-align:left;">USB</th><td class="" style=""> {{{usb}}}</td></tr>}} {{#if:{{{release_date|}}}|<tr class=""><th scope="row" style="text-align:left;">Release Date</th><td class="" style=""> {{{release_date}}}</td></tr>}} {{#if:{{{website|}}}|<tr class=""><th scope="row" style="text-align:left;">Website</th><td class="" style=""> [{{{website}}} Product Page]}} </td></tr> </table> 73c17701ddabf4ac542f623e36c36e695b9cb1b0 522 521 2017-03-10T09:06:51Z Admin 1 wikitext text/x-wiki <table class="infobox" cellspacing="5" style="width:300px;"> <tr><th colspan="2" class="" style="text-align:center; font-size:125%; font-weight:bold; background: #dedede;">{{{title}}}</th></tr> <tr class=""><td colspan="2" class="" style="text-align:center;"> {{{image}}}</td></tr> <tr class=""><th scope="row" style="text-align:left;">Manufacturer</th><td class="" style=""> {{{manufacturer}}}</td></tr> <tr class=""><th scope="row" style="text-align:left;">Process</th><td class="" style=""> {{{process}}}</td></tr> <tr class=""><th scope="row" style="text-align:left;">CPU</th><td class="" style=""> {{{cpu}}}</td></tr> <tr class=""><th scope="row" style="text-align:left;">Memory</th><td class="" style=""> {{{memory}}}</td></tr> <tr class=""><th scope="row" style="text-align:left;">GPU</th><td class="" style=""> {{{gpu}}}</td></tr> <tr><th colspan="2" class="" style="text-align:center; background: #dedede;">Connectivity</th></tr> <tr class=""><th scope="row" style="text-align:left;">Video</th><td class="" style=""> {{{video}}}</td></tr> <tr class=""><th scope="row" style="text-align:left;">Audio</th><td class="" style=""> {{{audio}}}</td></tr> <tr class=""><th scope="row" style="text-align:left;">Storage</th><td class="" style=""> {{{storage}}}</td></tr> {{#if:{{{Connectivity|}}}|<tr class=""><th scope="row" style="text-align:left;">Connectivity</th><td class="" style=""> {{{Connectivity}}}</td></tr>}} {{#if:{{{Interface|}}}|<tr class=""><th scope="row" style="text-align:left;">Interface</th><td class="" style=""> {{{Interface}}}</td></tr>}} {{#if:{{{usb|}}}|<tr class=""><th scope="row" style="text-align:left;">USB</th><td class="" style=""> {{{usb}}}</td></tr>}} {{#if:{{{release_date|}}}|<tr class=""><th scope="row" style="text-align:left;">Release Date</th><td class="" style=""> {{{release_date}}}</td></tr>}} {{#if:{{{website|}}}|<tr class=""><th scope="row" style="text-align:left;">Website</th><td class="" style=""> [{{{website}}} Product Page]}} </td></tr> </table> 3eb1b7aca07dc1b5df0d22916803ae81bc82d2e3 524 522 2017-03-10T09:08:57Z Admin 1 wikitext text/x-wiki <includeonly><table class="infobox" cellspacing="5" style="width:300px;"> <tr><th colspan="2" class="" style="text-align:center; font-size:125%; font-weight:bold; background: #dedede;">{{{title}}}</th></tr> <tr class=""><td colspan="2" class="" style="text-align:center;"> {{{image}}}</td></tr> <tr class=""><th scope="row" style="text-align:left;">Manufacturer</th><td class="" style=""> {{{manufacturer}}}</td></tr> <tr class=""><th scope="row" style="text-align:left;">Process</th><td class="" style=""> {{{process}}}</td></tr> <tr class=""><th scope="row" style="text-align:left;">CPU</th><td class="" style=""> {{{cpu}}}</td></tr> <tr class=""><th scope="row" style="text-align:left;">Memory</th><td class="" style=""> {{{memory}}}</td></tr> <tr class=""><th scope="row" style="text-align:left;">GPU</th><td class="" style=""> {{{gpu}}}</td></tr> <tr><th colspan="2" class="" style="text-align:center; background: #dedede;">Connectivity</th></tr> <tr class=""><th scope="row" style="text-align:left;">Video</th><td class="" style=""> {{{video}}}</td></tr> <tr class=""><th scope="row" style="text-align:left;">Audio</th><td class="" style=""> {{{audio}}}</td></tr> <tr class=""><th scope="row" style="text-align:left;">Storage</th><td class="" style=""> {{{storage}}}</td></tr> {{#if:{{{Connectivity|}}}|<tr class=""><th scope="row" style="text-align:left;">Connectivity</th><td class="" style=""> {{{Connectivity}}}</td></tr>}} {{#if:{{{Interface|}}}|<tr class=""><th scope="row" style="text-align:left;">Interface</th><td class="" style=""> {{{Interface}}}</td></tr>}} {{#if:{{{usb|}}}|<tr class=""><th scope="row" style="text-align:left;">USB</th><td class="" style=""> {{{usb}}}</td></tr>}} {{#if:{{{release_date|}}}|<tr class=""><th scope="row" style="text-align:left;">Release Date</th><td class="" style=""> {{{release_date}}}</td></tr>}} {{#if:{{{website|}}}|<tr class=""><th scope="row" style="text-align:left;">Website</th><td class="" style=""> [{{{website}}} Product Page]}} </td></tr> </table></includeonly> 0c5321c2107cde3540d18dfdaf644ff71fc4db67 File:3288.png 6 67 528 2017-03-10T09:24:09Z Karen 3 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 Display Server 0 70 532 2017-03-10T09:29:38Z Karen 3 Created page with " = Introduction<br/> Download<br/> Supported Devices<br/> Configuration/Environment<br/> Package = = Install<br/> 软件主要的功能/配置方法说明<br/> See also<br/>..." wikitext text/x-wiki = Introduction<br/> Download<br/> Supported Devices<br/> Configuration/Environment<br/> Package = = Install<br/> 软件主要的功能/配置方法说明<br/> See also<br/> References&nbsp; = da1df28067e9b97e8e49688e25284f7d6b984b34 534 532 2017-03-10T09:30:46Z Karen 3 wikitext text/x-wiki = Introduction = = <br/> Download = = <br/> Supported Devices = = <br/> Configuration/Environment = = <br/> Package = = Install = = 软件主要的功能/配置方法说明 = = See also = = References&nbsp; = 29ee939fb8760fd5f5516368b6c53afd5a8364ca Excavator sapphire board 0 59 535 494 2017-03-10T09:35:29Z Chery 9 wikitext text/x-wiki {| border="0" cellpadding="1" cellspacing="1" class="infobox" style="width: 500px;" |- | [[File:Excavator board.png]] |} = Rockchip github status&nbsp; &nbsp; = - Rockchip github代码支持情况, 给出相关配置, 具体使用指向通用guide链接 = Upstream status&nbsp; &nbsp; = - upstream代码支持情况, 给出相关配置, 具体使用指向通用guide链接<br/> &nbsp; = Documentation = [[Media:RK3399_EVB_User_Guide-20160920.pdf|RK3399 EVB User Guide]] [[Media:BOM_RK_SAPPHIRE_SOCBOARD_RK3399_LPDDR3D178P232SD8_V12_20161111HXS.xlsx|Sapphire Board BOM]] [[Media:Rock-chips_PDN_Design_Guide_V0.2_.pdf|Rock-chips_PDN_Design_Guide&nbsp;]] RK3399_SOC-package_PIN_DELAY [[Media:RK3399_IO_LIST_V12_for_EVB&REF&Excavator-20170111.pdf|RK3399_IO_LIST_V12_for EVB&REF&Excavator]] [[Media:Layout_Design_Guide_V0.4.pdf|Layout Design Guide]] [[Media:RK3399硬件设计指南_V1.1_20170112.pdf|RK3399 Hardware Design Guide]] = Image = &nbsp;&nbsp;&nbsp; - Image, 如有有提供固件, 提供下载链接 = See also = &nbsp; &nbsp; - See also, 同芯片其他板子链接 = References = &nbsp;&nbsp;&nbsp; - References, 其他有价值的链接, 如不同Distribution官方网站介绍该板子boot指南, 板子的官方网页. b29d6168e43d0611cdf530d718c1c8d77104b186 538 535 2017-03-10T09:36:31Z Chery 9 wikitext text/x-wiki {| border="0" cellpadding="1" cellspacing="1" class="infobox" style="width: 500px;" |- | [[File:Excavator board.png]] |} = Rockchip github status&nbsp; &nbsp; = - Rockchip github代码支持情况, 给出相关配置, 具体使用指向通用guide链接 = Upstream status&nbsp; &nbsp; = - upstream代码支持情况, 给出相关配置, 具体使用指向通用guide链接<br/> &nbsp; = Documentation = [[Media:RK3399_EVB_User_Guide-20160920.pdf|RK3399 EVB User Guide]] [[Media:BOM_RK_SAPPHIRE_SOCBOARD_RK3399_LPDDR3D178P232SD8_V12_20161111HXS.xlsx|Sapphire Board BOM]] [[Media:Rock-chips_PDN_Design_Guide_V0.2_.pdf|Rock-chips_PDN_Design_Guide&nbsp;]] [[Media:RK3399_SOC-package_PIN_DELAY_0V2.pdf|RK3399_SOC-package_PIN_DELAY]] [[Media:RK3399_IO_LIST_V12_for_EVB&REF&Excavator-20170111.pdf|RK3399_IO_LIST_V12_for EVB&REF&Excavator]] [[Media:Layout_Design_Guide_V0.4.pdf|Layout Design Guide]] [[Media:RK3399硬件设计指南_V1.1_20170112.pdf|RK3399 Hardware Design Guide]] = Image = &nbsp;&nbsp;&nbsp; - Image, 如有有提供固件, 提供下载链接 = See also = &nbsp; &nbsp; - See also, 同芯片其他板子链接 = References = &nbsp;&nbsp;&nbsp; - References, 其他有价值的链接, 如不同Distribution官方网站介绍该板子boot指南, 板子的官方网页. a1c4cc9fe26ebe1997416057be49b3798809eb5b 539 538 2017-03-10T09:40:19Z Chery 9 wikitext text/x-wiki {| border="0" cellpadding="1" cellspacing="1" class="infobox" style="width: 500px;" |- | [[File:Excavator board.png]] |} = Rockchip github status&nbsp; &nbsp; = - Rockchip github代码支持情况, 给出相关配置, 具体使用指向通用guide链接 = Upstream status&nbsp; &nbsp; = - upstream代码支持情况, 给出相关配置, 具体使用指向通用guide链接<br/> &nbsp; = Documentation = [[Media:RK3399_EVB_User_Guide-20160920.pdf|RK3399 EVB User Guide]] [[Media:BOM_RK_SAPPHIRE_SOCBOARD_RK3399_LPDDR3D178P232SD8_V12_20161111HXS.xlsx|Sapphire Board BOM]] [[Media:Rock-chips_PDN_Design_Guide_V0.2_.pdf|Rock-chips_PDN_Design_Guide&nbsp;]] [[Media:RK3399_SOC-package_PIN_DELAY_0V2.pdf|RK3399_SOC-package_PIN_DELAY]] [[Media:RK3399_IO_LIST_V12_for_EVB&REF&Excavator-20170111.pdf|RK3399_IO_LIST_V12_for EVB&REF&Excavator]] [[Media:Layout_Design_Guide_V0.4.pdf|Layout Design Guide]] [[Media:RK3399硬件设计指南_V1.1_20170112.pdf|RK3399 Hardware Design Guide]] = Image = &nbsp;You can download image directly from below link if available. = See also = &nbsp; &nbsp; - See also, 同芯片其他板子链接 = References = &nbsp;&nbsp;&nbsp; - References, 其他有价值的链接, 如不同Distribution官方网站介绍该板子boot指南, 板子的官方网页. 62571e3fecaf2b9727531e47ad66c52e49abf312 540 539 2017-03-10T09:44:54Z Chery 9 wikitext text/x-wiki {| border="0" cellpadding="1" cellspacing="1" class="infobox" style="width: 500px;" |- | [[File:Excavator board.png]] |} = Rockchip github status&nbsp; &nbsp; = - Rockchip github代码支持情况, 给出相关配置, 具体使用指向通用guide链接 = Upstream status&nbsp; &nbsp; = - upstream代码支持情况, 给出相关配置, 具体使用指向通用guide链接<br/> &nbsp; = Documentation = [[Media:RK3399_EVB_User_Guide-20160920.pdf|RK3399 EVB User Guide]] [[Media:BOM_RK_SAPPHIRE_SOCBOARD_RK3399_LPDDR3D178P232SD8_V12_20161111HXS.xlsx|Sapphire Board BOM]] [[Media:Rock-chips_PDN_Design_Guide_V0.2_.pdf|Rock-chips_PDN_Design_Guide&nbsp;]] [[Media:RK3399_SOC-package_PIN_DELAY_0V2.pdf|RK3399_SOC-package_PIN_DELAY]] [[Media:RK3399_IO_LIST_V12_for_EVB&REF&Excavator-20170111.pdf|RK3399_IO_LIST_V12_for EVB&REF&Excavator]] [[Media:Layout_Design_Guide_V0.4.pdf|Layout Design Guide]] [[Media:RK3399硬件设计指南_V1.1_20170112.pdf|RK3399 Hardware Design Guide]] == Component datasheet == PHY-RTL8211E(G)-VB(VL)-CG_1.8 WIFI-AP6335_V1.2_08152013 DC-DC_SYR837_838 AN_SYR837_8_Rockchip USB-TYPE-C_REC_150609 DC-DC_NB679_r1.02 WIFI-AP6354_V1.1_06062014 TI NMOS 7.8mR@10V csd17551q3a TI PMOS 7.7mR csd25402q3a FUSB302B PHY-ZX2AA500-V0.35 USB-HUB_GL852G-126 MEMS-MSM261S4030H0 WIFI-AP6356S_V1.1_03182015 MIPI-TC358749XBG_V074 Charging IC Power Inductor&nbsp;ihlp3232cz01 bq25700_SLUSCP0 = Image = &nbsp;You can download image directly from below link if available. = See also = &nbsp; &nbsp; - See also, 同芯片其他板子链接 = References = &nbsp;&nbsp;&nbsp; - References, 其他有价值的链接, 如不同Distribution官方网站介绍该板子boot指南, 板子的官方网页. 69668afe8445d93e30976eb380dd042179fc121b 560 540 2017-03-10T12:46:06Z Chery 9 wikitext text/x-wiki {| border="0" cellpadding="1" cellspacing="1" class="infobox" style="width: 500px;" |- | [[File:Excavator board.png]] |} = Rockchip github status&nbsp; &nbsp; = - Rockchip github代码支持情况, 给出相关配置, 具体使用指向通用guide链接 = Upstream status&nbsp; &nbsp; = - upstream代码支持情况, 给出相关配置, 具体使用指向通用guide链接<br/> &nbsp; = Documentation = [[Media:RK3399_EVB_User_Guide-20160920.pdf|RK3399 EVB User Guide]] [[Media:BOM_RK_SAPPHIRE_SOCBOARD_RK3399_LPDDR3D178P232SD8_V12_20161111HXS.xlsx|Sapphire Board BOM]] [[Media:Rock-chips_PDN_Design_Guide_V0.2_.pdf|Rock-chips_PDN_Design_Guide&nbsp;]] [[Media:RK3399_SOC-package_PIN_DELAY_0V2.pdf|RK3399_SOC-package_PIN_DELAY]] [[Media:RK3399_IO_LIST_V12_for_EVB&REF&Excavator-20170111.pdf|RK3399_IO_LIST_V12_for EVB&REF&Excavator]] [[Media:Layout_Design_Guide_V0.4.pdf|Layout Design Guide]] [[Media:RK3399硬件设计指南_V1.1_20170112.pdf|RK3399 Hardware Design Guide]] == Component datasheet == [[Media:PHY-RTL8211E(G)-VB(VL)-CG_1.8.pdf|PHY-RTL8211E(G)-VB(VL)-CG_1.8]] [[Media:WIFI-AP6335_V1.2_08152013.pdf|WIFI-AP6335_V1.2_08152013]] [[Media:DC-DC_SYR837_838.pdf|DC-DC_SYR837_838]] [[Media:AN_SYR837_8_瑞芯微.pdf|AN_SYR837_8_Rockchip]] [[Media:USB-TYPE-C_REC_150609.pdf|USB-TYPE-C_REC_150609]] [[Media:DC-DC_NB679_r1.02.pdf|DC-DC_NB679_r1.02]] [[Media:WIFI-AP6354_V1.1_06062014.pdf|WIFI-AP6354_V1.1_06062014]] [[Media:TI_NMOS_7.8mR@10V_csd17551q3a.pdf|TI NMOS 7.8mR@10V csd17551q3a]] [[Media:TI_PMOS_7.7mR_csd25402q3a.pdf|TI PMOS 7.7mR csd25402q3a]] [[Media:FUSB302B.pdf|FUSB302B]] [[Media:PHY-ZX2AA500-V0.35.pdf|PHY-ZX2AA500-V0.35]] [[Media:USB-HUB_GL852G-126.pdf|USB-HUB_GL852G-126]] [[Media:MEMS-MSM261S4030H0.pdf|MEMS-MSM261S4030H0]] [[Media:WIFI-AP6356S_V1.1_03182015.pdf|WIFI-AP6356S_V1.1_03182015]] MIPI-TC358749XBG_V074 [[Media:充电IC_功率电感_ihlp3232cz01.pdf|Charging IC Power Inductor&nbsp;ihlp3232cz01]] [[Media:Bq25700_SLUSCP0.pdf|bq25700_SLUSCP0]] = Image = &nbsp;You can download image directly from below link if available. = See also = &nbsp; &nbsp; - See also, 同芯片其他板子链接 = References = &nbsp;&nbsp;&nbsp; - References, 其他有价值的链接, 如不同Distribution官方网站介绍该板子boot指南, 板子的官方网页. a2d3a575e689cdde91baeefe9ddc58e295c06ad5 563 560 2017-03-13T01:24:15Z Chery 9 wikitext text/x-wiki {| border="0" cellpadding="1" cellspacing="1" class="infobox" style="width: 500px;" |- | [[File:Excavator board.png]] |} = Rockchip github status&nbsp; &nbsp; = - Rockchip github代码支持情况, 给出相关配置, 具体使用指向通用guide链接 = Upstream status&nbsp; &nbsp; = - upstream代码支持情况, 给出相关配置, 具体使用指向通用guide链接<br/> &nbsp; = Documentation = [[Media:RK3399_EVB_User_Guide-20160920.pdf|RK3399 EVB User Guide]] [[Media:BOM_RK_SAPPHIRE_SOCBOARD_RK3399_LPDDR3D178P232SD8_V12_20161111HXS.xlsx|Sapphire Board BOM]] [[Media:Rock-chips_PDN_Design_Guide_V0.2_.pdf|Rock-chips_PDN_Design_Guide&nbsp;]] [[Media:RK3399_SOC-package_PIN_DELAY_0V2.pdf|RK3399_SOC-package_PIN_DELAY]] [[Media:RK3399_IO_LIST_V12_for_EVB&REF&Excavator-20170111.pdf|RK3399_IO_LIST_V12_for EVB&REF&Excavator]] [[Media:Layout_Design_Guide_V0.4.pdf|Layout Design Guide]] [[Media:RK3399硬件设计指南_V1.1_20170112.pdf|RK3399 Hardware Design Guide]] == Component datasheet == [[Media:PHY-RTL8211E(G)-VB(VL)-CG_1.8.pdf|PHY-RTL8211E(G)-VB(VL)-CG_1.8]] [[Media:WIFI-AP6335_V1.2_08152013.pdf|WIFI-AP6335_V1.2_08152013]] [[Media:DC-DC_SYR837_838.pdf|DC-DC_SYR837_838]] [[Media:AN_SYR837_8_瑞芯微.pdf|AN_SYR837_8_Rockchip]] [[Media:USB-TYPE-C_REC_150609.pdf|USB-TYPE-C_REC_150609]] [[Media:DC-DC_NB679_r1.02.pdf|DC-DC_NB679_r1.02]] [[Media:WIFI-AP6354_V1.1_06062014.pdf|WIFI-AP6354_V1.1_06062014]] [[Media:TI_NMOS_7.8mR@10V_csd17551q3a.pdf|TI NMOS 7.8mR@10V csd17551q3a]] [[Media:TI_PMOS_7.7mR_csd25402q3a.pdf|TI PMOS 7.7mR csd25402q3a]] [[Media:FUSB302B.pdf|FUSB302B]] [[Media:PHY-ZX2AA500-V0.35.pdf|PHY-ZX2AA500-V0.35]] [[Media:USB-HUB_GL852G-126.pdf|USB-HUB_GL852G-126]] [[Media:MEMS-MSM261S4030H0.pdf|MEMS-MSM261S4030H0]] [[Media:WIFI-AP6356S_V1.1_03182015.pdf|WIFI-AP6356S_V1.1_03182015]] MIPI-TC358749XBG_V074 [[Media:充电IC_功率电感_ihlp3232cz01.pdf|Charging IC Power Inductor&nbsp;ihlp3232cz01]] [[Media:Bq25700_SLUSCP0.pdf|bq25700_SLUSCP0]] = Image = &nbsp;You can download image directly from below link if available. = See also = Firefly: [http://wiki.t-firefly.com/index.php/Firefly-RK3399 Firefly-RK3399] = References = &nbsp;&nbsp;&nbsp; - References, 其他有价值的链接, 如不同Distribution官方网站介绍该板子boot指南, 板子的官方网页. a5b59611cab581edc951e328c6cc8e44fff7448c 566 563 2017-03-13T08:52:48Z Chery 9 wikitext text/x-wiki {| border="0" cellpadding="1" cellspacing="1" class="infobox" style="width: 500px;" |- | [[File:Excavator board.png]] |} = Rockchip github status&nbsp; &nbsp; = - Rockchip github代码支持情况, 给出相关配置, 具体使用指向通用guide链接 = Upstream status&nbsp; &nbsp; = - upstream代码支持情况, 给出相关配置, 具体使用指向通用guide链接<br/> &nbsp; = Documentation = [[Media:RK3399_EVB_User_Guide-20160920.pdf|RK3399 EVB User Guide]] [[Media:BOM_RK_SAPPHIRE_SOCBOARD_RK3399_LPDDR3D178P232SD8_V12_20161111HXS.xlsx|Sapphire Board BOM]] [[Media:Rock-chips_PDN_Design_Guide_V0.2_.pdf|Rock-chips_PDN_Design_Guide&nbsp;]] [[Media:RK3399_SOC-package_PIN_DELAY_0V2.pdf|RK3399_SOC-package_PIN_DELAY]] [[Media:RK3399_IO_LIST_V12_for_EVB&REF&Excavator-20170111.pdf|RK3399_IO_LIST_V12_for EVB&REF&Excavator]] [[Media:Layout_Design_Guide_V0.4.pdf|Layout Design Guide]] [[Media:RK3399硬件设计指南_V1.1_20170112.pdf|RK3399 Hardware Design Guide]] == RK3399 BOX reference design == RK3399_BOX_REF_V10_20170112_0.DBK RK3399_BOX_REF_V10_20170112 RK3399_BOX_REF_V10_20170112-162_0.DBK RK3399_BOX_REF_V10_20170112-162_9_0_0.DBK RK3399_BOX_REF_V10_20170112-162 RK3399_BOX_REF_V10_20170112-162.opj rk3399_box_ref_v10_20170112.opj == Component datasheet == [[Media:PHY-RTL8211E(G)-VB(VL)-CG_1.8.pdf|PHY-RTL8211E(G)-VB(VL)-CG_1.8]] [[Media:WIFI-AP6335_V1.2_08152013.pdf|WIFI-AP6335_V1.2_08152013]] [[Media:DC-DC_SYR837_838.pdf|DC-DC_SYR837_838]] [[Media:AN_SYR837_8_瑞芯微.pdf|AN_SYR837_8_Rockchip]] [[Media:USB-TYPE-C_REC_150609.pdf|USB-TYPE-C_REC_150609]] [[Media:DC-DC_NB679_r1.02.pdf|DC-DC_NB679_r1.02]] [[Media:WIFI-AP6354_V1.1_06062014.pdf|WIFI-AP6354_V1.1_06062014]] [[Media:TI_NMOS_7.8mR@10V_csd17551q3a.pdf|TI NMOS 7.8mR@10V csd17551q3a]] [[Media:TI_PMOS_7.7mR_csd25402q3a.pdf|TI PMOS 7.7mR csd25402q3a]] [[Media:FUSB302B.pdf|FUSB302B]] [[Media:PHY-ZX2AA500-V0.35.pdf|PHY-ZX2AA500-V0.35]] [[Media:USB-HUB_GL852G-126.pdf|USB-HUB_GL852G-126]] [[Media:MEMS-MSM261S4030H0.pdf|MEMS-MSM261S4030H0]] [[Media:WIFI-AP6356S_V1.1_03182015.pdf|WIFI-AP6356S_V1.1_03182015]] MIPI-TC358749XBG_V074 [[Media:充电IC_功率电感_ihlp3232cz01.pdf|Charging IC Power Inductor&nbsp;ihlp3232cz01]] [[Media:Bq25700_SLUSCP0.pdf|bq25700_SLUSCP0]] = Image = &nbsp;You can download image directly from below link if available. = See also = Firefly: [http://wiki.t-firefly.com/index.php/Firefly-RK3399 Firefly-RK3399] = References = &nbsp;&nbsp;&nbsp; - References, 其他有价值的链接, 如不同Distribution官方网站介绍该板子boot指南, 板子的官方网页. 9f9c3fb835ee21ed1a59f92dd5fe62b3698ee1f3 568 566 2017-03-13T08:57:04Z Chery 9 wikitext text/x-wiki {| border="0" cellpadding="1" cellspacing="1" class="infobox" style="width: 500px;" |- | [[File:Excavator board.png]] |} = Rockchip github status&nbsp; &nbsp; = - Rockchip github代码支持情况, 给出相关配置, 具体使用指向通用guide链接 = Upstream status&nbsp; &nbsp; = - upstream代码支持情况, 给出相关配置, 具体使用指向通用guide链接<br/> &nbsp; = Documentation = [[Media:RK3399_EVB_User_Guide-20160920.pdf|RK3399 EVB User Guide]] [[Media:BOM_RK_SAPPHIRE_SOCBOARD_RK3399_LPDDR3D178P232SD8_V12_20161111HXS.xlsx|Sapphire Board BOM]] [[Media:Rock-chips_PDN_Design_Guide_V0.2_.pdf|Rock-chips_PDN_Design_Guide&nbsp;]] [[Media:RK3399_SOC-package_PIN_DELAY_0V2.pdf|RK3399_SOC-package_PIN_DELAY]] [[Media:RK3399_IO_LIST_V12_for_EVB&REF&Excavator-20170111.pdf|RK3399_IO_LIST_V12_for EVB&REF&Excavator]] [[Media:Layout_Design_Guide_V0.4.pdf|Layout Design Guide]] [[Media:RK3399硬件设计指南_V1.1_20170112.pdf|RK3399 Hardware Design Guide]] [[Media:RK3399_BOX_REF_V10_20170112.rar|RK3399 BOX reference design]] == Component datasheet == [[Media:PHY-RTL8211E(G)-VB(VL)-CG_1.8.pdf|PHY-RTL8211E(G)-VB(VL)-CG_1.8]] [[Media:WIFI-AP6335_V1.2_08152013.pdf|WIFI-AP6335_V1.2_08152013]] [[Media:DC-DC_SYR837_838.pdf|DC-DC_SYR837_838]] [[Media:AN_SYR837_8_瑞芯微.pdf|AN_SYR837_8_Rockchip]] [[Media:USB-TYPE-C_REC_150609.pdf|USB-TYPE-C_REC_150609]] [[Media:DC-DC_NB679_r1.02.pdf|DC-DC_NB679_r1.02]] [[Media:WIFI-AP6354_V1.1_06062014.pdf|WIFI-AP6354_V1.1_06062014]] [[Media:TI_NMOS_7.8mR@10V_csd17551q3a.pdf|TI NMOS 7.8mR@10V csd17551q3a]] [[Media:TI_PMOS_7.7mR_csd25402q3a.pdf|TI PMOS 7.7mR csd25402q3a]] [[Media:FUSB302B.pdf|FUSB302B]] [[Media:PHY-ZX2AA500-V0.35.pdf|PHY-ZX2AA500-V0.35]] [[Media:USB-HUB_GL852G-126.pdf|USB-HUB_GL852G-126]] [[Media:MEMS-MSM261S4030H0.pdf|MEMS-MSM261S4030H0]] [[Media:WIFI-AP6356S_V1.1_03182015.pdf|WIFI-AP6356S_V1.1_03182015]] MIPI-TC358749XBG_V074 [[Media:充电IC_功率电感_ihlp3232cz01.pdf|Charging IC Power Inductor&nbsp;ihlp3232cz01]] [[Media:Bq25700_SLUSCP0.pdf|bq25700_SLUSCP0]] = Image = &nbsp;You can download image directly from below link if available. = See also = Firefly: [http://wiki.t-firefly.com/index.php/Firefly-RK3399 Firefly-RK3399] = References = &nbsp;&nbsp;&nbsp; - References, 其他有价值的链接, 如不同Distribution官方网站介绍该板子boot指南, 板子的官方网页. 531d9f9a04bc5a16e5fac87d524f174c09411486 569 568 2017-03-13T09:00:27Z Chery 9 wikitext text/x-wiki {| border="0" cellpadding="1" cellspacing="1" class="infobox" style="width: 500px;" |- | [[File:Excavator board.png]] |} = Rockchip github status&nbsp; &nbsp; = - Rockchip github代码支持情况, 给出相关配置, 具体使用指向通用guide链接 = Upstream status&nbsp; &nbsp; = - upstream代码支持情况, 给出相关配置, 具体使用指向通用guide链接<br/> &nbsp; = Documentation = [[Media:RK3399_EVB_User_Guide-20160920.pdf|RK3399 EVB User Guide]] [[Media:BOM_RK_SAPPHIRE_SOCBOARD_RK3399_LPDDR3D178P232SD8_V12_20161111HXS.xlsx|Sapphire Board BOM]] [[Media:Rock-chips_PDN_Design_Guide_V0.2_.pdf|Rock-chips_PDN_Design_Guide&nbsp;]] [[Media:RK3399_SOC-package_PIN_DELAY_0V2.pdf|RK3399_SOC-package_PIN_DELAY]] [[Media:RK3399_IO_LIST_V12_for_EVB&REF&Excavator-20170111.pdf|RK3399_IO_LIST_V12_for EVB&REF&Excavator]] [[Media:Layout_Design_Guide_V0.4.pdf|Layout Design Guide]] [[Media:RK3399硬件设计指南_V1.1_20170112.pdf|RK3399 Hardware Design Guide]] [[Media:RK3399_BOX_REF_V10_20170112.rar|RK3399 BOX reference design]] Component datasheet = Image = &nbsp;You can download image directly from below link if available. = See also = Firefly: [http://wiki.t-firefly.com/index.php/Firefly-RK3399 Firefly-RK3399] = References = &nbsp;&nbsp;&nbsp; - References, 其他有价值的链接, 如不同Distribution官方网站介绍该板子boot指南, 板子的官方网页. e5dfd4a950c8a6563b867ccdb8f256a2dfaec609 571 569 2017-03-13T09:01:26Z Chery 9 wikitext text/x-wiki {| border="0" cellpadding="1" cellspacing="1" class="infobox" style="width: 500px;" |- | [[File:Excavator board.png]] |} = Rockchip github status&nbsp; &nbsp; = - Rockchip github代码支持情况, 给出相关配置, 具体使用指向通用guide链接 = Upstream status&nbsp; &nbsp; = - upstream代码支持情况, 给出相关配置, 具体使用指向通用guide链接<br/> &nbsp; = Documentation = [[Media:RK3399_EVB_User_Guide-20160920.pdf|RK3399 EVB User Guide]] [[Media:BOM_RK_SAPPHIRE_SOCBOARD_RK3399_LPDDR3D178P232SD8_V12_20161111HXS.xlsx|Sapphire Board BOM]] [[Media:Rock-chips_PDN_Design_Guide_V0.2_.pdf|Rock-chips_PDN_Design_Guide&nbsp;]] [[Media:RK3399_SOC-package_PIN_DELAY_0V2.pdf|RK3399_SOC-package_PIN_DELAY]] [[Media:RK3399_IO_LIST_V12_for_EVB&REF&Excavator-20170111.pdf|RK3399_IO_LIST_V12_for EVB&REF&Excavator]] [[Media:Layout_Design_Guide_V0.4.pdf|Layout Design Guide]] [[Media:RK3399硬件设计指南_V1.1_20170112.pdf|RK3399 Hardware Design Guide]] [[Media:RK3399_BOX_REF_V10_20170112.rar|RK3399 BOX reference design]] [[Media:Component_datasheet.rar|Component datasheet]] = Image = &nbsp;You can download image directly from below link if available. = See also = Firefly: [http://wiki.t-firefly.com/index.php/Firefly-RK3399 Firefly-RK3399] = References = &nbsp;&nbsp;&nbsp; - References, 其他有价值的链接, 如不同Distribution官方网站介绍该板子boot指南, 板子的官方网页. d4089a9c8205e3cd19452d25eb33807083ec1c9b 575 571 2017-03-13T09:05:02Z Chery 9 wikitext text/x-wiki {| border="0" cellpadding="1" cellspacing="1" class="infobox" style="width: 500px;" |- | [[File:Excavator board.png]] |} = Rockchip github status&nbsp; &nbsp; = - Rockchip github代码支持情况, 给出相关配置, 具体使用指向通用guide链接 = Upstream status&nbsp; &nbsp; = - upstream代码支持情况, 给出相关配置, 具体使用指向通用guide链接<br/> &nbsp; = Documentation = [[Media:RK3399_EVB_User_Guide-20160920.pdf|RK3399 EVB User Guide]] [[Media:BOM_RK_SAPPHIRE_SOCBOARD_RK3399_LPDDR3D178P232SD8_V12_20161111HXS.xlsx|Sapphire Board BOM]] [[Media:Rock-chips_PDN_Design_Guide_V0.2_.pdf|Rock-chips_PDN_Design_Guide&nbsp;]] [[Media:RK3399_SOC-package_PIN_DELAY_0V2.pdf|RK3399_SOC-package_PIN_DELAY]] [[Media:RK3399_IO_LIST_V12_for_EVB&REF&Excavator-20170111.pdf|RK3399_IO_LIST_V12_for EVB&REF&Excavator]] [[Media:Layout_Design_Guide_V0.4.pdf|Layout Design Guide]] [[Media:RK3399硬件设计指南_V1.1_20170112.pdf|RK3399 Hardware Design Guide]] [[Media:RK3399_BOX_REF_V10_20170112.rar|RK3399 BOX reference design]] [[Media:Component_datasheet.rar|Component datasheet]] == RK3399 Excavator EVB == [[Media:RK_Excavator_MainBoard.rar|RK_Excavator_MainBoard]] [[Media:RK_Excavator_ExtBoard_MipiDisplay.rar|RK_Excavator_ExtBoard_MipiDisplay]] [[Media:RK_Sapphire_RK3399.rar|RK_Sapphire_RK3399]] = Image = &nbsp;You can download image directly from below link if available. = See also = Firefly: [http://wiki.t-firefly.com/index.php/Firefly-RK3399 Firefly-RK3399] = References = &nbsp;&nbsp;&nbsp; - References, 其他有价值的链接, 如不同Distribution官方网站介绍该板子boot指南, 板子的官方网页. e2e4d45e515d0c1ede45b6f923e3690479198bc1 576 575 2017-03-13T09:09:26Z Chery 9 wikitext text/x-wiki {| border="0" cellpadding="1" cellspacing="1" class="infobox" style="width: 500px;" |- | [[File:Excavator board.png]] |} = Rockchip github status&nbsp; &nbsp; = - Rockchip github代码支持情况, 给出相关配置, 具体使用指向通用guide链接 = Upstream status&nbsp; &nbsp; = - upstream代码支持情况, 给出相关配置, 具体使用指向通用guide链接<br/> &nbsp; = Documentation = [[Media:RK3399_EVB_User_Guide-20160920.pdf|RK3399 EVB User Guide]] Design documents RK3399_VR&TABLET_V1.2_20170111 [[Media:RK3399_BOX_REF_V10_20170112.rar|RK3399 BOX reference design]] [[Media:Component_datasheet.rar|Component datasheet]] == RK3399 Excavator EVB == [[Media:RK_Excavator_MainBoard.rar|RK_Excavator_MainBoard]] [[Media:RK_Excavator_ExtBoard_MipiDisplay.rar|RK_Excavator_ExtBoard_MipiDisplay]] [[Media:RK_Sapphire_RK3399.rar|RK_Sapphire_RK3399]] = Image = &nbsp;You can download image directly from below link if available. = See also = Firefly: [http://wiki.t-firefly.com/index.php/Firefly-RK3399 Firefly-RK3399] = References = &nbsp;&nbsp;&nbsp; - References, 其他有价值的链接, 如不同Distribution官方网站介绍该板子boot指南, 板子的官方网页. 5dfd5c548d682a8f08c27536c6272beef3c794da 579 576 2017-03-13T09:13:10Z Chery 9 wikitext text/x-wiki {| border="0" cellpadding="1" cellspacing="1" class="infobox" style="width: 500px;" |- | [[File:Excavator board.png]] |} = Rockchip github status&nbsp; &nbsp; = - Rockchip github代码支持情况, 给出相关配置, 具体使用指向通用guide链接 = Upstream status&nbsp; &nbsp; = - upstream代码支持情况, 给出相关配置, 具体使用指向通用guide链接<br/> &nbsp; = Documentation = [[Media:RK3399_EVB_User_Guide-20160920.pdf|RK3399 EVB User Guide]] [[Media:Design_documents.rar|Design documents]] [[Media:RK3399_VR&TABLET_V1.2_20170111.rar|RK3399_VR&TABLET_V1.2_20170111]] [[Media:RK3399_BOX_REF_V10_20170112.rar|RK3399 BOX reference design]] [[Media:Component_datasheet.rar|Component datasheet]] == RK3399 Excavator EVB == [[Media:RK_Excavator_MainBoard.rar|RK_Excavator_MainBoard]] [[Media:RK_Excavator_ExtBoard_MipiDisplay.rar|RK_Excavator_ExtBoard_MipiDisplay]] [[Media:RK_Sapphire_RK3399.rar|RK_Sapphire_RK3399]] = Image = &nbsp;You can download image directly from below link if available. = See also = Firefly: [http://wiki.t-firefly.com/index.php/Firefly-RK3399 Firefly-RK3399] = References = &nbsp;&nbsp;&nbsp; - References, 其他有价值的链接, 如不同Distribution官方网站介绍该板子boot指南, 板子的官方网页. 5d944dc5f30abe0ce14554ac3ce1e3f69a6d50d3 597 579 2017-03-14T06:15:45Z Chery 9 wikitext text/x-wiki {| border="0" cellpadding="1" cellspacing="1" class="infobox" style="width: 500px;" |- | [[File:RK3399 Excavator Board.jpg|RTENOTITLE]] |} = Rockchip github status&nbsp; &nbsp; = - Rockchip github代码支持情况, 给出相关配置, 具体使用指向通用guide链接 = Upstream status&nbsp; &nbsp; = - upstream代码支持情况, 给出相关配置, 具体使用指向通用guide链接<br/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; = Documentation = [[Media:RK3399_EVB_User_Guide-20160920.pdf|RK3399 EVB User Guide]] [[Media:Design_documents.rar|Design documents]] [[Media:RK3399_VR&TABLET_V1.2_20170111.rar|RK3399_VR&TABLET_V1.2_20170111]] [[Media:RK3399_BOX_REF_V10_20170112.rar|RK3399 BOX reference design]] [[Media:Component_datasheet.rar|Component datasheet]] == RK3399 Excavator EVB == [[Media:RK_Excavator_MainBoard.rar|RK_Excavator_MainBoard]] [[Media:RK_Excavator_ExtBoard_MipiDisplay.rar|RK_Excavator_ExtBoard_MipiDisplay]] [[Media:RK_Sapphire_RK3399.rar|RK_Sapphire_RK3399]] = Image = &nbsp;You can download image directly from below link if available. &nbsp; = See also = Firefly: [http://wiki.t-firefly.com/index.php/Firefly-RK3399 Firefly-RK3399] = References = &nbsp;&nbsp;&nbsp; - References, 其他有价值的链接, 如不同Distribution官方网站介绍该板子boot指南, 板子的官方网页. 4b6faced6f0306b07954bed5a1ffb2b27b8e4391 598 597 2017-03-14T06:16:55Z Chery 9 wikitext text/x-wiki {| border="0" cellpadding="1" cellspacing="1" class="infobox" style="width: 200px;" |- | [[File:RK3399 Excavator Board.jpg|RTENOTITLE]] |} = Rockchip github status&nbsp; &nbsp; = - Rockchip github代码支持情况, 给出相关配置, 具体使用指向通用guide链接 = Upstream status&nbsp; &nbsp; = - upstream代码支持情况, 给出相关配置, 具体使用指向通用guide链接<br/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; = Documentation = [[Media:RK3399_EVB_User_Guide-20160920.pdf|RK3399 EVB User Guide]] [[Media:Design_documents.rar|Design documents]] [[Media:RK3399_VR&TABLET_V1.2_20170111.rar|RK3399_VR&TABLET_V1.2_20170111]] [[Media:RK3399_BOX_REF_V10_20170112.rar|RK3399 BOX reference design]] [[Media:Component_datasheet.rar|Component datasheet]] == RK3399 Excavator EVB == [[Media:RK_Excavator_MainBoard.rar|RK_Excavator_MainBoard]] [[Media:RK_Excavator_ExtBoard_MipiDisplay.rar|RK_Excavator_ExtBoard_MipiDisplay]] [[Media:RK_Sapphire_RK3399.rar|RK_Sapphire_RK3399]] = Image = &nbsp;You can download image directly from below link if available. &nbsp; = See also = Firefly: [http://wiki.t-firefly.com/index.php/Firefly-RK3399 Firefly-RK3399] = References = &nbsp;&nbsp;&nbsp; - References, 其他有价值的链接, 如不同Distribution官方网站介绍该板子boot指南, 板子的官方网页. 680fc84345a054848698619dfab1ccf7004fccfe 599 598 2017-03-14T06:17:14Z Chery 9 wikitext text/x-wiki {| border="0" cellpadding="1" cellspacing="1" class="infobox" style="width: 20px;" |- | [[File:RK3399 Excavator Board.jpg|RTENOTITLE]] |} = Rockchip github status&nbsp; &nbsp; = - Rockchip github代码支持情况, 给出相关配置, 具体使用指向通用guide链接 = Upstream status&nbsp; &nbsp; = - upstream代码支持情况, 给出相关配置, 具体使用指向通用guide链接<br/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; = Documentation = [[Media:RK3399_EVB_User_Guide-20160920.pdf|RK3399 EVB User Guide]] [[Media:Design_documents.rar|Design documents]] [[Media:RK3399_VR&TABLET_V1.2_20170111.rar|RK3399_VR&TABLET_V1.2_20170111]] [[Media:RK3399_BOX_REF_V10_20170112.rar|RK3399 BOX reference design]] [[Media:Component_datasheet.rar|Component datasheet]] == RK3399 Excavator EVB == [[Media:RK_Excavator_MainBoard.rar|RK_Excavator_MainBoard]] [[Media:RK_Excavator_ExtBoard_MipiDisplay.rar|RK_Excavator_ExtBoard_MipiDisplay]] [[Media:RK_Sapphire_RK3399.rar|RK_Sapphire_RK3399]] = Image = &nbsp;You can download image directly from below link if available. &nbsp; = See also = Firefly: [http://wiki.t-firefly.com/index.php/Firefly-RK3399 Firefly-RK3399] = References = &nbsp;&nbsp;&nbsp; - References, 其他有价值的链接, 如不同Distribution官方网站介绍该板子boot指南, 板子的官方网页. bed89291b38d2e72ff9fdc8df3bf4ce3ecb08f63 600 599 2017-03-14T06:19:23Z Chery 9 wikitext text/x-wiki {{Infobox SoC | image = [[File:RK3399 Excavator Board.jpg |200px]] }} = Rockchip github status&nbsp; &nbsp; = - Rockchip github代码支持情况, 给出相关配置, 具体使用指向通用guide链接 = Upstream status&nbsp; &nbsp; = - upstream代码支持情况, 给出相关配置, 具体使用指向通用guide链接<br/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; = Documentation = [[Media:RK3399_EVB_User_Guide-20160920.pdf|RK3399 EVB User Guide]] [[Media:Design_documents.rar|Design documents]] [[Media:RK3399_VR&TABLET_V1.2_20170111.rar|RK3399_VR&TABLET_V1.2_20170111]] [[Media:RK3399_BOX_REF_V10_20170112.rar|RK3399 BOX reference design]] [[Media:Component_datasheet.rar|Component datasheet]] == RK3399 Excavator EVB == [[Media:RK_Excavator_MainBoard.rar|RK_Excavator_MainBoard]] [[Media:RK_Excavator_ExtBoard_MipiDisplay.rar|RK_Excavator_ExtBoard_MipiDisplay]] [[Media:RK_Sapphire_RK3399.rar|RK_Sapphire_RK3399]] = Image = &nbsp;You can download image directly from below link if available. &nbsp; = See also = Firefly: [http://wiki.t-firefly.com/index.php/Firefly-RK3399 Firefly-RK3399] = References = &nbsp;&nbsp;&nbsp; - References, 其他有价值的链接, 如不同Distribution官方网站介绍该板子boot指南, 板子的官方网页. c54a77023a492275c530d7a5ae046ee7c73dbe2b 601 600 2017-03-14T06:20:00Z Chery 9 wikitext text/x-wiki {{Infobox | image = [[File:RK3399 Excavator Board.jpg |200px]] }} = Rockchip github status&nbsp; &nbsp; = - Rockchip github代码支持情况, 给出相关配置, 具体使用指向通用guide链接 = Upstream status&nbsp; &nbsp; = - upstream代码支持情况, 给出相关配置, 具体使用指向通用guide链接<br/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; = Documentation = [[Media:RK3399_EVB_User_Guide-20160920.pdf|RK3399 EVB User Guide]] [[Media:Design_documents.rar|Design documents]] [[Media:RK3399_VR&TABLET_V1.2_20170111.rar|RK3399_VR&TABLET_V1.2_20170111]] [[Media:RK3399_BOX_REF_V10_20170112.rar|RK3399 BOX reference design]] [[Media:Component_datasheet.rar|Component datasheet]] == RK3399 Excavator EVB == [[Media:RK_Excavator_MainBoard.rar|RK_Excavator_MainBoard]] [[Media:RK_Excavator_ExtBoard_MipiDisplay.rar|RK_Excavator_ExtBoard_MipiDisplay]] [[Media:RK_Sapphire_RK3399.rar|RK_Sapphire_RK3399]] = Image = &nbsp;You can download image directly from below link if available. &nbsp; = See also = Firefly: [http://wiki.t-firefly.com/index.php/Firefly-RK3399 Firefly-RK3399] = References = &nbsp;&nbsp;&nbsp; - References, 其他有价值的链接, 如不同Distribution官方网站介绍该板子boot指南, 板子的官方网页. 1f9a07c9a5f87b64a9a3c1127f31df452613c2ca 602 601 2017-03-14T06:20:16Z Chery 9 wikitext text/x-wiki {{Infobox | image = [[File:RK3399 Excavator Board.jpg |500px]] }} = Rockchip github status&nbsp; &nbsp; = - Rockchip github代码支持情况, 给出相关配置, 具体使用指向通用guide链接 = Upstream status&nbsp; &nbsp; = - upstream代码支持情况, 给出相关配置, 具体使用指向通用guide链接<br/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; = Documentation = [[Media:RK3399_EVB_User_Guide-20160920.pdf|RK3399 EVB User Guide]] [[Media:Design_documents.rar|Design documents]] [[Media:RK3399_VR&TABLET_V1.2_20170111.rar|RK3399_VR&TABLET_V1.2_20170111]] [[Media:RK3399_BOX_REF_V10_20170112.rar|RK3399 BOX reference design]] [[Media:Component_datasheet.rar|Component datasheet]] == RK3399 Excavator EVB == [[Media:RK_Excavator_MainBoard.rar|RK_Excavator_MainBoard]] [[Media:RK_Excavator_ExtBoard_MipiDisplay.rar|RK_Excavator_ExtBoard_MipiDisplay]] [[Media:RK_Sapphire_RK3399.rar|RK_Sapphire_RK3399]] = Image = &nbsp;You can download image directly from below link if available. &nbsp; = See also = Firefly: [http://wiki.t-firefly.com/index.php/Firefly-RK3399 Firefly-RK3399] = References = &nbsp;&nbsp;&nbsp; - References, 其他有价值的链接, 如不同Distribution官方网站介绍该板子boot指南, 板子的官方网页. 820cdfe87b8536c4470b884b15889ae47add3f36 603 602 2017-03-14T06:29:01Z Chery 9 wikitext text/x-wiki {{Infobox | image = [[File:RK3399 Excavator Board.jpg |500px]] }} = Rockchip github status = You can download code from github: <!--StartFragment --> repo&nbsp;init&nbsp;-u&nbsp;[[File:]]https://github.com/rockchip-linux/manifests&nbsp;-m&nbsp;rk3399.xml<br/> repo&nbsp;sync = Upstream status&nbsp; &nbsp; = - upstream代码支持情况, 给出相关配置, 具体使用指向通用guide链接<br/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; = Documentation = [[Media:RK3399_EVB_User_Guide-20160920.pdf|RK3399 EVB User Guide]] [[Media:Design_documents.rar|Design documents]] [[Media:RK3399_VR&TABLET_V1.2_20170111.rar|RK3399_VR&TABLET_V1.2_20170111]] [[Media:RK3399_BOX_REF_V10_20170112.rar|RK3399 BOX reference design]] [[Media:Component_datasheet.rar|Component datasheet]] == RK3399 Excavator EVB == [[Media:RK_Excavator_MainBoard.rar|RK_Excavator_MainBoard]] [[Media:RK_Excavator_ExtBoard_MipiDisplay.rar|RK_Excavator_ExtBoard_MipiDisplay]] [[Media:RK_Sapphire_RK3399.rar|RK_Sapphire_RK3399]] = Image = &nbsp;You can download image directly from below link if available. &nbsp; = See also = Firefly: [http://wiki.t-firefly.com/index.php/Firefly-RK3399 Firefly-RK3399] = References = &nbsp;&nbsp;&nbsp; - References, 其他有价值的链接, 如不同Distribution官方网站介绍该板子boot指南, 板子的官方网页. bb381be023d063bab1d5a35cbbc8cfa4cbbe45a7 605 603 2017-03-14T06:29:49Z Chery 9 wikitext text/x-wiki {{Infobox | image = [[File:RK3399 Excavator Board.jpg |500px]] }} = Rockchip github status = You can download code from github: <!--StartFragment --> repo&nbsp;init&nbsp;-u&nbsp;[https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests]&nbsp;-m&nbsp;rk3399.xml<br/> repo&nbsp;sync = Upstream status&nbsp; &nbsp; = - upstream代码支持情况, 给出相关配置, 具体使用指向通用guide链接<br/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; = Documentation = [[Media:RK3399_EVB_User_Guide-20160920.pdf|RK3399 EVB User Guide]] [[Media:Design_documents.rar|Design documents]] [[Media:RK3399_VR&TABLET_V1.2_20170111.rar|RK3399_VR&TABLET_V1.2_20170111]] [[Media:RK3399_BOX_REF_V10_20170112.rar|RK3399 BOX reference design]] [[Media:Component_datasheet.rar|Component datasheet]] == RK3399 Excavator EVB == [[Media:RK_Excavator_MainBoard.rar|RK_Excavator_MainBoard]] [[Media:RK_Excavator_ExtBoard_MipiDisplay.rar|RK_Excavator_ExtBoard_MipiDisplay]] [[Media:RK_Sapphire_RK3399.rar|RK_Sapphire_RK3399]] = Image = &nbsp;You can download image directly from below link if available. &nbsp; = See also = Firefly: [http://wiki.t-firefly.com/index.php/Firefly-RK3399 Firefly-RK3399] = References = &nbsp;&nbsp;&nbsp; - References, 其他有价值的链接, 如不同Distribution官方网站介绍该板子boot指南, 板子的官方网页. 0b03900fc33a4e9274ee08dd48aadca1d19e6dc0 Display Server 0 70 536 534 2017-03-10T09:35:44Z Karen 3 wikitext text/x-wiki = Introduction = = Download = = Supported Devices = = Configuration/Environment = = Package = = Install = = See also = = References&nbsp; = 5fc5ee3d81f8cb73eea0714fb252de3368f9f896 Camera 0 74 542 2017-03-10T09:52:51Z Karen 3 Created page with " = Introduction = = Download = = Supported Devices = = Configuration/Environment = = Package = = Install = = See also = = References&nbsp; =" wikitext text/x-wiki = Introduction = = Download = = Supported Devices = = Configuration/Environment = = Package = = Install = = See also = = References&nbsp; = 5fc5ee3d81f8cb73eea0714fb252de3368f9f896 RK3328 0 24 549 476 2017-03-10T10:06:50Z Karen 3 wikitext text/x-wiki {{Infobox SoC | title = RK3328 | image = [[File:rk3328_soc.png|250px]] | manufacturer = Rockcihp | process = 28nm | cpu = Quad-Core ARM Cortex-A53 | ltwo = | extensions = | memory = DDR3/DDR3L/LPDDR3/DDR4 | gpu = Mali-450MP4 | vpu = 4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps | apu = | video = HDMI 2.0a, | audio = 8 channels I2S/PDM interface, supports 8 channels Mic array | network = | storage = 4x SD Card, eMMC NAND, 2-channel raw NAND | usb = 1* USB2.0 otg, 1* USB 2.0 Host, 1* USB 3.0 Host | other = | release_date = December 2016 | website = http://www.rock-chips.com/a/en/products/RK33_Series/2017/0118/829.html | Product Page }} &nbsp; &nbsp; &nbsp; = Overview = RK3328 offers a high-integration and power efficiency&nbsp;SOC for 4K HDR OTT/IPTV. It support HDR10 ,HLG HDR ,&nbsp;4K 10bits 30fps H.264 video decoder and 4K 10bits 60fps H265 video decoder.Comply with lots of high-performance interface,such as multi-channel display with HDMI2.0a, TV Encoder, the Quad-core GPU can acheive&nbsp;high-resolution display and game. == Cortex-A53 == Quad-core Cortex-A53 is integrated with separate Neon and FPU coprocessor, also with shared L2 Cache.&nbsp; &nbsp; = RK3328 SoC Features = *CPU: **ARM Cortex-A53&nbsp;Quad-Core&nbsp; *GPU **&nbsp;Mali-450MP4 **Comply with Open GL ES1.1/2.0 *Multi-Media: **4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps **1080P other video decoders (VC-1, MPEG-1/2/4, VP8) **1080P video encoder for H.264 and H.265 **Support HDR10 ,HLG HDR , Support conversion between SDR and HDR *Display: **HDMI 2.0a for 4K@60Hz with HDCP 1.4/2.2 **Support conversion between Rec.2020 and Rec.709 *Memory: **LPDDR3/DDR3/DDR3L/DDR4 **eMMC 4.51,SDCard, SPI Flash *External interface **USB 2.0 x2 and USB 3.0 x1 **100M Ethernet w/ built-in PHY **Built-in CVBS and audio DAC **8 channels I2S IO and 8 chanel digital PDM input (for MIC array) = Documentation = &nbsp; [http://10.10.10.12:8444/images/9/9e/RK_DDR_Support_List_Ver2.24.pdf RK_DDR_Support_List_Ver2.24] &nbsp; &nbsp; = Software = == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" |- | '''board''' | '''kernel''' | '''uboot''' | '''dts''' |- | RK_EVB_RK3228H_BOX_RK805_DDR3 | rockchip_linux_defconfig | rk3328_linux_defconfig | rk3328r-linux.dts |} &nbsp; &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" |- | '''chip''' | '''Kernel eMMC index''' | '''Kernel SD index''' | '''Uboot eMMC index''' | '''Uboot SD index''' | '''Baud speed''' |- | RK3399 | 1 | 0 | 0 | 1 | 1500000 |} == How to get the sources == The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code.&nbsp;Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github. RK3399 optimized Debian & Buildroot <pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml repo sync </pre> == How to build the sources == === Build Environment === You need a 64-bit&nbsp;Ubuntu. Note: old versions&nbsp;Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so Install&nbsp;ARM cross-compile tool chain and compile kernel relative&nbsp;software package:&nbsp; $ sudo apt-get install gcc-arm-linux-gnueabihf&nbsp;gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev === Installing the build tools and download source === Please follow&nbsp;[http://rockchip.wikidot.com/linux-user-guide linux user guide]&nbsp;to install the build tools and download source. &nbsp; &nbsp; === Building kernel === empty === Building uboot === empty === Building rootfs === ==== Debian ==== You&nbsp;can download the prebuilt image directly. [http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive] or you could use the&nbsp;[https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script]&nbsp;from Rockchip to build rootfs yourselves. ==== Yocto ==== If you want to use Yocto to build your rootfs see&nbsp;[http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide]&nbsp;for detail. ==== Buildroot ==== If you want to use Buildroot to build your rootfs see&nbsp;[http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide]&nbsp;for detail. = Devices = If you need the rk3399-excavator&nbsp;board, please communicate through&nbsp;the following&nbsp;contact information. <pre>Telephone: 4007700590 Email: service@rock-chips.com</pre> &nbsp; = See also = [[RK3288|RK3288]] [[RK3399|RK3399]] = References = 1.[https://en.wikipedia.org/wiki/ARM_Cortex-A53 https://en.wikipedia.org/wiki/ARM_Cortex-A53] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 063adec884ebb94a335b279667212a3f023a1092 561 549 2017-03-13T01:16:04Z Karen 3 wikitext text/x-wiki {{Infobox SoC | title = RK3328 | image = [[File:rk3328_soc.png|250px]] | manufacturer = Rockcihp | process = 28nm | cpu = Quad-Core ARM Cortex-A53 | ltwo = | extensions = | memory = DDR3/DDR3L/LPDDR3/DDR4 | gpu = Mali-450MP4 | vpu = 4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps | apu = | video = HDMI 2.0a, | audio = 8 channels I2S/PDM interface, supports 8 channels Mic array | network = | storage = 4x SD Card, eMMC | usb = 1* USB2.0 otg, 1* USB 2.0 Host, 1* USB 3.0 Host | other = | release_date = December 2016 | website = http://www.rock-chips.com/a/en/products/RK33_Series/2017/0118/829.html | Product Page }} &nbsp; &nbsp; &nbsp; = Overview = RK3328 offers a high-integration and power efficiency&nbsp;SOC for 4K HDR OTT/IPTV. It support HDR10 ,HLG HDR ,&nbsp;4K 10bits 30fps H.264 video decoder and 4K 10bits 60fps H265 video decoder.Comply with lots of high-performance interface,such as multi-channel display with HDMI2.0a, TV Encoder, the Quad-core GPU can acheive&nbsp;high-resolution display and game. == Cortex-A53 == Quad-core Cortex-A53 is integrated with separate Neon and FPU coprocessor, also with shared L2 Cache.&nbsp; &nbsp; = RK3328 SoC Features = *CPU: **ARM Cortex-A53&nbsp;Quad-Core&nbsp; *GPU **&nbsp;Mali-450MP4 **Comply with Open GL ES1.1/2.0 *Multi-Media: **4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps **1080P other video decoders (VC-1, MPEG-1/2/4, VP8) **1080P video encoder for H.264 and H.265 **Support HDR10 ,HLG HDR , Support conversion between SDR and HDR *Display: **HDMI 2.0a for 4K@60Hz with HDCP 1.4/2.2 **Support conversion between Rec.2020 and Rec.709 *Memory: **LPDDR3/DDR3/DDR3L/DDR4 **eMMC 4.51,SDCard, SPI Flash *External interface **USB 2.0 x2 and USB 3.0 x1 **100M Ethernet w/ built-in PHY **Built-in CVBS and audio DAC **8 channels I2S IO and 8 chanel digital PDM input (for MIC array) = Documentation = &nbsp; [http://10.10.10.12:8444/images/9/9e/RK_DDR_Support_List_Ver2.24.pdf RK_DDR_Support_List_Ver2.24] &nbsp; &nbsp; = Software = == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" |- | '''board''' | '''kernel''' | '''uboot''' | '''dts''' |- | RK_EVB_RK3228H_BOX_RK805_DDR3 | rockchip_linux_defconfig | rk3328_linux_defconfig | rk3328r-linux.dts |} &nbsp; &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" |- | '''chip''' | '''Kernel eMMC index''' | '''Kernel SD index''' | '''Uboot eMMC index''' | '''Uboot SD index''' | '''Baud speed''' |- | RK3399 | 1 | 0 | 0 | 1 | 1500000 |} == How to get the sources == The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code.&nbsp;Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github. RK3399 optimized Debian & Buildroot <pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml repo sync </pre> == How to build the sources == === Build Environment === You need a 64-bit&nbsp;Ubuntu. Note: old versions&nbsp;Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so Install&nbsp;ARM cross-compile tool chain and compile kernel relative&nbsp;software package:&nbsp; $ sudo apt-get install gcc-arm-linux-gnueabihf&nbsp;gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev === Installing the build tools and download source === Please follow&nbsp;[http://rockchip.wikidot.com/linux-user-guide linux user guide]&nbsp;to install the build tools and download source. &nbsp; &nbsp; === Building kernel === empty === Building uboot === empty === Building rootfs === ==== Debian ==== You&nbsp;can download the prebuilt image directly. [http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive] or you could use the&nbsp;[https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script]&nbsp;from Rockchip to build rootfs yourselves. ==== Yocto ==== If you want to use Yocto to build your rootfs see&nbsp;[http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide]&nbsp;for detail. ==== Buildroot ==== If you want to use Buildroot to build your rootfs see&nbsp;[http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide]&nbsp;for detail. = Devices = If you need the rk3399-excavator&nbsp;board, please communicate through&nbsp;the following&nbsp;contact information. <pre>Telephone: 4007700590 Email: service@rock-chips.com</pre> &nbsp; = See also = [[RK3288|RK3288]] [[RK3399|RK3399]] = References = 1.[https://en.wikipedia.org/wiki/ARM_Cortex-A53 https://en.wikipedia.org/wiki/ARM_Cortex-A53] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 3db018d1dbd48fc6fcc667de1936e7e36798eaef U-Boot 0 11 564 440 2017-03-13T01:50:40Z Karen 3 wikitext text/x-wiki U-Boot Guide = Download U-Boot = == Upstream U-Boot == You can clone the u-boot repository by running: <pre>git clone git://git.denx.de/u-boot.git</pre> Alternatively you can use u-boot-rockchip instead which may with some patches not get in mainline: <pre>git clone git://git.denx.de/u-boot-rockchip.git</pre> == Rockchp U-Boot == You can clone the u-boot repository by running: <pre>git clone https://github.com/rockchip-linux/u-boot.git </pre> = Supported Devices = Upstream U-Boot support Rockchip SoCs: RK3036, RK3188, [[RK3288|RK3288]], [[RK3328|RK3328]], [[RK3399|RK3399]] &nbsp; *RK3036 boards supported: <ol style="margin-left: 40px;"> <li>EVB RK3036 - use evb-rk3036 configuration</li> <li>Kylin - use kylin_rk3036 configuration</li> </ol> *RK3288 boards supported: <ol style="margin-left: 40px;"> <li>EVB RK3288 - use evb-rk3288 configuration</li> <li>Fennec RK3288 - use fennec-rk3288 configuration</li> <li>Firefly RK3288 - use firefly-rk3288 configuration</li> <li>Hisense Chromebook - use chromebook_jerry configuration</li> <li>Miniarm RK3288 - use miniarm-rk3288 configuration</li> <li>PopMetal RK3288 - use popmetal-rk3288 configuration</li> <li>Radxa Rock 2 - use rock2 configuration</li> <li>ASUS Tinker</li> </ol> *RK3188 boards&nbsp;supported: <ol style="margin-left: 40px;"> <li>Radxa Rock - use rock&nbsp;configuration</li> </ol> *RK3328 boards&nbsp;supported: <ol style="margin-left: 40px;"> <li>EVB RK3328 - use evb-rk3328 configuration</li> </ol> *RK3399 boards&nbsp;supported: <ol style="margin-left: 40px;"> <li>EVB RK3399 - use evb-rk3399 configuration</li> </ol> &nbsp; = Configure U-Boot = First you need to chose a correct defconfig for your board; When you have determined what <board_name> you want to build, configure: <pre>make CROSS_COMPILE=arm-linux-gnueabi-&nbsp;<board_name>_defconfig</pre> You may need to change the U-Boot function/feature support by modify the defconfig file or, there is also menuconfig to play with settings if you feel like it: <pre>make CROSS_COMPILE=arm-linux-gnueabi- menuconfig</pre> &nbsp; &nbsp; = Build U-Boot = == Get a toolchain == If you haven't done so before, get a suitable&nbsp;toolchain&nbsp;installed and added to your PATH. In Ubuntu 14.04, you can use below command to install cross compiler for armv7: <pre>sudo apt-get install gcc-arm-linux-gnueabi</pre> Or for ARM64 <pre>sudo apt-get install gcc-aarch64-linux-gnu </pre> &nbsp; == Build == For armv7: <pre>make CROSS_COMPILE=arm-linux-gnueabi-</pre> or for ARM64: <pre>make ARCH=arm CROSS_COMPILE=aarch64-linux-gnu-</pre> In order to support debug in ARM DS-5, you may need add ctags in make command: <pre>CFLAGS='-gdwarf-3'</pre> = Istall U-Boot = Rockchp SoCs's bootrom need special format named IDBlock at special offset 0x64 block for boot, so we need to package&nbsp;SPL(or Rockchip miniloader) &nbsp;in IDB format. Rockchp bootrom supports SPL back to bootrom and bootrom load the U-Boot, so the SPL for Rockchip SoCs can option to back to bootrom, usually decide by if the IRAM is enought for driver to load U-Boot. == Using U-Boot SPL == After build&nbsp;complete, U-Boot with SPL support will generate a spl folder with <var>u-boot-spl.bin</var>&nbsp;inside <pre>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl.bin rk3288_idb.img</pre> '''This image is suppose to flash to offset 0x64.''' For&nbsp;<var>u-boot.bin</var>, it's diffrent for SPL back to bootrom or not, if enable&nbsp;CONFIG_ROCKCHIP_SPL_BACK_TO_BROM, we can append the U-Boot to IDB data: <pre>cat u-boot.bin >> rk3288_idb.img</pre> <code>If&nbsp;</code>CONFIG_ROCKCHIP_SPL_BACK_TO_BROM&nbsp;not enabled, no more package operation is need for u-boot-dtb.bin, and it need to flalsh to 0x200 which is decide by&nbsp;CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR. == Support ATF with SPL FIT image == == Using Rockchip miniloader == Alternatively, you can use Rockchip miniloader and U-Boot instead which do not need SPL. The miniloader is package as IDBlock, and the u-boot.bin need to package with rockchip tool: <pre>loaderimage --pack --uboot u-boot.bin rk3288_uboot.img</pre> According to the [[partitions]] definition, this output should write to offset 0x4000. = Boot = == Boot from eMMC == == Boot from SD/TF Card == === Creating Image === Follow&nbsp;[http://rockchip.wikidot.com/linux-user-guide linux-user-guide]&nbsp;to build kernel and uboot.<br/> get uboot-spl.img and u-boot-dtb.img <pre><code>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin uboot-spl.img</code> </pre> === <br/> <var>build boot.img</var> === <pre><code>sudo dd if=/dev/zero of=boot.img bs=1M count=128 sudo mkfs.fat boot.img mkdir boot sudo mount boot.img boot sudo cp zImage boot sudo cp rk3288-fennec.dtb boot sudo mkdir boot/extlinux sudo cp extlinux.conf boot/extlinux sudo umount boot</code> </pre> Download rootfs image and rename it <pre><code>mv linaro-rootfs.img rootfs.img</code> </pre> === Making a SD Card for updating === Download&nbsp;[https://github.com/wzyy2/rk-initrd-build ramdisk source]&nbsp;and build. <pre><code>sh ./mk-initrd.sh</code> </pre> Format SD card <pre><code>chen@chen-HP-ProDesk-680-G1-TWR:~/work/linaro-alip/ramdisk/update$ sudo gdisk /dev/sdb GPT fdisk (gdisk) version 0.8.8 Partition table scan: MBR: protective BSD: not present APM: not present GPT: present Found valid GPT with protective MBR; using GPT. Command (? for help): o This option deletes all partitions and creates a new protective MBR. Proceed? (Y/N): y Command (? for help): n Partition number (1-128, default 1): 1 First sector (34-126613470, default = 2048) or {+-}size{KMGTP}: 8192 Last sector (8192-126613470, default = 126613470) or {+-}size{KMGTP}: Current type is 'Linux filesystem' Hex code or GUID (L to show codes, Enter = 8300): Changed type of partition to 'Linux filesystem' Command (? for help): w Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING PARTITIONS!! Do you want to proceed? (Y/N): y OK; writing new GUID partition table (GPT) to /dev/sdc. Warning: The kernel is still using the old partition table. The new table will be used at the next reboot. The operation has completed successfully.</code> </pre> <pre><code>sudo umount /dev/sdb1 sudo mkfs.fat /dev/sdb1</code> </pre> <pre><code>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin out&& sudo dd if=out of=/dev/sdb seek=64&&sudo dd if=u-boot-dtb.img of=/dev/sdb seek=256</code> </pre> Copy zimage, dts and ramdisk to /dev/sdb1 <pre><code>cp arch/arm/boot/zImage /media/chen/9F35-9565/ cp arch/arm/boot/dts/rk3288-fennec.dtb /media/chen/9F35-9565/rk3288-fennec.dtb cp ../rk-initrd-build/initrd.img /media/chen/9F35-9565/</code> </pre> Add extlinux/extlinux.conf to /dev/sdb1 <pre><code>label kernel-4.4 kernel /zImage fdt /rk3288-fennec.dtb initrd /initrd.img append earlyprintk console=ttyS2,115200n8 rw root=/dev/ram0 rootfstype=ext4 init=/sbin/init ramdisk_size=49152</code> </pre> Copy u-boot-dtb.img uboot-spl.img boot.img rootfs.img and&nbsp;[https://github.com/wzyy2/rk-initrd-build/blob/master/update/update.sh update.sh]&nbsp;to /dev/sdb1 <pre><code>mkdir /media/chen/9F35-9565/update cp u-boot-dtb.img /media/chen/9F35-9565/update cp uboot-spl.img /media/chen/9F35-9565/update cp boot.img /media/chen/9F35-9565/update cp rootfs.img /media/chen/9F35-9565/update cp update.sh /media/chen/9F35-9565/update</code> </pre> === Updating the board === Boot the board and it will flash image to eMMC == Boot from USB-Disk == == Netboot/TFTP == == Distro boot == = U-Boot download = In U-Boot, there are multi way to update image for system, you can chose any of one easy use for you. == fastboot == See [[fastboot]] == ums == fdb4bf78cdf1af2d39a6b39fa60551b67d9924ac 580 564 2017-03-14T00:32:03Z Karen 3 wikitext text/x-wiki U-Boot Guide = Download U-Boot = == Upstream U-Boot == You can clone the u-boot repository by running: <pre>git clone git://git.denx.de/u-boot.git</pre> Alternatively you can use u-boot-rockchip instead which may with some patches not get in mainline: <pre>git clone git://git.denx.de/u-boot-rockchip.git</pre> == Rockchip U-Boot == You can clone the u-boot repository by running: <pre>git clone https://github.com/rockchip-linux/u-boot.git </pre> = Supported Devices = Upstream U-Boot support Rockchip SoCs: RK3036, RK3188, [[RK3288|RK3288]], [[RK3328|RK3328]], [[RK3399|RK3399]] &nbsp; *RK3036 boards supported: <ol style="margin-left: 40px;"> <li>EVB RK3036 - use evb-rk3036 configuration</li> <li>Kylin - use kylin_rk3036 configuration</li> </ol> *RK3288 boards supported: <ol style="margin-left: 40px;"> <li>EVB RK3288 - use evb-rk3288 configuration</li> <li>Fennec RK3288 - use fennec-rk3288 configuration</li> <li>Firefly RK3288 - use firefly-rk3288 configuration</li> <li>Hisense Chromebook - use chromebook_jerry configuration</li> <li>Miniarm RK3288 - use miniarm-rk3288 configuration</li> <li>PopMetal RK3288 - use popmetal-rk3288 configuration</li> <li>Radxa Rock 2 - use rock2 configuration</li> <li>ASUS Tinker</li> </ol> *RK3188 boards&nbsp;supported: <ol style="margin-left: 40px;"> <li>Radxa Rock - use rock&nbsp;configuration</li> </ol> *RK3328 boards&nbsp;supported: <ol style="margin-left: 40px;"> <li>EVB RK3328 - use evb-rk3328 configuration</li> </ol> *RK3399 boards&nbsp;supported: <ol style="margin-left: 40px;"> <li>EVB RK3399 - use evb-rk3399 configuration</li> </ol> &nbsp; = Configure U-Boot = First you need to chose a correct defconfig for your board; When you have determined what <board_name> you want to build, configure: <pre>make CROSS_COMPILE=arm-linux-gnueabi-&nbsp;<board_name>_defconfig</pre> You may need to change the U-Boot function/feature support by modify the defconfig file or, there is also menuconfig to play with settings if you feel like it: <pre>make CROSS_COMPILE=arm-linux-gnueabi- menuconfig</pre> &nbsp; &nbsp; = Build U-Boot = == Get a toolchain == If you haven't done so before, get a suitable&nbsp;toolchain&nbsp;installed and added to your PATH. In Ubuntu 14.04, you can use below command to install cross compiler for armv7: <pre>sudo apt-get install gcc-arm-linux-gnueabi</pre> Or for ARM64 <pre>sudo apt-get install gcc-aarch64-linux-gnu </pre> &nbsp; == Build == For armv7: <pre>make CROSS_COMPILE=arm-linux-gnueabi-</pre> or for ARM64: <pre>make ARCH=arm CROSS_COMPILE=aarch64-linux-gnu-</pre> In order to support debug in ARM DS-5, you may need add ctags in make command: <pre>CFLAGS='-gdwarf-3'</pre> = Istall U-Boot = Rockchp SoCs's bootrom need special format named IDBlock at special offset 0x64 block for boot, so we need to package&nbsp;SPL(or Rockchip miniloader) &nbsp;in IDB format. Rockchp bootrom supports SPL back to bootrom and bootrom load the U-Boot, so the SPL for Rockchip SoCs can option to back to bootrom, usually decide by if the IRAM is enought for driver to load U-Boot. == Using U-Boot SPL == After build&nbsp;complete, U-Boot with SPL support will generate a spl folder with <var>u-boot-spl.bin</var>&nbsp;inside <pre>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl.bin rk3288_idb.img</pre> '''This image is suppose to flash to offset 0x64.''' For&nbsp;<var>u-boot.bin</var>, it's diffrent for SPL back to bootrom or not, if enable&nbsp;CONFIG_ROCKCHIP_SPL_BACK_TO_BROM, we can append the U-Boot to IDB data: <pre>cat u-boot.bin >> rk3288_idb.img</pre> <code>If&nbsp;</code>CONFIG_ROCKCHIP_SPL_BACK_TO_BROM&nbsp;not enabled, no more package operation is need for u-boot-dtb.bin, and it need to flalsh to 0x200 which is decide by&nbsp;CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR. == Support ATF with SPL FIT image == == Using Rockchip miniloader == Alternatively, you can use Rockchip miniloader and U-Boot instead which do not need SPL. The miniloader is package as IDBlock, and the u-boot.bin need to package with rockchip tool: <pre>loaderimage --pack --uboot u-boot.bin rk3288_uboot.img</pre> According to the [[partitions]] definition, this output should write to offset 0x4000. = Boot = == Boot from eMMC == == Boot from SD/TF Card == === Creating Image === Follow&nbsp;[http://rockchip.wikidot.com/linux-user-guide linux-user-guide]&nbsp;to build kernel and uboot.<br/> get uboot-spl.img and u-boot-dtb.img <pre><code>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin uboot-spl.img</code> </pre> === <br/> <var>build boot.img</var> === <pre><code>sudo dd if=/dev/zero of=boot.img bs=1M count=128 sudo mkfs.fat boot.img mkdir boot sudo mount boot.img boot sudo cp zImage boot sudo cp rk3288-fennec.dtb boot sudo mkdir boot/extlinux sudo cp extlinux.conf boot/extlinux sudo umount boot</code> </pre> Download rootfs image and rename it <pre><code>mv linaro-rootfs.img rootfs.img</code> </pre> === Making a SD Card for updating === Download&nbsp;[https://github.com/wzyy2/rk-initrd-build ramdisk source]&nbsp;and build. <pre><code>sh ./mk-initrd.sh</code> </pre> Format SD card <pre><code>chen@chen-HP-ProDesk-680-G1-TWR:~/work/linaro-alip/ramdisk/update$ sudo gdisk /dev/sdb GPT fdisk (gdisk) version 0.8.8 Partition table scan: MBR: protective BSD: not present APM: not present GPT: present Found valid GPT with protective MBR; using GPT. Command (? for help): o This option deletes all partitions and creates a new protective MBR. Proceed? (Y/N): y Command (? for help): n Partition number (1-128, default 1): 1 First sector (34-126613470, default = 2048) or {+-}size{KMGTP}: 8192 Last sector (8192-126613470, default = 126613470) or {+-}size{KMGTP}: Current type is 'Linux filesystem' Hex code or GUID (L to show codes, Enter = 8300): Changed type of partition to 'Linux filesystem' Command (? for help): w Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING PARTITIONS!! Do you want to proceed? (Y/N): y OK; writing new GUID partition table (GPT) to /dev/sdc. Warning: The kernel is still using the old partition table. The new table will be used at the next reboot. The operation has completed successfully.</code> </pre> <pre><code>sudo umount /dev/sdb1 sudo mkfs.fat /dev/sdb1</code> </pre> <pre><code>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin out&& sudo dd if=out of=/dev/sdb seek=64&&sudo dd if=u-boot-dtb.img of=/dev/sdb seek=256</code> </pre> Copy zimage, dts and ramdisk to /dev/sdb1 <pre><code>cp arch/arm/boot/zImage /media/chen/9F35-9565/ cp arch/arm/boot/dts/rk3288-fennec.dtb /media/chen/9F35-9565/rk3288-fennec.dtb cp ../rk-initrd-build/initrd.img /media/chen/9F35-9565/</code> </pre> Add extlinux/extlinux.conf to /dev/sdb1 <pre><code>label kernel-4.4 kernel /zImage fdt /rk3288-fennec.dtb initrd /initrd.img append earlyprintk console=ttyS2,115200n8 rw root=/dev/ram0 rootfstype=ext4 init=/sbin/init ramdisk_size=49152</code> </pre> Copy u-boot-dtb.img uboot-spl.img boot.img rootfs.img and&nbsp;[https://github.com/wzyy2/rk-initrd-build/blob/master/update/update.sh update.sh]&nbsp;to /dev/sdb1 <pre><code>mkdir /media/chen/9F35-9565/update cp u-boot-dtb.img /media/chen/9F35-9565/update cp uboot-spl.img /media/chen/9F35-9565/update cp boot.img /media/chen/9F35-9565/update cp rootfs.img /media/chen/9F35-9565/update cp update.sh /media/chen/9F35-9565/update</code> </pre> === Updating the board === Boot the board and it will flash image to eMMC == Boot from USB-Disk == == Netboot/TFTP == == Distro boot == = U-Boot download = In U-Boot, there are multi way to update image for system, you can chose any of one easy use for you. == fastboot == See [[fastboot]] == ums == 74388a00221526d96d5312798fb3da911ae5d8d1 581 580 2017-03-14T00:37:50Z Karen 3 wikitext text/x-wiki U-Boot Guide = Download U-Boot = == Upstream U-Boot == You can clone the u-boot repository by running: <pre>git clone git://git.denx.de/u-boot.git</pre> Alternatively you can use u-boot-rockchip instead which may with some patches not get in mainline: <pre>git clone git://git.denx.de/u-boot-rockchip.git</pre> == Rockchip U-Boot == You can clone the u-boot repository by running: <pre>git clone https://github.com/rockchip-linux/u-boot.git </pre> = Supported Devices = Upstream U-Boot support Rockchip SoCs: RK3036, RK3188, [[RK3288|RK3288]], [[RK3328|RK3328]], [[RK3399|RK3399]] &nbsp; *RK3036 boards supported: <ol style="margin-left: 40px;"> <li>EVB RK3036 - use evb-rk3036 configuration</li> <li>Kylin - use kylin_rk3036 configuration</li> </ol> *RK3288 boards supported: <ol style="margin-left: 40px;"> <li>EVB RK3288 - use evb-rk3288 configuration</li> <li>Fennec RK3288 - use fennec-rk3288 configuration</li> <li>Firefly RK3288 - use firefly-rk3288 configuration</li> <li>Hisense Chromebook - use chromebook_jerry configuration</li> <li>Miniarm RK3288 - use miniarm-rk3288 configuration</li> <li>PopMetal RK3288 - use popmetal-rk3288 configuration</li> <li>Radxa Rock 2 - use rock2 configuration</li> <li>ASUS Tinker</li> </ol> *RK3188 boards&nbsp;supported: <ol style="margin-left: 40px;"> <li>Radxa Rock - use rock&nbsp;configuration</li> </ol> *RK3328 boards&nbsp;supported: <ol style="margin-left: 40px;"> <li>EVB RK3328 - use evb-rk3328 configuration</li> </ol> *RK3399 boards&nbsp;supported: <ol style="margin-left: 40px;"> <li>EVB RK3399 - use evb-rk3399 configuration</li> </ol> &nbsp; = Configure U-Boot = First you need to choose a correct defconfig for your board; When you have determined what <board_name> you want to build, configure: <pre>make CROSS_COMPILE=arm-linux-gnueabi-&nbsp;<board_name>_defconfig</pre> You may need to change the U-Boot function/feature support by modify the defconfig file or, there is also menuconfig to play with settings if you feel like it: <pre>make CROSS_COMPILE=arm-linux-gnueabi- menuconfig</pre> &nbsp; &nbsp; = Build U-Boot = == Get a toolchain == If you haven't done so before, get a suitable&nbsp;toolchain&nbsp;installed and added to your PATH. In Ubuntu 14.04, you can use below command to install cross compiler for armv7: <pre>sudo apt-get install gcc-arm-linux-gnueabi</pre> Or for ARM64 <pre>sudo apt-get install gcc-aarch64-linux-gnu </pre> &nbsp; == Build == For armv7: <pre>make CROSS_COMPILE=arm-linux-gnueabi-</pre> or for ARM64: <pre>make ARCH=arm CROSS_COMPILE=aarch64-linux-gnu-</pre> In order to support debug in ARM DS-5, you may need add ctags in make command: <pre>CFLAGS='-gdwarf-3'</pre> = Istall U-Boot = Rockchp SoCs's bootrom need special format named IDBlock at special offset 0x64 block for boot, so we need to package&nbsp;SPL(or Rockchip miniloader) &nbsp;in IDB format. Rockchp bootrom supports SPL back to bootrom and bootrom load the U-Boot, so the SPL for Rockchip SoCs can option to back to bootrom, usually decide by if the IRAM is enought for driver to load U-Boot. == Using U-Boot SPL == After build&nbsp;complete, U-Boot with SPL support will generate a spl folder with <var>u-boot-spl.bin</var>&nbsp;inside <pre>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl.bin rk3288_idb.img</pre> '''This image is suppose to flash to offset 0x64.''' For&nbsp;<var>u-boot.bin</var>, it's diffrent for SPL back to bootrom or not, if enable&nbsp;CONFIG_ROCKCHIP_SPL_BACK_TO_BROM, we can append the U-Boot to IDB data: <pre>cat u-boot.bin >> rk3288_idb.img</pre> <code>If&nbsp;</code>CONFIG_ROCKCHIP_SPL_BACK_TO_BROM&nbsp;not enabled, no more package operation is need for u-boot-dtb.bin, and it need to flalsh to 0x200 which is decide by&nbsp;CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR. == Support ATF with SPL FIT image == == Using Rockchip miniloader == Alternatively, you can use Rockchip miniloader and U-Boot instead which do not need SPL. The miniloader is package as IDBlock, and the u-boot.bin need to package with rockchip tool: <pre>loaderimage --pack --uboot u-boot.bin rk3288_uboot.img</pre> According to the [[partitions]] definition, this output should write to offset 0x4000. = Boot = == Boot from eMMC == == Boot from SD/TF Card == === Creating Image === Follow&nbsp;[http://rockchip.wikidot.com/linux-user-guide linux-user-guide]&nbsp;to build kernel and uboot.<br/> get uboot-spl.img and u-boot-dtb.img <pre><code>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin uboot-spl.img</code> </pre> === <br/> <var>build boot.img</var> === <pre><code>sudo dd if=/dev/zero of=boot.img bs=1M count=128 sudo mkfs.fat boot.img mkdir boot sudo mount boot.img boot sudo cp zImage boot sudo cp rk3288-fennec.dtb boot sudo mkdir boot/extlinux sudo cp extlinux.conf boot/extlinux sudo umount boot</code> </pre> Download rootfs image and rename it <pre><code>mv linaro-rootfs.img rootfs.img</code> </pre> === Making a SD Card for updating === Download&nbsp;[https://github.com/wzyy2/rk-initrd-build ramdisk source]&nbsp;and build. <pre><code>sh ./mk-initrd.sh</code> </pre> Format SD card <pre><code>chen@chen-HP-ProDesk-680-G1-TWR:~/work/linaro-alip/ramdisk/update$ sudo gdisk /dev/sdb GPT fdisk (gdisk) version 0.8.8 Partition table scan: MBR: protective BSD: not present APM: not present GPT: present Found valid GPT with protective MBR; using GPT. Command (? for help): o This option deletes all partitions and creates a new protective MBR. Proceed? (Y/N): y Command (? for help): n Partition number (1-128, default 1): 1 First sector (34-126613470, default = 2048) or {+-}size{KMGTP}: 8192 Last sector (8192-126613470, default = 126613470) or {+-}size{KMGTP}: Current type is 'Linux filesystem' Hex code or GUID (L to show codes, Enter = 8300): Changed type of partition to 'Linux filesystem' Command (? for help): w Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING PARTITIONS!! Do you want to proceed? (Y/N): y OK; writing new GUID partition table (GPT) to /dev/sdc. Warning: The kernel is still using the old partition table. The new table will be used at the next reboot. The operation has completed successfully.</code> </pre> <pre><code>sudo umount /dev/sdb1 sudo mkfs.fat /dev/sdb1</code> </pre> <pre><code>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin out&& sudo dd if=out of=/dev/sdb seek=64&&sudo dd if=u-boot-dtb.img of=/dev/sdb seek=256</code> </pre> Copy zimage, dts and ramdisk to /dev/sdb1 <pre><code>cp arch/arm/boot/zImage /media/chen/9F35-9565/ cp arch/arm/boot/dts/rk3288-fennec.dtb /media/chen/9F35-9565/rk3288-fennec.dtb cp ../rk-initrd-build/initrd.img /media/chen/9F35-9565/</code> </pre> Add extlinux/extlinux.conf to /dev/sdb1 <pre><code>label kernel-4.4 kernel /zImage fdt /rk3288-fennec.dtb initrd /initrd.img append earlyprintk console=ttyS2,115200n8 rw root=/dev/ram0 rootfstype=ext4 init=/sbin/init ramdisk_size=49152</code> </pre> Copy u-boot-dtb.img uboot-spl.img boot.img rootfs.img and&nbsp;[https://github.com/wzyy2/rk-initrd-build/blob/master/update/update.sh update.sh]&nbsp;to /dev/sdb1 <pre><code>mkdir /media/chen/9F35-9565/update cp u-boot-dtb.img /media/chen/9F35-9565/update cp uboot-spl.img /media/chen/9F35-9565/update cp boot.img /media/chen/9F35-9565/update cp rootfs.img /media/chen/9F35-9565/update cp update.sh /media/chen/9F35-9565/update</code> </pre> === Updating the board === Boot the board and it will flash image to eMMC == Boot from USB-Disk == == Netboot/TFTP == == Distro boot == = U-Boot download = In U-Boot, there are multi way to update image for system, you can chose any of one easy use for you. == fastboot == See [[fastboot]] == ums == 3f0c0e035750e4e7eae12ad45c5afd894c6790b8 586 581 2017-03-14T01:18:21Z Karen 3 wikitext text/x-wiki U-Boot Guide = Download U-Boot = == Upstream U-Boot == You can clone the u-boot repository by running: <pre>git clone git://git.denx.de/u-boot.git</pre> Alternatively you can use u-boot-rockchip instead which may with some patches not get in mainline: <pre>git clone git://git.denx.de/u-boot-rockchip.git</pre> == Rockchip U-Boot == You can clone the u-boot repository by running: <pre>git clone https://github.com/rockchip-linux/u-boot.git </pre> = Supported Devices = Upstream U-Boot support Rockchip SoCs: RK3036, RK3188, [[RK3288|RK3288]], [[RK3328|RK3328]], [[RK3399|RK3399]] &nbsp; *RK3036 boards supported: <ol style="margin-left: 40px;"> <li>EVB RK3036 - use evb-rk3036 configuration</li> <li>Kylin - use kylin_rk3036 configuration</li> </ol> *RK3288 boards supported: <ol style="margin-left: 40px;"> <li>EVB RK3288 - use evb-rk3288 configuration</li> <li>Fennec RK3288 - use fennec-rk3288 configuration</li> <li>Firefly RK3288 - use firefly-rk3288 configuration</li> <li>Hisense Chromebook - use chromebook_jerry configuration</li> <li>Miniarm RK3288 - use miniarm-rk3288 configuration</li> <li>PopMetal RK3288 - use popmetal-rk3288 configuration</li> <li>Radxa Rock 2 - use rock2 configuration</li> <li>ASUS Tinker</li> </ol> *RK3188 boards&nbsp;supported: <ol style="margin-left: 40px;"> <li>Radxa Rock - use rock&nbsp;configuration</li> </ol> *RK3328 boards&nbsp;supported: <ol style="margin-left: 40px;"> <li>EVB RK3328 - use evb-rk3328 configuration</li> </ol> *RK3399 boards&nbsp;supported: <ol style="margin-left: 40px;"> <li>EVB RK3399 - use evb-rk3399 configuration</li> </ol> &nbsp; = Configure U-Boot = First you need to choose a correct defconfig for your board; When you have determined what <board_name> you want to build, configure: <pre>make CROSS_COMPILE=arm-linux-gnueabi-&nbsp;<board_name>_defconfig</pre> You may need to change the U-Boot function/feature support by modify the defconfig file or, there is also menuconfig to play with settings if you feel like it: <pre>make CROSS_COMPILE=arm-linux-gnueabi- menuconfig</pre> &nbsp; &nbsp; = Build U-Boot = == Get a toolchain == If you haven't done so before, get a suitable&nbsp;toolchain&nbsp;installed and added to your PATH. In Ubuntu 14.04, you can use below command to install cross compiler for armv7: <pre>sudo apt-get install gcc-arm-linux-gnueabi</pre> Or for ARM64 <pre>sudo apt-get install gcc-aarch64-linux-gnu </pre> &nbsp; == Build == For armv7: <pre>make CROSS_COMPILE=arm-linux-gnueabi-</pre> or for ARM64: <pre>make ARCH=arm CROSS_COMPILE=aarch64-linux-gnu-</pre> In order to support debug in ARM DS-5, you may need add ctags in make command: <pre>CFLAGS='-gdwarf-3'</pre> = Istall U-Boot = Rockchip SoCs's bootrom need special format named IDBlock at special offset 0x64 block for boot, so we need to package&nbsp;SPL(or Rockchip miniloader) &nbsp;in IDB format. Rockchip bootrom supports SPL back to bootrom and bootrom load the U-Boot, so the SPL for Rockchip SoCs can option to back to bootrom, usually decided by if the IRAM is enough&nbsp;for driver to load U-Boot. &nbsp; == Using U-Boot SPL == After build&nbsp;completed, U-Boot with SPL support will generate a spl folder with <var>u-boot-spl.bin</var>&nbsp;inside <pre>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl.bin rk3288_idb.img</pre> '''This image is supposed to flash to offset 0x64.''' For&nbsp;<var>u-boot.bin</var>, it's different for SPL back to bootrom or not, if enable&nbsp;CONFIG_ROCKCHIP_SPL_BACK_TO_BROM, we can append the U-Boot to IDB data: <pre>cat u-boot.bin >> rk3288_idb.img</pre> <code>If&nbsp;</code>CONFIG_ROCKCHIP_SPL_BACK_TO_BROM&nbsp;not enabled, no more package operation is need for u-boot-dtb.bin, and it need to flalsh to 0x200 which is decide by&nbsp;CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR. == Support ATF with SPL FIT image == == Using Rockchip miniloader == Alternatively, you can use Rockchip miniloader and U-Boot instead which do not need SPL. The miniloader is package as IDBlock, and the u-boot.bin need to package with rockchip tool: <pre>loaderimage --pack --uboot u-boot.bin rk3288_uboot.img</pre> According to the [[Partitions|partitions]] definition, this output should write to offset 0x4000. = Boot = == Boot from eMMC == == Boot from SD/TF Card == === Creating Image === Follow&nbsp;[http://rockchip.wikidot.com/linux-user-guide linux-user-guide]&nbsp;to build kernel and uboot.<br/> get uboot-spl.img and u-boot-dtb.img <pre><code>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin uboot-spl.img</code> </pre> === <br/> <var>build boot.img</var> === <pre><code>sudo dd if=/dev/zero of=boot.img bs=1M count=128 sudo mkfs.fat boot.img mkdir boot sudo mount boot.img boot sudo cp zImage boot sudo cp rk3288-fennec.dtb boot sudo mkdir boot/extlinux sudo cp extlinux.conf boot/extlinux sudo umount boot</code> </pre> Download rootfs image and rename it <pre><code>mv linaro-rootfs.img rootfs.img</code> </pre> === Making a SD Card for updating === Download&nbsp;[https://github.com/wzyy2/rk-initrd-build ramdisk source]&nbsp;and build. <pre><code>sh ./mk-initrd.sh</code> </pre> Format SD card <pre><code>chen@chen-HP-ProDesk-680-G1-TWR:~/work/linaro-alip/ramdisk/update$ sudo gdisk /dev/sdb GPT fdisk (gdisk) version 0.8.8 Partition table scan: MBR: protective BSD: not present APM: not present GPT: present Found valid GPT with protective MBR; using GPT. Command (? for help): o This option deletes all partitions and creates a new protective MBR. Proceed? (Y/N): y Command (? for help): n Partition number (1-128, default 1): 1 First sector (34-126613470, default = 2048) or {+-}size{KMGTP}: 8192 Last sector (8192-126613470, default = 126613470) or {+-}size{KMGTP}: Current type is 'Linux filesystem' Hex code or GUID (L to show codes, Enter = 8300): Changed type of partition to 'Linux filesystem' Command (? for help): w Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING PARTITIONS!! Do you want to proceed? (Y/N): y OK; writing new GUID partition table (GPT) to /dev/sdc. Warning: The kernel is still using the old partition table. The new table will be used at the next reboot. The operation has completed successfully.</code> </pre> <pre><code>sudo umount /dev/sdb1 sudo mkfs.fat /dev/sdb1</code> </pre> <pre><code>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin out&& sudo dd if=out of=/dev/sdb seek=64&&sudo dd if=u-boot-dtb.img of=/dev/sdb seek=256</code> </pre> Copy zimage, dts and ramdisk to /dev/sdb1 <pre><code>cp arch/arm/boot/zImage /media/chen/9F35-9565/ cp arch/arm/boot/dts/rk3288-fennec.dtb /media/chen/9F35-9565/rk3288-fennec.dtb cp ../rk-initrd-build/initrd.img /media/chen/9F35-9565/</code> </pre> Add extlinux/extlinux.conf to /dev/sdb1 <pre><code>label kernel-4.4 kernel /zImage fdt /rk3288-fennec.dtb initrd /initrd.img append earlyprintk console=ttyS2,115200n8 rw root=/dev/ram0 rootfstype=ext4 init=/sbin/init ramdisk_size=49152</code> </pre> Copy u-boot-dtb.img uboot-spl.img boot.img rootfs.img and&nbsp;[https://github.com/wzyy2/rk-initrd-build/blob/master/update/update.sh update.sh]&nbsp;to /dev/sdb1 <pre><code>mkdir /media/chen/9F35-9565/update cp u-boot-dtb.img /media/chen/9F35-9565/update cp uboot-spl.img /media/chen/9F35-9565/update cp boot.img /media/chen/9F35-9565/update cp rootfs.img /media/chen/9F35-9565/update cp update.sh /media/chen/9F35-9565/update</code> </pre> === Updating the board === Boot the board and it will flash image to eMMC == Boot from USB-Disk == == Netboot/TFTP == == Distro boot == = U-Boot download = In U-Boot, there are multi way to update image for system, you can chose any of one easy use for you. == fastboot == See [[fastboot]] == ums == 2b2e56eeda8f212deaf371b744a8ec0b6fdebc44 587 586 2017-03-14T01:26:24Z Karen 3 wikitext text/x-wiki U-Boot Guide = Download U-Boot = == Upstream U-Boot == You can clone the u-boot repository by running: <pre>git clone git://git.denx.de/u-boot.git</pre> Alternatively you can use u-boot-rockchip instead which may with some patches not get in mainline: <pre>git clone git://git.denx.de/u-boot-rockchip.git</pre> == Rockchip U-Boot == You can clone the u-boot repository by running: <pre>git clone https://github.com/rockchip-linux/u-boot.git </pre> = Supported Devices = Upstream U-Boot support Rockchip SoCs: RK3036, RK3188, [[RK3288|RK3288]], [[RK3328|RK3328]], [[RK3399|RK3399]] &nbsp; *RK3036 boards supported: <ol style="margin-left: 40px;"> <li>EVB RK3036 - use evb-rk3036 configuration</li> <li>Kylin - use kylin_rk3036 configuration</li> </ol> *RK3288 boards supported: <ol style="margin-left: 40px;"> <li>EVB RK3288 - use evb-rk3288 configuration</li> <li>Fennec RK3288 - use fennec-rk3288 configuration</li> <li>Firefly RK3288 - use firefly-rk3288 configuration</li> <li>Hisense Chromebook - use chromebook_jerry configuration</li> <li>Miniarm RK3288 - use miniarm-rk3288 configuration</li> <li>PopMetal RK3288 - use popmetal-rk3288 configuration</li> <li>Radxa Rock 2 - use rock2 configuration</li> <li>ASUS Tinker</li> </ol> *RK3188 boards&nbsp;supported: <ol style="margin-left: 40px;"> <li>Radxa Rock - use rock&nbsp;configuration</li> </ol> *RK3328 boards&nbsp;supported: <ol style="margin-left: 40px;"> <li>EVB RK3328 - use evb-rk3328 configuration</li> </ol> *RK3399 boards&nbsp;supported: <ol style="margin-left: 40px;"> <li>EVB RK3399 - use evb-rk3399 configuration</li> </ol> &nbsp; = Configure U-Boot = First you need to choose a correct defconfig for your board; When you have determined what <board_name> you want to build, configure: <pre>make CROSS_COMPILE=arm-linux-gnueabi-&nbsp;<board_name>_defconfig</pre> You may need to change the U-Boot function/feature support by modify the defconfig file or, there is also menuconfig to play with settings if you feel like it: <pre>make CROSS_COMPILE=arm-linux-gnueabi- menuconfig</pre> &nbsp; &nbsp; = Build U-Boot = == Get a toolchain == If you haven't done so before, get a suitable&nbsp;toolchain&nbsp;installed and add it&nbsp;to your PATH. In Ubuntu 14.04, you can use below command to install cross compiler for armv7: <pre>sudo apt-get install gcc-arm-linux-gnueabi</pre> Or for ARM64 <pre>sudo apt-get install gcc-aarch64-linux-gnu </pre> &nbsp; == Build == For armv7: <pre>make CROSS_COMPILE=arm-linux-gnueabi-</pre> or for ARM64: <pre>make ARCH=arm CROSS_COMPILE=aarch64-linux-gnu-</pre> In order to support debug in ARM DS-5, you may need add ctags in make command: <pre>CFLAGS='-gdwarf-3'</pre> = Istall U-Boot = Rockchip SoCs's bootrom need special format named IDBlock at special offset 0x64 block for boot, so we need to package&nbsp;SPL(or Rockchip miniloader) &nbsp;in IDB format. Rockchip bootrom supports SPL back to bootrom and bootrom load the U-Boot, so the SPL for Rockchip SoCs can option to back to bootrom, usually decided by if the IRAM is enough&nbsp;for driver to load U-Boot. &nbsp; == Using U-Boot SPL == After build&nbsp;completed, U-Boot with SPL support will generate a spl folder with <var>u-boot-spl.bin</var>&nbsp;inside <pre>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl.bin rk3288_idb.img</pre> '''This image is supposed to flash to offset 0x64.''' For&nbsp;<var>u-boot.bin</var>, it's different for SPL back to bootrom or not, if enable&nbsp;CONFIG_ROCKCHIP_SPL_BACK_TO_BROM, we can append the U-Boot to IDB data: <pre>cat u-boot.bin >> rk3288_idb.img</pre> <code>If&nbsp;</code>CONFIG_ROCKCHIP_SPL_BACK_TO_BROM&nbsp;not enabled, no more package operation is need for u-boot-dtb.bin, and it need to flalsh to 0x200 which is decide by&nbsp;CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR. == Support ATF with SPL FIT image == == Using Rockchip miniloader == Alternatively, you can use Rockchip miniloader and U-Boot instead which do not need SPL. The miniloader is package as IDBlock, and the u-boot.bin need to package with rockchip tool: <pre>loaderimage --pack --uboot u-boot.bin rk3288_uboot.img</pre> According to the [[Partitions|partitions]] definition, this output should write to offset 0x4000. = Boot = == Boot from eMMC == == Boot from SD/TF Card == === Creating Image === Follow&nbsp;[http://rockchip.wikidot.com/linux-user-guide linux-user-guide]&nbsp;to build kernel and uboot.<br/> get uboot-spl.img and u-boot-dtb.img <pre><code>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin uboot-spl.img</code> </pre> === <br/> <var>build boot.img</var> === <pre><code>sudo dd if=/dev/zero of=boot.img bs=1M count=128 sudo mkfs.fat boot.img mkdir boot sudo mount boot.img boot sudo cp zImage boot sudo cp rk3288-fennec.dtb boot sudo mkdir boot/extlinux sudo cp extlinux.conf boot/extlinux sudo umount boot</code> </pre> Download rootfs image and rename it <pre><code>mv linaro-rootfs.img rootfs.img</code> </pre> === Making a SD Card for updating === Download&nbsp;[https://github.com/wzyy2/rk-initrd-build ramdisk source]&nbsp;and build. <pre><code>sh ./mk-initrd.sh</code> </pre> Format SD card <pre><code>chen@chen-HP-ProDesk-680-G1-TWR:~/work/linaro-alip/ramdisk/update$ sudo gdisk /dev/sdb GPT fdisk (gdisk) version 0.8.8 Partition table scan: MBR: protective BSD: not present APM: not present GPT: present Found valid GPT with protective MBR; using GPT. Command (? for help): o This option deletes all partitions and creates a new protective MBR. Proceed? (Y/N): y Command (? for help): n Partition number (1-128, default 1): 1 First sector (34-126613470, default = 2048) or {+-}size{KMGTP}: 8192 Last sector (8192-126613470, default = 126613470) or {+-}size{KMGTP}: Current type is 'Linux filesystem' Hex code or GUID (L to show codes, Enter = 8300): Changed type of partition to 'Linux filesystem' Command (? for help): w Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING PARTITIONS!! Do you want to proceed? (Y/N): y OK; writing new GUID partition table (GPT) to /dev/sdc. Warning: The kernel is still using the old partition table. The new table will be used at the next reboot. The operation has completed successfully.</code> </pre> <pre><code>sudo umount /dev/sdb1 sudo mkfs.fat /dev/sdb1</code> </pre> <pre><code>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin out&& sudo dd if=out of=/dev/sdb seek=64&&sudo dd if=u-boot-dtb.img of=/dev/sdb seek=256</code> </pre> Copy zimage, dts and ramdisk to /dev/sdb1 <pre><code>cp arch/arm/boot/zImage /media/chen/9F35-9565/ cp arch/arm/boot/dts/rk3288-fennec.dtb /media/chen/9F35-9565/rk3288-fennec.dtb cp ../rk-initrd-build/initrd.img /media/chen/9F35-9565/</code> </pre> Add extlinux/extlinux.conf to /dev/sdb1 <pre><code>label kernel-4.4 kernel /zImage fdt /rk3288-fennec.dtb initrd /initrd.img append earlyprintk console=ttyS2,115200n8 rw root=/dev/ram0 rootfstype=ext4 init=/sbin/init ramdisk_size=49152</code> </pre> Copy u-boot-dtb.img uboot-spl.img boot.img rootfs.img and&nbsp;[https://github.com/wzyy2/rk-initrd-build/blob/master/update/update.sh update.sh]&nbsp;to /dev/sdb1 <pre><code>mkdir /media/chen/9F35-9565/update cp u-boot-dtb.img /media/chen/9F35-9565/update cp uboot-spl.img /media/chen/9F35-9565/update cp boot.img /media/chen/9F35-9565/update cp rootfs.img /media/chen/9F35-9565/update cp update.sh /media/chen/9F35-9565/update</code> </pre> === Updating the board === Boot the board and it will flash image to eMMC == Boot from USB-Disk == == Netboot/TFTP == == Distro boot == = U-Boot download = In U-Boot, there are multi way to update image for system, you can chose any of one easy use for you. == fastboot == See [[fastboot]] == ums == 9f1bc366153e0710d21a57605716ccbec7c9c0ca 588 587 2017-03-14T01:28:53Z Karen 3 wikitext text/x-wiki U-Boot Guide = Download U-Boot = == Upstream U-Boot == You can clone the u-boot repository by running: <pre>git clone git://git.denx.de/u-boot.git</pre> Alternatively you can use u-boot-rockchip instead which may with some patches not get in mainline: <pre>git clone git://git.denx.de/u-boot-rockchip.git</pre> == Rockchip U-Boot == You can clone the u-boot repository by running: <pre>git clone https://github.com/rockchip-linux/u-boot.git </pre> = Supported Devices = Upstream U-Boot support Rockchip SoCs: RK3036, RK3188, [[RK3288|RK3288]], [[RK3328|RK3328]], [[RK3399|RK3399]] &nbsp; *RK3036 boards supported: <ol style="margin-left: 40px;"> <li>EVB RK3036 - use evb-rk3036 configuration</li> <li>Kylin - use kylin_rk3036 configuration</li> </ol> *RK3288 boards supported: <ol style="margin-left: 40px;"> <li>EVB RK3288 - use evb-rk3288 configuration</li> <li>Fennec RK3288 - use fennec-rk3288 configuration</li> <li>Firefly RK3288 - use firefly-rk3288 configuration</li> <li>Hisense Chromebook - use chromebook_jerry configuration</li> <li>Miniarm RK3288 - use miniarm-rk3288 configuration</li> <li>PopMetal RK3288 - use popmetal-rk3288 configuration</li> <li>Radxa Rock 2 - use rock2 configuration</li> <li>ASUS Tinker</li> </ol> *RK3188 boards&nbsp;supported: <ol style="margin-left: 40px;"> <li>Radxa Rock - use rock&nbsp;configuration</li> </ol> *RK3328 boards&nbsp;supported: <ol style="margin-left: 40px;"> <li>EVB RK3328 - use evb-rk3328 configuration</li> </ol> *RK3399 boards&nbsp;supported: <ol style="margin-left: 40px;"> <li>EVB RK3399 - use evb-rk3399 configuration</li> </ol> &nbsp; = Configure U-Boot = First you need to choose a correct defconfig for your board; When you have determined what <board_name> you want to build, configure: <pre>make CROSS_COMPILE=arm-linux-gnueabi-&nbsp;<board_name>_defconfig</pre> You may need to change the U-Boot function/feature support by modify the defconfig file or, there is also menuconfig to play with settings if you feel like it: <pre>make CROSS_COMPILE=arm-linux-gnueabi- menuconfig</pre> &nbsp; &nbsp; = Build U-Boot = == Get a toolchain == If you haven't done so before, get a suitable&nbsp;toolchain&nbsp;installed and add it&nbsp;to your PATH. In Ubuntu 14.04, you can use below command to install cross compiler for armv7: <pre>sudo apt-get install gcc-arm-linux-gnueabi</pre> Or for ARM64 <pre>sudo apt-get install gcc-aarch64-linux-gnu </pre> &nbsp; == Build == For armv7: <pre>make CROSS_COMPILE=arm-linux-gnueabi-</pre> or for ARM64: <pre>make ARCH=arm CROSS_COMPILE=aarch64-linux-gnu-</pre> In order to support debug in ARM DS-5, you may need add ctags in make command: <pre>CFLAGS='-gdwarf-3'</pre> = Istall U-Boot = Rockchip SoCs's bootrom need special format named IDBlock at special offset 0x64 block for boot, so we need to package&nbsp;SPL(or Rockchip miniloader) &nbsp;in IDB format. Rockchip bootrom supports SPL back to bootrom and bootrom load the U-Boot, so the SPL for Rockchip SoCs can option to back to bootrom, usually decided by if the IRAM is enough&nbsp;for driver to load U-Boot. &nbsp; == Using U-Boot SPL == After build&nbsp;complete, U-Boot with SPL support will generate a spl folder with <var>u-boot-spl.bin</var>&nbsp;inside <pre>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl.bin rk3288_idb.img</pre> '''This image is supposed to flash to offset 0x64.''' For&nbsp;<var>u-boot.bin</var>, it's different for SPL back to bootrom or not, if enable&nbsp;CONFIG_ROCKCHIP_SPL_BACK_TO_BROM, we can append the U-Boot to IDB data: <pre>cat u-boot.bin >> rk3288_idb.img</pre> <code>If&nbsp;</code>CONFIG_ROCKCHIP_SPL_BACK_TO_BROM&nbsp;not enabled, no more package operation is need for u-boot-dtb.bin, and it need to flalsh to 0x200 which is decide by&nbsp;CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR. == Support ATF with SPL FIT image == == Using Rockchip miniloader == Alternatively, you can use Rockchip miniloader and U-Boot instead which do not need SPL. The miniloader is package as IDBlock, and the u-boot.bin need to package with rockchip tool: <pre>loaderimage --pack --uboot u-boot.bin rk3288_uboot.img</pre> According to the [[Partitions|partitions]] definition, this output should write to offset 0x4000. = Boot = == Boot from eMMC == == Boot from SD/TF Card == === Creating Image === Follow&nbsp;[http://rockchip.wikidot.com/linux-user-guide linux-user-guide]&nbsp;to build kernel and uboot.<br/> get uboot-spl.img and u-boot-dtb.img <pre><code>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin uboot-spl.img</code> </pre> === <br/> <var>build boot.img</var> === <pre><code>sudo dd if=/dev/zero of=boot.img bs=1M count=128 sudo mkfs.fat boot.img mkdir boot sudo mount boot.img boot sudo cp zImage boot sudo cp rk3288-fennec.dtb boot sudo mkdir boot/extlinux sudo cp extlinux.conf boot/extlinux sudo umount boot</code> </pre> Download rootfs image and rename it <pre><code>mv linaro-rootfs.img rootfs.img</code> </pre> === Making a SD Card for updating === Download&nbsp;[https://github.com/wzyy2/rk-initrd-build ramdisk source]&nbsp;and build. <pre><code>sh ./mk-initrd.sh</code> </pre> Format SD card <pre><code>chen@chen-HP-ProDesk-680-G1-TWR:~/work/linaro-alip/ramdisk/update$ sudo gdisk /dev/sdb GPT fdisk (gdisk) version 0.8.8 Partition table scan: MBR: protective BSD: not present APM: not present GPT: present Found valid GPT with protective MBR; using GPT. Command (? for help): o This option deletes all partitions and creates a new protective MBR. Proceed? (Y/N): y Command (? for help): n Partition number (1-128, default 1): 1 First sector (34-126613470, default = 2048) or {+-}size{KMGTP}: 8192 Last sector (8192-126613470, default = 126613470) or {+-}size{KMGTP}: Current type is 'Linux filesystem' Hex code or GUID (L to show codes, Enter = 8300): Changed type of partition to 'Linux filesystem' Command (? for help): w Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING PARTITIONS!! Do you want to proceed? (Y/N): y OK; writing new GUID partition table (GPT) to /dev/sdc. Warning: The kernel is still using the old partition table. The new table will be used at the next reboot. The operation has completed successfully.</code> </pre> <pre><code>sudo umount /dev/sdb1 sudo mkfs.fat /dev/sdb1</code> </pre> <pre><code>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin out&& sudo dd if=out of=/dev/sdb seek=64&&sudo dd if=u-boot-dtb.img of=/dev/sdb seek=256</code> </pre> Copy zimage, dts and ramdisk to /dev/sdb1 <pre><code>cp arch/arm/boot/zImage /media/chen/9F35-9565/ cp arch/arm/boot/dts/rk3288-fennec.dtb /media/chen/9F35-9565/rk3288-fennec.dtb cp ../rk-initrd-build/initrd.img /media/chen/9F35-9565/</code> </pre> Add extlinux/extlinux.conf to /dev/sdb1 <pre><code>label kernel-4.4 kernel /zImage fdt /rk3288-fennec.dtb initrd /initrd.img append earlyprintk console=ttyS2,115200n8 rw root=/dev/ram0 rootfstype=ext4 init=/sbin/init ramdisk_size=49152</code> </pre> Copy u-boot-dtb.img uboot-spl.img boot.img rootfs.img and&nbsp;[https://github.com/wzyy2/rk-initrd-build/blob/master/update/update.sh update.sh]&nbsp;to /dev/sdb1 <pre><code>mkdir /media/chen/9F35-9565/update cp u-boot-dtb.img /media/chen/9F35-9565/update cp uboot-spl.img /media/chen/9F35-9565/update cp boot.img /media/chen/9F35-9565/update cp rootfs.img /media/chen/9F35-9565/update cp update.sh /media/chen/9F35-9565/update</code> </pre> === Updating the board === Boot the board and it will flash image to eMMC == Boot from USB-Disk == == Netboot/TFTP == == Distro boot == = U-Boot download = In U-Boot, there are multi way to update image for system, you can chose any of one easy use for you. == fastboot == See [[fastboot]] == ums == 3d0c1bb3bc40de90968c0bf26e7f2e483fbc727b 589 588 2017-03-14T01:29:56Z Karen 3 wikitext text/x-wiki U-Boot Guide = Download U-Boot = == Upstream U-Boot == You can clone the u-boot repository by running: <pre>git clone git://git.denx.de/u-boot.git</pre> Alternatively you can use u-boot-rockchip instead which may with some patches not get in mainline: <pre>git clone git://git.denx.de/u-boot-rockchip.git</pre> == Rockchip U-Boot == You can clone the u-boot repository by running: <pre>git clone https://github.com/rockchip-linux/u-boot.git </pre> = Supported Devices = Upstream U-Boot support Rockchip SoCs: RK3036, RK3188, [[RK3288|RK3288]], [[RK3328|RK3328]], [[RK3399|RK3399]] &nbsp; *RK3036 boards supported: <ol style="margin-left: 40px;"> <li>EVB RK3036 - use evb-rk3036 configuration</li> <li>Kylin - use kylin_rk3036 configuration</li> </ol> *RK3288 boards supported: <ol style="margin-left: 40px;"> <li>EVB RK3288 - use evb-rk3288 configuration</li> <li>Fennec RK3288 - use fennec-rk3288 configuration</li> <li>Firefly RK3288 - use firefly-rk3288 configuration</li> <li>Hisense Chromebook - use chromebook_jerry configuration</li> <li>Miniarm RK3288 - use miniarm-rk3288 configuration</li> <li>PopMetal RK3288 - use popmetal-rk3288 configuration</li> <li>Radxa Rock 2 - use rock2 configuration</li> <li>ASUS Tinker</li> </ol> *RK3188 boards&nbsp;supported: <ol style="margin-left: 40px;"> <li>Radxa Rock - use rock&nbsp;configuration</li> </ol> *RK3328 boards&nbsp;supported: <ol style="margin-left: 40px;"> <li>EVB RK3328 - use evb-rk3328 configuration</li> </ol> *RK3399 boards&nbsp;supported: <ol style="margin-left: 40px;"> <li>EVB RK3399 - use evb-rk3399 configuration</li> </ol> &nbsp; = Configure U-Boot = First you need to choose a correct defconfig for your board; When you have determined what <board_name> you want to build, configure: <pre>make CROSS_COMPILE=arm-linux-gnueabi-&nbsp;<board_name>_defconfig</pre> You may need to change the U-Boot function/feature support by modify the defconfig file or, there is also menuconfig to play with settings if you feel like it: <pre>make CROSS_COMPILE=arm-linux-gnueabi- menuconfig</pre> &nbsp; &nbsp; = Build U-Boot = == Get a toolchain == If you haven't done so before, get a suitable&nbsp;toolchain&nbsp;installed and add it&nbsp;to your PATH. In Ubuntu 14.04, you can use below command to install cross compiler for armv7: <pre>sudo apt-get install gcc-arm-linux-gnueabi</pre> Or for ARM64 <pre>sudo apt-get install gcc-aarch64-linux-gnu </pre> &nbsp; == Build == For armv7: <pre>make CROSS_COMPILE=arm-linux-gnueabi-</pre> or for ARM64: <pre>make ARCH=arm CROSS_COMPILE=aarch64-linux-gnu-</pre> In order to support debug in ARM DS-5, you may need add ctags in make command: <pre>CFLAGS='-gdwarf-3'</pre> = Istall U-Boot = Rockchip SoCs's bootrom need special format named IDBlock at special offset 0x64 block for boot, so we need to package&nbsp;SPL(or Rockchip miniloader) &nbsp;in IDB format. Rockchip bootrom supports SPL back to bootrom and bootrom load the U-Boot, so the SPL for Rockchip SoCs can option to back to bootrom, usually decided by if the IRAM is enough&nbsp;for driver to load U-Boot. &nbsp; == Using U-Boot SPL == After build&nbsp;complete, U-Boot with SPL support will generate a spl folder with <var>u-boot-spl.bin</var>&nbsp;inside <pre>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl.bin rk3288_idb.img</pre> '''This image is supposed to flash to offset 0x64.''' For&nbsp;<var>u-boot.bin</var>, it's different for SPL back to bootrom or not, if enable&nbsp;CONFIG_ROCKCHIP_SPL_BACK_TO_BROM, we can append the U-Boot to IDB data: <pre>cat u-boot.bin >> rk3288_idb.img</pre> <code>If&nbsp;</code>CONFIG_ROCKCHIP_SPL_BACK_TO_BROM&nbsp;not enabled, no more package operation is need for u-boot-dtb.bin, and it need to flalsh to 0x200 which is decide by&nbsp;CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR. == Support ATF with SPL FIT image == == Using Rockchip miniloader == Alternatively, you can use Rockchip miniloader and U-Boot instead which do not need SPL. The miniloader is package as IDBlock, and the u-boot.bin need to package with rockchip tool: <pre>loaderimage --pack --uboot u-boot.bin rk3288_uboot.img</pre> According to the [[Partitions|partitions]] definition, this output should write to offset 0x4000. = Boot = == Boot from eMMC == == Boot from SD/TF Card == === Creating Image === Follow&nbsp;[http://rockchip.wikidot.com/linux-user-guide linux-user-guide]&nbsp;to build kernel and U-Boot.<br/> get uboot-spl.img and u-boot-dtb.img <pre><code>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin uboot-spl.img</code> </pre> === <br/> <var>build boot.img</var> === <pre><code>sudo dd if=/dev/zero of=boot.img bs=1M count=128 sudo mkfs.fat boot.img mkdir boot sudo mount boot.img boot sudo cp zImage boot sudo cp rk3288-fennec.dtb boot sudo mkdir boot/extlinux sudo cp extlinux.conf boot/extlinux sudo umount boot</code> </pre> Download rootfs image and rename it <pre><code>mv linaro-rootfs.img rootfs.img</code> </pre> === Making a SD Card for updating === Download&nbsp;[https://github.com/wzyy2/rk-initrd-build ramdisk source]&nbsp;and build. <pre><code>sh ./mk-initrd.sh</code> </pre> Format SD card <pre><code>chen@chen-HP-ProDesk-680-G1-TWR:~/work/linaro-alip/ramdisk/update$ sudo gdisk /dev/sdb GPT fdisk (gdisk) version 0.8.8 Partition table scan: MBR: protective BSD: not present APM: not present GPT: present Found valid GPT with protective MBR; using GPT. Command (? for help): o This option deletes all partitions and creates a new protective MBR. Proceed? (Y/N): y Command (? for help): n Partition number (1-128, default 1): 1 First sector (34-126613470, default = 2048) or {+-}size{KMGTP}: 8192 Last sector (8192-126613470, default = 126613470) or {+-}size{KMGTP}: Current type is 'Linux filesystem' Hex code or GUID (L to show codes, Enter = 8300): Changed type of partition to 'Linux filesystem' Command (? for help): w Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING PARTITIONS!! Do you want to proceed? (Y/N): y OK; writing new GUID partition table (GPT) to /dev/sdc. Warning: The kernel is still using the old partition table. The new table will be used at the next reboot. The operation has completed successfully.</code> </pre> <pre><code>sudo umount /dev/sdb1 sudo mkfs.fat /dev/sdb1</code> </pre> <pre><code>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin out&& sudo dd if=out of=/dev/sdb seek=64&&sudo dd if=u-boot-dtb.img of=/dev/sdb seek=256</code> </pre> Copy zimage, dts and ramdisk to /dev/sdb1 <pre><code>cp arch/arm/boot/zImage /media/chen/9F35-9565/ cp arch/arm/boot/dts/rk3288-fennec.dtb /media/chen/9F35-9565/rk3288-fennec.dtb cp ../rk-initrd-build/initrd.img /media/chen/9F35-9565/</code> </pre> Add extlinux/extlinux.conf to /dev/sdb1 <pre><code>label kernel-4.4 kernel /zImage fdt /rk3288-fennec.dtb initrd /initrd.img append earlyprintk console=ttyS2,115200n8 rw root=/dev/ram0 rootfstype=ext4 init=/sbin/init ramdisk_size=49152</code> </pre> Copy u-boot-dtb.img uboot-spl.img boot.img rootfs.img and&nbsp;[https://github.com/wzyy2/rk-initrd-build/blob/master/update/update.sh update.sh]&nbsp;to /dev/sdb1 <pre><code>mkdir /media/chen/9F35-9565/update cp u-boot-dtb.img /media/chen/9F35-9565/update cp uboot-spl.img /media/chen/9F35-9565/update cp boot.img /media/chen/9F35-9565/update cp rootfs.img /media/chen/9F35-9565/update cp update.sh /media/chen/9F35-9565/update</code> </pre> === Updating the board === Boot the board and it will flash image to eMMC == Boot from USB-Disk == == Netboot/TFTP == == Distro boot == = U-Boot download = In U-Boot, there are multi way to update image for system, you can chose any of one easy use for you. == fastboot == See [[fastboot]] == ums == a1c2fb91c88c376deaa0ec1d08588da11e9c5deb Fastboot 0 12 565 479 2017-03-13T01:53:00Z Karen 3 wikitext text/x-wiki = Introduction = Fastboot is a protocol that can be used to re-flash partitions on your device (update the flash file system in your devices). It is this small tool that comes with the Android SDK (Software Developer Kit), which is an alternative to the Recovery Mode for doing installations and updates. It first comes with Android. Google have submit the fastboot code to mainline U-boot. So we can use this protocol to flash partition on your device. There are three way to enter fastboot mode = Fastboot command = Rockchip use 0x2207 as its USB vendor ID. This VID is not in Google's original fastboot code. So every fastboot command have to use "-i" parameter to specify vid to fastboot.<br/> To list all the Rockchip devices attached to your USB port in fastboot mode. <pre><code>$ sudo fastboot -i 0x2207 devices 0123456789AB fastboot</code> </pre> To flash loader <pre><code>$ sudo fastboot -i 0x2207 flash loader "path to your loader"</code> </pre> To flash android boot image <pre><code>$ sudo fastboot -i 0x2207 flash boot_a "path to your boot image" 0123456789AB fastboot</code> </pre> To flash android system image <pre><code>$ sudo fastboot -i 0x2207 flash system_a "path to your system image" 0123456789AB fastboot</code></pre> To get version: <pre>fastboot getvar version</pre> To get version: <pre>fastboot getvar version-bootloader </pre> To get unlocked: <pre>fastboot getvar unlocked </pre> To get&nbsp;locked: <pre>fastboot getvar secure</pre> To get product information: <pre>fastboot getvar product</pre> To get serialno: <pre>fastboot getvar serialno</pre> To get partition type: <pre>fastboot getvar partition-type:<partition_name> </pre> To get partition size: <pre>fastboot getvar partition-size:<partition_name> </pre> To get partition offset: <pre>fastboot getvar partition-offset:<partition_name> </pre> == Download the Image == To flash&nbsp;image: <pre>fastboot flash <partition_name> <filename> </pre> &nbsp;(For example:fastboot flash system system.img) When download the parameter or loader,you need assign the partition name as "<var>parameter</var>" or "<var>loader</var>" To update firmware: <pre>fastboot update <filename> </pre> (The firmware package was generated from &nbsp;android source code <var>make updatepackage</var>) == Reboot == &nbsp;To recovery: <pre>fastboot oem recovery </pre> &nbsp;To recovery and restore: <pre>fastboot oem recovery:wipe_data</pre> To Reboot: <pre>fastboot reboot</pre> To reboot and enter into rockusb loader mode <pre>fastboot reboot-bootloader</pre> To continue: <pre>fastboot continue </pre> &nbsp; === Lock and Unlock the Device === To unlock: <pre>fastboot oem unlock</pre> To &nbsp;confirm unlock(input &nbsp;it in 5 minutes after typing <var>fastboot oem unlock command</var>): <pre>fastboot oem unlock_accep</pre> To lock the device: <pre>fastboot oem lock </pre> &nbsp; === Special Command === To boot from specifc firmware templately: <pre>fastboot boot <kernel> [ <ramdisk> ]</pre> (Kernel supports Image/zImage,and you should&nbsp;keep <var>dtb</var> in the last part of kernel,or <var>resource partition</var>) To generate a&nbsp;log file: <pre>fastboot oem log </pre> To execute u-Boot command: <pre>fastboot oem ucmd <UBOOT cmds></pre> == Unlock your Device via Fastboot == Initially,it is not allow you perform flash or&nbsp;oem command with locked fastboot. '''To relock''': 1、Executing <var>fastboot oem unlock</var> 2、Then executing&nbsp;<var>fastboot oem unlock_accept in 5 seconds,</var> 3、You device will reboot and recovery 4、Now push&nbsp;your device into fastboot mode again and <var>fastboot getvar unlocked will return to&nbsp;</var>"yes" (Congraduations you have unlock your device finished!) What if the device have entered into fastboot mode with indicates that <var>NOT found your device</var>, you need put '''<var>-i&nbsp;</var>'''into your command in order to assign device ID. For example:fastboot -i 0x2207 getvar unlocked &nbsp; e25e056cfa5bdb54fb8ea3402edd82d04c0ef119 File:Component datasheet.rar 6 92 570 2017-03-13T09:00:59Z Chery 9 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 File:RK Excavator ExtBoard MipiDisplay.rar 6 93 572 2017-03-13T09:03:02Z Chery 9 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 File:RK Excavator MainBoard.rar 6 94 573 2017-03-13T09:03:14Z Chery 9 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 File:RK Sapphire RK3399.rar 6 95 574 2017-03-13T09:03:27Z Chery 9 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 File:Design documents.rar 6 96 577 2017-03-13T09:11:21Z Chery 9 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 RK3399 0 21 582 495 2017-03-14T01:02:51Z Chery 9 wikitext text/x-wiki Rockchip RK3399 SoC integrates&nbsp;dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor, and with&nbsp;ARM Mali-T864 GPU. <br/> {{Infobox SoC<br/> &nbsp;| title = RK3288<br/> &nbsp;| image = [[File:rk3288_soc.png|200px]]<br/> &nbsp;| manufacturer = Rockcihp<br/> &nbsp;| process = 28nm<br/> &nbsp;| cpu = Quad-Core ARM Cortex-A17<br/> &nbsp;| ltwo =&nbsp;<br/> &nbsp;| extensions =&nbsp;<br/> &nbsp;| memory = 2-channel LPDDR3/LPDDR2, 2-channel DDR3L/DDR3, maximum of 4GB total (2GB per channel)&nbsp;<br/> &nbsp;| gpu = ARM Mali-T764<br/> &nbsp;| vpu =&nbsp;<br/> &nbsp;| apu =&nbsp;<br/> &nbsp;| video = HDMI 1.4, MIPI DSI, 2-channel LVDS, 2-channel RGB LCD<br/> &nbsp;| audio = I2S, PCM<br/> &nbsp;| network =&nbsp;<br/> &nbsp;| storage = 4x SD Card, eMMC NAND, 2-channel raw NAND<br/> &nbsp;| usb = OTG, 2x Host<br/> &nbsp;| other =&nbsp;<br/> &nbsp;| release_date = June 2014<br/> &nbsp;| website = http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html<br/> }} &nbsp; &nbsp; &nbsp; = Overview = RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications. = SoC Features = {| border="0" cellpadding="1" cellspacing="1" style="width: 972px;" |- | style="width: 530px;" | *CPU: **Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU **Frequency is over 1.8GHz (Big cluster) *GPU: **&nbsp;Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11 **Supports AFBC (ARM Frame Buffer Compression) *Display: **Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600 **Dual channel MIPI-DSI (4 lanes per channel) **eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR **HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2 **DisplayPort 1.2 (4 lanes, up to 4K 60Hz) **Supports Rec.2020 and conversion to Rec.709 *Camera: **&nbsp;Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels *Memory: **Dual channels 64-bit DRAM controller **Support DDR3/DDR3L, LPDDR3, LPDDR4 *Connectivity: **PCIe 2.1 (4 full-duplex lanes with 20Gbps) **Embedded low power MCU for other application **8 channels I2S supports 8 channels RX or 8 channels TX | style="width: 429px;" | [[File:RK3399 Block Diagram.png|RTENOTITLE]] |} &nbsp; = Documentation = #[http://10.10.10.12:8444/images/6/60/Rockchip_RK3399_Datasheet_V1.6-20170301.pdf Rockchip_RK3399_Datasheet_V1.6-20170301] #[http://10.10.10.12:8444/images/9/9e/RK_DDR_Support_List_Ver2.24.pdf RK_DDR_Support_List_Ver2.24] #[http://10.10.10.12:8444/images/2/27/RK3399_Linux_Debian_System_Development_Guide.pdf RK3399_Linux_Debian_System_Development_Guide] #[http://10.10.10.12:8444/images/7/7e/RK3399_Linux_Buildroot_System_Development_Guide.pdf RK3399_Linux_Buildroot_System_Development_Guide] = Software = == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" style="line-height: 1.6; width: 768px;" |- | style="width: 119px; text-align: center;" | '''board''' | style="width: 172px; text-align: center;" | '''kernel''' | style="width: 124px; text-align: center;" | '''uboot''' | style="width: 310px; text-align: center;" | '''dts''' |- | style="width: 119px; text-align: center;" | rk3399-excavator | style="width: 172px; text-align: center;" | rockchip_linux_defconfig | style="width: 124px; text-align: center;" | rk3399_linux_defconfig | style="width: 310px; text-align: center;" | rk3399-sapphire-excavator-linux.dts |} == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" style="width: 859px;" |- | style="width: 68px; text-align: center;" | '''chip''' | style="width: 181px; text-align: center;" | '''Kernel eMMC index''' | style="width: 142px; text-align: center;" | '''Kernel SD index''' | style="width: 158px; text-align: center;" | '''Uboot eMMC index''' | style="width: 146px; text-align: center;" | '''Uboot SD index''' | style="width: 132px; text-align: center;" | '''Baud speed''' |- | style="width: 68px; text-align: center;" | RK3399 | style="width: 181px; text-align: center;" | 1 | style="width: 142px; text-align: center;" | 0 | style="width: 158px; text-align: center;" | 0 | style="width: 146px; text-align: center;" | 1 | style="width: 132px; text-align: center;" | 1500000 |} &nbsp; == How to get the sources == The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code. RK3399 optimized Debian & Buildroot <pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml repo sync </pre> == How to build the sources == === Build Environment === You need a 64-bit&nbsp;Ubuntu. Note: old versions&nbsp;Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;"><br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so</div> Install&nbsp;ARM cross-compile tool chain and compile kernel relative&nbsp;software package:&nbsp; <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">$ sudo apt-get install gcc-arm-linux-gnueabihf&nbsp;gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev</div> &nbsp; === Building kernel &&nbsp;resource === For RK3399&nbsp;Excavator-sapphire&nbsp;board: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd kernel && make ARCH=arm64 rockchip_linux_defconfig && make ARCH=arm64 rk3399-sapphire-excavator-linux.img -j12 && cd ..</div> For&nbsp;Firefly-RK3399 board: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd kernel && make ARCH=arm64 rockchip_linux_defconfig && make ARCH=arm64 rk3399-firefly-mini-linux.img -j12 && cd ..</div> === Building uboot === For RK3399 optimized SDK (rkproduct uboot) <pre>cd u-boot && make rk3399_linux_defconfig && make ARCHV=aarch64 -j12 && cd .. </pre> === Building rootfs === ==== Debian ==== You could refer to [[Media:RK3399_Linux_Debian_System_Development_Guide.pdf|RK3399 Linux Debian System Development Guide]]&nbsp;from Rockchip to build rootfs yourselves. &nbsp; ==== Buildroot ==== <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd buildroot && make rockchip_rk3399_defconfig && cd .. && ./build_all.sh -j12 && ./mkfirmware.sh&nbsp;</div> In order to get more details,you could refer to [[Media:RK3399_Linux_Buildroot_System_Development_Guide.pdf|RK3399 Linux Buildroot System Development Guide]]. &nbsp; &nbsp; = Devices = Rockchip: [[Excavator_sapphire_board|Excavator_sapphire_board]] Firefly: [http://wiki.t-firefly.com/index.php/Firefly-RK3399 Firefly-RK3399] If you need the rk3399-excavator&nbsp;board, please communicate through&nbsp;the following&nbsp;contact information: <pre>Telephone: 4007700590 Email: service@rock-chips.com</pre> If you need the Firefly-RK3399 board,you can browse the following url&nbsp;for more details: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">[http://wiki.t-firefly.com/index.php/Firefly-RK3399 http://wiki.t-firefly.com/index.php/Firefly-RK3399]</div> = See also = [[RK3288|RK3288]] [[RK3328|RK3328]] = References = 4915330ca0bc805b34f4a77690d3c358d9175c3e 583 582 2017-03-14T01:03:44Z Chery 9 wikitext text/x-wiki Rockchip RK3399 SoC integrates&nbsp;dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor, and with&nbsp;ARM Mali-T864 GPU. <br/> {{Infobox SoC<br/> &nbsp;| title = RK3399<br/> &nbsp;| image = [[File:rk3288_soc.png|200px]]<br/> &nbsp;| manufacturer = Rockcihp<br/> &nbsp;| process = 28nm<br/> &nbsp;| cpu = Quad-Core ARM Cortex-A17<br/> &nbsp;| ltwo =&nbsp;<br/> &nbsp;| extensions =&nbsp;<br/> &nbsp;| memory = 2-channel LPDDR3/LPDDR2, 2-channel DDR3L/DDR3, maximum of 4GB total (2GB per channel)&nbsp;<br/> &nbsp;| gpu = ARM Mali-T764<br/> &nbsp;| vpu =&nbsp;<br/> &nbsp;| apu =&nbsp;<br/> &nbsp;| video = HDMI 1.4, MIPI DSI, 2-channel LVDS, 2-channel RGB LCD<br/> &nbsp;| audio = I2S, PCM<br/> &nbsp;| network =&nbsp;<br/> &nbsp;| storage = 4x SD Card, eMMC NAND, 2-channel raw NAND<br/> &nbsp;| usb = OTG, 2x Host<br/> &nbsp;| other =&nbsp;<br/> &nbsp;| release_date = June 2014<br/> &nbsp;| website = http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html<br/> }} &nbsp; &nbsp; &nbsp; = Overview = RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications. = SoC Features = {| border="0" cellpadding="1" cellspacing="1" style="width: 972px;" |- | style="width: 530px;" | *CPU: **Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU **Frequency is over 1.8GHz (Big cluster) *GPU: **&nbsp;Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11 **Supports AFBC (ARM Frame Buffer Compression) *Display: **Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600 **Dual channel MIPI-DSI (4 lanes per channel) **eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR **HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2 **DisplayPort 1.2 (4 lanes, up to 4K 60Hz) **Supports Rec.2020 and conversion to Rec.709 *Camera: **&nbsp;Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels *Memory: **Dual channels 64-bit DRAM controller **Support DDR3/DDR3L, LPDDR3, LPDDR4 *Connectivity: **PCIe 2.1 (4 full-duplex lanes with 20Gbps) **Embedded low power MCU for other application **8 channels I2S supports 8 channels RX or 8 channels TX | style="width: 429px;" | [[File:RK3399 Block Diagram.png|RTENOTITLE]] |} &nbsp; = Documentation = #[http://10.10.10.12:8444/images/6/60/Rockchip_RK3399_Datasheet_V1.6-20170301.pdf Rockchip_RK3399_Datasheet_V1.6-20170301] #[http://10.10.10.12:8444/images/9/9e/RK_DDR_Support_List_Ver2.24.pdf RK_DDR_Support_List_Ver2.24] #[http://10.10.10.12:8444/images/2/27/RK3399_Linux_Debian_System_Development_Guide.pdf RK3399_Linux_Debian_System_Development_Guide] #[http://10.10.10.12:8444/images/7/7e/RK3399_Linux_Buildroot_System_Development_Guide.pdf RK3399_Linux_Buildroot_System_Development_Guide] = Software = == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" style="line-height: 1.6; width: 768px;" |- | style="width: 119px; text-align: center;" | '''board''' | style="width: 172px; text-align: center;" | '''kernel''' | style="width: 124px; text-align: center;" | '''uboot''' | style="width: 310px; text-align: center;" | '''dts''' |- | style="width: 119px; text-align: center;" | rk3399-excavator | style="width: 172px; text-align: center;" | rockchip_linux_defconfig | style="width: 124px; text-align: center;" | rk3399_linux_defconfig | style="width: 310px; text-align: center;" | rk3399-sapphire-excavator-linux.dts |} == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" style="width: 859px;" |- | style="width: 68px; text-align: center;" | '''chip''' | style="width: 181px; text-align: center;" | '''Kernel eMMC index''' | style="width: 142px; text-align: center;" | '''Kernel SD index''' | style="width: 158px; text-align: center;" | '''Uboot eMMC index''' | style="width: 146px; text-align: center;" | '''Uboot SD index''' | style="width: 132px; text-align: center;" | '''Baud speed''' |- | style="width: 68px; text-align: center;" | RK3399 | style="width: 181px; text-align: center;" | 1 | style="width: 142px; text-align: center;" | 0 | style="width: 158px; text-align: center;" | 0 | style="width: 146px; text-align: center;" | 1 | style="width: 132px; text-align: center;" | 1500000 |} &nbsp; == How to get the sources == The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code. RK3399 optimized Debian & Buildroot <pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml repo sync </pre> == How to build the sources == === Build Environment === You need a 64-bit&nbsp;Ubuntu. Note: old versions&nbsp;Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;"><br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so</div> Install&nbsp;ARM cross-compile tool chain and compile kernel relative&nbsp;software package:&nbsp; <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">$ sudo apt-get install gcc-arm-linux-gnueabihf&nbsp;gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev</div> &nbsp; === Building kernel &&nbsp;resource === For RK3399&nbsp;Excavator-sapphire&nbsp;board: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd kernel && make ARCH=arm64 rockchip_linux_defconfig && make ARCH=arm64 rk3399-sapphire-excavator-linux.img -j12 && cd ..</div> For&nbsp;Firefly-RK3399 board: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd kernel && make ARCH=arm64 rockchip_linux_defconfig && make ARCH=arm64 rk3399-firefly-mini-linux.img -j12 && cd ..</div> === Building uboot === For RK3399 optimized SDK (rkproduct uboot) <pre>cd u-boot && make rk3399_linux_defconfig && make ARCHV=aarch64 -j12 && cd .. </pre> === Building rootfs === ==== Debian ==== You could refer to [[Media:RK3399_Linux_Debian_System_Development_Guide.pdf|RK3399 Linux Debian System Development Guide]]&nbsp;from Rockchip to build rootfs yourselves. &nbsp; ==== Buildroot ==== <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd buildroot && make rockchip_rk3399_defconfig && cd .. && ./build_all.sh -j12 && ./mkfirmware.sh&nbsp;</div> In order to get more details,you could refer to [[Media:RK3399_Linux_Buildroot_System_Development_Guide.pdf|RK3399 Linux Buildroot System Development Guide]]. &nbsp; &nbsp; = Devices = Rockchip: [[Excavator_sapphire_board|Excavator_sapphire_board]] Firefly: [http://wiki.t-firefly.com/index.php/Firefly-RK3399 Firefly-RK3399] If you need the rk3399-excavator&nbsp;board, please communicate through&nbsp;the following&nbsp;contact information: <pre>Telephone: 4007700590 Email: service@rock-chips.com</pre> If you need the Firefly-RK3399 board,you can browse the following url&nbsp;for more details: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">[http://wiki.t-firefly.com/index.php/Firefly-RK3399 http://wiki.t-firefly.com/index.php/Firefly-RK3399]</div> = See also = [[RK3288|RK3288]] [[RK3328|RK3328]] = References = bb2e6ddffd6b9bf45bccb16b5fedb44db025891e 584 583 2017-03-14T01:08:27Z Chery 9 wikitext text/x-wiki Rockchip RK3399 SoC integrates&nbsp;dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor, and with&nbsp;ARM Mali-T864 GPU. {{Infobox SoC | title = RK3288 | image = [[File:rk3288_soc.png|200px]] | manufacturer = Rockcihp | process = 28nm | cpu = Quad-Core ARM Cortex-A17 | ltwo = | extensions = | memory = 2-channel LPDDR3/LPDDR2, 2-channel DDR3L/DDR3, maximum of 4GB total (2GB per channel) | gpu = ARM Mali-T764 | vpu = | apu = | video = HDMI 1.4, MIPI DSI, 2-channel LVDS, 2-channel RGB LCD | audio = I2S, PCM | network = | storage = 4x SD Card, eMMC NAND, 2-channel raw NAND | usb = OTG, 2x Host | other = | release_date = June 2014 | website = http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html }} = Overview = RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications. = SoC Features = {| border="0" cellpadding="1" cellspacing="1" style="width: 972px;" |- | style="width: 530px;" | *CPU: **Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU **Frequency is over 1.8GHz (Big cluster) *GPU: **&nbsp;Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11 **Supports AFBC (ARM Frame Buffer Compression) *Display: **Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600 **Dual channel MIPI-DSI (4 lanes per channel) **eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR **HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2 **DisplayPort 1.2 (4 lanes, up to 4K 60Hz) **Supports Rec.2020 and conversion to Rec.709 *Camera: **&nbsp;Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels *Memory: **Dual channels 64-bit DRAM controller **Support DDR3/DDR3L, LPDDR3, LPDDR4 *Connectivity: **PCIe 2.1 (4 full-duplex lanes with 20Gbps) **Embedded low power MCU for other application **8 channels I2S supports 8 channels RX or 8 channels TX | style="width: 429px;" | [[File:RK3399 Block Diagram.png|RTENOTITLE]] |} &nbsp; = Documentation = #[http://10.10.10.12:8444/images/6/60/Rockchip_RK3399_Datasheet_V1.6-20170301.pdf Rockchip_RK3399_Datasheet_V1.6-20170301] #[http://10.10.10.12:8444/images/9/9e/RK_DDR_Support_List_Ver2.24.pdf RK_DDR_Support_List_Ver2.24] #[http://10.10.10.12:8444/images/2/27/RK3399_Linux_Debian_System_Development_Guide.pdf RK3399_Linux_Debian_System_Development_Guide] #[http://10.10.10.12:8444/images/7/7e/RK3399_Linux_Buildroot_System_Development_Guide.pdf RK3399_Linux_Buildroot_System_Development_Guide] = Software = == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" style="line-height: 1.6; width: 768px;" |- | style="width: 119px; text-align: center;" | '''board''' | style="width: 172px; text-align: center;" | '''kernel''' | style="width: 124px; text-align: center;" | '''uboot''' | style="width: 310px; text-align: center;" | '''dts''' |- | style="width: 119px; text-align: center;" | rk3399-excavator | style="width: 172px; text-align: center;" | rockchip_linux_defconfig | style="width: 124px; text-align: center;" | rk3399_linux_defconfig | style="width: 310px; text-align: center;" | rk3399-sapphire-excavator-linux.dts |} == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" style="width: 859px;" |- | style="width: 68px; text-align: center;" | '''chip''' | style="width: 181px; text-align: center;" | '''Kernel eMMC index''' | style="width: 142px; text-align: center;" | '''Kernel SD index''' | style="width: 158px; text-align: center;" | '''Uboot eMMC index''' | style="width: 146px; text-align: center;" | '''Uboot SD index''' | style="width: 132px; text-align: center;" | '''Baud speed''' |- | style="width: 68px; text-align: center;" | RK3399 | style="width: 181px; text-align: center;" | 1 | style="width: 142px; text-align: center;" | 0 | style="width: 158px; text-align: center;" | 0 | style="width: 146px; text-align: center;" | 1 | style="width: 132px; text-align: center;" | 1500000 |} &nbsp; == How to get the sources == The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code. RK3399 optimized Debian & Buildroot <pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml repo sync </pre> == How to build the sources == === Build Environment === You need a 64-bit&nbsp;Ubuntu. Note: old versions&nbsp;Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;"><br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so</div> Install&nbsp;ARM cross-compile tool chain and compile kernel relative&nbsp;software package:&nbsp; <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">$ sudo apt-get install gcc-arm-linux-gnueabihf&nbsp;gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev</div> &nbsp; === Building kernel &&nbsp;resource === For RK3399&nbsp;Excavator-sapphire&nbsp;board: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd kernel && make ARCH=arm64 rockchip_linux_defconfig && make ARCH=arm64 rk3399-sapphire-excavator-linux.img -j12 && cd ..</div> For&nbsp;Firefly-RK3399 board: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd kernel && make ARCH=arm64 rockchip_linux_defconfig && make ARCH=arm64 rk3399-firefly-mini-linux.img -j12 && cd ..</div> === Building uboot === For RK3399 optimized SDK (rkproduct uboot) <pre>cd u-boot && make rk3399_linux_defconfig && make ARCHV=aarch64 -j12 && cd .. </pre> === Building rootfs === ==== Debian ==== You could refer to [[Media:RK3399_Linux_Debian_System_Development_Guide.pdf|RK3399 Linux Debian System Development Guide]]&nbsp;from Rockchip to build rootfs yourselves. &nbsp; ==== Buildroot ==== <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd buildroot && make rockchip_rk3399_defconfig && cd .. && ./build_all.sh -j12 && ./mkfirmware.sh&nbsp;</div> In order to get more details,you could refer to [[Media:RK3399_Linux_Buildroot_System_Development_Guide.pdf|RK3399 Linux Buildroot System Development Guide]]. &nbsp; &nbsp; = Devices = Rockchip: [[Excavator_sapphire_board|Excavator_sapphire_board]] Firefly: [http://wiki.t-firefly.com/index.php/Firefly-RK3399 Firefly-RK3399] If you need the rk3399-excavator&nbsp;board, please communicate through&nbsp;the following&nbsp;contact information: <pre>Telephone: 4007700590 Email: service@rock-chips.com</pre> If you need the Firefly-RK3399 board,you can browse the following url&nbsp;for more details: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">[http://wiki.t-firefly.com/index.php/Firefly-RK3399 http://wiki.t-firefly.com/index.php/Firefly-RK3399]</div> = See also = [[RK3288|RK3288]] [[RK3328|RK3328]] = References = f468f0b1b00d9171bdeb79da8b24e6a17b5ebf11 585 584 2017-03-14T01:10:34Z Chery 9 wikitext text/x-wiki Rockchip RK3399 SoC integrates&nbsp;dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor, and with&nbsp;ARM Mali-T864 GPU. {{Infobox SoC | title = RK3399 | image = [[File:rk3399_soc.png|200px]] | manufacturer = Rockcihp | process = 28nm | cpu = Quad-Core ARM Cortex-A17 | ltwo = | extensions = | memory = 2-channel LPDDR3/LPDDR2, 2-channel DDR3L/DDR3, maximum of 4GB total (2GB per channel) | gpu = ARM Mali-T764 | vpu = | apu = | video = HDMI 1.4, MIPI DSI, 2-channel LVDS, 2-channel RGB LCD | audio = I2S, PCM | network = | storage = 4x SD Card, eMMC NAND, 2-channel raw NAND | usb = OTG, 2x Host | other = | release_date = June 2014 | website = http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html }} = Overview = RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications. = SoC Features = {| border="0" cellpadding="1" cellspacing="1" style="width: 972px;" |- | style="width: 530px;" | *CPU: **Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU **Frequency is over 1.8GHz (Big cluster) *GPU: **&nbsp;Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11 **Supports AFBC (ARM Frame Buffer Compression) *Display: **Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600 **Dual channel MIPI-DSI (4 lanes per channel) **eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR **HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2 **DisplayPort 1.2 (4 lanes, up to 4K 60Hz) **Supports Rec.2020 and conversion to Rec.709 *Camera: **&nbsp;Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels *Memory: **Dual channels 64-bit DRAM controller **Support DDR3/DDR3L, LPDDR3, LPDDR4 *Connectivity: **PCIe 2.1 (4 full-duplex lanes with 20Gbps) **Embedded low power MCU for other application **8 channels I2S supports 8 channels RX or 8 channels TX | style="width: 429px;" | [[File:RK3399 Block Diagram.png|RTENOTITLE]] |} &nbsp; = Documentation = #[http://10.10.10.12:8444/images/6/60/Rockchip_RK3399_Datasheet_V1.6-20170301.pdf Rockchip_RK3399_Datasheet_V1.6-20170301] #[http://10.10.10.12:8444/images/9/9e/RK_DDR_Support_List_Ver2.24.pdf RK_DDR_Support_List_Ver2.24] #[http://10.10.10.12:8444/images/2/27/RK3399_Linux_Debian_System_Development_Guide.pdf RK3399_Linux_Debian_System_Development_Guide] #[http://10.10.10.12:8444/images/7/7e/RK3399_Linux_Buildroot_System_Development_Guide.pdf RK3399_Linux_Buildroot_System_Development_Guide] = Software = == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" style="line-height: 1.6; width: 768px;" |- | style="width: 119px; text-align: center;" | '''board''' | style="width: 172px; text-align: center;" | '''kernel''' | style="width: 124px; text-align: center;" | '''uboot''' | style="width: 310px; text-align: center;" | '''dts''' |- | style="width: 119px; text-align: center;" | rk3399-excavator | style="width: 172px; text-align: center;" | rockchip_linux_defconfig | style="width: 124px; text-align: center;" | rk3399_linux_defconfig | style="width: 310px; text-align: center;" | rk3399-sapphire-excavator-linux.dts |} == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" style="width: 859px;" |- | style="width: 68px; text-align: center;" | '''chip''' | style="width: 181px; text-align: center;" | '''Kernel eMMC index''' | style="width: 142px; text-align: center;" | '''Kernel SD index''' | style="width: 158px; text-align: center;" | '''Uboot eMMC index''' | style="width: 146px; text-align: center;" | '''Uboot SD index''' | style="width: 132px; text-align: center;" | '''Baud speed''' |- | style="width: 68px; text-align: center;" | RK3399 | style="width: 181px; text-align: center;" | 1 | style="width: 142px; text-align: center;" | 0 | style="width: 158px; text-align: center;" | 0 | style="width: 146px; text-align: center;" | 1 | style="width: 132px; text-align: center;" | 1500000 |} &nbsp; == How to get the sources == The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code. RK3399 optimized Debian & Buildroot <pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml repo sync </pre> == How to build the sources == === Build Environment === You need a 64-bit&nbsp;Ubuntu. Note: old versions&nbsp;Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;"><br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so</div> Install&nbsp;ARM cross-compile tool chain and compile kernel relative&nbsp;software package:&nbsp; <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">$ sudo apt-get install gcc-arm-linux-gnueabihf&nbsp;gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev</div> &nbsp; === Building kernel &&nbsp;resource === For RK3399&nbsp;Excavator-sapphire&nbsp;board: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd kernel && make ARCH=arm64 rockchip_linux_defconfig && make ARCH=arm64 rk3399-sapphire-excavator-linux.img -j12 && cd ..</div> For&nbsp;Firefly-RK3399 board: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd kernel && make ARCH=arm64 rockchip_linux_defconfig && make ARCH=arm64 rk3399-firefly-mini-linux.img -j12 && cd ..</div> === Building uboot === For RK3399 optimized SDK (rkproduct uboot) <pre>cd u-boot && make rk3399_linux_defconfig && make ARCHV=aarch64 -j12 && cd .. </pre> === Building rootfs === ==== Debian ==== You could refer to [[Media:RK3399_Linux_Debian_System_Development_Guide.pdf|RK3399 Linux Debian System Development Guide]]&nbsp;from Rockchip to build rootfs yourselves. &nbsp; ==== Buildroot ==== <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd buildroot && make rockchip_rk3399_defconfig && cd .. && ./build_all.sh -j12 && ./mkfirmware.sh&nbsp;</div> In order to get more details,you could refer to [[Media:RK3399_Linux_Buildroot_System_Development_Guide.pdf|RK3399 Linux Buildroot System Development Guide]]. &nbsp; &nbsp; = Devices = Rockchip: [[Excavator_sapphire_board|Excavator_sapphire_board]] Firefly: [http://wiki.t-firefly.com/index.php/Firefly-RK3399 Firefly-RK3399] If you need the rk3399-excavator&nbsp;board, please communicate through&nbsp;the following&nbsp;contact information: <pre>Telephone: 4007700590 Email: service@rock-chips.com</pre> If you need the Firefly-RK3399 board,you can browse the following url&nbsp;for more details: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">[http://wiki.t-firefly.com/index.php/Firefly-RK3399 http://wiki.t-firefly.com/index.php/Firefly-RK3399]</div> = See also = [[RK3288|RK3288]] [[RK3328|RK3328]] = References = 436452a922a91c7f4a0151662f4e7ad3c701355f 590 585 2017-03-14T01:45:29Z Chery 9 wikitext text/x-wiki Rockchip RK3399 SoC integrates&nbsp;dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor, and with&nbsp;ARM Mali-T864 GPU. {{Infobox SoC | title = RK3399 | image = [[File:rk3399_soc.png|200px]] | manufacturer = Rockcihp | process = 28nm | cpu = Big.Little architecture:Dual-core Cortex-A72 up to 1.8GHz Quad-core Cortex-A53 up to 1.4GHz | ltwo = | extensions = | memory = Dual-channel DDR3/DDR3L/LPDDR3/LPDDR4 | gpu = ARM Mali-T860 Quad-core | vpu = | apu = | video = Dual VOP, Dual channel MIPI-DSI (4 lanes per channel), eDP 1.3 (4 lanes with 10.8Gbps), HDMI 2.0 with HDCP 1.4/2.2, DisplayPort 1.2 (4 lanes, up to 4K 60Hz) | audio = 8 channels I2S supports 8 channels RX or 8 channels TX, SPDIF | network = | storage = 4x SD Card, eMMC NAND, 2-channel raw NAND | usb = Dual USB Type-C and USB 2.0 | other = | release_date = June 2016 | website = http://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html }} = Overview = RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications. = SoC Features = {| border="0" cellpadding="1" cellspacing="1" style="width: 972px;" |- | style="width: 530px;" | *CPU: **Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU **Frequency is over 1.8GHz (Big cluster) *GPU: **&nbsp;Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11 **Supports AFBC (ARM Frame Buffer Compression) *Display: **Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600 **Dual channel MIPI-DSI (4 lanes per channel) **eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR **HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2 **DisplayPort 1.2 (4 lanes, up to 4K 60Hz) **Supports Rec.2020 and conversion to Rec.709 *Camera: **&nbsp;Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels *Memory: **Dual channels 64-bit DRAM controller **Support DDR3/DDR3L, LPDDR3, LPDDR4 *Connectivity: **PCIe 2.1 (4 full-duplex lanes with 20Gbps) **Embedded low power MCU for other application **8 channels I2S supports 8 channels RX or 8 channels TX | style="width: 429px;" | [[File:RK3399 Block Diagram.png|RTENOTITLE]] |} &nbsp; = Documentation = #[http://10.10.10.12:8444/images/6/60/Rockchip_RK3399_Datasheet_V1.6-20170301.pdf Rockchip_RK3399_Datasheet_V1.6-20170301] #[http://10.10.10.12:8444/images/9/9e/RK_DDR_Support_List_Ver2.24.pdf RK_DDR_Support_List_Ver2.24] #[http://10.10.10.12:8444/images/2/27/RK3399_Linux_Debian_System_Development_Guide.pdf RK3399_Linux_Debian_System_Development_Guide] #[http://10.10.10.12:8444/images/7/7e/RK3399_Linux_Buildroot_System_Development_Guide.pdf RK3399_Linux_Buildroot_System_Development_Guide] = Software = == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" style="line-height: 1.6; width: 768px;" |- | style="width: 119px; text-align: center;" | '''board''' | style="width: 172px; text-align: center;" | '''kernel''' | style="width: 124px; text-align: center;" | '''uboot''' | style="width: 310px; text-align: center;" | '''dts''' |- | style="width: 119px; text-align: center;" | rk3399-excavator | style="width: 172px; text-align: center;" | rockchip_linux_defconfig | style="width: 124px; text-align: center;" | rk3399_linux_defconfig | style="width: 310px; text-align: center;" | rk3399-sapphire-excavator-linux.dts |} == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" style="width: 859px;" |- | style="width: 68px; text-align: center;" | '''chip''' | style="width: 181px; text-align: center;" | '''Kernel eMMC index''' | style="width: 142px; text-align: center;" | '''Kernel SD index''' | style="width: 158px; text-align: center;" | '''Uboot eMMC index''' | style="width: 146px; text-align: center;" | '''Uboot SD index''' | style="width: 132px; text-align: center;" | '''Baud speed''' |- | style="width: 68px; text-align: center;" | RK3399 | style="width: 181px; text-align: center;" | 1 | style="width: 142px; text-align: center;" | 0 | style="width: 158px; text-align: center;" | 0 | style="width: 146px; text-align: center;" | 1 | style="width: 132px; text-align: center;" | 1500000 |} &nbsp; == How to get the sources == The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code. RK3399 optimized Debian & Buildroot <pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml repo sync </pre> == How to build the sources == === Build Environment === You need a 64-bit&nbsp;Ubuntu. Note: old versions&nbsp;Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;"><br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so</div> Install&nbsp;ARM cross-compile tool chain and compile kernel relative&nbsp;software package:&nbsp; <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">$ sudo apt-get install gcc-arm-linux-gnueabihf&nbsp;gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev</div> &nbsp; === Building kernel &&nbsp;resource === For RK3399&nbsp;Excavator-sapphire&nbsp;board: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd kernel && make ARCH=arm64 rockchip_linux_defconfig && make ARCH=arm64 rk3399-sapphire-excavator-linux.img -j12 && cd ..</div> For&nbsp;Firefly-RK3399 board: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd kernel && make ARCH=arm64 rockchip_linux_defconfig && make ARCH=arm64 rk3399-firefly-mini-linux.img -j12 && cd ..</div> === Building uboot === For RK3399 optimized SDK (rkproduct uboot) <pre>cd u-boot && make rk3399_linux_defconfig && make ARCHV=aarch64 -j12 && cd .. </pre> === Building rootfs === ==== Debian ==== You could refer to [[Media:RK3399_Linux_Debian_System_Development_Guide.pdf|RK3399 Linux Debian System Development Guide]]&nbsp;from Rockchip to build rootfs yourselves. &nbsp; ==== Buildroot ==== <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd buildroot && make rockchip_rk3399_defconfig && cd .. && ./build_all.sh -j12 && ./mkfirmware.sh&nbsp;</div> In order to get more details,you could refer to [[Media:RK3399_Linux_Buildroot_System_Development_Guide.pdf|RK3399 Linux Buildroot System Development Guide]]. &nbsp; &nbsp; = Devices = Rockchip: [[Excavator_sapphire_board|Excavator_sapphire_board]] Firefly: [http://wiki.t-firefly.com/index.php/Firefly-RK3399 Firefly-RK3399] If you need the rk3399-excavator&nbsp;board, please communicate through&nbsp;the following&nbsp;contact information: <pre>Telephone: 4007700590 Email: service@rock-chips.com</pre> If you need the Firefly-RK3399 board,you can browse the following url&nbsp;for more details: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">[http://wiki.t-firefly.com/index.php/Firefly-RK3399 http://wiki.t-firefly.com/index.php/Firefly-RK3399]</div> = See also = [[RK3288|RK3288]] [[RK3328|RK3328]] = References = f50192167d690cd865ce485d37db03130fbb729d 591 590 2017-03-14T01:49:33Z Chery 9 wikitext text/x-wiki Rockchip RK3399 SoC integrates&nbsp;dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor, and with&nbsp;ARM Mali-T864 GPU. {{Infobox SoC | title = RK3399 | image = [[File:rk3399_soc.png|200px]] | manufacturer = Rockcihp | process = 28nm | cpu = Big.Little architecture:Dual-core Cortex-A72 up to 1.8GHz Quad-core Cortex-A53 up to 1.4GHz | ltwo = | extensions = | memory = Dual-channel DDR3/DDR3L/LPDDR3/LPDDR4 | gpu = ARM Mali-T860 Quad-core | vpu = | apu = | video = Dual VOP, Dual channel MIPI-DSI (4 lanes per channel), eDP 1.3 (4 lanes with 10.8Gbps), HDMI 2.0 with HDCP 1.4/2.2, DisplayPort 1.2 (4 lanes, up to 4K 60Hz) | audio = 8 channels I2S supports 8 channels RX or 8 channels TX, SPDIF | network = | storage = eMMC 5.1 and eMMC 5.0, SD3.0, MMC ver4.51 | usb = Dual USB Type-C, OTG, 2xHost | other = | release_date = June 2016 | website = http://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html }} = Overview = RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications. = SoC Features = {| border="0" cellpadding="1" cellspacing="1" style="width: 972px;" |- | style="width: 530px;" | *CPU: **Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU **Frequency is over 1.8GHz (Big cluster) *GPU: **&nbsp;Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11 **Supports AFBC (ARM Frame Buffer Compression) *Display: **Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600 **Dual channel MIPI-DSI (4 lanes per channel) **eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR **HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2 **DisplayPort 1.2 (4 lanes, up to 4K 60Hz) **Supports Rec.2020 and conversion to Rec.709 *Camera: **&nbsp;Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels *Memory: **Dual channels 64-bit DRAM controller **Support DDR3/DDR3L, LPDDR3, LPDDR4 *Connectivity: **PCIe 2.1 (4 full-duplex lanes with 20Gbps) **Embedded low power MCU for other application **8 channels I2S supports 8 channels RX or 8 channels TX | style="width: 429px;" | [[File:RK3399 Block Diagram.png|RTENOTITLE]] |} &nbsp; = Documentation = #[http://10.10.10.12:8444/images/6/60/Rockchip_RK3399_Datasheet_V1.6-20170301.pdf Rockchip_RK3399_Datasheet_V1.6-20170301] #[http://10.10.10.12:8444/images/9/9e/RK_DDR_Support_List_Ver2.24.pdf RK_DDR_Support_List_Ver2.24] #[http://10.10.10.12:8444/images/2/27/RK3399_Linux_Debian_System_Development_Guide.pdf RK3399_Linux_Debian_System_Development_Guide] #[http://10.10.10.12:8444/images/7/7e/RK3399_Linux_Buildroot_System_Development_Guide.pdf RK3399_Linux_Buildroot_System_Development_Guide] = Software = == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" style="line-height: 1.6; width: 768px;" |- | style="width: 119px; text-align: center;" | '''board''' | style="width: 172px; text-align: center;" | '''kernel''' | style="width: 124px; text-align: center;" | '''uboot''' | style="width: 310px; text-align: center;" | '''dts''' |- | style="width: 119px; text-align: center;" | rk3399-excavator | style="width: 172px; text-align: center;" | rockchip_linux_defconfig | style="width: 124px; text-align: center;" | rk3399_linux_defconfig | style="width: 310px; text-align: center;" | rk3399-sapphire-excavator-linux.dts |} == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" style="width: 859px;" |- | style="width: 68px; text-align: center;" | '''chip''' | style="width: 181px; text-align: center;" | '''Kernel eMMC index''' | style="width: 142px; text-align: center;" | '''Kernel SD index''' | style="width: 158px; text-align: center;" | '''Uboot eMMC index''' | style="width: 146px; text-align: center;" | '''Uboot SD index''' | style="width: 132px; text-align: center;" | '''Baud speed''' |- | style="width: 68px; text-align: center;" | RK3399 | style="width: 181px; text-align: center;" | 1 | style="width: 142px; text-align: center;" | 0 | style="width: 158px; text-align: center;" | 0 | style="width: 146px; text-align: center;" | 1 | style="width: 132px; text-align: center;" | 1500000 |} &nbsp; == How to get the sources == The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code. RK3399 optimized Debian & Buildroot <pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml repo sync </pre> == How to build the sources == === Build Environment === You need a 64-bit&nbsp;Ubuntu. Note: old versions&nbsp;Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;"><br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so</div> Install&nbsp;ARM cross-compile tool chain and compile kernel relative&nbsp;software package:&nbsp; <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">$ sudo apt-get install gcc-arm-linux-gnueabihf&nbsp;gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev</div> &nbsp; === Building kernel &&nbsp;resource === For RK3399&nbsp;Excavator-sapphire&nbsp;board: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd kernel && make ARCH=arm64 rockchip_linux_defconfig && make ARCH=arm64 rk3399-sapphire-excavator-linux.img -j12 && cd ..</div> For&nbsp;Firefly-RK3399 board: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd kernel && make ARCH=arm64 rockchip_linux_defconfig && make ARCH=arm64 rk3399-firefly-mini-linux.img -j12 && cd ..</div> === Building uboot === For RK3399 optimized SDK (rkproduct uboot) <pre>cd u-boot && make rk3399_linux_defconfig && make ARCHV=aarch64 -j12 && cd .. </pre> === Building rootfs === ==== Debian ==== You could refer to [[Media:RK3399_Linux_Debian_System_Development_Guide.pdf|RK3399 Linux Debian System Development Guide]]&nbsp;from Rockchip to build rootfs yourselves. &nbsp; ==== Buildroot ==== <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd buildroot && make rockchip_rk3399_defconfig && cd .. && ./build_all.sh -j12 && ./mkfirmware.sh&nbsp;</div> In order to get more details,you could refer to [[Media:RK3399_Linux_Buildroot_System_Development_Guide.pdf|RK3399 Linux Buildroot System Development Guide]]. &nbsp; &nbsp; = Devices = Rockchip: [[Excavator_sapphire_board|Excavator_sapphire_board]] Firefly: [http://wiki.t-firefly.com/index.php/Firefly-RK3399 Firefly-RK3399] If you need the rk3399-excavator&nbsp;board, please communicate through&nbsp;the following&nbsp;contact information: <pre>Telephone: 4007700590 Email: service@rock-chips.com</pre> If you need the Firefly-RK3399 board,you can browse the following url&nbsp;for more details: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">[http://wiki.t-firefly.com/index.php/Firefly-RK3399 http://wiki.t-firefly.com/index.php/Firefly-RK3399]</div> = See also = [[RK3288|RK3288]] [[RK3328|RK3328]] = References = bb3fa0688e20054f5f30ee3c58e86b6f7e0e6505 592 591 2017-03-14T02:18:29Z Chery 9 wikitext text/x-wiki Rockchip RK3399 SoC integrates&nbsp;dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor, and with&nbsp;ARM Mali-T864 GPU. {{Infobox SoC | title = RK3399 | image = [[File:RK3399 Soc.png |200px]] | manufacturer = Rockcihp | process = 28nm | cpu = Big.Little architecture:Dual-core Cortex-A72 up to 1.8GHz Quad-core Cortex-A53 up to 1.4GHz | ltwo = | extensions = | memory = Dual-channel DDR3/DDR3L/LPDDR3/LPDDR4 | gpu = ARM Mali-T860 Quad-core | vpu = | apu = | video = Dual VOP, Dual channel MIPI-DSI (4 lanes per channel), eDP 1.3 (4 lanes with 10.8Gbps), HDMI 2.0 with HDCP 1.4/2.2, DisplayPort 1.2 (4 lanes, up to 4K 60Hz) | audio = 8 channels I2S supports 8 channels RX or 8 channels TX, SPDIF | network = | storage = eMMC 5.1 and eMMC 5.0, SD3.0, MMC ver4.51 | usb = Dual USB Type-C, OTG, 2xHost | other = | release_date = June 2016 | website = http://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html }} = Overview = RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications. = SoC Features = {| border="0" cellpadding="1" cellspacing="1" style="width: 972px;" |- | style="width: 530px;" | *CPU: **Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU **Frequency is over 1.8GHz (Big cluster) *GPU: **&nbsp;Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11 **Supports AFBC (ARM Frame Buffer Compression) *Display: **Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600 **Dual channel MIPI-DSI (4 lanes per channel) **eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR **HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2 **DisplayPort 1.2 (4 lanes, up to 4K 60Hz) **Supports Rec.2020 and conversion to Rec.709 *Camera: **&nbsp;Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels *Memory: **Dual channels 64-bit DRAM controller **Support DDR3/DDR3L, LPDDR3, LPDDR4 *Connectivity: **PCIe 2.1 (4 full-duplex lanes with 20Gbps) **Embedded low power MCU for other application **8 channels I2S supports 8 channels RX or 8 channels TX | style="width: 429px;" | [[File:RK3399 Block Diagram.png|RTENOTITLE]] |} &nbsp; = Documentation = #[http://10.10.10.12:8444/images/6/60/Rockchip_RK3399_Datasheet_V1.6-20170301.pdf Rockchip_RK3399_Datasheet_V1.6-20170301] #[http://10.10.10.12:8444/images/9/9e/RK_DDR_Support_List_Ver2.24.pdf RK_DDR_Support_List_Ver2.24] #[http://10.10.10.12:8444/images/2/27/RK3399_Linux_Debian_System_Development_Guide.pdf RK3399_Linux_Debian_System_Development_Guide] #[http://10.10.10.12:8444/images/7/7e/RK3399_Linux_Buildroot_System_Development_Guide.pdf RK3399_Linux_Buildroot_System_Development_Guide] = Software = == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" style="line-height: 1.6; width: 768px;" |- | style="width: 119px; text-align: center;" | '''board''' | style="width: 172px; text-align: center;" | '''kernel''' | style="width: 124px; text-align: center;" | '''uboot''' | style="width: 310px; text-align: center;" | '''dts''' |- | style="width: 119px; text-align: center;" | rk3399-excavator | style="width: 172px; text-align: center;" | rockchip_linux_defconfig | style="width: 124px; text-align: center;" | rk3399_linux_defconfig | style="width: 310px; text-align: center;" | rk3399-sapphire-excavator-linux.dts |} == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" style="width: 859px;" |- | style="width: 68px; text-align: center;" | '''chip''' | style="width: 181px; text-align: center;" | '''Kernel eMMC index''' | style="width: 142px; text-align: center;" | '''Kernel SD index''' | style="width: 158px; text-align: center;" | '''Uboot eMMC index''' | style="width: 146px; text-align: center;" | '''Uboot SD index''' | style="width: 132px; text-align: center;" | '''Baud speed''' |- | style="width: 68px; text-align: center;" | RK3399 | style="width: 181px; text-align: center;" | 1 | style="width: 142px; text-align: center;" | 0 | style="width: 158px; text-align: center;" | 0 | style="width: 146px; text-align: center;" | 1 | style="width: 132px; text-align: center;" | 1500000 |} &nbsp; == How to get the sources == The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code. RK3399 optimized Debian & Buildroot <pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml repo sync </pre> == How to build the sources == === Build Environment === You need a 64-bit&nbsp;Ubuntu. Note: old versions&nbsp;Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;"><br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so</div> Install&nbsp;ARM cross-compile tool chain and compile kernel relative&nbsp;software package:&nbsp; <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">$ sudo apt-get install gcc-arm-linux-gnueabihf&nbsp;gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev</div> &nbsp; === Building kernel &&nbsp;resource === For RK3399&nbsp;Excavator-sapphire&nbsp;board: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd kernel && make ARCH=arm64 rockchip_linux_defconfig && make ARCH=arm64 rk3399-sapphire-excavator-linux.img -j12 && cd ..</div> For&nbsp;Firefly-RK3399 board: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd kernel && make ARCH=arm64 rockchip_linux_defconfig && make ARCH=arm64 rk3399-firefly-mini-linux.img -j12 && cd ..</div> === Building uboot === For RK3399 optimized SDK (rkproduct uboot) <pre>cd u-boot && make rk3399_linux_defconfig && make ARCHV=aarch64 -j12 && cd .. </pre> === Building rootfs === ==== Debian ==== You could refer to [[Media:RK3399_Linux_Debian_System_Development_Guide.pdf|RK3399 Linux Debian System Development Guide]]&nbsp;from Rockchip to build rootfs yourselves. &nbsp; ==== Buildroot ==== <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd buildroot && make rockchip_rk3399_defconfig && cd .. && ./build_all.sh -j12 && ./mkfirmware.sh&nbsp;</div> In order to get more details,you could refer to [[Media:RK3399_Linux_Buildroot_System_Development_Guide.pdf|RK3399 Linux Buildroot System Development Guide]]. &nbsp; &nbsp; = Devices = Rockchip: [[Excavator_sapphire_board|Excavator_sapphire_board]] Firefly: [http://wiki.t-firefly.com/index.php/Firefly-RK3399 Firefly-RK3399] If you need the rk3399-excavator&nbsp;board, please communicate through&nbsp;the following&nbsp;contact information: <pre>Telephone: 4007700590 Email: service@rock-chips.com</pre> If you need the Firefly-RK3399 board,you can browse the following url&nbsp;for more details: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">[http://wiki.t-firefly.com/index.php/Firefly-RK3399 http://wiki.t-firefly.com/index.php/Firefly-RK3399]</div> = See also = [[RK3288|RK3288]] [[RK3328|RK3328]] = References = f9f66d69b21654f7890afae418a4472709cbd0b8 593 592 2017-03-14T03:45:32Z Chery 9 wikitext text/x-wiki Rockchip RK3399 SoC integrates&nbsp;dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor, and with&nbsp;ARM Mali-T864 GPU. {{Infobox SoC | title = RK3399 | image = [[File:RK3399 Soc.png |200px]] | manufacturer = Rockcihp | process = 28nm | cpu = Dual-core Cortex-A72 up to 1.8GHz Quad-core Cortex-A53 up to 1.4GHz | ltwo = | extensions = | memory = Dual-channel DDR3/DDR3L/LPDDR3/LPDDR4 | gpu = ARM Mali-T860 Quad-core | vpu = | apu = | video = Dual VOP, Dual channel MIPI-DSI (4 lanes per channel), eDP 1.3 (4 lanes with 10.8Gbps), HDMI 2.0 with HDCP 1.4/2.2, DisplayPort 1.2 (4 lanes, up to 4K 60Hz) | audio = 8 channels I2S supports 8 channels RX or 8 channels TX, SPDIF | network = | storage = eMMC 5.1 and eMMC 5.0, SD3.0, MMC ver4.51 | usb = Dual USB Type-C, OTG, 2xHost | other = | release_date = June 2016 | website = http://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html }} = Overview = RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications. = SoC Features = {| border="0" cellpadding="1" cellspacing="1" style="width: 972px;" |- | style="width: 530px;" | *CPU: **Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU **Frequency is over 1.8GHz (Big cluster) *GPU: **&nbsp;Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11 **Supports AFBC (ARM Frame Buffer Compression) *Display: **Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600 **Dual channel MIPI-DSI (4 lanes per channel) **eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR **HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2 **DisplayPort 1.2 (4 lanes, up to 4K 60Hz) **Supports Rec.2020 and conversion to Rec.709 *Camera: **&nbsp;Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels *Memory: **Dual channels 64-bit DRAM controller **Support DDR3/DDR3L, LPDDR3, LPDDR4 *Connectivity: **PCIe 2.1 (4 full-duplex lanes with 20Gbps) **Embedded low power MCU for other application **8 channels I2S supports 8 channels RX or 8 channels TX | style="width: 429px;" | [[File:RK3399 Block Diagram.png|RTENOTITLE]] |} &nbsp; = Documentation = #[http://10.10.10.12:8444/images/6/60/Rockchip_RK3399_Datasheet_V1.6-20170301.pdf Rockchip_RK3399_Datasheet_V1.6-20170301] #[http://10.10.10.12:8444/images/9/9e/RK_DDR_Support_List_Ver2.24.pdf RK_DDR_Support_List_Ver2.24] #[http://10.10.10.12:8444/images/2/27/RK3399_Linux_Debian_System_Development_Guide.pdf RK3399_Linux_Debian_System_Development_Guide] #[http://10.10.10.12:8444/images/7/7e/RK3399_Linux_Buildroot_System_Development_Guide.pdf RK3399_Linux_Buildroot_System_Development_Guide] = Software = == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" style="line-height: 1.6; width: 768px;" |- | style="width: 119px; text-align: center;" | '''board''' | style="width: 172px; text-align: center;" | '''kernel''' | style="width: 124px; text-align: center;" | '''uboot''' | style="width: 310px; text-align: center;" | '''dts''' |- | style="width: 119px; text-align: center;" | rk3399-excavator | style="width: 172px; text-align: center;" | rockchip_linux_defconfig | style="width: 124px; text-align: center;" | rk3399_linux_defconfig | style="width: 310px; text-align: center;" | rk3399-sapphire-excavator-linux.dts |} == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" style="width: 859px;" |- | style="width: 68px; text-align: center;" | '''chip''' | style="width: 181px; text-align: center;" | '''Kernel eMMC index''' | style="width: 142px; text-align: center;" | '''Kernel SD index''' | style="width: 158px; text-align: center;" | '''Uboot eMMC index''' | style="width: 146px; text-align: center;" | '''Uboot SD index''' | style="width: 132px; text-align: center;" | '''Baud speed''' |- | style="width: 68px; text-align: center;" | RK3399 | style="width: 181px; text-align: center;" | 1 | style="width: 142px; text-align: center;" | 0 | style="width: 158px; text-align: center;" | 0 | style="width: 146px; text-align: center;" | 1 | style="width: 132px; text-align: center;" | 1500000 |} &nbsp; == How to get the sources == The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code. RK3399 optimized Debian & Buildroot <pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml repo sync </pre> == How to build the sources == === Build Environment === You need a 64-bit&nbsp;Ubuntu. Note: old versions&nbsp;Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;"><br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so</div> Install&nbsp;ARM cross-compile tool chain and compile kernel relative&nbsp;software package:&nbsp; <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">$ sudo apt-get install gcc-arm-linux-gnueabihf&nbsp;gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev</div> &nbsp; === Building kernel &&nbsp;resource === For RK3399&nbsp;Excavator-sapphire&nbsp;board: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd kernel && make ARCH=arm64 rockchip_linux_defconfig && make ARCH=arm64 rk3399-sapphire-excavator-linux.img -j12 && cd ..</div> For&nbsp;Firefly-RK3399 board: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd kernel && make ARCH=arm64 rockchip_linux_defconfig && make ARCH=arm64 rk3399-firefly-mini-linux.img -j12 && cd ..</div> === Building uboot === For RK3399 optimized SDK (rkproduct uboot) <pre>cd u-boot && make rk3399_linux_defconfig && make ARCHV=aarch64 -j12 && cd .. </pre> === Building rootfs === ==== Debian ==== You could refer to [[Media:RK3399_Linux_Debian_System_Development_Guide.pdf|RK3399 Linux Debian System Development Guide]]&nbsp;from Rockchip to build rootfs yourselves. &nbsp; ==== Buildroot ==== <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd buildroot && make rockchip_rk3399_defconfig && cd .. && ./build_all.sh -j12 && ./mkfirmware.sh&nbsp;</div> In order to get more details,you could refer to [[Media:RK3399_Linux_Buildroot_System_Development_Guide.pdf|RK3399 Linux Buildroot System Development Guide]]. &nbsp; &nbsp; = Devices = Rockchip: [[Excavator_sapphire_board|Excavator_sapphire_board]] Firefly: [http://wiki.t-firefly.com/index.php/Firefly-RK3399 Firefly-RK3399] If you need the rk3399-excavator&nbsp;board, please communicate through&nbsp;the following&nbsp;contact information: <pre>Telephone: 4007700590 Email: service@rock-chips.com</pre> If you need the Firefly-RK3399 board,you can browse the following url&nbsp;for more details: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">[http://wiki.t-firefly.com/index.php/Firefly-RK3399 http://wiki.t-firefly.com/index.php/Firefly-RK3399]</div> = See also = [[RK3288|RK3288]] [[RK3328|RK3328]] = References = 43b35bbd5deb30c96ef242f56bb37b81ec17bc6b 594 593 2017-03-14T04:02:27Z Chery 9 wikitext text/x-wiki Rockchip RK3399 SoC integrates&nbsp;dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor, and with&nbsp;ARM Mali-T864 GPU. {{Infobox SoC | title = RK3399 | image = [[File:RK3399 Soc.png |200px]] | manufacturer = Rockcihp | process = 28nm | cpu = Dual-core Cortex-A72 up to 1.8GHz Quad-core Cortex-A53 up to 1.4GHz | ltwo = | extensions = | memory = Dual-channel DDR3/DDR3L/LPDDR3/LPDDR4 | gpu = ARM Mali-T860 Quad-core | vpu = | apu = | video = Dual VOP, Dual channel MIPI-DSI (4 lanes per channel), eDP 1.3 (4 lanes with 10.8Gbps), HDMI 2.0 with HDCP 1.4/2.2, DisplayPort 1.2 (4 lanes, up to 4K 60Hz) | audio = 8 channels I2S supports 8 channels RX or 8 channels TX, SPDIF | network = | storage = eMMC 5.1 and eMMC 5.0, SD3.0, MMC ver4.51 | usb = Dual USB Type-C, OTG, 2xHost | other = | release_date = May 2016 | website = http://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html }} = Overview = RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications. = SoC Features = {| border="0" cellpadding="1" cellspacing="1" style="width: 972px;" |- | style="width: 530px;" | *CPU: **Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU **Frequency is over 1.8GHz (Big cluster) *GPU: **&nbsp;Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11 **Supports AFBC (ARM Frame Buffer Compression) *Display: **Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600 **Dual channel MIPI-DSI (4 lanes per channel) **eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR **HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2 **DisplayPort 1.2 (4 lanes, up to 4K 60Hz) **Supports Rec.2020 and conversion to Rec.709 *Camera: **&nbsp;Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels *Memory: **Dual channels 64-bit DRAM controller **Support DDR3/DDR3L, LPDDR3, LPDDR4 *Connectivity: **PCIe 2.1 (4 full-duplex lanes with 20Gbps) **Embedded low power MCU for other application **8 channels I2S supports 8 channels RX or 8 channels TX | style="width: 429px;" | [[File:RK3399 Block Diagram.png|RTENOTITLE]] |} &nbsp; = Documentation = #[http://10.10.10.12:8444/images/6/60/Rockchip_RK3399_Datasheet_V1.6-20170301.pdf Rockchip_RK3399_Datasheet_V1.6-20170301] #[http://10.10.10.12:8444/images/9/9e/RK_DDR_Support_List_Ver2.24.pdf RK_DDR_Support_List_Ver2.24] #[http://10.10.10.12:8444/images/2/27/RK3399_Linux_Debian_System_Development_Guide.pdf RK3399_Linux_Debian_System_Development_Guide] #[http://10.10.10.12:8444/images/7/7e/RK3399_Linux_Buildroot_System_Development_Guide.pdf RK3399_Linux_Buildroot_System_Development_Guide] = Software = == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" style="line-height: 1.6; width: 768px;" |- | style="width: 119px; text-align: center;" | '''board''' | style="width: 172px; text-align: center;" | '''kernel''' | style="width: 124px; text-align: center;" | '''uboot''' | style="width: 310px; text-align: center;" | '''dts''' |- | style="width: 119px; text-align: center;" | rk3399-excavator | style="width: 172px; text-align: center;" | rockchip_linux_defconfig | style="width: 124px; text-align: center;" | rk3399_linux_defconfig | style="width: 310px; text-align: center;" | rk3399-sapphire-excavator-linux.dts |} == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" style="width: 859px;" |- | style="width: 68px; text-align: center;" | '''chip''' | style="width: 181px; text-align: center;" | '''Kernel eMMC index''' | style="width: 142px; text-align: center;" | '''Kernel SD index''' | style="width: 158px; text-align: center;" | '''Uboot eMMC index''' | style="width: 146px; text-align: center;" | '''Uboot SD index''' | style="width: 132px; text-align: center;" | '''Baud speed''' |- | style="width: 68px; text-align: center;" | RK3399 | style="width: 181px; text-align: center;" | 1 | style="width: 142px; text-align: center;" | 0 | style="width: 158px; text-align: center;" | 0 | style="width: 146px; text-align: center;" | 1 | style="width: 132px; text-align: center;" | 1500000 |} &nbsp; == How to get the sources == The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code. RK3399 optimized Debian & Buildroot <pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml repo sync </pre> == How to build the sources == === Build Environment === You need a 64-bit&nbsp;Ubuntu. Note: old versions&nbsp;Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;"><br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so</div> Install&nbsp;ARM cross-compile tool chain and compile kernel relative&nbsp;software package:&nbsp; <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">$ sudo apt-get install gcc-arm-linux-gnueabihf&nbsp;gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev</div> &nbsp; === Building kernel &&nbsp;resource === For RK3399&nbsp;Excavator-sapphire&nbsp;board: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd kernel && make ARCH=arm64 rockchip_linux_defconfig && make ARCH=arm64 rk3399-sapphire-excavator-linux.img -j12 && cd ..</div> For&nbsp;Firefly-RK3399 board: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd kernel && make ARCH=arm64 rockchip_linux_defconfig && make ARCH=arm64 rk3399-firefly-mini-linux.img -j12 && cd ..</div> === Building uboot === For RK3399 optimized SDK (rkproduct uboot) <pre>cd u-boot && make rk3399_linux_defconfig && make ARCHV=aarch64 -j12 && cd .. </pre> === Building rootfs === ==== Debian ==== You could refer to [[Media:RK3399_Linux_Debian_System_Development_Guide.pdf|RK3399 Linux Debian System Development Guide]]&nbsp;from Rockchip to build rootfs yourselves. &nbsp; ==== Buildroot ==== <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd buildroot && make rockchip_rk3399_defconfig && cd .. && ./build_all.sh -j12 && ./mkfirmware.sh&nbsp;</div> In order to get more details,you could refer to [[Media:RK3399_Linux_Buildroot_System_Development_Guide.pdf|RK3399 Linux Buildroot System Development Guide]]. &nbsp; &nbsp; = Devices = Rockchip: [[Excavator_sapphire_board|Excavator_sapphire_board]] Firefly: [http://wiki.t-firefly.com/index.php/Firefly-RK3399 Firefly-RK3399] If you need the rk3399-excavator&nbsp;board, please communicate through&nbsp;the following&nbsp;contact information: <pre>Telephone: 4007700590 Email: service@rock-chips.com</pre> If you need the Firefly-RK3399 board,you can browse the following url&nbsp;for more details: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">[http://wiki.t-firefly.com/index.php/Firefly-RK3399 http://wiki.t-firefly.com/index.php/Firefly-RK3399]</div> = See also = [[RK3288|RK3288]] [[RK3328|RK3328]] = References = 29febd8ecb6d93efa008f3d7c4db4252652b6369 596 594 2017-03-14T06:12:02Z Chery 9 wikitext text/x-wiki Rockchip RK3399 SoC integrates&nbsp;dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor, and with&nbsp;ARM Mali-T864 GPU. {{Infobox SoC | title = RK3399 | image = [[File:RK3399 Soc.png |200px]] | manufacturer = Rockcihp | process = 28nm | cpu = Dual-core Cortex-A72 up to 1.8GHz, Quad-core Cortex-A53 up to 1.4GHz | ltwo = | extensions = | memory = Dual-channel DDR3/DDR3L/LPDDR3/LPDDR4 | gpu = ARM Mali-T860 Quad-core | vpu = | apu = | video = Dual VOP, Dual channel MIPI-DSI (4 lanes per channel), eDP 1.3 (4 lanes with 10.8Gbps), HDMI 2.0 with HDCP 1.4/2.2, DisplayPort 1.2 (4 lanes, up to 4K 60Hz) | audio = 8 channels I2S supports 8 channels RX or 8 channels TX, SPDIF | network = | storage = eMMC 5.1 and eMMC 5.0, SD3.0, MMC ver4.51 | usb = Dual USB Type-C, OTG, 2xHost | other = | release_date = May 2016 | website = http://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html }} = Overview = RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications. = SoC Features = {| border="0" cellpadding="1" cellspacing="1" style="width: 972px;" |- | style="width: 530px;" | *CPU: **Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU **Frequency is over 1.8GHz (Big cluster) *GPU: **&nbsp;Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11 **Supports AFBC (ARM Frame Buffer Compression) *Display: **Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600 **Dual channel MIPI-DSI (4 lanes per channel) **eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR **HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2 **DisplayPort 1.2 (4 lanes, up to 4K 60Hz) **Supports Rec.2020 and conversion to Rec.709 *Camera: **&nbsp;Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels *Memory: **Dual channels 64-bit DRAM controller **Support DDR3/DDR3L, LPDDR3, LPDDR4 *Connectivity: **PCIe 2.1 (4 full-duplex lanes with 20Gbps) **Embedded low power MCU for other application **8 channels I2S supports 8 channels RX or 8 channels TX | style="width: 429px;" | [[File:RK3399 Block Diagram.png|RTENOTITLE]] |} &nbsp; = Documentation = #[http://10.10.10.12:8444/images/6/60/Rockchip_RK3399_Datasheet_V1.6-20170301.pdf Rockchip_RK3399_Datasheet_V1.6-20170301] #[http://10.10.10.12:8444/images/9/9e/RK_DDR_Support_List_Ver2.24.pdf RK_DDR_Support_List_Ver2.24] #[http://10.10.10.12:8444/images/2/27/RK3399_Linux_Debian_System_Development_Guide.pdf RK3399_Linux_Debian_System_Development_Guide] #[http://10.10.10.12:8444/images/7/7e/RK3399_Linux_Buildroot_System_Development_Guide.pdf RK3399_Linux_Buildroot_System_Development_Guide] = Software = == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" style="line-height: 1.6; width: 768px;" |- | style="width: 119px; text-align: center;" | '''board''' | style="width: 172px; text-align: center;" | '''kernel''' | style="width: 124px; text-align: center;" | '''uboot''' | style="width: 310px; text-align: center;" | '''dts''' |- | style="width: 119px; text-align: center;" | rk3399-excavator | style="width: 172px; text-align: center;" | rockchip_linux_defconfig | style="width: 124px; text-align: center;" | rk3399_linux_defconfig | style="width: 310px; text-align: center;" | rk3399-sapphire-excavator-linux.dts |} == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" style="width: 859px;" |- | style="width: 68px; text-align: center;" | '''chip''' | style="width: 181px; text-align: center;" | '''Kernel eMMC index''' | style="width: 142px; text-align: center;" | '''Kernel SD index''' | style="width: 158px; text-align: center;" | '''Uboot eMMC index''' | style="width: 146px; text-align: center;" | '''Uboot SD index''' | style="width: 132px; text-align: center;" | '''Baud speed''' |- | style="width: 68px; text-align: center;" | RK3399 | style="width: 181px; text-align: center;" | 1 | style="width: 142px; text-align: center;" | 0 | style="width: 158px; text-align: center;" | 0 | style="width: 146px; text-align: center;" | 1 | style="width: 132px; text-align: center;" | 1500000 |} &nbsp; == How to get the sources == The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code. RK3399 optimized Debian & Buildroot <pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml repo sync </pre> == How to build the sources == === Build Environment === You need a 64-bit&nbsp;Ubuntu. Note: old versions&nbsp;Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;"><br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so</div> Install&nbsp;ARM cross-compile tool chain and compile kernel relative&nbsp;software package:&nbsp; <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">$ sudo apt-get install gcc-arm-linux-gnueabihf&nbsp;gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev</div> &nbsp; === Building kernel &&nbsp;resource === For RK3399&nbsp;Excavator-sapphire&nbsp;board: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd kernel && make ARCH=arm64 rockchip_linux_defconfig && make ARCH=arm64 rk3399-sapphire-excavator-linux.img -j12 && cd ..</div> For&nbsp;Firefly-RK3399 board: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd kernel && make ARCH=arm64 rockchip_linux_defconfig && make ARCH=arm64 rk3399-firefly-mini-linux.img -j12 && cd ..</div> === Building uboot === For RK3399 optimized SDK (rkproduct uboot) <pre>cd u-boot && make rk3399_linux_defconfig && make ARCHV=aarch64 -j12 && cd .. </pre> === Building rootfs === ==== Debian ==== You could refer to [[Media:RK3399_Linux_Debian_System_Development_Guide.pdf|RK3399 Linux Debian System Development Guide]]&nbsp;from Rockchip to build rootfs yourselves. &nbsp; ==== Buildroot ==== <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd buildroot && make rockchip_rk3399_defconfig && cd .. && ./build_all.sh -j12 && ./mkfirmware.sh&nbsp;</div> In order to get more details,you could refer to [[Media:RK3399_Linux_Buildroot_System_Development_Guide.pdf|RK3399 Linux Buildroot System Development Guide]]. &nbsp; &nbsp; = Devices = Rockchip: [[Excavator_sapphire_board|Excavator_sapphire_board]] Firefly: [http://wiki.t-firefly.com/index.php/Firefly-RK3399 Firefly-RK3399] If you need the rk3399-excavator&nbsp;board, please communicate through&nbsp;the following&nbsp;contact information: <pre>Telephone: 4007700590 Email: service@rock-chips.com</pre> If you need the Firefly-RK3399 board,you can browse the following url&nbsp;for more details: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">[http://wiki.t-firefly.com/index.php/Firefly-RK3399 http://wiki.t-firefly.com/index.php/Firefly-RK3399]</div> = See also = [[RK3288|RK3288]] [[RK3328|RK3328]] = References = 049ef3a20034b53ff94dee09fbdb50fb4c27e261 604 596 2017-03-14T06:29:14Z Kevan 10 wikitext text/x-wiki Rockchip RK3399 SoC integrates&nbsp;dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor, and with&nbsp;ARM Mali-T864 GPU. {{Infobox SoC | title = RK3399 | image = [[File:RK3399 Soc.png |200px]] | manufacturer = Rockcihp | process = 28nm | cpu = Dual-core Cortex-A72 up to 1.8GHz, Quad-core Cortex-A53 up to 1.4GHz | ltwo = | extensions = | memory = Dual-channel DDR3/DDR3L/LPDDR3/LPDDR4 | gpu = ARM Mali-T860 Quad-core | vpu = | apu = | video = Dual VOP, Dual channel MIPI-DSI (4 lanes per channel), eDP 1.3 (4 lanes with 10.8Gbps), HDMI 2.0 with HDCP 1.4/2.2, DisplayPort 1.2 (4 lanes, up to 4K 60Hz) | audio = 8 channels I2S supports 8 channels RX or 8 channels TX, SPDIF | network = | storage = eMMC 5.1 and eMMC 5.0, SD3.0, MMC ver4.51 | usb = Dual USB Type-C, OTG, 2xHost | other = | release_date = May 2016 | website = http://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html }} = Overview = RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications. = SoC Features = {| border="0" cellpadding="1" cellspacing="1" style="width: 972px;" |- | style="width: 530px;" | *CPU: **Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU **Frequency is over 1.8GHz (Big cluster) *GPU: **&nbsp;Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11 **Supports AFBC (ARM Frame Buffer Compression) *Display: **Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600 **Dual channel MIPI-DSI (4 lanes per channel) **eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR **HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2 **DisplayPort 1.2 (4 lanes, up to 4K 60Hz) **Supports Rec.2020 and conversion to Rec.709 *Camera: **&nbsp;Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels *Memory: **Dual channels 64-bit DRAM controller **Support DDR3/DDR3L, LPDDR3, LPDDR4 *Connectivity: **PCIe 2.1 (4 full-duplex lanes with 20Gbps) **Embedded low power MCU for other application **8 channels I2S supports 8 channels RX or 8 channels TX | style="width: 429px;" | [[File:RK3399 Block Diagram.png|RTENOTITLE]] |} &nbsp; = Documentation = #[http://10.10.10.12:8444/images/6/60/Rockchip_RK3399_Datasheet_V1.6-20170301.pdf Rockchip_RK3399_Datasheet_V1.6-20170301] #[http://10.10.10.12:8444/images/9/9e/RK_DDR_Support_List_Ver2.24.pdf RK_DDR_Support_List_Ver2.24] #[http://10.10.10.12:8444/images/2/27/RK3399_Linux_Debian_System_Development_Guide.pdf RK3399_Linux_Debian_System_Development_Guide] #[http://10.10.10.12:8444/images/7/7e/RK3399_Linux_Buildroot_System_Development_Guide.pdf RK3399_Linux_Buildroot_System_Development_Guide] = Software = == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" style="line-height: 1.6; width: 768px;" |- | style="width: 119px; text-align: center;" | '''board''' | style="width: 172px; text-align: center;" | '''kernel''' | style="width: 124px; text-align: center;" | '''uboot''' | style="width: 310px; text-align: center;" | '''dts''' |- | style="width: 119px; text-align: center;" | rk3399-excavator | style="width: 172px; text-align: center;" | rockchip_linux_defconfig | style="width: 124px; text-align: center;" | rk3399_linux_defconfig | style="width: 310px; text-align: center;" | rk3399-sapphire-excavator-linux.dts |} == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" style="width: 859px;" |- | style="width: 68px; text-align: center;" | '''chip''' | style="width: 181px; text-align: center;" | '''Kernel eMMC index''' | style="width: 142px; text-align: center;" | '''Kernel SD index''' | style="width: 158px; text-align: center;" | '''Uboot eMMC index''' | style="width: 146px; text-align: center;" | '''Uboot SD index''' | style="width: 132px; text-align: center;" | '''Baud speed''' |- | style="width: 68px; text-align: center;" | RK3399 | style="width: 181px; text-align: center;" | 1 | style="width: 142px; text-align: center;" | 0 | style="width: 158px; text-align: center;" | 0 | style="width: 146px; text-align: center;" | 1 | style="width: 132px; text-align: center;" | 1500000 |} &nbsp; == How to get the sources == The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code. RK3399 optimized Debian & Buildroot <pre>repo init -u https://github.com/rockchip-linux/manifests -m rk3399.xml repo sync </pre> == How to build the sources == === Build Environment === You need a 64-bit&nbsp;Ubuntu. Note: old versions&nbsp;Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;"><br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so</div> Install&nbsp;ARM cross-compile tool chain and compile kernel relative&nbsp;software package:&nbsp; <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">$ sudo apt-get install gcc-arm-linux-gnueabihf&nbsp;gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev</div> &nbsp; === Building kernel &&nbsp;resource === For RK3399&nbsp;Excavator-sapphire&nbsp;board: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd kernel && make ARCH=arm64 rockchip_linux_defconfig && make ARCH=arm64 rk3399-sapphire-excavator-linux.img -j12 && cd ..</div> For&nbsp;Firefly-RK3399 board: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd kernel && make ARCH=arm64 rockchip_linux_defconfig && make ARCH=arm64 rk3399-firefly-mini-linux.img -j12 && cd ..</div> === Building uboot === For RK3399 optimized SDK (rkproduct uboot) <pre>cd u-boot && make rk3399_linux_defconfig && make ARCHV=aarch64 -j12 && cd .. </pre> === Building rootfs === ==== Debian ==== You could refer to [[Media:RK3399_Linux_Debian_System_Development_Guide.pdf|RK3399 Linux Debian System Development Guide]]&nbsp;from Rockchip to build rootfs yourselves. &nbsp; ==== Buildroot ==== <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd buildroot && make rockchip_rk3399_defconfig && cd .. && ./build_all.sh -j12 && ./mkfirmware.sh&nbsp;</div> In order to get more details,you could refer to [[Media:RK3399_Linux_Buildroot_System_Development_Guide.pdf|RK3399 Linux Buildroot System Development Guide]]. &nbsp; &nbsp; = Devices = Rockchip: [[Excavator_sapphire_board|Excavator_sapphire_board]] Firefly: [http://wiki.t-firefly.com/index.php/Firefly-RK3399 Firefly-RK3399] If you need the rk3399-excavator&nbsp;board, please communicate through&nbsp;the following&nbsp;contact information: <pre>Telephone: 4007700590 Email: service@rock-chips.com</pre> If you need the Firefly-RK3399 board,you can browse the following url&nbsp;for more details: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">[http://wiki.t-firefly.com/index.php/Firefly-RK3399 http://wiki.t-firefly.com/index.php/Firefly-RK3399]</div> = See also = [[RK3288|RK3288]] [[RK3328|RK3328]] = References = 92b6fd4df870f7153e57ba4d24b9bf9f431b990f File:RK3399 Excavator Board.jpg 6 98 595 2017-03-14T06:10:48Z Chery 9 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 Excavator sapphire board 0 59 606 605 2017-03-14T06:30:05Z Chery 9 wikitext text/x-wiki {{Infobox | image = [[File:RK3399 Excavator Board.jpg |500px]] }} = Rockchip github = You can download code from github: <!--StartFragment --> repo&nbsp;init&nbsp;-u&nbsp;[https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests]&nbsp;-m&nbsp;rk3399.xml<br/> repo&nbsp;sync = Upstream status&nbsp; &nbsp; = - upstream代码支持情况, 给出相关配置, 具体使用指向通用guide链接<br/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; = Documentation = [[Media:RK3399_EVB_User_Guide-20160920.pdf|RK3399 EVB User Guide]] [[Media:Design_documents.rar|Design documents]] [[Media:RK3399_VR&TABLET_V1.2_20170111.rar|RK3399_VR&TABLET_V1.2_20170111]] [[Media:RK3399_BOX_REF_V10_20170112.rar|RK3399 BOX reference design]] [[Media:Component_datasheet.rar|Component datasheet]] == RK3399 Excavator EVB == [[Media:RK_Excavator_MainBoard.rar|RK_Excavator_MainBoard]] [[Media:RK_Excavator_ExtBoard_MipiDisplay.rar|RK_Excavator_ExtBoard_MipiDisplay]] [[Media:RK_Sapphire_RK3399.rar|RK_Sapphire_RK3399]] = Image = &nbsp;You can download image directly from below link if available. &nbsp; = See also = Firefly: [http://wiki.t-firefly.com/index.php/Firefly-RK3399 Firefly-RK3399] = References = &nbsp;&nbsp;&nbsp; - References, 其他有价值的链接, 如不同Distribution官方网站介绍该板子boot指南, 板子的官方网页. a6d0a1a0898de164be6029c12ded571ee7d55661 613 606 2017-03-14T09:46:09Z Chery 9 wikitext text/x-wiki {{Infobox | image = [[File:RK3399 Excavator Board.jpg |500px]] }} = Rockchip github = You can download code from github: <!--StartFragment --> repo&nbsp;init&nbsp;-u&nbsp;[https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests]&nbsp;-m&nbsp;rk3399.xml<br/> repo&nbsp;sync = Upstream&nbsp; &nbsp; = WIP... = Documentation = [[Media:RK3399_EVB_User_Guide-20160920.pdf|RK3399 EVB User Guide]] [[Media:Design_documents.rar|Design documents]] [[Media:RK3399_VR&TABLET_V1.2_20170111.rar|RK3399_VR&TABLET_V1.2_20170111]] [[Media:RK3399_BOX_REF_V10_20170112.rar|RK3399 BOX reference design]] [[Media:Component_datasheet.rar|Component datasheet]] == RK3399 Excavator EVB == [[Media:RK_Excavator_MainBoard.rar|RK_Excavator_MainBoard]] [[Media:RK_Excavator_ExtBoard_MipiDisplay.rar|RK_Excavator_ExtBoard_MipiDisplay]] [[Media:RK_Sapphire_RK3399.rar|RK_Sapphire_RK3399]] = Image = &nbsp;You can download image directly from below link if available. &nbsp; = See also = Firefly: [http://wiki.t-firefly.com/index.php/Firefly-RK3399 Firefly-RK3399] = References = &nbsp;&nbsp;&nbsp; - References, 其他有价值的链接, 如不同Distribution官方网站介绍该板子boot指南, 板子的官方网页. 69323193dee6d5a576b77590ad9071535db397cb 637 613 2017-03-15T09:37:47Z Chery 9 wikitext text/x-wiki {{Infobox | image = [[File:RK3399 Excavator Board.jpg |500px]] }} = Rockchip github = You can download code from github: <!--StartFragment --> repo&nbsp;init&nbsp;-u&nbsp;[https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests]&nbsp;-m&nbsp;rk3399.xml<br/> repo&nbsp;sync = Upstream&nbsp; &nbsp; = WIP... = Documentation = [[Media:RK3399_EVB_User_Guide-20160920.pdf|RK3399 EVB User Guide]] [[Media:Design_documents.rar|Design documents]] [[Media:RK3399_VR&TABLET_V1.2_20170111.rar|RK3399_VR&TABLET_V1.2_20170111]] [[Media:RK3399_BOX_REF_V10_20170112.rar|RK3399 BOX reference design]] [[Media:Component_datasheet.rar|Component datasheet]] == RK3399 Excavator EVB == [[Media:RK_Excavator_MainBoard.rar|RK_Excavator_MainBoard]] [[Media:RK_Excavator_ExtBoard_MipiDisplay.rar|RK_Excavator_ExtBoard_MipiDisplay]] [[Media:RK_Sapphire_RK3399.rar|RK_Sapphire_RK3399]] = Image = &nbsp;You can download image directly from below link if available. &nbsp; = See also = Firefly: [http://wiki.t-firefly.com/index.php/Firefly-RK3399 Firefly-RK3399] = References = &nbsp;&nbsp;http://www.rock-chips.com/a/en/News/Press_Releases/2017/0224/832.html db9aaa3be4909917a89e4e1ba42c225a50f22abd RK3399 0 21 607 604 2017-03-14T06:36:47Z Chery 9 wikitext text/x-wiki Rockchip RK3399 SoC integrates&nbsp;dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor, and with&nbsp;ARM Mali-T864 GPU. {{Infobox SoC | title = RK3399 | image = [[File:RK3399 Soc.png |200px]] | manufacturer = Rockcihp | process = 28nm | cpu = Dual-core Cortex-A72 up to 1.8GHz, Quad-core Cortex-A53 up to 1.4GHz | ltwo = | extensions = | memory = Dual-channel DDR3/DDR3L/LPDDR3/LPDDR4 | gpu = ARM Mali-T860 Quad-core | vpu = | apu = | video = Dual VOP, Dual channel MIPI-DSI (4 lanes per channel), eDP 1.3 (4 lanes with 10.8Gbps), HDMI 2.0 with HDCP 1.4/2.2, DisplayPort 1.2 (4 lanes, up to 4K 60Hz) | audio = 8 channels I2S supports 8 channels RX or 8 channels TX, SPDIF | network = | storage = eMMC 5.1 and eMMC 5.0, SD3.0, MMC ver4.51 | usb = Dual USB Type-C, OTG, 2xHost | other = | release_date = May 2016 | website = http://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html }} = Overview = RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications. = SoC Features = {| border="0" cellpadding="1" cellspacing="1" style="width: 972px;" |- | style="width: 530px;" | *CPU: **Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU **Frequency is over 1.8GHz (Big cluster) *GPU: **&nbsp;Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11 **Supports AFBC (ARM Frame Buffer Compression) *Display: **Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600 **Dual channel MIPI-DSI (4 lanes per channel) **eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR **HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2 **DisplayPort 1.2 (4 lanes, up to 4K 60Hz) **Supports Rec.2020 and conversion to Rec.709 *Camera: **&nbsp;Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels *Memory: **Dual channels 64-bit DRAM controller **Support DDR3/DDR3L, LPDDR3, LPDDR4 *Connectivity: **PCIe 2.1 (4 full-duplex lanes with 20Gbps) **Embedded low power MCU for other application **8 channels I2S supports 8 channels RX or 8 channels TX | style="width: 429px;" | [[File:RK3399 Block Diagram.png|RTENOTITLE]] |} &nbsp; = Documentation = #[http://10.10.10.12:8444/images/6/60/Rockchip_RK3399_Datasheet_V1.6-20170301.pdf Rockchip_RK3399_Datasheet_V1.6-20170301] #[http://10.10.10.12:8444/images/9/9e/RK_DDR_Support_List_Ver2.24.pdf RK_DDR_Support_List_Ver2.24] #[http://10.10.10.12:8444/images/2/27/RK3399_Linux_Debian_System_Development_Guide.pdf RK3399_Linux_Debian_System_Development_Guide] #[http://10.10.10.12:8444/images/7/7e/RK3399_Linux_Buildroot_System_Development_Guide.pdf RK3399_Linux_Buildroot_System_Development_Guide] = Software = == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" style="line-height: 1.6; width: 768px;" |- | style="width: 119px; text-align: center;" | '''board''' | style="width: 172px; text-align: center;" | '''kernel''' | style="width: 124px; text-align: center;" | '''uboot''' | style="width: 310px; text-align: center;" | '''dts''' |- | style="width: 119px; text-align: center;" | rk3399-excavator | style="width: 172px; text-align: center;" | rockchip_linux_defconfig | style="width: 124px; text-align: center;" | rk3399_linux_defconfig | style="width: 310px; text-align: center;" | rk3399-sapphire-excavator-linux.dts |} == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" style="width: 859px;" |- | style="width: 68px; text-align: center;" | '''chip''' | style="width: 181px; text-align: center;" | '''Kernel eMMC index''' | style="width: 142px; text-align: center;" | '''Kernel SD index''' | style="width: 158px; text-align: center;" | '''Uboot eMMC index''' | style="width: 146px; text-align: center;" | '''Uboot SD index''' | style="width: 132px; text-align: center;" | '''Baud speed''' |- | style="width: 68px; text-align: center;" | RK3399 | style="width: 181px; text-align: center;" | 1 | style="width: 142px; text-align: center;" | 0 | style="width: 158px; text-align: center;" | 0 | style="width: 146px; text-align: center;" | 1 | style="width: 132px; text-align: center;" | 1500000 |} &nbsp; == How to get the sources == The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code. RK3399 optimized Debian & Buildroot <pre>repo init -u https://github.com/rockchip-linux/manifests -m rk3399.xml repo sync </pre> == How to build the sources == === Build Environment === You need a 64-bit&nbsp;Ubuntu. Note: old versions&nbsp;Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;"><br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so</div> Install&nbsp;ARM cross-compile tool chain and compile kernel relative&nbsp;software package:&nbsp; <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">$ sudo apt-get install gcc-arm-linux-gnueabihf&nbsp;gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev</div> &nbsp; === Building kernel &&nbsp;resource === For RK3399&nbsp;Excavator-sapphire&nbsp;board: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd kernel && make ARCH=arm64 rockchip_linux_defconfig && make ARCH=arm64 rk3399-sapphire-excavator-linux.img -j12 && cd ..</div> For&nbsp;Firefly-RK3399 board: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd kernel && make ARCH=arm64 rockchip_linux_defconfig && make ARCH=arm64 rk3399-firefly-mini-linux.img -j12 && cd ..</div> === Building uboot === For RK3399 optimized SDK (rkproduct uboot) <pre>cd u-boot && make rk3399_linux_defconfig && make ARCHV=aarch64 -j12 && cd .. </pre> === Building rootfs === ==== Debian ==== You could refer to [[Media:RK3399_Linux_Debian_System_Development_Guide.pdf|RK3399 Linux Debian System Development Guide]]&nbsp;from Rockchip to build rootfs yourselves. &nbsp; ==== Buildroot ==== <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd buildroot && make rockchip_rk3399_defconfig && cd .. && ./build_all.sh -j12 && ./mkfirmware.sh&nbsp;</div> In order to get more details,you could refer to [[Media:RK3399_Linux_Buildroot_System_Development_Guide.pdf|RK3399 Linux Buildroot System Development Guide]]. &nbsp; &nbsp; = Devices = Rockchip: [[Excavator_sapphire_board|Excavator_sapphire_board]] Firefly: [http://wiki.t-firefly.com/index.php/Firefly-RK3399 Firefly-RK3399] If you need the rk3399-excavator&nbsp;board, please communicate through&nbsp;the following&nbsp;contact information: <pre>Telephone: 4007700590 Email: service@rock-chips.com</pre> If you need the Firefly-RK3399 board,you can browse the following url&nbsp;for more details: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">[http://wiki.t-firefly.com/index.php/Firefly-RK3399 http://wiki.t-firefly.com/index.php/Firefly-RK3399]</div> = See also = [[RK3288|RK3288]] [[RK3328|RK3328]] = References = https://en.wikipedia.org/wiki/ARM_Cortex-A72 http://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html d420a620aaa53ee471e25de4ad737a9ce1af0e62 608 607 2017-03-14T06:38:15Z Chery 9 wikitext text/x-wiki Rockchip RK3399 SoC integrates&nbsp;dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor, and with&nbsp;ARM Mali-T864 GPU. {{Infobox SoC | title = RK3399 | image = [[File:RK3399 Soc.png |200px]] | manufacturer = Rockcihp | process = 28nm | cpu = Dual-core Cortex-A72 up to 1.8GHz, Quad-core Cortex-A53 up to 1.4GHz | ltwo = | extensions = | memory = Dual-channel DDR3/DDR3L/LPDDR3/LPDDR4 | gpu = ARM Mali-T860 Quad-core | vpu = | apu = | video = Dual VOP, Dual channel MIPI-DSI (4 lanes per channel), eDP 1.3 (4 lanes with 10.8Gbps), HDMI 2.0 with HDCP 1.4/2.2, DisplayPort 1.2 (4 lanes, up to 4K 60Hz) | audio = 8 channels I2S supports 8 channels RX or 8 channels TX, SPDIF | network = | storage = eMMC 5.1 and eMMC 5.0, SD3.0, MMC ver4.51 | usb = Dual USB Type-C, OTG, 2xHost | other = | release_date = May 2016 | website = http://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html }} = Overview = RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications. = SoC Features = {| border="0" cellpadding="1" cellspacing="1" style="width: 972px;" |- | style="width: 530px;" | *CPU: **Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU **Frequency is over 1.8GHz (Big cluster) *GPU: **&nbsp;Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11 **Supports AFBC (ARM Frame Buffer Compression) *Display: **Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600 **Dual channel MIPI-DSI (4 lanes per channel) **eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR **HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2 **DisplayPort 1.2 (4 lanes, up to 4K 60Hz) **Supports Rec.2020 and conversion to Rec.709 *Camera: **&nbsp;Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels *Memory: **Dual channels 64-bit DRAM controller **Support DDR3/DDR3L, LPDDR3, LPDDR4 *Connectivity: **PCIe 2.1 (4 full-duplex lanes with 20Gbps) **Embedded low power MCU for other application **8 channels I2S supports 8 channels RX or 8 channels TX | style="width: 429px;" | [[File:RK3399 Block Diagram.png|RTENOTITLE]] |} = Documentation = #[http://10.10.10.12:8444/images/6/60/Rockchip_RK3399_Datasheet_V1.6-20170301.pdf Rockchip_RK3399_Datasheet_V1.6-20170301] #[http://10.10.10.12:8444/images/9/9e/RK_DDR_Support_List_Ver2.24.pdf RK_DDR_Support_List_Ver2.24] #[http://10.10.10.12:8444/images/2/27/RK3399_Linux_Debian_System_Development_Guide.pdf RK3399_Linux_Debian_System_Development_Guide] #[http://10.10.10.12:8444/images/7/7e/RK3399_Linux_Buildroot_System_Development_Guide.pdf RK3399_Linux_Buildroot_System_Development_Guide] = Software = == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" style="line-height: 1.6; width: 768px;" |- | style="width: 119px; text-align: center;" | '''board''' | style="width: 172px; text-align: center;" | '''kernel''' | style="width: 124px; text-align: center;" | '''uboot''' | style="width: 310px; text-align: center;" | '''dts''' |- | style="width: 119px; text-align: center;" | rk3399-excavator | style="width: 172px; text-align: center;" | rockchip_linux_defconfig | style="width: 124px; text-align: center;" | rk3399_linux_defconfig | style="width: 310px; text-align: center;" | rk3399-sapphire-excavator-linux.dts |} == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" style="width: 859px;" |- | style="width: 68px; text-align: center;" | '''chip''' | style="width: 181px; text-align: center;" | '''Kernel eMMC index''' | style="width: 142px; text-align: center;" | '''Kernel SD index''' | style="width: 158px; text-align: center;" | '''Uboot eMMC index''' | style="width: 146px; text-align: center;" | '''Uboot SD index''' | style="width: 132px; text-align: center;" | '''Baud speed''' |- | style="width: 68px; text-align: center;" | RK3399 | style="width: 181px; text-align: center;" | 1 | style="width: 142px; text-align: center;" | 0 | style="width: 158px; text-align: center;" | 0 | style="width: 146px; text-align: center;" | 1 | style="width: 132px; text-align: center;" | 1500000 |} == How to get the sources == The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code. RK3399 optimized Debian & Buildroot <pre>repo init -u https://github.com/rockchip-linux/manifests -m rk3399.xml repo sync </pre> == How to build the sources == === Build Environment === You need a 64-bit&nbsp;Ubuntu. Note: old versions&nbsp;Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;"><br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so</div> Install&nbsp;ARM cross-compile tool chain and compile kernel relative&nbsp;software package:&nbsp; <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">$ sudo apt-get install gcc-arm-linux-gnueabihf&nbsp;gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev</div> === Building kernel &&nbsp;resource === For RK3399&nbsp;Excavator-sapphire&nbsp;board: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd kernel && make ARCH=arm64 rockchip_linux_defconfig && make ARCH=arm64 rk3399-sapphire-excavator-linux.img -j12 && cd ..</div> For&nbsp;Firefly-RK3399 board: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd kernel && make ARCH=arm64 rockchip_linux_defconfig && make ARCH=arm64 rk3399-firefly-mini-linux.img -j12 && cd ..</div> === Building uboot === For RK3399 optimized SDK (rkproduct uboot) <pre>cd u-boot && make rk3399_linux_defconfig && make ARCHV=aarch64 -j12 && cd .. </pre> === Building rootfs === ==== Debian ==== You could refer to [[Media:RK3399_Linux_Debian_System_Development_Guide.pdf|RK3399 Linux Debian System Development Guide]]&nbsp;from Rockchip to build rootfs yourselves. ==== Buildroot ==== <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd buildroot && make rockchip_rk3399_defconfig && cd .. && ./build_all.sh -j12 && ./mkfirmware.sh&nbsp;</div> In order to get more details,you could refer to [[Media:RK3399_Linux_Buildroot_System_Development_Guide.pdf|RK3399 Linux Buildroot System Development Guide]]. = Devices = Rockchip: [[Excavator_sapphire_board|Excavator_sapphire_board]] Firefly: [http://wiki.t-firefly.com/index.php/Firefly-RK3399 Firefly-RK3399] If you need the rk3399-excavator&nbsp;board, please communicate through&nbsp;the following&nbsp;contact information: <pre>Telephone: 4007700590 Email: service@rock-chips.com</pre> If you need the Firefly-RK3399 board,you can browse the following url&nbsp;for more details: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">[http://wiki.t-firefly.com/index.php/Firefly-RK3399 http://wiki.t-firefly.com/index.php/Firefly-RK3399]</div> = See also = [[RK3288|RK3288]] [[RK3328|RK3328]] = References = [https://en.wikipedia.org/wiki/ARM_Cortex-A72 https://en.wikipedia.org/wiki/ARM_Cortex-A72] [http://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html http://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html] bcd0cdd366301bf5a24174b8b123c8d7fa2a216e 609 608 2017-03-14T06:53:02Z Chery 9 wikitext text/x-wiki Rockchip RK3399 SoC integrates&nbsp;dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor, and with&nbsp;ARM Mali-T864 GPU. {{Infobox SoC | title = RK3399 | image = [[File:RK3399 Soc.png |200px]] | manufacturer = Rockcihp | process = 28nm | cpu = Dual-core Cortex-A72 up to 1.8GHz, Quad-core Cortex-A53 up to 1.4GHz | ltwo = | extensions = | memory = Dual-channel DDR3/DDR3L/LPDDR3/LPDDR4 | gpu = ARM Mali-T860 Quad-core | vpu = | apu = | video = Dual VOP, Dual channel MIPI-DSI (4 lanes per channel), eDP 1.3 (4 lanes with 10.8Gbps), HDMI 2.0 with HDCP 1.4/2.2, DisplayPort 1.2 (4 lanes, up to 4K 60Hz) | audio = 8 channels I2S supports 8 channels RX or 8 channels TX, SPDIF | network = | storage = eMMC 5.1 and eMMC 5.0, SD3.0, MMC ver4.51 | usb = Dual USB Type-C, OTG, 2xHost | other = | release_date = May 2016 | website = http://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html }} = Overview = RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications. = SoC Features = {| border="0" cellpadding="1" cellspacing="1" style="width: 972px;" |- | style="width: 530px;" | *CPU: **Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU **Frequency is over 1.8GHz (Big cluster) *GPU: **&nbsp;Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11 **Supports AFBC (ARM Frame Buffer Compression) *Display: **Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600 **Dual channel MIPI-DSI (4 lanes per channel) **eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR **HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2 **DisplayPort 1.2 (4 lanes, up to 4K 60Hz) **Supports Rec.2020 and conversion to Rec.709 *Camera: **&nbsp;Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels *Memory: **Dual channels 64-bit DRAM controller **Support DDR3/DDR3L, LPDDR3, LPDDR4 *Connectivity: **PCIe 2.1 (4 full-duplex lanes with 20Gbps) **Embedded low power MCU for other application **8 channels I2S supports 8 channels RX or 8 channels TX | style="width: 429px;" | [[File:RK3399 Block Diagram.png|RTENOTITLE]] |} = Documentation = #[http://10.10.10.12:8444/images/6/60/Rockchip_RK3399_Datasheet_V1.6-20170301.pdf Rockchip_RK3399_Datasheet_V1.6-20170301] #[http://10.10.10.12:8444/images/9/9e/RK_DDR_Support_List_Ver2.24.pdf RK_DDR_Support_List_Ver2.24] #[http://10.10.10.12:8444/images/2/27/RK3399_Linux_Debian_System_Development_Guide.pdf RK3399_Linux_Debian_System_Development_Guide] #[http://10.10.10.12:8444/images/7/7e/RK3399_Linux_Buildroot_System_Development_Guide.pdf RK3399_Linux_Buildroot_System_Development_Guide] = Software = == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" style="line-height: 1.6; width: 768px;" |- | style="width: 119px; text-align: center;" | '''board''' | style="width: 172px; text-align: center;" | '''kernel''' | style="width: 124px; text-align: center;" | '''uboot''' | style="width: 310px; text-align: center;" | '''dts''' |- | style="width: 119px; text-align: center;" | rk3399-excavator | style="width: 172px; text-align: center;" | rockchip_linux_defconfig | style="width: 124px; text-align: center;" | rk3399_linux_defconfig | style="width: 310px; text-align: center;" | rk3399-sapphire-excavator-linux.dts |} == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" style="width: 859px;" |- | style="width: 68px; text-align: center;" | '''chip''' | style="width: 181px; text-align: center;" | '''Kernel eMMC index''' | style="width: 142px; text-align: center;" | '''Kernel SD index''' | style="width: 158px; text-align: center;" | '''Uboot eMMC index''' | style="width: 146px; text-align: center;" | '''Uboot SD index''' | style="width: 132px; text-align: center;" | '''Baud speed''' |- | style="width: 68px; text-align: center;" | RK3399 | style="width: 181px; text-align: center;" | 1 | style="width: 142px; text-align: center;" | 0 | style="width: 158px; text-align: center;" | 0 | style="width: 146px; text-align: center;" | 1 | style="width: 132px; text-align: center;" | 1500000 |} == How to get the sources == The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code. RK3399 optimized Debian & Buildroot <pre>repo init -u https://github.com/rockchip-linux/manifests -m rk3399.xml repo sync </pre> == How to build the sources == === Build Environment === You need a 64-bit&nbsp;Ubuntu. Note: old versions&nbsp;Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;"><br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so</div> Install&nbsp;ARM cross-compile tool chain and compile kernel relative&nbsp;software package:&nbsp; <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">$ sudo apt-get install gcc-arm-linux-gnueabihf&nbsp;gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev</div> === Building kernel &&nbsp;resource === For RK3399&nbsp;Excavator-sapphire&nbsp;board: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd kernel && make ARCH=arm64 rockchip_linux_defconfig && make ARCH=arm64 rk3399-sapphire-excavator-linux.img -j12 && cd ..</div> For&nbsp;Firefly-RK3399 board: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd kernel && make ARCH=arm64 rockchip_linux_defconfig && make ARCH=arm64 rk3399-firefly-mini-linux.img -j12 && cd ..</div> === Building uboot === For RK3399 optimized SDK (rkproduct uboot) <pre>cd u-boot && make rk3399_linux_defconfig && make ARCHV=aarch64 -j12 && cd .. </pre> === Building rootfs === ==== Debian ==== You could refer to [[Media:RK3399_Linux_Debian_System_Development_Guide.pdf|RK3399 Linux Debian System Development Guide]]&nbsp;from Rockchip to build rootfs yourselves. ==== Buildroot ==== <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd buildroot && make rockchip_rk3399_defconfig && cd .. && ./build_all.sh -j12 && ./mkfirmware.sh&nbsp;</div> In order to get more details,you could refer to [[Media:RK3399_Linux_Buildroot_System_Development_Guide.pdf|RK3399 Linux Buildroot System Development Guide]]. = Devices = Rockchip: [[Excavator_sapphire_board|Excavator_sapphire_board]] Firefly: [http://wiki.t-firefly.com/index.php/Firefly-RK3399 Firefly-RK3399] If you need the rk3399-excavator&nbsp;board, please communicate through&nbsp;the following&nbsp;contact information: <pre>Telephone: 4007700590 Email: service@rock-chips.com</pre> If you need the Firefly-RK3399 board,you can browse the following url&nbsp;for more details: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">[http://wiki.t-firefly.com/index.php/Firefly-RK3399 http://wiki.t-firefly.com/index.php/Firefly-RK3399]</div> = See also = [[RK3288|RK3288]] [[RK3328|RK3328]] = References = [https://en.wikipedia.org/wiki/ARM_Cortex-A72 https://en.wikipedia.org/wiki/ARM_Cortex-A72] [http://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html http://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html] https://www.arm.com/zh/products/multimedia/mali-gpu/high-performance/mali-t860-t880.php 286ecedd5a781aa7a822857fef7b5ee28b30935d 612 609 2017-03-14T09:38:56Z Chery 9 wikitext text/x-wiki Rockchip RK3399 SoC integrates&nbsp;dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor, and with&nbsp;ARM Mali-T864 GPU. {{Infobox SoC | title = RK3399 | image = [[File:RK3399 Soc.png |200px]] | manufacturer = Rockcihp | process = 28nm | cpu = Dual-core Cortex-A72 up to 1.8GHz, Quad-core Cortex-A53 up to 1.4GHz | ltwo = | extensions = | memory = Dual-channel DDR3/DDR3L/LPDDR3/LPDDR4 | gpu = ARM Mali-T860 Quad-core | vpu = | apu = | video = Dual VOP, Dual channel MIPI-DSI (4 lanes per channel), eDP 1.3 (4 lanes with 10.8Gbps), HDMI 2.0 with HDCP 1.4/2.2, DisplayPort 1.2 (4 lanes, up to 4K 60Hz) | audio = 8 channels I2S supports 8 channels RX or 8 channels TX, SPDIF | network = | storage = eMMC 5.1 and eMMC 5.0, SD3.0, MMC ver4.51 | usb = Dual USB Type-C, OTG, 2xHost | other = | release_date = May 2016 | website = http://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html }} = Overview = RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications. = SoC Features = {| border="0" cellpadding="1" cellspacing="1" style="width: 972px;" |- | style="width: 530px;" | *CPU: **Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU **Frequency is over 1.8GHz (Big cluster) *GPU: **&nbsp;Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11 **Supports AFBC (ARM Frame Buffer Compression) *Display: **Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600 **Dual channel MIPI-DSI (4 lanes per channel) **eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR **HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2 **DisplayPort 1.2 (4 lanes, up to 4K 60Hz) **Supports Rec.2020 and conversion to Rec.709 *Camera: **&nbsp;Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels *Memory: **Dual channels 64-bit DRAM controller **Support DDR3/DDR3L, LPDDR3, LPDDR4 *Connectivity: **PCIe 2.1 (4 full-duplex lanes with 20Gbps) **Embedded low power MCU for other application **8 channels I2S supports 8 channels RX or 8 channels TX | style="width: 429px;" | [[File:RK3399 Block Diagram.png|RTENOTITLE]] |} = Documentation = #[http://10.10.10.12:8444/images/6/60/Rockchip_RK3399_Datasheet_V1.6-20170301.pdf Rockchip_RK3399_Datasheet_V1.6-20170301] #[http://10.10.10.12:8444/images/9/9e/RK_DDR_Support_List_Ver2.24.pdf RK_DDR_Support_List_Ver2.24] #[http://10.10.10.12:8444/images/2/27/RK3399_Linux_Debian_System_Development_Guide.pdf RK3399_Linux_Debian_System_Development_Guide] #[http://10.10.10.12:8444/images/7/7e/RK3399_Linux_Buildroot_System_Development_Guide.pdf RK3399_Linux_Buildroot_System_Development_Guide] = Software = == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" style="line-height: 1.6; width: 768px;" |- | style="width: 119px; text-align: center;" | '''board''' | style="width: 172px; text-align: center;" | '''kernel''' | style="width: 124px; text-align: center;" | '''uboot''' | style="width: 310px; text-align: center;" | '''dts''' |- | style="width: 119px; text-align: center;" | rk3399-excavator | style="width: 172px; text-align: center;" | rockchip_linux_defconfig | style="width: 124px; text-align: center;" | rk3399_linux_defconfig | style="width: 310px; text-align: center;" | rk3399-sapphire-excavator-linux.dts |} == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" style="width: 859px;" |- | style="width: 68px; text-align: center;" | '''chip''' | style="width: 181px; text-align: center;" | '''Kernel eMMC index''' | style="width: 142px; text-align: center;" | '''Kernel SD index''' | style="width: 158px; text-align: center;" | '''Uboot eMMC index''' | style="width: 146px; text-align: center;" | '''Uboot SD index''' | style="width: 132px; text-align: center;" | '''Baud speed''' |- | style="width: 68px; text-align: center;" | RK3399 | style="width: 181px; text-align: center;" | 1 | style="width: 142px; text-align: center;" | 0 | style="width: 158px; text-align: center;" | 0 | style="width: 146px; text-align: center;" | 1 | style="width: 132px; text-align: center;" | 1500000 |} == How to get the sources == The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code. RK3399 optimized Debian & Buildroot <pre>repo init -u https://github.com/rockchip-linux/manifests -m rk3399.xml repo sync </pre> == How to build the sources == === Build Environment === You need a 64-bit&nbsp;Ubuntu. Note: old versions&nbsp;Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;"><br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so</div> Install&nbsp;ARM cross-compile tool chain and compile kernel relative&nbsp;software package:&nbsp; <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">$ sudo apt-get install gcc-arm-linux-gnueabihf&nbsp;gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev</div> === Building kernel &&nbsp;resource === For RK3399&nbsp;Excavator-sapphire&nbsp;board: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd kernel && make ARCH=arm64 rockchip_linux_defconfig && make ARCH=arm64 rk3399-sapphire-excavator-linux.img -j12 && cd ..</div> For&nbsp;Firefly-RK3399 board: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd kernel && make ARCH=arm64 rockchip_linux_defconfig && make ARCH=arm64 rk3399-firefly-mini-linux.img -j12 && cd ..</div> === Building uboot === For RK3399 optimized SDK (rkproduct uboot) <pre>cd u-boot && make rk3399_linux_defconfig && make ARCHV=aarch64 -j12 && cd .. </pre> === Building rootfs === ==== Debian ==== You could refer to [[Media:RK3399_Linux_Debian_System_Development_Guide.pdf|RK3399 Linux Debian System Development Guide]]&nbsp;from Rockchip to build rootfs yourselves. ==== Buildroot ==== <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd buildroot && make rockchip_rk3399_defconfig && cd .. && ./build_all.sh -j12 && ./mkfirmware.sh&nbsp;</div> In order to get more details,you could refer to [[Media:RK3399_Linux_Buildroot_System_Development_Guide.pdf|RK3399 Linux Buildroot System Development Guide]]. = Devices = Rockchip: [[Excavator_sapphire_board|Excavator_sapphire_board]] Firefly: [http://wiki.t-firefly.com/index.php/Firefly-RK3399 Firefly-RK3399] If you need the rk3399-excavator&nbsp;board, please communicate through&nbsp;the following&nbsp;contact information: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">Telephone: 4007700590 &nbsp; &nbsp; &nbsp; &nbsp;Email: service@rock-chips.com</div> If you need the Firefly-RK3399 board,you can browse the following url&nbsp;for more details: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">[http://wiki.t-firefly.com/index.php/Firefly-RK3399 http://wiki.t-firefly.com/index.php/Firefly-RK3399]</div> = See also = [[RK3288|RK3288]] [[RK3328|RK3328]] = References = [https://en.wikipedia.org/wiki/ARM_Cortex-A72 https://en.wikipedia.org/wiki/ARM_Cortex-A72] [http://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html http://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html] https://www.arm.com/zh/products/multimedia/mali-gpu/high-performance/mali-t860-t880.php adde52eafe366ebede200bc0cbba5014723ea5fc 614 612 2017-03-14T10:04:45Z Chery 9 wikitext text/x-wiki Rockchip RK3399 SoC integrates&nbsp;dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor, and with&nbsp;ARM Mali-T864 GPU. {{Infobox SoC | title = RK3399 | image = [[File:RK3399 Soc.png |200px]] | manufacturer = Rockcihp | process = 28nm | cpu = Dual-core Cortex-A72, Quad-core Cortex-A53 | ltwo = | extensions = | memory = Dual-channel DDR3/DDR3L/LPDDR3/LPDDR4 | gpu = ARM Mali-T860 Quad-core | vpu = | apu = | video = Dual VOP, Dual channel MIPI-DSI (4 lanes per channel), eDP 1.3 (4 lanes with 10.8Gbps), HDMI 2.0 with HDCP 1.4/2.2, DisplayPort 1.2 (4 lanes, up to 4K 60Hz) | audio = 8 channels I2S supports 8 channels RX or 8 channels TX, SPDIF | network = | storage = eMMC 5.1 and eMMC 5.0, SD3.0, MMC ver4.51 | usb = Dual USB Type-C, OTG, 2xHost | other = | release_date = May 2016 | website = http://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html }} = Overview = RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications. = SoC Features = {| border="0" cellpadding="1" cellspacing="1" style="width: 972px;" |- | style="width: 530px;" | *CPU: **Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU **Frequency is over 1.8GHz (Big cluster) *GPU: **&nbsp;Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11 **Supports AFBC (ARM Frame Buffer Compression) *Display: **Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600 **Dual channel MIPI-DSI (4 lanes per channel) **eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR **HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2 **DisplayPort 1.2 (4 lanes, up to 4K 60Hz) **Supports Rec.2020 and conversion to Rec.709 *Camera: **&nbsp;Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels *Memory: **Dual channels 64-bit DRAM controller **Support DDR3/DDR3L, LPDDR3, LPDDR4 *Connectivity: **PCIe 2.1 (4 full-duplex lanes with 20Gbps) **Embedded low power MCU for other application **8 channels I2S supports 8 channels RX or 8 channels TX | style="width: 429px;" | [[File:RK3399 Block Diagram.png|RTENOTITLE]] |} = Documentation = #[http://10.10.10.12:8444/images/6/60/Rockchip_RK3399_Datasheet_V1.6-20170301.pdf Rockchip_RK3399_Datasheet_V1.6-20170301] #[http://10.10.10.12:8444/images/9/9e/RK_DDR_Support_List_Ver2.24.pdf RK_DDR_Support_List_Ver2.24] #[http://10.10.10.12:8444/images/2/27/RK3399_Linux_Debian_System_Development_Guide.pdf RK3399_Linux_Debian_System_Development_Guide] #[http://10.10.10.12:8444/images/7/7e/RK3399_Linux_Buildroot_System_Development_Guide.pdf RK3399_Linux_Buildroot_System_Development_Guide] = Software = == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" style="line-height: 1.6; width: 768px;" |- | style="width: 119px; text-align: center;" | '''board''' | style="width: 172px; text-align: center;" | '''kernel''' | style="width: 124px; text-align: center;" | '''uboot''' | style="width: 310px; text-align: center;" | '''dts''' |- | style="width: 119px; text-align: center;" | rk3399-excavator | style="width: 172px; text-align: center;" | rockchip_linux_defconfig | style="width: 124px; text-align: center;" | rk3399_linux_defconfig | style="width: 310px; text-align: center;" | rk3399-sapphire-excavator-linux.dts |} == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" style="width: 859px;" |- | style="width: 68px; text-align: center;" | '''chip''' | style="width: 181px; text-align: center;" | '''Kernel eMMC index''' | style="width: 142px; text-align: center;" | '''Kernel SD index''' | style="width: 158px; text-align: center;" | '''Uboot eMMC index''' | style="width: 146px; text-align: center;" | '''Uboot SD index''' | style="width: 132px; text-align: center;" | '''Baud speed''' |- | style="width: 68px; text-align: center;" | RK3399 | style="width: 181px; text-align: center;" | 1 | style="width: 142px; text-align: center;" | 0 | style="width: 158px; text-align: center;" | 0 | style="width: 146px; text-align: center;" | 1 | style="width: 132px; text-align: center;" | 1500000 |} == How to get the sources == The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code. RK3399 optimized Debian & Buildroot <pre>repo init -u https://github.com/rockchip-linux/manifests -m rk3399.xml repo sync </pre> == How to build the sources == === Build Environment === You need a 64-bit&nbsp;Ubuntu. Note: old versions&nbsp;Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;"><br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so</div> Install&nbsp;ARM cross-compile tool chain and compile kernel relative&nbsp;software package:&nbsp; <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">$ sudo apt-get install gcc-arm-linux-gnueabihf&nbsp;gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev</div> === Building kernel &&nbsp;resource === For RK3399&nbsp;Excavator-sapphire&nbsp;board: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd kernel && make ARCH=arm64 rockchip_linux_defconfig && make ARCH=arm64 rk3399-sapphire-excavator-linux.img -j12 && cd ..</div> For&nbsp;Firefly-RK3399 board: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd kernel && make ARCH=arm64 rockchip_linux_defconfig && make ARCH=arm64 rk3399-firefly-mini-linux.img -j12 && cd ..</div> === Building uboot === For RK3399 optimized SDK (rkproduct uboot) <pre>cd u-boot && make rk3399_linux_defconfig && make ARCHV=aarch64 -j12 && cd .. </pre> === Building rootfs === ==== Debian ==== You could refer to [[Media:RK3399_Linux_Debian_System_Development_Guide.pdf|RK3399 Linux Debian System Development Guide]]&nbsp;from Rockchip to build rootfs yourselves. ==== Buildroot ==== <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd buildroot && make rockchip_rk3399_defconfig && cd .. && ./build_all.sh -j12 && ./mkfirmware.sh&nbsp;</div> In order to get more details,you could refer to [[Media:RK3399_Linux_Buildroot_System_Development_Guide.pdf|RK3399 Linux Buildroot System Development Guide]]. &nbsp; = Devices = Rockchip: [[Excavator_sapphire_board|Excavator_sapphire_board]] Firefly: [http://wiki.t-firefly.com/index.php/Firefly-RK3399 Firefly-RK3399] If you need the rk3399-excavator&nbsp;board, please communicate through&nbsp;the following&nbsp;contact information: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">Telephone: 4007700590 &nbsp; &nbsp; &nbsp; &nbsp;Email: service@rock-chips.com</div> If you need the Firefly-RK3399 board,you can browse the following url&nbsp;for more details: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">[http://wiki.t-firefly.com/index.php/Firefly-RK3399 http://wiki.t-firefly.com/index.php/Firefly-RK3399]</div> = See also = [[RK3288|RK3288]] [[RK3328|RK3328]] &nbsp; = References = [https://en.wikipedia.org/wiki/ARM_Cortex-A72 https://en.wikipedia.org/wiki/ARM_Cortex-A72] [http://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html http://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html] [https://www.arm.com/zh/products/multimedia/mali-gpu/high-performance/mali-t860-t880.php https://www.arm.com/zh/products/multimedia/mali-gpu/high-performance/mali-t860-t880.php] 62fb174ac0e77fb885fade9f33cf20c7927f6dee 615 614 2017-03-14T10:06:01Z Chery 9 wikitext text/x-wiki Rockchip RK3399 SoC integrates&nbsp;dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor, and with&nbsp;ARM Mali-T864 GPU. {{Infobox SoC | title = RK3399 | image = [[File:RK3399 Soc.png |200px]] | manufacturer = Rockcihp | process = 28nm | cpu = Dual-core Cortex-A72, Quad-core Cortex-A53 | ltwo = | extensions = | memory = Dual-channel DDR3/DDR3L/LPDDR3/LPDDR4 | gpu = ARM Mali-T860 Quad-core | vpu = | apu = | video = Dual VOP, Dual channel MIPI-DSI , eDP 1.3 , HDMI 2.0 with HDCP 1.4/2.2, DisplayPort 1.2 | audio = 8 channels I2S supports 8 channels RX or 8 channels TX, SPDIF | network = | storage = eMMC 5.1 and eMMC 5.0, SD3.0, MMC ver4.51 | usb = Dual USB Type-C, OTG, 2xHost | other = | release_date = May 2016 | website = http://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html }} = Overview = RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications. = SoC Features = {| border="0" cellpadding="1" cellspacing="1" style="width: 972px;" |- | style="width: 530px;" | *CPU: **Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU **Frequency is over 1.8GHz (Big cluster) *GPU: **&nbsp;Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11 **Supports AFBC (ARM Frame Buffer Compression) *Display: **Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600 **Dual channel MIPI-DSI (4 lanes per channel) **eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR **HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2 **DisplayPort 1.2 (4 lanes, up to 4K 60Hz) **Supports Rec.2020 and conversion to Rec.709 *Camera: **&nbsp;Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels *Memory: **Dual channels 64-bit DRAM controller **Support DDR3/DDR3L, LPDDR3, LPDDR4 *Connectivity: **PCIe 2.1 (4 full-duplex lanes with 20Gbps) **Embedded low power MCU for other application **8 channels I2S supports 8 channels RX or 8 channels TX | style="width: 429px;" | [[File:RK3399 Block Diagram.png|RTENOTITLE]] |} = Documentation = #[http://10.10.10.12:8444/images/6/60/Rockchip_RK3399_Datasheet_V1.6-20170301.pdf Rockchip_RK3399_Datasheet_V1.6-20170301] #[http://10.10.10.12:8444/images/9/9e/RK_DDR_Support_List_Ver2.24.pdf RK_DDR_Support_List_Ver2.24] #[http://10.10.10.12:8444/images/2/27/RK3399_Linux_Debian_System_Development_Guide.pdf RK3399_Linux_Debian_System_Development_Guide] #[http://10.10.10.12:8444/images/7/7e/RK3399_Linux_Buildroot_System_Development_Guide.pdf RK3399_Linux_Buildroot_System_Development_Guide] = Software = == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" style="line-height: 1.6; width: 768px;" |- | style="width: 119px; text-align: center;" | '''board''' | style="width: 172px; text-align: center;" | '''kernel''' | style="width: 124px; text-align: center;" | '''uboot''' | style="width: 310px; text-align: center;" | '''dts''' |- | style="width: 119px; text-align: center;" | rk3399-excavator | style="width: 172px; text-align: center;" | rockchip_linux_defconfig | style="width: 124px; text-align: center;" | rk3399_linux_defconfig | style="width: 310px; text-align: center;" | rk3399-sapphire-excavator-linux.dts |} == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" style="width: 859px;" |- | style="width: 68px; text-align: center;" | '''chip''' | style="width: 181px; text-align: center;" | '''Kernel eMMC index''' | style="width: 142px; text-align: center;" | '''Kernel SD index''' | style="width: 158px; text-align: center;" | '''Uboot eMMC index''' | style="width: 146px; text-align: center;" | '''Uboot SD index''' | style="width: 132px; text-align: center;" | '''Baud speed''' |- | style="width: 68px; text-align: center;" | RK3399 | style="width: 181px; text-align: center;" | 1 | style="width: 142px; text-align: center;" | 0 | style="width: 158px; text-align: center;" | 0 | style="width: 146px; text-align: center;" | 1 | style="width: 132px; text-align: center;" | 1500000 |} == How to get the sources == The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code. RK3399 optimized Debian & Buildroot <pre>repo init -u https://github.com/rockchip-linux/manifests -m rk3399.xml repo sync </pre> == How to build the sources == === Build Environment === You need a 64-bit&nbsp;Ubuntu. Note: old versions&nbsp;Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;"><br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so</div> Install&nbsp;ARM cross-compile tool chain and compile kernel relative&nbsp;software package:&nbsp; <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">$ sudo apt-get install gcc-arm-linux-gnueabihf&nbsp;gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev</div> === Building kernel &&nbsp;resource === For RK3399&nbsp;Excavator-sapphire&nbsp;board: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd kernel && make ARCH=arm64 rockchip_linux_defconfig && make ARCH=arm64 rk3399-sapphire-excavator-linux.img -j12 && cd ..</div> For&nbsp;Firefly-RK3399 board: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd kernel && make ARCH=arm64 rockchip_linux_defconfig && make ARCH=arm64 rk3399-firefly-mini-linux.img -j12 && cd ..</div> === Building uboot === For RK3399 optimized SDK (rkproduct uboot) <pre>cd u-boot && make rk3399_linux_defconfig && make ARCHV=aarch64 -j12 && cd .. </pre> === Building rootfs === ==== Debian ==== You could refer to [[Media:RK3399_Linux_Debian_System_Development_Guide.pdf|RK3399 Linux Debian System Development Guide]]&nbsp;from Rockchip to build rootfs yourselves. ==== Buildroot ==== <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd buildroot && make rockchip_rk3399_defconfig && cd .. && ./build_all.sh -j12 && ./mkfirmware.sh&nbsp;</div> In order to get more details,you could refer to [[Media:RK3399_Linux_Buildroot_System_Development_Guide.pdf|RK3399 Linux Buildroot System Development Guide]]. &nbsp; = Devices = Rockchip: [[Excavator_sapphire_board|Excavator_sapphire_board]] Firefly: [http://wiki.t-firefly.com/index.php/Firefly-RK3399 Firefly-RK3399] If you need the rk3399-excavator&nbsp;board, please communicate through&nbsp;the following&nbsp;contact information: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">Telephone: 4007700590 &nbsp; &nbsp; &nbsp; &nbsp;Email: service@rock-chips.com</div> If you need the Firefly-RK3399 board,you can browse the following url&nbsp;for more details: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">[http://wiki.t-firefly.com/index.php/Firefly-RK3399 http://wiki.t-firefly.com/index.php/Firefly-RK3399]</div> = See also = [[RK3288|RK3288]] [[RK3328|RK3328]] &nbsp; = References = [https://en.wikipedia.org/wiki/ARM_Cortex-A72 https://en.wikipedia.org/wiki/ARM_Cortex-A72] [http://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html http://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html] [https://www.arm.com/zh/products/multimedia/mali-gpu/high-performance/mali-t860-t880.php https://www.arm.com/zh/products/multimedia/mali-gpu/high-performance/mali-t860-t880.php] 89d5b6c33e42e9a4c33776e778218948dfef6548 625 615 2017-03-15T07:06:05Z Chery 9 wikitext text/x-wiki Rockchip RK3399 SoC integrates&nbsp;dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor, and with&nbsp;ARM Mali-T864 GPU. {{Infobox SoC | image = [[File:RK3399 Soc.png |200px]] }} = Overview = RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications. = SoC Features = {| border="0" cellpadding="1" cellspacing="1" style="width: 972px;" |- | style="width: 530px;" | *CPU: **Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU **Frequency is over 1.8GHz (Big cluster) *GPU: **&nbsp;Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11 **Supports AFBC (ARM Frame Buffer Compression) *Display: **Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600 **Dual channel MIPI-DSI (4 lanes per channel) **eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR **HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2 **DisplayPort 1.2 (4 lanes, up to 4K 60Hz) **Supports Rec.2020 and conversion to Rec.709 *Camera: **&nbsp;Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels *Memory: **Dual channels 64-bit DRAM controller **Support DDR3/DDR3L, LPDDR3, LPDDR4 *Connectivity: **PCIe 2.1 (4 full-duplex lanes with 20Gbps) **Embedded low power MCU for other application **8 channels I2S supports 8 channels RX or 8 channels TX | style="width: 429px;" | [[File:RK3399 Block Diagram.png|RTENOTITLE]] |} = Documentation = #[http://10.10.10.12:8444/images/6/60/Rockchip_RK3399_Datasheet_V1.6-20170301.pdf Rockchip_RK3399_Datasheet_V1.6-20170301] #[http://10.10.10.12:8444/images/9/9e/RK_DDR_Support_List_Ver2.24.pdf RK_DDR_Support_List_Ver2.24] #[http://10.10.10.12:8444/images/2/27/RK3399_Linux_Debian_System_Development_Guide.pdf RK3399_Linux_Debian_System_Development_Guide] #[http://10.10.10.12:8444/images/7/7e/RK3399_Linux_Buildroot_System_Development_Guide.pdf RK3399_Linux_Buildroot_System_Development_Guide] = Software = == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" style="line-height: 1.6; width: 768px;" |- | style="width: 119px; text-align: center;" | '''board''' | style="width: 172px; text-align: center;" | '''kernel''' | style="width: 124px; text-align: center;" | '''uboot''' | style="width: 310px; text-align: center;" | '''dts''' |- | style="width: 119px; text-align: center;" | rk3399-excavator | style="width: 172px; text-align: center;" | rockchip_linux_defconfig | style="width: 124px; text-align: center;" | rk3399_linux_defconfig | style="width: 310px; text-align: center;" | rk3399-sapphire-excavator-linux.dts |} == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" style="width: 859px;" |- | style="width: 68px; text-align: center;" | '''chip''' | style="width: 181px; text-align: center;" | '''Kernel eMMC index''' | style="width: 142px; text-align: center;" | '''Kernel SD index''' | style="width: 158px; text-align: center;" | '''Uboot eMMC index''' | style="width: 146px; text-align: center;" | '''Uboot SD index''' | style="width: 132px; text-align: center;" | '''Baud speed''' |- | style="width: 68px; text-align: center;" | RK3399 | style="width: 181px; text-align: center;" | 1 | style="width: 142px; text-align: center;" | 0 | style="width: 158px; text-align: center;" | 0 | style="width: 146px; text-align: center;" | 1 | style="width: 132px; text-align: center;" | 1500000 |} == How to get the sources == The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code. RK3399 optimized Debian & Buildroot <pre>repo init -u https://github.com/rockchip-linux/manifests -m rk3399.xml repo sync </pre> == How to build the sources == === Build Environment === You need a 64-bit&nbsp;Ubuntu. Note: old versions&nbsp;Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;"><br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so</div> Install&nbsp;ARM cross-compile tool chain and compile kernel relative&nbsp;software package:&nbsp; <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">$ sudo apt-get install gcc-arm-linux-gnueabihf&nbsp;gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev</div> === Building kernel &&nbsp;resource === For RK3399&nbsp;Excavator-sapphire&nbsp;board: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd kernel && make ARCH=arm64 rockchip_linux_defconfig && make ARCH=arm64 rk3399-sapphire-excavator-linux.img -j12 && cd ..</div> For&nbsp;Firefly-RK3399 board: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd kernel && make ARCH=arm64 rockchip_linux_defconfig && make ARCH=arm64 rk3399-firefly-mini-linux.img -j12 && cd ..</div> === Building uboot === For RK3399 optimized SDK (rkproduct uboot) <pre>cd u-boot && make rk3399_linux_defconfig && make ARCHV=aarch64 -j12 && cd .. </pre> === Building rootfs === ==== Debian ==== You could refer to [[Media:RK3399_Linux_Debian_System_Development_Guide.pdf|RK3399 Linux Debian System Development Guide]]&nbsp;from Rockchip to build rootfs yourselves. ==== Buildroot ==== <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd buildroot && make rockchip_rk3399_defconfig && cd .. && ./build_all.sh -j12 && ./mkfirmware.sh&nbsp;</div> In order to get more details,you could refer to [[Media:RK3399_Linux_Buildroot_System_Development_Guide.pdf|RK3399 Linux Buildroot System Development Guide]]. &nbsp; = Devices = Rockchip: [[Excavator_sapphire_board|Excavator_sapphire_board]] Firefly: [http://wiki.t-firefly.com/index.php/Firefly-RK3399 Firefly-RK3399] If you need the rk3399-excavator&nbsp;board, please communicate through&nbsp;the following&nbsp;contact information: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">Telephone: 4007700590 &nbsp; &nbsp; &nbsp; &nbsp;Email: service@rock-chips.com</div> If you need the Firefly-RK3399 board,you can browse the following url&nbsp;for more details: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">[http://wiki.t-firefly.com/index.php/Firefly-RK3399 http://wiki.t-firefly.com/index.php/Firefly-RK3399]</div> = See also = [[RK3288|RK3288]] [[RK3328|RK3328]] &nbsp; = References = [https://en.wikipedia.org/wiki/ARM_Cortex-A72 https://en.wikipedia.org/wiki/ARM_Cortex-A72] [http://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html http://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html] [https://www.arm.com/zh/products/multimedia/mali-gpu/high-performance/mali-t860-t880.php https://www.arm.com/zh/products/multimedia/mali-gpu/high-performance/mali-t860-t880.php] 496671fd254d6738ae2dc482d0272fb99c9b294a 626 625 2017-03-15T07:06:51Z Chery 9 wikitext text/x-wiki Rockchip RK3399 SoC integrates&nbsp;dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor, and with&nbsp;ARM Mali-T864 GPU. {| border="0" cellpadding="1" cellspacing="1" style="width: 500px;" |- | [[File:RK3399 Soc.png]] |} = Overview = RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications. = SoC Features = {| border="0" cellpadding="1" cellspacing="1" style="width: 972px;" |- | style="width: 530px;" | *CPU: **Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU **Frequency is over 1.8GHz (Big cluster) *GPU: **&nbsp;Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11 **Supports AFBC (ARM Frame Buffer Compression) *Display: **Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600 **Dual channel MIPI-DSI (4 lanes per channel) **eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR **HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2 **DisplayPort 1.2 (4 lanes, up to 4K 60Hz) **Supports Rec.2020 and conversion to Rec.709 *Camera: **&nbsp;Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels *Memory: **Dual channels 64-bit DRAM controller **Support DDR3/DDR3L, LPDDR3, LPDDR4 *Connectivity: **PCIe 2.1 (4 full-duplex lanes with 20Gbps) **Embedded low power MCU for other application **8 channels I2S supports 8 channels RX or 8 channels TX | style="width: 429px;" | [[File:RK3399 Block Diagram.png|RTENOTITLE]] |} = Documentation = #[http://10.10.10.12:8444/images/6/60/Rockchip_RK3399_Datasheet_V1.6-20170301.pdf Rockchip_RK3399_Datasheet_V1.6-20170301] #[http://10.10.10.12:8444/images/9/9e/RK_DDR_Support_List_Ver2.24.pdf RK_DDR_Support_List_Ver2.24] #[http://10.10.10.12:8444/images/2/27/RK3399_Linux_Debian_System_Development_Guide.pdf RK3399_Linux_Debian_System_Development_Guide] #[http://10.10.10.12:8444/images/7/7e/RK3399_Linux_Buildroot_System_Development_Guide.pdf RK3399_Linux_Buildroot_System_Development_Guide] = Software = == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" style="line-height: 1.6; width: 768px;" |- | style="width: 119px; text-align: center;" | '''board''' | style="width: 172px; text-align: center;" | '''kernel''' | style="width: 124px; text-align: center;" | '''uboot''' | style="width: 310px; text-align: center;" | '''dts''' |- | style="width: 119px; text-align: center;" | rk3399-excavator | style="width: 172px; text-align: center;" | rockchip_linux_defconfig | style="width: 124px; text-align: center;" | rk3399_linux_defconfig | style="width: 310px; text-align: center;" | rk3399-sapphire-excavator-linux.dts |} == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" style="width: 859px;" |- | style="width: 68px; text-align: center;" | '''chip''' | style="width: 181px; text-align: center;" | '''Kernel eMMC index''' | style="width: 142px; text-align: center;" | '''Kernel SD index''' | style="width: 158px; text-align: center;" | '''Uboot eMMC index''' | style="width: 146px; text-align: center;" | '''Uboot SD index''' | style="width: 132px; text-align: center;" | '''Baud speed''' |- | style="width: 68px; text-align: center;" | RK3399 | style="width: 181px; text-align: center;" | 1 | style="width: 142px; text-align: center;" | 0 | style="width: 158px; text-align: center;" | 0 | style="width: 146px; text-align: center;" | 1 | style="width: 132px; text-align: center;" | 1500000 |} == How to get the sources == The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code. RK3399 optimized Debian & Buildroot <pre>repo init -u https://github.com/rockchip-linux/manifests -m rk3399.xml repo sync </pre> == How to build the sources == === Build Environment === You need a 64-bit&nbsp;Ubuntu. Note: old versions&nbsp;Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;"><br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so</div> Install&nbsp;ARM cross-compile tool chain and compile kernel relative&nbsp;software package:&nbsp; <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">$ sudo apt-get install gcc-arm-linux-gnueabihf&nbsp;gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev</div> === Building kernel &&nbsp;resource === For RK3399&nbsp;Excavator-sapphire&nbsp;board: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd kernel && make ARCH=arm64 rockchip_linux_defconfig && make ARCH=arm64 rk3399-sapphire-excavator-linux.img -j12 && cd ..</div> For&nbsp;Firefly-RK3399 board: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd kernel && make ARCH=arm64 rockchip_linux_defconfig && make ARCH=arm64 rk3399-firefly-mini-linux.img -j12 && cd ..</div> === Building uboot === For RK3399 optimized SDK (rkproduct uboot) <pre>cd u-boot && make rk3399_linux_defconfig && make ARCHV=aarch64 -j12 && cd .. </pre> === Building rootfs === ==== Debian ==== You could refer to [[Media:RK3399_Linux_Debian_System_Development_Guide.pdf|RK3399 Linux Debian System Development Guide]]&nbsp;from Rockchip to build rootfs yourselves. ==== Buildroot ==== <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd buildroot && make rockchip_rk3399_defconfig && cd .. && ./build_all.sh -j12 && ./mkfirmware.sh&nbsp;</div> In order to get more details,you could refer to [[Media:RK3399_Linux_Buildroot_System_Development_Guide.pdf|RK3399 Linux Buildroot System Development Guide]]. &nbsp; = Devices = Rockchip: [[Excavator_sapphire_board|Excavator_sapphire_board]] Firefly: [http://wiki.t-firefly.com/index.php/Firefly-RK3399 Firefly-RK3399] If you need the rk3399-excavator&nbsp;board, please communicate through&nbsp;the following&nbsp;contact information: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">Telephone: 4007700590 &nbsp; &nbsp; &nbsp; &nbsp;Email: service@rock-chips.com</div> If you need the Firefly-RK3399 board,you can browse the following url&nbsp;for more details: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">[http://wiki.t-firefly.com/index.php/Firefly-RK3399 http://wiki.t-firefly.com/index.php/Firefly-RK3399]</div> = See also = [[RK3288|RK3288]] [[RK3328|RK3328]] &nbsp; = References = [https://en.wikipedia.org/wiki/ARM_Cortex-A72 https://en.wikipedia.org/wiki/ARM_Cortex-A72] [http://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html http://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html] [https://www.arm.com/zh/products/multimedia/mali-gpu/high-performance/mali-t860-t880.php https://www.arm.com/zh/products/multimedia/mali-gpu/high-performance/mali-t860-t880.php] 21adc66ece5896f4b3b6eabf059154ee49b45cfd 627 626 2017-03-15T07:07:21Z Chery 9 wikitext text/x-wiki Rockchip RK3399 SoC integrates&nbsp;dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor, and with&nbsp;ARM Mali-T864 GPU. {| border="0" cellpadding="1" cellspacing="1" class="infobox" style="width: 500px;" |- | [[File:RK3399 Soc.png|RTENOTITLE]] |} = Overview = RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications. = SoC Features = {| border="0" cellpadding="1" cellspacing="1" style="width: 972px;" |- | style="width: 530px;" | *CPU: **Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU **Frequency is over 1.8GHz (Big cluster) *GPU: **&nbsp;Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11 **Supports AFBC (ARM Frame Buffer Compression) *Display: **Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600 **Dual channel MIPI-DSI (4 lanes per channel) **eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR **HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2 **DisplayPort 1.2 (4 lanes, up to 4K 60Hz) **Supports Rec.2020 and conversion to Rec.709 *Camera: **&nbsp;Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels *Memory: **Dual channels 64-bit DRAM controller **Support DDR3/DDR3L, LPDDR3, LPDDR4 *Connectivity: **PCIe 2.1 (4 full-duplex lanes with 20Gbps) **Embedded low power MCU for other application **8 channels I2S supports 8 channels RX or 8 channels TX | style="width: 429px;" | [[File:RK3399 Block Diagram.png|RTENOTITLE]] |} = Documentation = #[http://10.10.10.12:8444/images/6/60/Rockchip_RK3399_Datasheet_V1.6-20170301.pdf Rockchip_RK3399_Datasheet_V1.6-20170301] #[http://10.10.10.12:8444/images/9/9e/RK_DDR_Support_List_Ver2.24.pdf RK_DDR_Support_List_Ver2.24] #[http://10.10.10.12:8444/images/2/27/RK3399_Linux_Debian_System_Development_Guide.pdf RK3399_Linux_Debian_System_Development_Guide] #[http://10.10.10.12:8444/images/7/7e/RK3399_Linux_Buildroot_System_Development_Guide.pdf RK3399_Linux_Buildroot_System_Development_Guide] = Software = == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" style="line-height: 1.6; width: 768px;" |- | style="width: 119px; text-align: center;" | '''board''' | style="width: 172px; text-align: center;" | '''kernel''' | style="width: 124px; text-align: center;" | '''uboot''' | style="width: 310px; text-align: center;" | '''dts''' |- | style="width: 119px; text-align: center;" | rk3399-excavator | style="width: 172px; text-align: center;" | rockchip_linux_defconfig | style="width: 124px; text-align: center;" | rk3399_linux_defconfig | style="width: 310px; text-align: center;" | rk3399-sapphire-excavator-linux.dts |} == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" style="width: 859px;" |- | style="width: 68px; text-align: center;" | '''chip''' | style="width: 181px; text-align: center;" | '''Kernel eMMC index''' | style="width: 142px; text-align: center;" | '''Kernel SD index''' | style="width: 158px; text-align: center;" | '''Uboot eMMC index''' | style="width: 146px; text-align: center;" | '''Uboot SD index''' | style="width: 132px; text-align: center;" | '''Baud speed''' |- | style="width: 68px; text-align: center;" | RK3399 | style="width: 181px; text-align: center;" | 1 | style="width: 142px; text-align: center;" | 0 | style="width: 158px; text-align: center;" | 0 | style="width: 146px; text-align: center;" | 1 | style="width: 132px; text-align: center;" | 1500000 |} == How to get the sources == The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code. RK3399 optimized Debian & Buildroot <pre>repo init -u https://github.com/rockchip-linux/manifests -m rk3399.xml repo sync </pre> == How to build the sources == === Build Environment === You need a 64-bit&nbsp;Ubuntu. Note: old versions&nbsp;Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;"><br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so</div> Install&nbsp;ARM cross-compile tool chain and compile kernel relative&nbsp;software package:&nbsp; <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">$ sudo apt-get install gcc-arm-linux-gnueabihf&nbsp;gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev</div> === Building kernel &&nbsp;resource === For RK3399&nbsp;Excavator-sapphire&nbsp;board: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd kernel && make ARCH=arm64 rockchip_linux_defconfig && make ARCH=arm64 rk3399-sapphire-excavator-linux.img -j12 && cd ..</div> For&nbsp;Firefly-RK3399 board: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd kernel && make ARCH=arm64 rockchip_linux_defconfig && make ARCH=arm64 rk3399-firefly-mini-linux.img -j12 && cd ..</div> === Building uboot === For RK3399 optimized SDK (rkproduct uboot) <pre>cd u-boot && make rk3399_linux_defconfig && make ARCHV=aarch64 -j12 && cd .. </pre> === Building rootfs === ==== Debian ==== You could refer to [[Media:RK3399_Linux_Debian_System_Development_Guide.pdf|RK3399 Linux Debian System Development Guide]]&nbsp;from Rockchip to build rootfs yourselves. ==== Buildroot ==== <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd buildroot && make rockchip_rk3399_defconfig && cd .. && ./build_all.sh -j12 && ./mkfirmware.sh&nbsp;</div> In order to get more details,you could refer to [[Media:RK3399_Linux_Buildroot_System_Development_Guide.pdf|RK3399 Linux Buildroot System Development Guide]]. &nbsp; = Devices = Rockchip: [[Excavator_sapphire_board|Excavator_sapphire_board]] Firefly: [http://wiki.t-firefly.com/index.php/Firefly-RK3399 Firefly-RK3399] If you need the rk3399-excavator&nbsp;board, please communicate through&nbsp;the following&nbsp;contact information: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">Telephone: 4007700590 &nbsp; &nbsp; &nbsp; &nbsp;Email: service@rock-chips.com</div> If you need the Firefly-RK3399 board,you can browse the following url&nbsp;for more details: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">[http://wiki.t-firefly.com/index.php/Firefly-RK3399 http://wiki.t-firefly.com/index.php/Firefly-RK3399]</div> = See also = [[RK3288|RK3288]] [[RK3328|RK3328]] &nbsp; = References = [https://en.wikipedia.org/wiki/ARM_Cortex-A72 https://en.wikipedia.org/wiki/ARM_Cortex-A72] [http://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html http://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html] [https://www.arm.com/zh/products/multimedia/mali-gpu/high-performance/mali-t860-t880.php https://www.arm.com/zh/products/multimedia/mali-gpu/high-performance/mali-t860-t880.php] 0da3cada70b43159c1c1fea2df363b359e6abd19 628 627 2017-03-15T07:07:45Z Chery 9 wikitext text/x-wiki Rockchip RK3399 SoC integrates&nbsp;dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor, and with&nbsp;ARM Mali-T864 GPU. {| border="0" cellpadding="1" cellspacing="1" class="infobox" style="width: 300px;" |- | [[File:RK3399 Soc.png|RTENOTITLE]] |} = Overview = RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications. = SoC Features = {| border="0" cellpadding="1" cellspacing="1" style="width: 972px;" |- | style="width: 530px;" | *CPU: **Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU **Frequency is over 1.8GHz (Big cluster) *GPU: **&nbsp;Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11 **Supports AFBC (ARM Frame Buffer Compression) *Display: **Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600 **Dual channel MIPI-DSI (4 lanes per channel) **eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR **HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2 **DisplayPort 1.2 (4 lanes, up to 4K 60Hz) **Supports Rec.2020 and conversion to Rec.709 *Camera: **&nbsp;Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels *Memory: **Dual channels 64-bit DRAM controller **Support DDR3/DDR3L, LPDDR3, LPDDR4 *Connectivity: **PCIe 2.1 (4 full-duplex lanes with 20Gbps) **Embedded low power MCU for other application **8 channels I2S supports 8 channels RX or 8 channels TX | style="width: 429px;" | [[File:RK3399 Block Diagram.png|RTENOTITLE]] |} = Documentation = #[http://10.10.10.12:8444/images/6/60/Rockchip_RK3399_Datasheet_V1.6-20170301.pdf Rockchip_RK3399_Datasheet_V1.6-20170301] #[http://10.10.10.12:8444/images/9/9e/RK_DDR_Support_List_Ver2.24.pdf RK_DDR_Support_List_Ver2.24] #[http://10.10.10.12:8444/images/2/27/RK3399_Linux_Debian_System_Development_Guide.pdf RK3399_Linux_Debian_System_Development_Guide] #[http://10.10.10.12:8444/images/7/7e/RK3399_Linux_Buildroot_System_Development_Guide.pdf RK3399_Linux_Buildroot_System_Development_Guide] = Software = == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" style="line-height: 1.6; width: 768px;" |- | style="width: 119px; text-align: center;" | '''board''' | style="width: 172px; text-align: center;" | '''kernel''' | style="width: 124px; text-align: center;" | '''uboot''' | style="width: 310px; text-align: center;" | '''dts''' |- | style="width: 119px; text-align: center;" | rk3399-excavator | style="width: 172px; text-align: center;" | rockchip_linux_defconfig | style="width: 124px; text-align: center;" | rk3399_linux_defconfig | style="width: 310px; text-align: center;" | rk3399-sapphire-excavator-linux.dts |} == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" style="width: 859px;" |- | style="width: 68px; text-align: center;" | '''chip''' | style="width: 181px; text-align: center;" | '''Kernel eMMC index''' | style="width: 142px; text-align: center;" | '''Kernel SD index''' | style="width: 158px; text-align: center;" | '''Uboot eMMC index''' | style="width: 146px; text-align: center;" | '''Uboot SD index''' | style="width: 132px; text-align: center;" | '''Baud speed''' |- | style="width: 68px; text-align: center;" | RK3399 | style="width: 181px; text-align: center;" | 1 | style="width: 142px; text-align: center;" | 0 | style="width: 158px; text-align: center;" | 0 | style="width: 146px; text-align: center;" | 1 | style="width: 132px; text-align: center;" | 1500000 |} == How to get the sources == The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code. RK3399 optimized Debian & Buildroot <pre>repo init -u https://github.com/rockchip-linux/manifests -m rk3399.xml repo sync </pre> == How to build the sources == === Build Environment === You need a 64-bit&nbsp;Ubuntu. Note: old versions&nbsp;Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;"><br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so</div> Install&nbsp;ARM cross-compile tool chain and compile kernel relative&nbsp;software package:&nbsp; <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">$ sudo apt-get install gcc-arm-linux-gnueabihf&nbsp;gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev</div> === Building kernel &&nbsp;resource === For RK3399&nbsp;Excavator-sapphire&nbsp;board: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd kernel && make ARCH=arm64 rockchip_linux_defconfig && make ARCH=arm64 rk3399-sapphire-excavator-linux.img -j12 && cd ..</div> For&nbsp;Firefly-RK3399 board: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd kernel && make ARCH=arm64 rockchip_linux_defconfig && make ARCH=arm64 rk3399-firefly-mini-linux.img -j12 && cd ..</div> === Building uboot === For RK3399 optimized SDK (rkproduct uboot) <pre>cd u-boot && make rk3399_linux_defconfig && make ARCHV=aarch64 -j12 && cd .. </pre> === Building rootfs === ==== Debian ==== You could refer to [[Media:RK3399_Linux_Debian_System_Development_Guide.pdf|RK3399 Linux Debian System Development Guide]]&nbsp;from Rockchip to build rootfs yourselves. ==== Buildroot ==== <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd buildroot && make rockchip_rk3399_defconfig && cd .. && ./build_all.sh -j12 && ./mkfirmware.sh&nbsp;</div> In order to get more details,you could refer to [[Media:RK3399_Linux_Buildroot_System_Development_Guide.pdf|RK3399 Linux Buildroot System Development Guide]]. &nbsp; = Devices = Rockchip: [[Excavator_sapphire_board|Excavator_sapphire_board]] Firefly: [http://wiki.t-firefly.com/index.php/Firefly-RK3399 Firefly-RK3399] If you need the rk3399-excavator&nbsp;board, please communicate through&nbsp;the following&nbsp;contact information: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">Telephone: 4007700590 &nbsp; &nbsp; &nbsp; &nbsp;Email: service@rock-chips.com</div> If you need the Firefly-RK3399 board,you can browse the following url&nbsp;for more details: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">[http://wiki.t-firefly.com/index.php/Firefly-RK3399 http://wiki.t-firefly.com/index.php/Firefly-RK3399]</div> = See also = [[RK3288|RK3288]] [[RK3328|RK3328]] &nbsp; = References = [https://en.wikipedia.org/wiki/ARM_Cortex-A72 https://en.wikipedia.org/wiki/ARM_Cortex-A72] [http://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html http://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html] [https://www.arm.com/zh/products/multimedia/mali-gpu/high-performance/mali-t860-t880.php https://www.arm.com/zh/products/multimedia/mali-gpu/high-performance/mali-t860-t880.php] fde78f654b485bca5e80bdc8c4c80ff1d7c98e45 630 628 2017-03-15T07:09:29Z Chery 9 wikitext text/x-wiki Rockchip RK3399 SoC integrates&nbsp;dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor, and with&nbsp;ARM Mali-T864 GPU. {| border="0" cellpadding="1" cellspacing="1" class="infobox" style="width: 300px;" |- | [[File:RK3399 Soc.png|RTENOTITLE]] |} = Overview = RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications. = SoC Features = {| border="0" cellpadding="1" cellspacing="1" style="width: 972px;" |- | style="width: 530px;" | *CPU: **Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU **Frequency is over 1.8GHz (Big cluster) *GPU: **&nbsp;Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11 **Supports AFBC (ARM Frame Buffer Compression) *Display: **Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600 **Dual channel MIPI-DSI (4 lanes per channel) **eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR **HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2 **DisplayPort 1.2 (4 lanes, up to 4K 60Hz) **Supports Rec.2020 and conversion to Rec.709 *Camera: **&nbsp;Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels *Memory: **Dual channels 64-bit DRAM controller **Support DDR3/DDR3L, LPDDR3, LPDDR4 *Connectivity: **PCIe 2.1 (4 full-duplex lanes with 20Gbps) **Embedded low power MCU for other application **8 channels I2S supports 8 channels RX or 8 channels TX | style="width: 429px;" | [[File:RK3399 Block Diagram.png|RTENOTITLE]] |} = Documentation = #[http://10.10.10.12:8444/images/6/60/Rockchip_RK3399_Datasheet_V1.6-20170301.pdf Rockchip_RK3399_Datasheet_V1.6-20170301] #[http://10.10.10.12:8444/images/9/9e/RK_DDR_Support_List_Ver2.24.pdf RK_DDR_Support_List_Ver2.24] #[http://10.10.10.12:8444/images/2/27/RK3399_Linux_Debian_System_Development_Guide.pdf RK3399_Linux_Debian_System_Development_Guide] #[http://10.10.10.12:8444/images/7/7e/RK3399_Linux_Buildroot_System_Development_Guide.pdf RK3399_Linux_Buildroot_System_Development_Guide] #[[Media:RK3399_Multimedia_Codec_Benchmark_v1.0.pdf|RK3399 Multimedia Codec Benchmark]] = Software = == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" style="line-height: 1.6; width: 768px;" |- | style="width: 119px; text-align: center;" | '''board''' | style="width: 172px; text-align: center;" | '''kernel''' | style="width: 124px; text-align: center;" | '''uboot''' | style="width: 310px; text-align: center;" | '''dts''' |- | style="width: 119px; text-align: center;" | rk3399-excavator | style="width: 172px; text-align: center;" | rockchip_linux_defconfig | style="width: 124px; text-align: center;" | rk3399_linux_defconfig | style="width: 310px; text-align: center;" | rk3399-sapphire-excavator-linux.dts |} == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" style="width: 859px;" |- | style="width: 68px; text-align: center;" | '''chip''' | style="width: 181px; text-align: center;" | '''Kernel eMMC index''' | style="width: 142px; text-align: center;" | '''Kernel SD index''' | style="width: 158px; text-align: center;" | '''Uboot eMMC index''' | style="width: 146px; text-align: center;" | '''Uboot SD index''' | style="width: 132px; text-align: center;" | '''Baud speed''' |- | style="width: 68px; text-align: center;" | RK3399 | style="width: 181px; text-align: center;" | 1 | style="width: 142px; text-align: center;" | 0 | style="width: 158px; text-align: center;" | 0 | style="width: 146px; text-align: center;" | 1 | style="width: 132px; text-align: center;" | 1500000 |} == How to get the sources == The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code. RK3399 optimized Debian & Buildroot <pre>repo init -u https://github.com/rockchip-linux/manifests -m rk3399.xml repo sync </pre> == How to build the sources == === Build Environment === You need a 64-bit&nbsp;Ubuntu. Note: old versions&nbsp;Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;"><br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so</div> Install&nbsp;ARM cross-compile tool chain and compile kernel relative&nbsp;software package:&nbsp; <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">$ sudo apt-get install gcc-arm-linux-gnueabihf&nbsp;gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev</div> === Building kernel &&nbsp;resource === For RK3399&nbsp;Excavator-sapphire&nbsp;board: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd kernel && make ARCH=arm64 rockchip_linux_defconfig && make ARCH=arm64 rk3399-sapphire-excavator-linux.img -j12 && cd ..</div> For&nbsp;Firefly-RK3399 board: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd kernel && make ARCH=arm64 rockchip_linux_defconfig && make ARCH=arm64 rk3399-firefly-mini-linux.img -j12 && cd ..</div> === Building uboot === For RK3399 optimized SDK (rkproduct uboot) <pre>cd u-boot && make rk3399_linux_defconfig && make ARCHV=aarch64 -j12 && cd .. </pre> === Building rootfs === ==== Debian ==== You could refer to [[Media:RK3399_Linux_Debian_System_Development_Guide.pdf|RK3399 Linux Debian System Development Guide]]&nbsp;from Rockchip to build rootfs yourselves. ==== Buildroot ==== <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd buildroot && make rockchip_rk3399_defconfig && cd .. && ./build_all.sh -j12 && ./mkfirmware.sh&nbsp;</div> In order to get more details,you could refer to [[Media:RK3399_Linux_Buildroot_System_Development_Guide.pdf|RK3399 Linux Buildroot System Development Guide]]. &nbsp; = Devices = Rockchip: [[Excavator_sapphire_board|Excavator_sapphire_board]] Firefly: [http://wiki.t-firefly.com/index.php/Firefly-RK3399 Firefly-RK3399] If you need the rk3399-excavator&nbsp;board, please communicate through&nbsp;the following&nbsp;contact information: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">Telephone: 4007700590 &nbsp; &nbsp; &nbsp; &nbsp;Email: service@rock-chips.com</div> If you need the Firefly-RK3399 board,you can browse the following url&nbsp;for more details: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">[http://wiki.t-firefly.com/index.php/Firefly-RK3399 http://wiki.t-firefly.com/index.php/Firefly-RK3399]</div> = See also = [[RK3288|RK3288]] [[RK3328|RK3328]] &nbsp; = References = [https://en.wikipedia.org/wiki/ARM_Cortex-A72 https://en.wikipedia.org/wiki/ARM_Cortex-A72] [http://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html http://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html] [https://www.arm.com/zh/products/multimedia/mali-gpu/high-performance/mali-t860-t880.php https://www.arm.com/zh/products/multimedia/mali-gpu/high-performance/mali-t860-t880.php] 2f1d4970656ed6a53295046b811ce822499c4477 Main Page 0 16 611 369 2017-03-14T09:35:32Z Chery 9 wikitext text/x-wiki = '''Source code''' = Rockchip provide open source software on Github including fully support for Linux Based OS: *Github:&nbsp;[http://github.com/rockchip-linux http://github.com/rockchip-linux] You can also find software for Rockchip SoCs from Upstream: *Linux kernel:&nbsp;[http://www.kernel.org/ http://www.kernel.org/] *U-Boot:&nbsp;[http://www.denx.de/wiki/U-Boot/WebHome http://www.denx.de/wiki/U-Boot/WebHome] *ARM Truseted Firmware:&nbsp;[https://github.com/ARM-software/arm-trusted-firmware https://github.com/ARM-software/arm-trusted-firmware] &nbsp; = '''Hardware Document''' = Here are the documents for SoCs, you can find&nbsp;Hardware device/board information on [[Devices|DEVICE PAGE]]. {| border="1" cellpadding="0" cellspacing="0" |- | style="width:92px;" | <p style="text-align: center;">SoC</p> | style="width:286px;" | <p style="text-align: center;">Description</p> | style="width:189px;" | <p style="text-align: center;">Download</p> |- | style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p> | style="width:286px;" | Quad-core Cortex-A17 CPU, MALI-T764 GPU | style="width:189px;" | [http://10.10.10.12:8444/index.php?title=TRM TRM], [[Media:Rockchip_RK3288_Datasheet_V2.2-20170301.pdf|Datasheet]],[[Schematic|Schematic]], Layout Guide |- | style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p> | style="width:286px;" | Quad-core Cortex-A53 CPU,MALI-450MP2 GPU | style="width:189px;" | [[TRM|TRM]], [[Datasheet|Datasheet]],[[Schematic|Schematic]], Layout Guide |- | style="width:92px;" | <p style="text-align: center;">[[RK3399|RK3399]]</p> | style="width:286px;" | Dual-core Cortex-A72, Quad-core Cortex-A53 CPU, MALI-T864 GPU | style="width:189px;" | [[TRM|TRM]], [[Media:Rockchip_RK3399_Datasheet_V1.6-20170301.pdf|Datasheet]],[[Schematic|Schematic]], [[Media:Layout_Design_Guide_V0.4.pdf|Layout Guide]] |} &nbsp; &nbsp; = '''Software development&nbsp;''' = *'''&nbsp;Porting guide for Linux based OS/Distribution''' &nbsp; &nbsp; &nbsp; [[Linux_user_guide|Linux_user_guide]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Debian|Debian]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Yocto|Yocto]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Buildroot|Buildroot]] *'''&nbsp;BSP module user guide''' &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[U-Boot|U-Boot]]&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Rockchip_Kernel|Rockchip Kernel]]&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Upstream_Kernel|Upstream Kernel]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Atf|ARM Trusted&nbsp;Firmware]] *'''&nbsp; Graphic and Video module user guide''' &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Display_Server|Display Server]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Gstreamer|Gstreamer]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[MPP|MPP]] *'''Tool and Firmware Upgrade''' &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Rockusb|Rockusb]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Rkdevelptool|Rkdevelptool]] '''<span style="font-size:xx-large;">Feedback</span>''' If you have any questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website. Rockchip Hotline:&nbsp;400-7700-590 Abroad, please call:&nbsp;0086-591-83991906&nbsp;Ext:&nbsp;8198 Service mailbox:service@rock-chips.com b3c986a184ce597995d648488f583a784ece0e49 643 611 2017-03-15T14:20:26Z Kever 2 wikitext text/x-wiki = '''Source code''' = Rockchip provide open source software on Github including fully support for Linux Based OS: *Github:&nbsp;[http://github.com/rockchip-linux http://github.com/rockchip-linux] You can also find software for Rockchip SoCs from Upstream: *Linux kernel:&nbsp;[http://www.kernel.org/ http://www.kernel.org/] *U-Boot:&nbsp;[http://www.denx.de/wiki/U-Boot/WebHome http://www.denx.de/wiki/U-Boot/WebHome] *ARM Truseted Firmware:&nbsp;[https://github.com/ARM-software/arm-trusted-firmware https://github.com/ARM-software/arm-trusted-firmware] &nbsp; = '''Hardware Document''' = Here are the documents for SoCs, you can find&nbsp;Hardware device/board information on [[Devices|DEVICE PAGE]]. {| border="1" cellpadding="0" cellspacing="0" |- | style="width:92px;" | <p style="text-align: center;">SoC</p> | style="width:286px;" | <p style="text-align: center;">Description</p> | style="width:189px;" | <p style="text-align: center;">Download</p> |- | style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p> | style="width:286px;" | Quad-core Cortex-A17 CPU, MALI-T764 GPU | style="width:189px;" | [http://10.10.10.12:8444/index.php?title=TRM TRM], [[Media:Rockchip_RK3288_Datasheet_V2.2-20170301.pdf|Datasheet]],[[Schematic|Schematic]], Layout Guide |- | style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p> | style="width:286px;" | Quad-core Cortex-A53 CPU,MALI-450MP2 GPU | style="width:189px;" | [[TRM|TRM]], [[Datasheet|Datasheet]],[[Schematic|Schematic]], Layout Guide |- | style="width:92px;" | <p style="text-align: center;">[[RK3399|RK3399]]</p> | style="width:286px;" | Dual-core Cortex-A72, Quad-core Cortex-A53 CPU, MALI-T864 GPU | style="width:189px;" | [[TRM|TRM]], [[Media:Rockchip_RK3399_Datasheet_V1.6-20170301.pdf|Datasheet]],[[Schematic|Schematic]], [[Media:Layout_Design_Guide_V0.4.pdf|Layout Guide]] |} &nbsp; &nbsp; = '''Software development&nbsp;''' = *'''&nbsp;Porting guide for Linux based OS/Distribution''' &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Linux_user_guide|Linux_user_guide]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Debian|Debian]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Yocto|Yocto]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Buildroot|Buildroot]] *'''&nbsp;BSP module user guide''' &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[U-Boot|U-Boot]]&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Rockchip_Kernel|Rockchip Kernel]]&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Upstream_Kernel|Upstream Kernel]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Atf|ARM Trusted&nbsp;Firmware]] *'''&nbsp; Graphic and Video module user guide''' &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Display_Server|Display Server]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Gstreamer|Gstreamer]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[MPP|MPP]] *'''Tool and Firmware Upgrade''' &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Rockusb|Rockusb]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Rkdevelptool|Rkdevelptool]] '''<span style="font-size:xx-large;">Feedback</span>''' If you have any questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website. Rockchip Hotline:&nbsp;400-7700-590 Abroad, please call:&nbsp;0086-591-83991906&nbsp;Ext:&nbsp;8198 Service mailbox:service@rock-chips.com a4396b6985e86e467ae07934e61aa9913c79764c 644 643 2017-03-15T14:21:30Z Kever 2 wikitext text/x-wiki = '''Source code''' = Rockchip provide open source software on Github including fully support for Linux Based OS: *Github:&nbsp;[http://github.com/rockchip-linux http://github.com/rockchip-linux] You can also find software for Rockchip SoCs from Upstream: *Linux kernel:&nbsp;[http://www.kernel.org/ http://www.kernel.org/] *U-Boot:&nbsp;[http://www.denx.de/wiki/U-Boot/WebHome http://www.denx.de/wiki/U-Boot/WebHome] *ARM Truseted Firmware:&nbsp;[https://github.com/ARM-software/arm-trusted-firmware https://github.com/ARM-software/arm-trusted-firmware] &nbsp; = '''Hardware Document''' = Here are the documents for SoCs, you can find&nbsp;Hardware device/board information on [[Devices|DEVICE PAGE]]. {| border="1" cellpadding="0" cellspacing="0" |- | style="width:92px;" | <p style="text-align: center;">SoC</p> | style="width:286px;" | <p style="text-align: center;">Description</p> | style="width:189px;" | <p style="text-align: center;">Download</p> |- | style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p> | style="width:286px;" | Quad-core Cortex-A17 CPU, MALI-T764 GPU | style="width:189px;" | [http://10.10.10.12:8444/index.php?title=TRM TRM], [[Media:Rockchip_RK3288_Datasheet_V2.2-20170301.pdf|Datasheet]],[[Schematic|Schematic]], Layout Guide |- | style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p> | style="width:286px;" | Quad-core Cortex-A53 CPU,MALI-450MP2 GPU | style="width:189px;" | [[TRM|TRM]], [[Datasheet|Datasheet]],[[Schematic|Schematic]], Layout Guide |- | style="width:92px;" | <p style="text-align: center;">[[RK3399|RK3399]]</p> | style="width:286px;" | Dual-core Cortex-A72, Quad-core Cortex-A53 CPU, MALI-T864 GPU | style="width:189px;" | [[TRM|TRM]], [[Media:Rockchip_RK3399_Datasheet_V1.6-20170301.pdf|Datasheet]],[[Schematic|Schematic]], [[Media:Layout_Design_Guide_V0.4.pdf|Layout Guide]] |} &nbsp; &nbsp; = '''Software development&nbsp;''' = *'''&nbsp;Porting guide for Linux based OS/Distribution''' &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Linux_user_guide|Linux_user_guide]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Debian|Debian]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Yocto|Yocto]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Buildroot|Buildroot]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[districbution|Other districbution]] *'''&nbsp;BSP module user guide''' &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[U-Boot|U-Boot]]&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Rockchip_Kernel|Rockchip Kernel]]&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Upstream_Kernel|Upstream Kernel]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Atf|ARM Trusted&nbsp;Firmware]] *'''&nbsp; Graphic and Video module user guide''' &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Display_Server|Display Server]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Gstreamer|Gstreamer]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[MPP|MPP]] *'''Tool and Firmware Upgrade''' &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Rockusb|Rockusb]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Rkdevelptool|Rkdevelptool]] '''<span style="font-size:xx-large;">Feedback</span>''' If you have any questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website. Rockchip Hotline:&nbsp;400-7700-590 Abroad, please call:&nbsp;0086-591-83991906&nbsp;Ext:&nbsp;8198 Service mailbox:service@rock-chips.com 9fa49a4e59ee34f307c38efc6c4a3bf75dcff206 651 644 2017-03-16T08:36:03Z Kever 2 wikitext text/x-wiki = '''Source code''' = Rockchip provide open source software on Github including fully support for Linux Based OS: *Github:&nbsp;[http://github.com/rockchip-linux http://github.com/rockchip-linux] You can also find software for Rockchip SoCs from Upstream: *Linux kernel:&nbsp;[http://www.kernel.org/ http://www.kernel.org/] *U-Boot:&nbsp;[http://www.denx.de/wiki/U-Boot/WebHome http://www.denx.de/wiki/U-Boot/WebHome] *ARM Truseted Firmware:&nbsp;[https://github.com/ARM-software/arm-trusted-firmware https://github.com/ARM-software/arm-trusted-firmware] If you are using a Chrombook with Rockchip SoC, you can use: *Chromium OS kernel:&nbsp;https://chromium.googlesource.com/chromiumos/third_party/kernel = '''Hardware Document''' = Here are the documents for SoCs, you can find&nbsp;Hardware device/board information on [[Devices|DEVICE PAGE]]. {| border="1" cellpadding="0" cellspacing="0" |- | style="width:92px;" | <p style="text-align: center;">SoC</p> | style="width:286px;" | <p style="text-align: center;">Description</p> | style="width:189px;" | <p style="text-align: center;">Download</p> |- | style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p> | style="width:286px;" | Quad-core Cortex-A17 CPU, MALI-T764 GPU | style="width:189px;" | [http://10.10.10.12:8444/index.php?title=TRM TRM], [[Media:Rockchip_RK3288_Datasheet_V2.2-20170301.pdf|Datasheet]],[[Schematic|Schematic]], Layout Guide |- | style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p> | style="width:286px;" | Quad-core Cortex-A53 CPU,MALI-450MP2 GPU | style="width:189px;" | [[TRM|TRM]], [[Datasheet|Datasheet]],[[Schematic|Schematic]], Layout Guide |- | style="width:92px;" | <p style="text-align: center;">[[RK3399|RK3399]]</p> | style="width:286px;" | Dual-core Cortex-A72, Quad-core Cortex-A53 CPU, MALI-T864 GPU | style="width:189px;" | [[TRM|TRM]], [[Media:Rockchip_RK3399_Datasheet_V1.6-20170301.pdf|Datasheet]],[[Schematic|Schematic]], [[Media:Layout_Design_Guide_V0.4.pdf|Layout Guide]] |} &nbsp; &nbsp; &nbsp; = '''Software development&nbsp;''' = *'''&nbsp;Porting guide for Linux based OS/Distribution''' &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Linux_user_guide|Linux_user_guide]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Debian|Debian]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Yocto|Yocto]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Buildroot|Buildroot]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Districbution|Other districbution]] *'''&nbsp;BSP module user guide''' &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[U-Boot|U-Boot]]&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Rockchip_Kernel|Rockchip Kernel]]&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Upstream_Kernel|Upstream Kernel]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Atf|ARM Trusted&nbsp;Firmware]] *'''&nbsp; Graphic and Video module user guide''' &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Display_Server|Display Server]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Gstreamer|Gstreamer]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[MPP|MPP]] *'''Tool and Firmware Upgrade''' &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Rockusb|Rockusb]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Rkdevelptool|Rkdevelptool]] '''<span style="font-size:xx-large;">Feedback</span>''' If you have any questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website. Rockchip Hotline:&nbsp;400-7700-590 Abroad, please call:&nbsp;0086-591-83991906&nbsp;Ext:&nbsp;8198 Service mailbox:service@rock-chips.com a2e601e15431e02ea789823335a9e4d30171569d 652 651 2017-03-16T08:39:10Z Kever 2 wikitext text/x-wiki = '''Source code''' = Rockchip provide open source software on Github including fully support for Linux Based OS: *Github:&nbsp;[http://github.com/rockchip-linux http://github.com/rockchip-linux] You can also find software for Rockchip SoCs from Upstream: *Linux kernel:&nbsp;[http://www.kernel.org/ http://www.kernel.org/] *U-Boot:&nbsp;[http://www.denx.de/wiki/U-Boot/WebHome http://www.denx.de/wiki/U-Boot/WebHome] *ARM Truseted Firmware:&nbsp;[https://github.com/ARM-software/arm-trusted-firmware https://github.com/ARM-software/arm-trusted-firmware] If you are using a Chrombook with Rockchip SoC, you can use: *Coreboot:&nbsp;https://chromium.googlesource.com/chromiumos/third_party/coreboot *Chromium OS kernel:&nbsp;[https://chromium.googlesource.com/chromiumos/third_party/kernel https://chromium.googlesource.com/chromiumos/third_party/kernel] = '''Hardware Document''' = Here are the documents for SoCs, you can find&nbsp;Hardware device/board information on [[Devices|DEVICE PAGE]]. {| border="1" cellpadding="0" cellspacing="0" |- | style="width:92px;" | <p style="text-align: center;">SoC</p> | style="width:286px;" | <p style="text-align: center;">Description</p> | style="width:189px;" | <p style="text-align: center;">Download</p> |- | style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p> | style="width:286px;" | Quad-core Cortex-A17 CPU, MALI-T764 GPU | style="width:189px;" | [http://10.10.10.12:8444/index.php?title=TRM TRM], [[Media:Rockchip_RK3288_Datasheet_V2.2-20170301.pdf|Datasheet]],[[Schematic|Schematic]], Layout Guide |- | style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p> | style="width:286px;" | Quad-core Cortex-A53 CPU,MALI-450MP2 GPU | style="width:189px;" | [[TRM|TRM]], [[Datasheet|Datasheet]],[[Schematic|Schematic]], Layout Guide |- | style="width:92px;" | <p style="text-align: center;">[[RK3399|RK3399]]</p> | style="width:286px;" | Dual-core Cortex-A72, Quad-core Cortex-A53 CPU, MALI-T864 GPU | style="width:189px;" | [[TRM|TRM]], [[Media:Rockchip_RK3399_Datasheet_V1.6-20170301.pdf|Datasheet]],[[Schematic|Schematic]], [[Media:Layout_Design_Guide_V0.4.pdf|Layout Guide]] |} &nbsp; &nbsp; &nbsp; = '''Software development&nbsp;''' = *'''&nbsp;Porting guide for Linux based OS/Distribution''' &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Linux_user_guide|Linux_user_guide]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Debian|Debian]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Yocto|Yocto]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Buildroot|Buildroot]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Districbution|Other districbution]] *'''&nbsp;BSP module user guide''' &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[U-Boot|U-Boot]]&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Rockchip_Kernel|Rockchip Kernel]]&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Upstream_Kernel|Upstream Kernel]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Atf|ARM Trusted&nbsp;Firmware]] *'''&nbsp; Graphic and Video module user guide''' &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Display_Server|Display Server]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Gstreamer|Gstreamer]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[MPP|MPP]] *'''Tool and Firmware Upgrade''' &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Rockusb|Rockusb]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Rkdevelptool|Rkdevelptool]] '''<span style="font-size:xx-large;">Feedback</span>''' If you have any questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website. Rockchip Hotline:&nbsp;400-7700-590 Abroad, please call:&nbsp;0086-591-83991906&nbsp;Ext:&nbsp;8198 Service mailbox:service@rock-chips.com f96b98f915d21c220fdd6c9bdce9ecf93505a8d7 659 652 2017-03-16T09:53:55Z Kever 2 wikitext text/x-wiki = '''Source code''' = Rockchip provide open source software on Github including fully support for Linux Based OS: *Github:&nbsp;[http://github.com/rockchip-linux http://github.com/rockchip-linux] You can also find software for Rockchip SoCs from Upstream: *Linux kernel:&nbsp;[http://www.kernel.org/ http://www.kernel.org/] *U-Boot:&nbsp;[http://www.denx.de/wiki/U-Boot/WebHome http://www.denx.de/wiki/U-Boot/WebHome] *ARM Truseted Firmware:&nbsp;[https://github.com/ARM-software/arm-trusted-firmware https://github.com/ARM-software/arm-trusted-firmware] If you are using a Chrombook with Rockchip SoC, you can use: *Coreboot:&nbsp;https://chromium.googlesource.com/chromiumos/third_party/coreboot *Chromium OS kernel:&nbsp;[https://chromium.googlesource.com/chromiumos/third_party/kernel https://chromium.googlesource.com/chromiumos/third_party/kernel] = '''Hardware Document''' = Here are the documents for SoCs, you can find&nbsp;Hardware device/board information on [[Devices|DEVICE PAGE]]. {| border="1" cellpadding="0" cellspacing="0" |- | style="width:92px;" | <p style="text-align: center;">SoC</p> | style="width:286px;" | <p style="text-align: center;">Description</p> | style="width:189px;" | <p style="text-align: center;">Download</p> |- | style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p> | style="width:286px;" | Quad-core Cortex-A17 CPU, MALI-T764 GPU | style="width:189px;" | TRM, [[Media:Rockchip_RK3288_Datasheet_V2.2-20170301.pdf|Datasheet]],Schematic&Layout Guide |- | style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p> | style="width:286px;" | Quad-core Cortex-A53 CPU,MALI-450MP2 GPU | style="width:189px;" | TRM, [[Datasheet|Datasheet]],Schematic&Layout Guide |- | style="width:92px;" | <p style="text-align: center;">[[RK3399|RK3399]]</p> | style="width:286px;" | Dual-core Cortex-A72, Quad-core Cortex-A53 CPU, MALI-T864 GPU | style="width:189px;" | TRM, [[Media:Rockchip_RK3399_Datasheet_V1.6-20170301.pdf|Datasheet]],Schematic&Layout Guide |} &nbsp; &nbsp; &nbsp; = '''Software development&nbsp;''' = *'''&nbsp;Porting guide for Linux based OS/Distribution''' &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Linux_user_guide|Linux_user_guide]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Debian|Debian]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Yocto|Yocto]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Buildroot|Buildroot]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Districbution|Other districbution]] *'''&nbsp;BSP module user guide''' &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[U-Boot|U-Boot]]&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Rockchip_Kernel|Rockchip Kernel]]&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Upstream_Kernel|Upstream Kernel]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Atf|ARM Trusted&nbsp;Firmware]] *'''&nbsp; Graphic and Video module user guide''' &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Display_Server|Display Server]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Gstreamer|Gstreamer]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[MPP|MPP]] *'''Tool and Firmware Upgrade''' &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Rockusb|Rockusb]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Rkdevelptool|Rkdevelptool]] '''<span style="font-size:xx-large;">Feedback</span>''' If you have any questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website. Rockchip Hotline:&nbsp;400-7700-590 Abroad, please call:&nbsp;0086-591-83991906&nbsp;Ext:&nbsp;8198 Service mailbox:service@rock-chips.com 2c78327579cde6a0cad99bd114d0deb5760a5e55 U-Boot 0 11 616 589 2017-03-15T01:47:29Z Karen 3 wikitext text/x-wiki U-Boot Guide = Download U-Boot = == Upstream U-Boot == You can clone the u-boot repository by running: <pre>git clone git://git.denx.de/u-boot.git</pre> Alternatively you can use u-boot-rockchip instead which may with some patches not get in mainline: <pre>git clone git://git.denx.de/u-boot-rockchip.git</pre> == Rockchip U-Boot == You can clone the u-boot repository by running: <pre>git clone https://github.com/rockchip-linux/u-boot.git </pre> = Supported Devices = Upstream U-Boot support Rockchip SoCs: RK3036, RK3188, [[RK3288|RK3288]], [[RK3328|RK3328]], [[RK3399|RK3399]] &nbsp; *RK3036 boards supported: <ol style="margin-left: 40px;"> <li>EVB RK3036 - use evb-rk3036 configuration</li> <li>Kylin - use kylin_rk3036 configuration</li> </ol> *RK3288 boards supported: <ol style="margin-left: 40px;"> <li>EVB RK3288 - use evb-rk3288 configuration</li> <li>Fennec RK3288 - use fennec-rk3288 configuration</li> <li>Firefly RK3288 - use firefly-rk3288 configuration</li> <li>Hisense Chromebook - use chromebook_jerry configuration</li> <li>Miniarm RK3288 - use miniarm-rk3288 configuration</li> <li>PopMetal RK3288 - use popmetal-rk3288 configuration</li> <li>Radxa Rock 2 - use rock2 configuration</li> <li>ASUS Tinker</li> </ol> *RK3188 boards&nbsp;supported: <ol style="margin-left: 40px;"> <li>Radxa Rock - use rock&nbsp;configuration</li> </ol> *RK3328 boards&nbsp;supported: <ol style="margin-left: 40px;"> <li>EVB RK3328 - use evb-rk3328 configuration</li> </ol> *RK3399 boards&nbsp;supported: <ol style="margin-left: 40px;"> <li>EVB RK3399 - use evb-rk3399 configuration</li> </ol> &nbsp; = Configure U-Boot = First you need to choose a correct defconfig for your board; When you have determined what <board_name> you want to build, configure: <pre>make CROSS_COMPILE=arm-linux-gnueabi-&nbsp;<board_name>_defconfig</pre> You may need to change the U-Boot function/feature support by modify the defconfig file or, there is also menuconfig to play with settings if you feel like it: <pre>make CROSS_COMPILE=arm-linux-gnueabi- menuconfig</pre> &nbsp; &nbsp; = Build U-Boot = == Get a toolchain == If you haven't done so before, get a suitable&nbsp;toolchain&nbsp;installed and add it&nbsp;to your PATH. In Ubuntu 14.04, you can use below command to install cross compiler for armv7: <pre>sudo apt-get install gcc-arm-linux-gnueabi</pre> Or for ARM64 <pre>sudo apt-get install gcc-aarch64-linux-gnu </pre> &nbsp; == Build == For armv7: <pre>make CROSS_COMPILE=arm-linux-gnueabi-</pre> or for ARM64: <pre>make ARCH=arm CROSS_COMPILE=aarch64-linux-gnu-</pre> In order to support debug in ARM DS-5, you may need add ctags in make command: <pre>CFLAGS='-gdwarf-3'</pre> = Istall U-Boot = Rockchip SoCs's bootrom need special format named IDBlock at special offset 0x64 block for boot, so we need to package&nbsp;SPL(or Rockchip miniloader) &nbsp;in IDB format. Rockchip bootrom supports SPL back to bootrom and bootrom load the U-Boot, so the SPL for Rockchip SoCs can option to back to bootrom, usually decided by if the IRAM is enough&nbsp;for driver to load U-Boot. &nbsp; == Using U-Boot SPL == After build&nbsp;complete, U-Boot with SPL support will generate a spl folder with <var>u-boot-spl.bin</var>&nbsp;inside <pre>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl.bin rk3288_idb.img</pre> '''This image is supposed to flash to offset 0x64.''' For&nbsp;<var>u-boot.bin</var>, it's different for SPL back to bootrom or not, if enable&nbsp;CONFIG_ROCKCHIP_SPL_BACK_TO_BROM, we can append the U-Boot to IDB data: <pre>cat u-boot.bin >> rk3288_idb.img</pre> <code>If&nbsp;</code>CONFIG_ROCKCHIP_SPL_BACK_TO_BROM&nbsp;not enabled, no more package operation is need for u-boot-dtb.bin, and it need to flalsh to 0x200 which is decide by&nbsp;CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR. == Support ATF with SPL FIT image == == Using Rockchip miniloader == Alternatively, you can use Rockchip miniloader and U-Boot instead which do not need SPL. The miniloader is package as IDBlock, and the u-boot.bin need to package with rockchip tool: <pre>loaderimage --pack --uboot u-boot.bin rk3288_uboot.img</pre> According to the [[Partitions|partitions]] definition, this output should write to offset 0x4000. = Boot = == Boot from eMMC == === Get Tool and Firmware === [http://rockchip.wikidot.com/tools tools] === Writing to the board with USB === For USB to work you must get your board into ROM boot mode, either by erasing<br/> your MMC or holding the maskrom button when you boot the board. ==== rk3288(upgrade_tool) ==== To create a suitable image and write it to the board:<br/> default : with CONFIG_ROCKCHIP_SPL_BACK_TO_BROM <pre><code>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin out cat u-boot-dtb.bin >> out sudo upgrade_tool db ../rkbin/rk32/RK3288UbootLoader_V2.30.06.bin sudo upgrade_tool wl 64 out sudo upgrade_tool rd</code> </pre> <br/> others : firefly(Recommend using sd card) ==== rk3036 ==== To create a suitable image and write it to the board: <pre><code>tools/mkimage -n rk3036 -T rksd -d spl/u-boot-spl-dtb.bin out cat u-boot-dtb.bin >> out sudo upgrade_tool db ../rkbin/rk30/RK3036MiniLoaderAll_V2.19.bin sudo upgrade_tool wl 64 out sudo upgrade_tool rd</code> </pre> ==== RK3399 ==== <pre><code>cd .. ./rkbin/tools/trust_merger ./rkbin/tools/RK3399TRUST.ini cd uboot ../rkbin/tools/loaderimage --pack --uboot u-boot-dtb.bin uboot.img sudo upgrade_tool UL ../rkbin/rk33/RK3399MiniLoaderAll_V1.05.bin sudo upgrade_tool DI uboot uboot.img ../rkbin/tools/rk3399_parameter.txt sudo upgrade_tool DI trust ../trust.img ../rkbin/tools/rk3399_parameter.txt sudo upgrade_tool rd</code> </pre> === Flash kernel and rootfs === Enter into the uboot and issue the following command on uboot: (otg should be connected) <pre><code>gpt write mmc 0 $partitions ums 0 mmc 0</code> </pre> <br/> Now the board will act as an USB-drive.<br/> In host: (assuming sdb is ur device) <pre><code>sudo mkfs.fat /dev/sdb6</code> </pre> <br/> Copy zimage and dts file to dev/sdb6 <pre><code>cp arch/arm/boot/zImage /media/chen/9F35-9565/ cp arch/arm/boot/dts/rk3288-fennec.dtb /media/chen/9F35-9565/rk3288-fennec.dtb</code> </pre> Add extlinux/extlinux.conf to dev/sdb6<br/> (Please notice "mmcblk2p7" and "115200n8" is decide on your chip, Please refer to&nbsp;[http://rockchip.wikidot.com/linux-user-guide#toc1 config table]) <pre><code>label kernel-4.4 kernel /zImage fdt /rk3288-fennec.dtb append earlyprintk console=tty1 console=ttyS2,115200n8 rw root=/dev/mmcblk2p7 rootfstype=ext4 init=/sbin/init</code> </pre> <br/> Flash rootfs <pre><code>sudo dd if=linaro-rootfs.img of=/dev/sdb7 conv=notrunc</code></pre> == Boot from SD/TF Card == === Creating Image === Follow&nbsp;[http://rockchip.wikidot.com/linux-user-guide linux-user-guide]&nbsp;to build kernel and U-Boot.<br/> get uboot-spl.img and u-boot-dtb.img <pre><code>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin uboot-spl.img</code> </pre> === <br/> <var>build boot.img</var> === <pre><code>sudo dd if=/dev/zero of=boot.img bs=1M count=128 sudo mkfs.fat boot.img mkdir boot sudo mount boot.img boot sudo cp zImage boot sudo cp rk3288-fennec.dtb boot sudo mkdir boot/extlinux sudo cp extlinux.conf boot/extlinux sudo umount boot</code> </pre> Download rootfs image and rename it <pre><code>mv linaro-rootfs.img rootfs.img</code> </pre> === Making a SD Card for updating === Download&nbsp;[https://github.com/wzyy2/rk-initrd-build ramdisk source]&nbsp;and build. <pre><code>sh ./mk-initrd.sh</code> </pre> Format SD card <pre><code>chen@chen-HP-ProDesk-680-G1-TWR:~/work/linaro-alip/ramdisk/update$ sudo gdisk /dev/sdb GPT fdisk (gdisk) version 0.8.8 Partition table scan: MBR: protective BSD: not present APM: not present GPT: present Found valid GPT with protective MBR; using GPT. Command (? for help): o This option deletes all partitions and creates a new protective MBR. Proceed? (Y/N): y Command (? for help): n Partition number (1-128, default 1): 1 First sector (34-126613470, default = 2048) or {+-}size{KMGTP}: 8192 Last sector (8192-126613470, default = 126613470) or {+-}size{KMGTP}: Current type is 'Linux filesystem' Hex code or GUID (L to show codes, Enter = 8300): Changed type of partition to 'Linux filesystem' Command (? for help): w Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING PARTITIONS!! Do you want to proceed? (Y/N): y OK; writing new GUID partition table (GPT) to /dev/sdc. Warning: The kernel is still using the old partition table. The new table will be used at the next reboot. The operation has completed successfully.</code> </pre> <pre><code>sudo umount /dev/sdb1 sudo mkfs.fat /dev/sdb1</code> </pre> <pre><code>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin out&& sudo dd if=out of=/dev/sdb seek=64&&sudo dd if=u-boot-dtb.img of=/dev/sdb seek=256</code> </pre> Copy zimage, dts and ramdisk to /dev/sdb1 <pre><code>cp arch/arm/boot/zImage /media/chen/9F35-9565/ cp arch/arm/boot/dts/rk3288-fennec.dtb /media/chen/9F35-9565/rk3288-fennec.dtb cp ../rk-initrd-build/initrd.img /media/chen/9F35-9565/</code> </pre> Add extlinux/extlinux.conf to /dev/sdb1 <pre><code>label kernel-4.4 kernel /zImage fdt /rk3288-fennec.dtb initrd /initrd.img append earlyprintk console=ttyS2,115200n8 rw root=/dev/ram0 rootfstype=ext4 init=/sbin/init ramdisk_size=49152</code> </pre> Copy u-boot-dtb.img uboot-spl.img boot.img rootfs.img and&nbsp;[https://github.com/wzyy2/rk-initrd-build/blob/master/update/update.sh update.sh]&nbsp;to /dev/sdb1 <pre><code>mkdir /media/chen/9F35-9565/update cp u-boot-dtb.img /media/chen/9F35-9565/update cp uboot-spl.img /media/chen/9F35-9565/update cp boot.img /media/chen/9F35-9565/update cp rootfs.img /media/chen/9F35-9565/update cp update.sh /media/chen/9F35-9565/update</code> </pre> === Updating the board === Boot the board and it will flash image to eMMC == Boot from USB-Disk == == Netboot/TFTP == == Distro boot == = U-Boot download = In U-Boot, there are multi way to update image for system, you can chose any of one easy use for you. == fastboot == See [[fastboot]] == ums == fac3555e6e59d900bad86c2d8f3070db4efa49c7 617 616 2017-03-15T01:52:16Z Karen 3 wikitext text/x-wiki U-Boot Guide = Download U-Boot = == Upstream U-Boot == You can clone the u-boot repository by running: <pre>git clone git://git.denx.de/u-boot.git</pre> Alternatively you can use u-boot-rockchip instead which may with some patches not get in mainline: <pre>git clone git://git.denx.de/u-boot-rockchip.git</pre> == Rockchip U-Boot == You can clone the u-boot repository by running: <pre>git clone https://github.com/rockchip-linux/u-boot.git </pre> = Supported Devices = Upstream U-Boot support Rockchip SoCs: RK3036, RK3188, [[RK3288|RK3288]], [[RK3328|RK3328]], [[RK3399|RK3399]] &nbsp; *RK3036 boards supported: <ol style="margin-left: 40px;"> <li>EVB RK3036 - use evb-rk3036 configuration</li> <li>Kylin - use kylin_rk3036 configuration</li> </ol> *RK3288 boards supported: <ol style="margin-left: 40px;"> <li>EVB RK3288 - use evb-rk3288 configuration</li> <li>Fennec RK3288 - use fennec-rk3288 configuration</li> <li>Firefly RK3288 - use firefly-rk3288 configuration</li> <li>Hisense Chromebook - use chromebook_jerry configuration</li> <li>Miniarm RK3288 - use miniarm-rk3288 configuration</li> <li>PopMetal RK3288 - use popmetal-rk3288 configuration</li> <li>Radxa Rock 2 - use rock2 configuration</li> <li>ASUS Tinker</li> </ol> *RK3188 boards&nbsp;supported: <ol style="margin-left: 40px;"> <li>Radxa Rock - use rock&nbsp;configuration</li> </ol> *RK3328 boards&nbsp;supported: <ol style="margin-left: 40px;"> <li>EVB RK3328 - use evb-rk3328 configuration</li> </ol> *RK3399 boards&nbsp;supported: <ol style="margin-left: 40px;"> <li>EVB RK3399 - use evb-rk3399 configuration</li> </ol> &nbsp; = Configure U-Boot = First you need to choose a correct defconfig for your board; When you have determined what <board_name> you want to build, configure: <pre>make CROSS_COMPILE=arm-linux-gnueabi-&nbsp;<board_name>_defconfig</pre> You may need to change the U-Boot function/feature support by modify the defconfig file or, there is also menuconfig to play with settings if you feel like it: <pre>make CROSS_COMPILE=arm-linux-gnueabi- menuconfig</pre> &nbsp; &nbsp; = Build U-Boot = == Get a toolchain == If you haven't done so before, get a suitable&nbsp;toolchain&nbsp;installed and add it&nbsp;to your PATH. In Ubuntu 14.04, you can use below command to install cross compiler for armv7: <pre>sudo apt-get install gcc-arm-linux-gnueabi</pre> Or for ARM64 <pre>sudo apt-get install gcc-aarch64-linux-gnu </pre> &nbsp; == Build == For armv7: <pre>make CROSS_COMPILE=arm-linux-gnueabi-</pre> or for ARM64: <pre>make ARCH=arm CROSS_COMPILE=aarch64-linux-gnu-</pre> In order to support debug in ARM DS-5, you may need add ctags in make command: <pre>CFLAGS='-gdwarf-3'</pre> = Istall U-Boot = Rockchip SoCs's bootrom need special format named IDBlock at special offset 0x64 block for boot, so we need to package&nbsp;SPL(or Rockchip miniloader) &nbsp;in IDB format. Rockchip bootrom supports SPL back to bootrom and bootrom load the U-Boot, so the SPL for Rockchip SoCs can option to back to bootrom, usually decided by if the IRAM is enough&nbsp;for driver to load U-Boot. &nbsp; == Using U-Boot SPL == After build&nbsp;complete, U-Boot with SPL support will generate a spl folder with <var>u-boot-spl.bin</var>&nbsp;inside <pre>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl.bin rk3288_idb.img</pre> '''This image is supposed to flash to offset 0x64.''' For&nbsp;<var>u-boot.bin</var>, it's different for SPL back to bootrom or not, if enable&nbsp;CONFIG_ROCKCHIP_SPL_BACK_TO_BROM, we can append the U-Boot to IDB data: <pre>cat u-boot.bin >> rk3288_idb.img</pre> <code>If&nbsp;</code>CONFIG_ROCKCHIP_SPL_BACK_TO_BROM&nbsp;not enabled, no more package operation is need for u-boot-dtb.bin, and it need to flalsh to 0x200 which is decide by&nbsp;CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR. == Support ATF with SPL FIT image == == Using Rockchip miniloader == Alternatively, you can use Rockchip miniloader and U-Boot instead which do not need SPL. The miniloader is package as IDBlock, and the u-boot.bin need to package with rockchip tool: <pre>loaderimage --pack --uboot u-boot.bin rk3288_uboot.img</pre> According to the [[Partitions|partitions]] definition, this output should write to offset 0x4000. = Boot = == Boot from eMMC == === Get Tool and Firmware === [http://rockchip.wikidot.com/tools tools] === Flash&nbsp;to the board by USB === In order to&nbsp;flash&nbsp;by USB,you must get your board into ROM boot mode, either by erasing<br/> your MMC or holding the maskrom button when you boot the board. ==== RK3288(upgrade_tool) ==== To create a suitable image and write it to the board:<br/> default&nbsp;: with CONFIG_ROCKCHIP_SPL_BACK_TO_BROM <pre><code>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin out cat u-boot-dtb.bin >> out sudo upgrade_tool db ../rkbin/rk32/RK3288UbootLoader_V2.30.06.bin sudo upgrade_tool wl 64 out sudo upgrade_tool rd</code> </pre> <br/> others&nbsp;: firefly(Recommend using sd card) ==== rk3036 ==== To create a suitable image and write it to the board: <pre><code>tools/mkimage -n rk3036 -T rksd -d spl/u-boot-spl-dtb.bin out cat u-boot-dtb.bin >> out sudo upgrade_tool db ../rkbin/rk30/RK3036MiniLoaderAll_V2.19.bin sudo upgrade_tool wl 64 out sudo upgrade_tool rd</code> </pre> ==== RK3399 ==== <pre><code>cd .. ./rkbin/tools/trust_merger ./rkbin/tools/RK3399TRUST.ini cd uboot ../rkbin/tools/loaderimage --pack --uboot u-boot-dtb.bin uboot.img sudo upgrade_tool UL ../rkbin/rk33/RK3399MiniLoaderAll_V1.05.bin sudo upgrade_tool DI uboot uboot.img ../rkbin/tools/rk3399_parameter.txt sudo upgrade_tool DI trust ../trust.img ../rkbin/tools/rk3399_parameter.txt sudo upgrade_tool rd</code> </pre> === Flash kernel and rootfs === Enter into the uboot and issue the following command on uboot: (otg should be connected) <pre><code>gpt write mmc 0 $partitions ums 0 mmc 0</code> </pre> <br/> Now the board will act as an USB-drive.<br/> In host: (assuming sdb is ur device) <pre><code>sudo mkfs.fat /dev/sdb6</code> </pre> <br/> Copy zimage and dts file to dev/sdb6 <pre><code>cp arch/arm/boot/zImage /media/chen/9F35-9565/ cp arch/arm/boot/dts/rk3288-fennec.dtb /media/chen/9F35-9565/rk3288-fennec.dtb</code> </pre> Add extlinux/extlinux.conf to dev/sdb6<br/> (Please notice "mmcblk2p7" and "115200n8" is decide on your chip, Please refer to&nbsp;[http://rockchip.wikidot.com/linux-user-guide#toc1 config table]) <pre><code>label kernel-4.4 kernel /zImage fdt /rk3288-fennec.dtb append earlyprintk console=tty1 console=ttyS2,115200n8 rw root=/dev/mmcblk2p7 rootfstype=ext4 init=/sbin/init</code> </pre> <br/> Flash rootfs <pre><code>sudo dd if=linaro-rootfs.img of=/dev/sdb7 conv=notrunc</code></pre> == Boot from SD/TF Card == === Creating Image === Follow&nbsp;[http://rockchip.wikidot.com/linux-user-guide linux-user-guide]&nbsp;to build kernel and U-Boot.<br/> get uboot-spl.img and u-boot-dtb.img <pre><code>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin uboot-spl.img</code> </pre> === <br/> <var>build boot.img</var> === <pre><code>sudo dd if=/dev/zero of=boot.img bs=1M count=128 sudo mkfs.fat boot.img mkdir boot sudo mount boot.img boot sudo cp zImage boot sudo cp rk3288-fennec.dtb boot sudo mkdir boot/extlinux sudo cp extlinux.conf boot/extlinux sudo umount boot</code> </pre> Download rootfs image and rename it <pre><code>mv linaro-rootfs.img rootfs.img</code> </pre> === Making a SD Card for updating === Download&nbsp;[https://github.com/wzyy2/rk-initrd-build ramdisk source]&nbsp;and build. <pre><code>sh ./mk-initrd.sh</code> </pre> Format SD card <pre><code>chen@chen-HP-ProDesk-680-G1-TWR:~/work/linaro-alip/ramdisk/update$ sudo gdisk /dev/sdb GPT fdisk (gdisk) version 0.8.8 Partition table scan: MBR: protective BSD: not present APM: not present GPT: present Found valid GPT with protective MBR; using GPT. Command (? for help): o This option deletes all partitions and creates a new protective MBR. Proceed? (Y/N): y Command (? for help): n Partition number (1-128, default 1): 1 First sector (34-126613470, default = 2048) or {+-}size{KMGTP}: 8192 Last sector (8192-126613470, default = 126613470) or {+-}size{KMGTP}: Current type is 'Linux filesystem' Hex code or GUID (L to show codes, Enter = 8300): Changed type of partition to 'Linux filesystem' Command (? for help): w Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING PARTITIONS!! Do you want to proceed? (Y/N): y OK; writing new GUID partition table (GPT) to /dev/sdc. Warning: The kernel is still using the old partition table. The new table will be used at the next reboot. The operation has completed successfully.</code> </pre> <pre><code>sudo umount /dev/sdb1 sudo mkfs.fat /dev/sdb1</code> </pre> <pre><code>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin out&& sudo dd if=out of=/dev/sdb seek=64&&sudo dd if=u-boot-dtb.img of=/dev/sdb seek=256</code> </pre> Copy zimage, dts and ramdisk to /dev/sdb1 <pre><code>cp arch/arm/boot/zImage /media/chen/9F35-9565/ cp arch/arm/boot/dts/rk3288-fennec.dtb /media/chen/9F35-9565/rk3288-fennec.dtb cp ../rk-initrd-build/initrd.img /media/chen/9F35-9565/</code> </pre> Add extlinux/extlinux.conf to /dev/sdb1 <pre><code>label kernel-4.4 kernel /zImage fdt /rk3288-fennec.dtb initrd /initrd.img append earlyprintk console=ttyS2,115200n8 rw root=/dev/ram0 rootfstype=ext4 init=/sbin/init ramdisk_size=49152</code> </pre> Copy u-boot-dtb.img uboot-spl.img boot.img rootfs.img and&nbsp;[https://github.com/wzyy2/rk-initrd-build/blob/master/update/update.sh update.sh]&nbsp;to /dev/sdb1 <pre><code>mkdir /media/chen/9F35-9565/update cp u-boot-dtb.img /media/chen/9F35-9565/update cp uboot-spl.img /media/chen/9F35-9565/update cp boot.img /media/chen/9F35-9565/update cp rootfs.img /media/chen/9F35-9565/update cp update.sh /media/chen/9F35-9565/update</code> </pre> === Updating the board === Boot the board and it will flash image to eMMC == Boot from USB-Disk == == Netboot/TFTP == == Distro boot == = U-Boot download = In U-Boot, there are multi way to update image for system, you can chose any of one easy use for you. == fastboot == See [[fastboot]] == ums == a3ac3dafe8fe8816578ff8ae1580ba3de8df64ac 618 617 2017-03-15T01:56:54Z Karen 3 wikitext text/x-wiki U-Boot Guide = Download U-Boot = == Upstream U-Boot == You can clone the u-boot repository by running: <pre>git clone git://git.denx.de/u-boot.git</pre> Alternatively you can use u-boot-rockchip instead which may with some patches not get in mainline: <pre>git clone git://git.denx.de/u-boot-rockchip.git</pre> == Rockchip U-Boot == You can clone the u-boot repository by running: <pre>git clone https://github.com/rockchip-linux/u-boot.git </pre> = Supported Devices = Upstream U-Boot support Rockchip SoCs: RK3036, RK3188, [[RK3288|RK3288]], [[RK3328|RK3328]], [[RK3399|RK3399]] &nbsp; *RK3036 boards supported: <ol style="margin-left: 40px;"> <li>EVB RK3036 - use evb-rk3036 configuration</li> <li>Kylin - use kylin_rk3036 configuration</li> </ol> *RK3288 boards supported: <ol style="margin-left: 40px;"> <li>EVB RK3288 - use evb-rk3288 configuration</li> <li>Fennec RK3288 - use fennec-rk3288 configuration</li> <li>Firefly RK3288 - use firefly-rk3288 configuration</li> <li>Hisense Chromebook - use chromebook_jerry configuration</li> <li>Miniarm RK3288 - use miniarm-rk3288 configuration</li> <li>PopMetal RK3288 - use popmetal-rk3288 configuration</li> <li>Radxa Rock 2 - use rock2 configuration</li> <li>ASUS Tinker</li> </ol> *RK3188 boards&nbsp;supported: <ol style="margin-left: 40px;"> <li>Radxa Rock - use rock&nbsp;configuration</li> </ol> *RK3328 boards&nbsp;supported: <ol style="margin-left: 40px;"> <li>EVB RK3328 - use evb-rk3328 configuration</li> </ol> *RK3399 boards&nbsp;supported: <ol style="margin-left: 40px;"> <li>EVB RK3399 - use evb-rk3399 configuration</li> </ol> &nbsp; = Configure U-Boot = First you need to choose a correct defconfig for your board; When you have determined what <board_name> you want to build, configure: <pre>make CROSS_COMPILE=arm-linux-gnueabi-&nbsp;<board_name>_defconfig</pre> You may need to change the U-Boot function/feature support by modify the defconfig file or, there is also menuconfig to play with settings if you feel like it: <pre>make CROSS_COMPILE=arm-linux-gnueabi- menuconfig</pre> &nbsp; &nbsp; = Build U-Boot = == Get a toolchain == If you haven't done so before, get a suitable&nbsp;toolchain&nbsp;installed and add it&nbsp;to your PATH. In Ubuntu 14.04, you can use below command to install cross compiler for armv7: <pre>sudo apt-get install gcc-arm-linux-gnueabi</pre> Or for ARM64 <pre>sudo apt-get install gcc-aarch64-linux-gnu </pre> &nbsp; == Build == For armv7: <pre>make CROSS_COMPILE=arm-linux-gnueabi-</pre> or for ARM64: <pre>make ARCH=arm CROSS_COMPILE=aarch64-linux-gnu-</pre> In order to support debug in ARM DS-5, you may need add ctags in make command: <pre>CFLAGS='-gdwarf-3'</pre> = Istall U-Boot = Rockchip SoCs's bootrom need special format named IDBlock at special offset 0x64 block for boot, so we need to package&nbsp;SPL(or Rockchip miniloader) &nbsp;in IDB format. Rockchip bootrom supports SPL back to bootrom and bootrom load the U-Boot, so the SPL for Rockchip SoCs can option to back to bootrom, usually decided by if the IRAM is enough&nbsp;for driver to load U-Boot. &nbsp; == Using U-Boot SPL == After build&nbsp;complete, U-Boot with SPL support will generate a spl folder with <var>u-boot-spl.bin</var>&nbsp;inside <pre>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl.bin rk3288_idb.img</pre> '''This image is supposed to flash to offset 0x64.''' For&nbsp;<var>u-boot.bin</var>, it's different for SPL back to bootrom or not, if enable&nbsp;CONFIG_ROCKCHIP_SPL_BACK_TO_BROM, we can append the U-Boot to IDB data: <pre>cat u-boot.bin >> rk3288_idb.img</pre> <code>If&nbsp;</code>CONFIG_ROCKCHIP_SPL_BACK_TO_BROM&nbsp;not enabled, no more package operation is need for u-boot-dtb.bin, and it need to flalsh to 0x200 which is decide by&nbsp;CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR. == Support ATF with SPL FIT image == == Using Rockchip miniloader == Alternatively, you can use Rockchip miniloader and U-Boot instead which do not need SPL. The miniloader is package as IDBlock, and the u-boot.bin need to package with rockchip tool: <pre>loaderimage --pack --uboot u-boot.bin rk3288_uboot.img</pre> According to the [[Partitions|partitions]] definition, this output should write to offset 0x4000. = Boot = == Boot from eMMC == === Get Tool and Firmware === [http://rockchip.wikidot.com/tools tools] === Flash&nbsp;to the board by USB === In order to&nbsp;flash&nbsp;by USB,you must get your board into ROM boot mode, either by erasing<br/> your MMC or holding the maskrom button when you boot the board. ==== RK3288(upgrade_tool) ==== To create a suitable image and flash&nbsp;it to the board:<br/> default&nbsp;: with CONFIG_ROCKCHIP_SPL_BACK_TO_BROM <pre><code>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin out cat u-boot-dtb.bin >> out sudo upgrade_tool db ../rkbin/rk32/RK3288UbootLoader_V2.30.06.bin sudo upgrade_tool wl 64 out sudo upgrade_tool rd</code> </pre> <br/> others&nbsp;: firefly(Recommend using sd card) ==== rk3036 ==== To create a suitable image and write it to the board: <pre><code>tools/mkimage -n rk3036 -T rksd -d spl/u-boot-spl-dtb.bin out cat u-boot-dtb.bin >> out sudo upgrade_tool db ../rkbin/rk30/RK3036MiniLoaderAll_V2.19.bin sudo upgrade_tool wl 64 out sudo upgrade_tool rd</code> </pre> ==== RK3399 ==== <pre><code>cd .. ./rkbin/tools/trust_merger ./rkbin/tools/RK3399TRUST.ini cd uboot ../rkbin/tools/loaderimage --pack --uboot u-boot-dtb.bin uboot.img sudo upgrade_tool UL ../rkbin/rk33/RK3399MiniLoaderAll_V1.05.bin sudo upgrade_tool DI uboot uboot.img ../rkbin/tools/rk3399_parameter.txt sudo upgrade_tool DI trust ../trust.img ../rkbin/tools/rk3399_parameter.txt sudo upgrade_tool rd</code> </pre> === Flash kernel and rootfs === Enter into the uboot and issue the following command on uboot: (otg should be connected) <pre><code>gpt write mmc 0 $partitions ums 0 mmc 0</code> </pre> <br/> Now the board will act as an USB-drive.<br/> In host: (assuming sdb is ur device) <pre><code>sudo mkfs.fat /dev/sdb6</code> </pre> <br/> Copy zimage and dts file to dev/sdb6 <pre><code>cp arch/arm/boot/zImage /media/chen/9F35-9565/ cp arch/arm/boot/dts/rk3288-fennec.dtb /media/chen/9F35-9565/rk3288-fennec.dtb</code> </pre> Add extlinux/extlinux.conf to dev/sdb6<br/> (Please notice "mmcblk2p7" and "115200n8" is decide on your chip, Please refer to&nbsp;[http://rockchip.wikidot.com/linux-user-guide#toc1 config table]) <pre><code>label kernel-4.4 kernel /zImage fdt /rk3288-fennec.dtb append earlyprintk console=tty1 console=ttyS2,115200n8 rw root=/dev/mmcblk2p7 rootfstype=ext4 init=/sbin/init</code> </pre> <br/> Flash rootfs <pre><code>sudo dd if=linaro-rootfs.img of=/dev/sdb7 conv=notrunc</code></pre> == Boot from SD/TF Card == === Creating Image === Follow&nbsp;[http://rockchip.wikidot.com/linux-user-guide linux-user-guide]&nbsp;to build kernel and U-Boot.<br/> get uboot-spl.img and u-boot-dtb.img <pre><code>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin uboot-spl.img</code> </pre> === <br/> <var>build boot.img</var> === <pre><code>sudo dd if=/dev/zero of=boot.img bs=1M count=128 sudo mkfs.fat boot.img mkdir boot sudo mount boot.img boot sudo cp zImage boot sudo cp rk3288-fennec.dtb boot sudo mkdir boot/extlinux sudo cp extlinux.conf boot/extlinux sudo umount boot</code> </pre> Download rootfs image and rename it <pre><code>mv linaro-rootfs.img rootfs.img</code> </pre> === Making a SD Card for updating === Download&nbsp;[https://github.com/wzyy2/rk-initrd-build ramdisk source]&nbsp;and build. <pre><code>sh ./mk-initrd.sh</code> </pre> Format SD card <pre><code>chen@chen-HP-ProDesk-680-G1-TWR:~/work/linaro-alip/ramdisk/update$ sudo gdisk /dev/sdb GPT fdisk (gdisk) version 0.8.8 Partition table scan: MBR: protective BSD: not present APM: not present GPT: present Found valid GPT with protective MBR; using GPT. Command (? for help): o This option deletes all partitions and creates a new protective MBR. Proceed? (Y/N): y Command (? for help): n Partition number (1-128, default 1): 1 First sector (34-126613470, default = 2048) or {+-}size{KMGTP}: 8192 Last sector (8192-126613470, default = 126613470) or {+-}size{KMGTP}: Current type is 'Linux filesystem' Hex code or GUID (L to show codes, Enter = 8300): Changed type of partition to 'Linux filesystem' Command (? for help): w Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING PARTITIONS!! Do you want to proceed? (Y/N): y OK; writing new GUID partition table (GPT) to /dev/sdc. Warning: The kernel is still using the old partition table. The new table will be used at the next reboot. The operation has completed successfully.</code> </pre> <pre><code>sudo umount /dev/sdb1 sudo mkfs.fat /dev/sdb1</code> </pre> <pre><code>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin out&& sudo dd if=out of=/dev/sdb seek=64&&sudo dd if=u-boot-dtb.img of=/dev/sdb seek=256</code> </pre> Copy zimage, dts and ramdisk to /dev/sdb1 <pre><code>cp arch/arm/boot/zImage /media/chen/9F35-9565/ cp arch/arm/boot/dts/rk3288-fennec.dtb /media/chen/9F35-9565/rk3288-fennec.dtb cp ../rk-initrd-build/initrd.img /media/chen/9F35-9565/</code> </pre> Add extlinux/extlinux.conf to /dev/sdb1 <pre><code>label kernel-4.4 kernel /zImage fdt /rk3288-fennec.dtb initrd /initrd.img append earlyprintk console=ttyS2,115200n8 rw root=/dev/ram0 rootfstype=ext4 init=/sbin/init ramdisk_size=49152</code> </pre> Copy u-boot-dtb.img uboot-spl.img boot.img rootfs.img and&nbsp;[https://github.com/wzyy2/rk-initrd-build/blob/master/update/update.sh update.sh]&nbsp;to /dev/sdb1 <pre><code>mkdir /media/chen/9F35-9565/update cp u-boot-dtb.img /media/chen/9F35-9565/update cp uboot-spl.img /media/chen/9F35-9565/update cp boot.img /media/chen/9F35-9565/update cp rootfs.img /media/chen/9F35-9565/update cp update.sh /media/chen/9F35-9565/update</code> </pre> === Updating the board === Boot the board and it will flash image to eMMC == Boot from USB-Disk == == Netboot/TFTP == == Distro boot == = U-Boot download = In U-Boot, there are multi way to update image for system, you can chose any of one easy use for you. == fastboot == See [[fastboot]] == ums == b8fd1641e68d24294cf9a28878ab966424e5b7a6 619 618 2017-03-15T01:57:58Z Karen 3 wikitext text/x-wiki U-Boot Guide = Download U-Boot = == Upstream U-Boot == You can clone the u-boot repository by running: <pre>git clone git://git.denx.de/u-boot.git</pre> Alternatively you can use u-boot-rockchip instead which may with some patches not get in mainline: <pre>git clone git://git.denx.de/u-boot-rockchip.git</pre> == Rockchip U-Boot == You can clone the u-boot repository by running: <pre>git clone https://github.com/rockchip-linux/u-boot.git </pre> = Supported Devices = Upstream U-Boot support Rockchip SoCs: RK3036, RK3188, [[RK3288|RK3288]], [[RK3328|RK3328]], [[RK3399|RK3399]] &nbsp; *RK3036 boards supported: <ol style="margin-left: 40px;"> <li>EVB RK3036 - use evb-rk3036 configuration</li> <li>Kylin - use kylin_rk3036 configuration</li> </ol> *RK3288 boards supported: <ol style="margin-left: 40px;"> <li>EVB RK3288 - use evb-rk3288 configuration</li> <li>Fennec RK3288 - use fennec-rk3288 configuration</li> <li>Firefly RK3288 - use firefly-rk3288 configuration</li> <li>Hisense Chromebook - use chromebook_jerry configuration</li> <li>Miniarm RK3288 - use miniarm-rk3288 configuration</li> <li>PopMetal RK3288 - use popmetal-rk3288 configuration</li> <li>Radxa Rock 2 - use rock2 configuration</li> <li>ASUS Tinker</li> </ol> *RK3188 boards&nbsp;supported: <ol style="margin-left: 40px;"> <li>Radxa Rock - use rock&nbsp;configuration</li> </ol> *RK3328 boards&nbsp;supported: <ol style="margin-left: 40px;"> <li>EVB RK3328 - use evb-rk3328 configuration</li> </ol> *RK3399 boards&nbsp;supported: <ol style="margin-left: 40px;"> <li>EVB RK3399 - use evb-rk3399 configuration</li> </ol> &nbsp; = Configure U-Boot = First you need to choose a correct defconfig for your board; When you have determined what <board_name> you want to build, configure: <pre>make CROSS_COMPILE=arm-linux-gnueabi-&nbsp;<board_name>_defconfig</pre> You may need to change the U-Boot function/feature support by modify the defconfig file or, there is also menuconfig to play with settings if you feel like it: <pre>make CROSS_COMPILE=arm-linux-gnueabi- menuconfig</pre> &nbsp; &nbsp; = Build U-Boot = == Get a toolchain == If you haven't done so before, get a suitable&nbsp;toolchain&nbsp;installed and add it&nbsp;to your PATH. In Ubuntu 14.04, you can use below command to install cross compiler for armv7: <pre>sudo apt-get install gcc-arm-linux-gnueabi</pre> Or for ARM64 <pre>sudo apt-get install gcc-aarch64-linux-gnu </pre> &nbsp; == Build == For armv7: <pre>make CROSS_COMPILE=arm-linux-gnueabi-</pre> or for ARM64: <pre>make ARCH=arm CROSS_COMPILE=aarch64-linux-gnu-</pre> In order to support debug in ARM DS-5, you may need add ctags in make command: <pre>CFLAGS='-gdwarf-3'</pre> = Istall U-Boot = Rockchip SoCs's bootrom need special format named IDBlock at special offset 0x64 block for boot, so we need to package&nbsp;SPL(or Rockchip miniloader) &nbsp;in IDB format. Rockchip bootrom supports SPL back to bootrom and bootrom load the U-Boot, so the SPL for Rockchip SoCs can option to back to bootrom, usually decided by if the IRAM is enough&nbsp;for driver to load U-Boot. &nbsp; == Using U-Boot SPL == After build&nbsp;complete, U-Boot with SPL support will generate a spl folder with <var>u-boot-spl.bin</var>&nbsp;inside <pre>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl.bin rk3288_idb.img</pre> '''This image is supposed to flash to offset 0x64.''' For&nbsp;<var>u-boot.bin</var>, it's different for SPL back to bootrom or not, if enable&nbsp;CONFIG_ROCKCHIP_SPL_BACK_TO_BROM, we can append the U-Boot to IDB data: <pre>cat u-boot.bin >> rk3288_idb.img</pre> <code>If&nbsp;</code>CONFIG_ROCKCHIP_SPL_BACK_TO_BROM&nbsp;not enabled, no more package operation is need for u-boot-dtb.bin, and it need to flalsh to 0x200 which is decide by&nbsp;CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR. == Support ATF with SPL FIT image == == Using Rockchip miniloader == Alternatively, you can use Rockchip miniloader and U-Boot instead which do not need SPL. The miniloader is package as IDBlock, and the u-boot.bin need to package with rockchip tool: <pre>loaderimage --pack --uboot u-boot.bin rk3288_uboot.img</pre> According to the [[Partitions|partitions]] definition, this output should write to offset 0x4000. = Boot = == Boot from eMMC == === Get Tool and Firmware === [http://rockchip.wikidot.com/tools tools] === Flash&nbsp;to the board by USB === In order to&nbsp;flash&nbsp;by USB,you must get your board into ROM boot mode, either by erasing<br/> your MMC or holding the maskrom button when you boot the board. ==== RK3288(upgrade_tool) ==== To create a suitable image and flash&nbsp;it to the board:<br/> default&nbsp;: with CONFIG_ROCKCHIP_SPL_BACK_TO_BROM <pre>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin out<br/> cat u-boot-dtb.bin >> out<br/> sudo upgrade_tool db&nbsp; ../rkbin/rk32/RK3288UbootLoader_V2.30.06.bin<br/> sudo upgrade_tool wl 64 out<br/> sudo upgrade_tool rd</pre> <br/> others&nbsp;: firefly(Recommend using sd card) ==== rk3036 ==== To create a suitable image and write it to the board: <pre><code>tools/mkimage -n rk3036 -T rksd -d spl/u-boot-spl-dtb.bin out cat u-boot-dtb.bin >> out sudo upgrade_tool db ../rkbin/rk30/RK3036MiniLoaderAll_V2.19.bin sudo upgrade_tool wl 64 out sudo upgrade_tool rd</code> </pre> ==== RK3399 ==== <pre><code>cd .. ./rkbin/tools/trust_merger ./rkbin/tools/RK3399TRUST.ini cd uboot ../rkbin/tools/loaderimage --pack --uboot u-boot-dtb.bin uboot.img sudo upgrade_tool UL ../rkbin/rk33/RK3399MiniLoaderAll_V1.05.bin sudo upgrade_tool DI uboot uboot.img ../rkbin/tools/rk3399_parameter.txt sudo upgrade_tool DI trust ../trust.img ../rkbin/tools/rk3399_parameter.txt sudo upgrade_tool rd</code> </pre> === Flash kernel and rootfs === Enter into the uboot and issue the following command on uboot: (otg should be connected) <pre><code>gpt write mmc 0 $partitions ums 0 mmc 0</code> </pre> <br/> Now the board will act as an USB-drive.<br/> In host: (assuming sdb is ur device) <pre><code>sudo mkfs.fat /dev/sdb6</code> </pre> <br/> Copy zimage and dts file to dev/sdb6 <pre><code>cp arch/arm/boot/zImage /media/chen/9F35-9565/ cp arch/arm/boot/dts/rk3288-fennec.dtb /media/chen/9F35-9565/rk3288-fennec.dtb</code> </pre> Add extlinux/extlinux.conf to dev/sdb6<br/> (Please notice "mmcblk2p7" and "115200n8" is decide on your chip, Please refer to&nbsp;[http://rockchip.wikidot.com/linux-user-guide#toc1 config table]) <pre><code>label kernel-4.4 kernel /zImage fdt /rk3288-fennec.dtb append earlyprintk console=tty1 console=ttyS2,115200n8 rw root=/dev/mmcblk2p7 rootfstype=ext4 init=/sbin/init</code> </pre> <br/> Flash rootfs <pre><code>sudo dd if=linaro-rootfs.img of=/dev/sdb7 conv=notrunc</code></pre> == Boot from SD/TF Card == === Creating Image === Follow&nbsp;[http://rockchip.wikidot.com/linux-user-guide linux-user-guide]&nbsp;to build kernel and U-Boot.<br/> get uboot-spl.img and u-boot-dtb.img <pre><code>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin uboot-spl.img</code> </pre> === <br/> <var>build boot.img</var> === <pre><code>sudo dd if=/dev/zero of=boot.img bs=1M count=128 sudo mkfs.fat boot.img mkdir boot sudo mount boot.img boot sudo cp zImage boot sudo cp rk3288-fennec.dtb boot sudo mkdir boot/extlinux sudo cp extlinux.conf boot/extlinux sudo umount boot</code> </pre> Download rootfs image and rename it <pre><code>mv linaro-rootfs.img rootfs.img</code> </pre> === Making a SD Card for updating === Download&nbsp;[https://github.com/wzyy2/rk-initrd-build ramdisk source]&nbsp;and build. <pre><code>sh ./mk-initrd.sh</code> </pre> Format SD card <pre><code>chen@chen-HP-ProDesk-680-G1-TWR:~/work/linaro-alip/ramdisk/update$ sudo gdisk /dev/sdb GPT fdisk (gdisk) version 0.8.8 Partition table scan: MBR: protective BSD: not present APM: not present GPT: present Found valid GPT with protective MBR; using GPT. Command (? for help): o This option deletes all partitions and creates a new protective MBR. Proceed? (Y/N): y Command (? for help): n Partition number (1-128, default 1): 1 First sector (34-126613470, default = 2048) or {+-}size{KMGTP}: 8192 Last sector (8192-126613470, default = 126613470) or {+-}size{KMGTP}: Current type is 'Linux filesystem' Hex code or GUID (L to show codes, Enter = 8300): Changed type of partition to 'Linux filesystem' Command (? for help): w Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING PARTITIONS!! Do you want to proceed? (Y/N): y OK; writing new GUID partition table (GPT) to /dev/sdc. Warning: The kernel is still using the old partition table. The new table will be used at the next reboot. The operation has completed successfully.</code> </pre> <pre><code>sudo umount /dev/sdb1 sudo mkfs.fat /dev/sdb1</code> </pre> <pre><code>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin out&& sudo dd if=out of=/dev/sdb seek=64&&sudo dd if=u-boot-dtb.img of=/dev/sdb seek=256</code> </pre> Copy zimage, dts and ramdisk to /dev/sdb1 <pre><code>cp arch/arm/boot/zImage /media/chen/9F35-9565/ cp arch/arm/boot/dts/rk3288-fennec.dtb /media/chen/9F35-9565/rk3288-fennec.dtb cp ../rk-initrd-build/initrd.img /media/chen/9F35-9565/</code> </pre> Add extlinux/extlinux.conf to /dev/sdb1 <pre><code>label kernel-4.4 kernel /zImage fdt /rk3288-fennec.dtb initrd /initrd.img append earlyprintk console=ttyS2,115200n8 rw root=/dev/ram0 rootfstype=ext4 init=/sbin/init ramdisk_size=49152</code> </pre> Copy u-boot-dtb.img uboot-spl.img boot.img rootfs.img and&nbsp;[https://github.com/wzyy2/rk-initrd-build/blob/master/update/update.sh update.sh]&nbsp;to /dev/sdb1 <pre><code>mkdir /media/chen/9F35-9565/update cp u-boot-dtb.img /media/chen/9F35-9565/update cp uboot-spl.img /media/chen/9F35-9565/update cp boot.img /media/chen/9F35-9565/update cp rootfs.img /media/chen/9F35-9565/update cp update.sh /media/chen/9F35-9565/update</code> </pre> === Updating the board === Boot the board and it will flash image to eMMC == Boot from USB-Disk == == Netboot/TFTP == == Distro boot == = U-Boot download = In U-Boot, there are multi way to update image for system, you can chose any of one easy use for you. == fastboot == See [[fastboot]] == ums == 3c78b8c720c481b0a53b510eb14fe7a6dc82c008 620 619 2017-03-15T01:59:15Z Karen 3 wikitext text/x-wiki U-Boot Guide = Download U-Boot = == Upstream U-Boot == You can clone the u-boot repository by running: <pre>git clone git://git.denx.de/u-boot.git</pre> Alternatively you can use u-boot-rockchip instead which may with some patches not get in mainline: <pre>git clone git://git.denx.de/u-boot-rockchip.git</pre> == Rockchip U-Boot == You can clone the u-boot repository by running: <pre>git clone https://github.com/rockchip-linux/u-boot.git </pre> = Supported Devices = Upstream U-Boot support Rockchip SoCs: RK3036, RK3188, [[RK3288|RK3288]], [[RK3328|RK3328]], [[RK3399|RK3399]] &nbsp; *RK3036 boards supported: <ol style="margin-left: 40px;"> <li>EVB RK3036 - use evb-rk3036 configuration</li> <li>Kylin - use kylin_rk3036 configuration</li> </ol> *RK3288 boards supported: <ol style="margin-left: 40px;"> <li>EVB RK3288 - use evb-rk3288 configuration</li> <li>Fennec RK3288 - use fennec-rk3288 configuration</li> <li>Firefly RK3288 - use firefly-rk3288 configuration</li> <li>Hisense Chromebook - use chromebook_jerry configuration</li> <li>Miniarm RK3288 - use miniarm-rk3288 configuration</li> <li>PopMetal RK3288 - use popmetal-rk3288 configuration</li> <li>Radxa Rock 2 - use rock2 configuration</li> <li>ASUS Tinker</li> </ol> *RK3188 boards&nbsp;supported: <ol style="margin-left: 40px;"> <li>Radxa Rock - use rock&nbsp;configuration</li> </ol> *RK3328 boards&nbsp;supported: <ol style="margin-left: 40px;"> <li>EVB RK3328 - use evb-rk3328 configuration</li> </ol> *RK3399 boards&nbsp;supported: <ol style="margin-left: 40px;"> <li>EVB RK3399 - use evb-rk3399 configuration</li> </ol> &nbsp; = Configure U-Boot = First you need to choose a correct defconfig for your board; When you have determined what <board_name> you want to build, configure: <pre>make CROSS_COMPILE=arm-linux-gnueabi-&nbsp;<board_name>_defconfig</pre> You may need to change the U-Boot function/feature support by modify the defconfig file or, there is also menuconfig to play with settings if you feel like it: <pre>make CROSS_COMPILE=arm-linux-gnueabi- menuconfig</pre> &nbsp; &nbsp; = Build U-Boot = == Get a toolchain == If you haven't done so before, get a suitable&nbsp;toolchain&nbsp;installed and add it&nbsp;to your PATH. In Ubuntu 14.04, you can use below command to install cross compiler for armv7: <pre>sudo apt-get install gcc-arm-linux-gnueabi</pre> Or for ARM64 <pre>sudo apt-get install gcc-aarch64-linux-gnu </pre> &nbsp; == Build == For armv7: <pre>make CROSS_COMPILE=arm-linux-gnueabi-</pre> or for ARM64: <pre>make ARCH=arm CROSS_COMPILE=aarch64-linux-gnu-</pre> In order to support debug in ARM DS-5, you may need add ctags in make command: <pre>CFLAGS='-gdwarf-3'</pre> = Istall U-Boot = Rockchip SoCs's bootrom need special format named IDBlock at special offset 0x64 block for boot, so we need to package&nbsp;SPL(or Rockchip miniloader) &nbsp;in IDB format. Rockchip bootrom supports SPL back to bootrom and bootrom load the U-Boot, so the SPL for Rockchip SoCs can option to back to bootrom, usually decided by if the IRAM is enough&nbsp;for driver to load U-Boot. &nbsp; == Using U-Boot SPL == After build&nbsp;complete, U-Boot with SPL support will generate a spl folder with <var>u-boot-spl.bin</var>&nbsp;inside <pre>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl.bin rk3288_idb.img</pre> '''This image is supposed to flash to offset 0x64.''' For&nbsp;<var>u-boot.bin</var>, it's different for SPL back to bootrom or not, if enable&nbsp;CONFIG_ROCKCHIP_SPL_BACK_TO_BROM, we can append the U-Boot to IDB data: <pre>cat u-boot.bin >> rk3288_idb.img</pre> <code>If&nbsp;</code>CONFIG_ROCKCHIP_SPL_BACK_TO_BROM&nbsp;not enabled, no more package operation is need for u-boot-dtb.bin, and it need to flalsh to 0x200 which is decide by&nbsp;CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR. == Support ATF with SPL FIT image == == Using Rockchip miniloader == Alternatively, you can use Rockchip miniloader and U-Boot instead which do not need SPL. The miniloader is package as IDBlock, and the u-boot.bin need to package with rockchip tool: <pre>loaderimage --pack --uboot u-boot.bin rk3288_uboot.img</pre> According to the [[Partitions|partitions]] definition, this output should write to offset 0x4000. = Boot = == Boot from eMMC == === Get Tool and Firmware === [http://rockchip.wikidot.com/tools tools] === Flash&nbsp;to the board by USB === In order to&nbsp;flash&nbsp;by USB,you must get your board into ROM boot mode, either by erasing<br/> your MMC or holding the maskrom button when you boot the board. ==== RK3288(upgrade_tool) ==== To create a suitable image and flash&nbsp;it to the board:<br/> default&nbsp;: with CONFIG_ROCKCHIP_SPL_BACK_TO_BROM <pre>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin out<br/> cat u-boot-dtb.bin >> out<br/> sudo upgrade_tool db&nbsp; ../rkbin/rk32/RK3288UbootLoader_V2.30.06.bin<br/> sudo upgrade_tool wl 64 out<br/> sudo upgrade_tool rd</pre> <br/> others&nbsp;: firefly(Recommend using sd card) ==== rk3036 ==== To create a suitable image and write it to the board: <pre><code>tools/mkimage -n rk3036 -T rksd -d spl/u-boot-spl-dtb.bin out cat u-boot-dtb.bin >> out sudo upgrade_tool db ../rkbin/rk30/RK3036MiniLoaderAll_V2.19.bin sudo upgrade_tool wl 64 out sudo upgrade_tool rd</code> </pre> ==== RK3399 ==== <pre><code>cd .. ./rkbin/tools/trust_merger ./rkbin/tools/RK3399TRUST.ini cd uboot ../rkbin/tools/loaderimage --pack --uboot u-boot-dtb.bin uboot.img sudo upgrade_tool UL ../rkbin/rk33/RK3399MiniLoaderAll_V1.05.bin sudo upgrade_tool DI uboot uboot.img ../rkbin/tools/rk3399_parameter.txt sudo upgrade_tool DI trust ../trust.img ../rkbin/tools/rk3399_parameter.txt sudo upgrade_tool rd</code> </pre> === &nbsp;To flash kernel and rootfs === Enter into the uboot and issue the following command on uboot: (otg should be connected) <pre><code>gpt write mmc 0 $partitions ums 0 mmc 0</code> </pre> <br/> Now the board will act as an USB-drive.<br/> In host: (assuming sdb is ur device) <pre><code>sudo mkfs.fat /dev/sdb6</code> </pre> <br/> Copy zimage and dts file to dev/sdb6 <pre><code>cp arch/arm/boot/zImage /media/chen/9F35-9565/ cp arch/arm/boot/dts/rk3288-fennec.dtb /media/chen/9F35-9565/rk3288-fennec.dtb</code> </pre> Add extlinux/extlinux.conf to dev/sdb6<br/> (Please notice "mmcblk2p7" and "115200n8" is decide on your chip, Please refer to&nbsp;[http://rockchip.wikidot.com/linux-user-guide#toc1 config table]) <pre><code>label kernel-4.4 kernel /zImage fdt /rk3288-fennec.dtb append earlyprintk console=tty1 console=ttyS2,115200n8 rw root=/dev/mmcblk2p7 rootfstype=ext4 init=/sbin/init</code> </pre> <br/> To flash rootfs <pre><code>sudo dd if=linaro-rootfs.img of=/dev/sdb7 conv=notrunc</code></pre> == Boot from SD/TF Card == === Creating Image === Follow&nbsp;[http://rockchip.wikidot.com/linux-user-guide linux-user-guide]&nbsp;to build kernel and U-Boot.<br/> get uboot-spl.img and u-boot-dtb.img <pre><code>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin uboot-spl.img</code> </pre> === <br/> <var>build boot.img</var> === <pre><code>sudo dd if=/dev/zero of=boot.img bs=1M count=128 sudo mkfs.fat boot.img mkdir boot sudo mount boot.img boot sudo cp zImage boot sudo cp rk3288-fennec.dtb boot sudo mkdir boot/extlinux sudo cp extlinux.conf boot/extlinux sudo umount boot</code> </pre> Download rootfs image and rename it <pre><code>mv linaro-rootfs.img rootfs.img</code> </pre> === Making a SD Card for updating === Download&nbsp;[https://github.com/wzyy2/rk-initrd-build ramdisk source]&nbsp;and build. <pre><code>sh ./mk-initrd.sh</code> </pre> Format SD card <pre><code>chen@chen-HP-ProDesk-680-G1-TWR:~/work/linaro-alip/ramdisk/update$ sudo gdisk /dev/sdb GPT fdisk (gdisk) version 0.8.8 Partition table scan: MBR: protective BSD: not present APM: not present GPT: present Found valid GPT with protective MBR; using GPT. Command (? for help): o This option deletes all partitions and creates a new protective MBR. Proceed? (Y/N): y Command (? for help): n Partition number (1-128, default 1): 1 First sector (34-126613470, default = 2048) or {+-}size{KMGTP}: 8192 Last sector (8192-126613470, default = 126613470) or {+-}size{KMGTP}: Current type is 'Linux filesystem' Hex code or GUID (L to show codes, Enter = 8300): Changed type of partition to 'Linux filesystem' Command (? for help): w Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING PARTITIONS!! Do you want to proceed? (Y/N): y OK; writing new GUID partition table (GPT) to /dev/sdc. Warning: The kernel is still using the old partition table. The new table will be used at the next reboot. The operation has completed successfully.</code> </pre> <pre><code>sudo umount /dev/sdb1 sudo mkfs.fat /dev/sdb1</code> </pre> <pre><code>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin out&& sudo dd if=out of=/dev/sdb seek=64&&sudo dd if=u-boot-dtb.img of=/dev/sdb seek=256</code> </pre> Copy zimage, dts and ramdisk to /dev/sdb1 <pre><code>cp arch/arm/boot/zImage /media/chen/9F35-9565/ cp arch/arm/boot/dts/rk3288-fennec.dtb /media/chen/9F35-9565/rk3288-fennec.dtb cp ../rk-initrd-build/initrd.img /media/chen/9F35-9565/</code> </pre> Add extlinux/extlinux.conf to /dev/sdb1 <pre><code>label kernel-4.4 kernel /zImage fdt /rk3288-fennec.dtb initrd /initrd.img append earlyprintk console=ttyS2,115200n8 rw root=/dev/ram0 rootfstype=ext4 init=/sbin/init ramdisk_size=49152</code> </pre> Copy u-boot-dtb.img uboot-spl.img boot.img rootfs.img and&nbsp;[https://github.com/wzyy2/rk-initrd-build/blob/master/update/update.sh update.sh]&nbsp;to /dev/sdb1 <pre><code>mkdir /media/chen/9F35-9565/update cp u-boot-dtb.img /media/chen/9F35-9565/update cp uboot-spl.img /media/chen/9F35-9565/update cp boot.img /media/chen/9F35-9565/update cp rootfs.img /media/chen/9F35-9565/update cp update.sh /media/chen/9F35-9565/update</code> </pre> === Updating the board === Boot the board and it will flash image to eMMC == Boot from USB-Disk == == Netboot/TFTP == == Distro boot == = U-Boot download = In U-Boot, there are multi way to update image for system, you can chose any of one easy use for you. == fastboot == See [[fastboot]] == ums == fe28fd27398216055f416c052f3d9f9439688d5c 621 620 2017-03-15T01:59:49Z Karen 3 wikitext text/x-wiki U-Boot Guide = Download U-Boot = == Upstream U-Boot == You can clone the u-boot repository by running: <pre>git clone git://git.denx.de/u-boot.git</pre> Alternatively you can use u-boot-rockchip instead which may with some patches not get in mainline: <pre>git clone git://git.denx.de/u-boot-rockchip.git</pre> == Rockchip U-Boot == You can clone the u-boot repository by running: <pre>git clone https://github.com/rockchip-linux/u-boot.git </pre> = Supported Devices = Upstream U-Boot support Rockchip SoCs: RK3036, RK3188, [[RK3288|RK3288]], [[RK3328|RK3328]], [[RK3399|RK3399]] &nbsp; *RK3036 boards supported: <ol style="margin-left: 40px;"> <li>EVB RK3036 - use evb-rk3036 configuration</li> <li>Kylin - use kylin_rk3036 configuration</li> </ol> *RK3288 boards supported: <ol style="margin-left: 40px;"> <li>EVB RK3288 - use evb-rk3288 configuration</li> <li>Fennec RK3288 - use fennec-rk3288 configuration</li> <li>Firefly RK3288 - use firefly-rk3288 configuration</li> <li>Hisense Chromebook - use chromebook_jerry configuration</li> <li>Miniarm RK3288 - use miniarm-rk3288 configuration</li> <li>PopMetal RK3288 - use popmetal-rk3288 configuration</li> <li>Radxa Rock 2 - use rock2 configuration</li> <li>ASUS Tinker</li> </ol> *RK3188 boards&nbsp;supported: <ol style="margin-left: 40px;"> <li>Radxa Rock - use rock&nbsp;configuration</li> </ol> *RK3328 boards&nbsp;supported: <ol style="margin-left: 40px;"> <li>EVB RK3328 - use evb-rk3328 configuration</li> </ol> *RK3399 boards&nbsp;supported: <ol style="margin-left: 40px;"> <li>EVB RK3399 - use evb-rk3399 configuration</li> </ol> &nbsp; = Configure U-Boot = First you need to choose a correct defconfig for your board; When you have determined what <board_name> you want to build, configure: <pre>make CROSS_COMPILE=arm-linux-gnueabi-&nbsp;<board_name>_defconfig</pre> You may need to change the U-Boot function/feature support by modify the defconfig file or, there is also menuconfig to play with settings if you feel like it: <pre>make CROSS_COMPILE=arm-linux-gnueabi- menuconfig</pre> &nbsp; &nbsp; = Build U-Boot = == Get a toolchain == If you haven't done so before, get a suitable&nbsp;toolchain&nbsp;installed and add it&nbsp;to your PATH. In Ubuntu 14.04, you can use below command to install cross compiler for armv7: <pre>sudo apt-get install gcc-arm-linux-gnueabi</pre> Or for ARM64 <pre>sudo apt-get install gcc-aarch64-linux-gnu </pre> &nbsp; == Build == For armv7: <pre>make CROSS_COMPILE=arm-linux-gnueabi-</pre> or for ARM64: <pre>make ARCH=arm CROSS_COMPILE=aarch64-linux-gnu-</pre> In order to support debug in ARM DS-5, you may need add ctags in make command: <pre>CFLAGS='-gdwarf-3'</pre> = Istall U-Boot = Rockchip SoCs's bootrom need special format named IDBlock at special offset 0x64 block for boot, so we need to package&nbsp;SPL(or Rockchip miniloader) &nbsp;in IDB format. Rockchip bootrom supports SPL back to bootrom and bootrom load the U-Boot, so the SPL for Rockchip SoCs can option to back to bootrom, usually decided by if the IRAM is enough&nbsp;for driver to load U-Boot. &nbsp; == Using U-Boot SPL == After build&nbsp;complete, U-Boot with SPL support will generate a spl folder with <var>u-boot-spl.bin</var>&nbsp;inside <pre>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl.bin rk3288_idb.img</pre> '''This image is supposed to flash to offset 0x64.''' For&nbsp;<var>u-boot.bin</var>, it's different for SPL back to bootrom or not, if enable&nbsp;CONFIG_ROCKCHIP_SPL_BACK_TO_BROM, we can append the U-Boot to IDB data: <pre>cat u-boot.bin >> rk3288_idb.img</pre> <code>If&nbsp;</code>CONFIG_ROCKCHIP_SPL_BACK_TO_BROM&nbsp;not enabled, no more package operation is need for u-boot-dtb.bin, and it need to flalsh to 0x200 which is decide by&nbsp;CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR. == Support ATF with SPL FIT image == == Using Rockchip miniloader == Alternatively, you can use Rockchip miniloader and U-Boot instead which do not need SPL. The miniloader is package as IDBlock, and the u-boot.bin need to package with rockchip tool: <pre>loaderimage --pack --uboot u-boot.bin rk3288_uboot.img</pre> According to the [[Partitions|partitions]] definition, this output should write to offset 0x4000. = Boot = == Boot from eMMC == === &nbsp;To get tool and firmware === [http://rockchip.wikidot.com/tools tools] === Flash&nbsp;to the board by USB === In order to&nbsp;flash&nbsp;by USB,you must get your board into ROM boot mode, either by erasing<br/> your MMC or holding the maskrom button when you boot the board. ==== RK3288(upgrade_tool) ==== To create a suitable image and flash&nbsp;it to the board:<br/> default&nbsp;: with CONFIG_ROCKCHIP_SPL_BACK_TO_BROM <pre>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin out<br/> cat u-boot-dtb.bin >> out<br/> sudo upgrade_tool db&nbsp; ../rkbin/rk32/RK3288UbootLoader_V2.30.06.bin<br/> sudo upgrade_tool wl 64 out<br/> sudo upgrade_tool rd</pre> <br/> others&nbsp;: firefly(Recommend using sd card) ==== rk3036 ==== To create a suitable image and write it to the board: <pre><code>tools/mkimage -n rk3036 -T rksd -d spl/u-boot-spl-dtb.bin out cat u-boot-dtb.bin >> out sudo upgrade_tool db ../rkbin/rk30/RK3036MiniLoaderAll_V2.19.bin sudo upgrade_tool wl 64 out sudo upgrade_tool rd</code> </pre> ==== RK3399 ==== <pre><code>cd .. ./rkbin/tools/trust_merger ./rkbin/tools/RK3399TRUST.ini cd uboot ../rkbin/tools/loaderimage --pack --uboot u-boot-dtb.bin uboot.img sudo upgrade_tool UL ../rkbin/rk33/RK3399MiniLoaderAll_V1.05.bin sudo upgrade_tool DI uboot uboot.img ../rkbin/tools/rk3399_parameter.txt sudo upgrade_tool DI trust ../trust.img ../rkbin/tools/rk3399_parameter.txt sudo upgrade_tool rd</code> </pre> === &nbsp;To flash kernel and rootfs === Enter into the uboot and issue the following command on uboot: (otg should be connected) <pre><code>gpt write mmc 0 $partitions ums 0 mmc 0</code> </pre> <br/> Now the board will act as an USB-drive.<br/> In host: (assuming sdb is ur device) <pre><code>sudo mkfs.fat /dev/sdb6</code> </pre> <br/> Copy zimage and dts file to dev/sdb6 <pre><code>cp arch/arm/boot/zImage /media/chen/9F35-9565/ cp arch/arm/boot/dts/rk3288-fennec.dtb /media/chen/9F35-9565/rk3288-fennec.dtb</code> </pre> Add extlinux/extlinux.conf to dev/sdb6<br/> (Please notice "mmcblk2p7" and "115200n8" is decide on your chip, Please refer to&nbsp;[http://rockchip.wikidot.com/linux-user-guide#toc1 config table]) <pre><code>label kernel-4.4 kernel /zImage fdt /rk3288-fennec.dtb append earlyprintk console=tty1 console=ttyS2,115200n8 rw root=/dev/mmcblk2p7 rootfstype=ext4 init=/sbin/init</code> </pre> <br/> To flash rootfs <pre><code>sudo dd if=linaro-rootfs.img of=/dev/sdb7 conv=notrunc</code></pre> == Boot from SD/TF Card == === Creating Image === Follow&nbsp;[http://rockchip.wikidot.com/linux-user-guide linux-user-guide]&nbsp;to build kernel and U-Boot.<br/> get uboot-spl.img and u-boot-dtb.img <pre><code>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin uboot-spl.img</code> </pre> === <br/> <var>build boot.img</var> === <pre><code>sudo dd if=/dev/zero of=boot.img bs=1M count=128 sudo mkfs.fat boot.img mkdir boot sudo mount boot.img boot sudo cp zImage boot sudo cp rk3288-fennec.dtb boot sudo mkdir boot/extlinux sudo cp extlinux.conf boot/extlinux sudo umount boot</code> </pre> Download rootfs image and rename it <pre><code>mv linaro-rootfs.img rootfs.img</code> </pre> === Making a SD Card for updating === Download&nbsp;[https://github.com/wzyy2/rk-initrd-build ramdisk source]&nbsp;and build. <pre><code>sh ./mk-initrd.sh</code> </pre> Format SD card <pre><code>chen@chen-HP-ProDesk-680-G1-TWR:~/work/linaro-alip/ramdisk/update$ sudo gdisk /dev/sdb GPT fdisk (gdisk) version 0.8.8 Partition table scan: MBR: protective BSD: not present APM: not present GPT: present Found valid GPT with protective MBR; using GPT. Command (? for help): o This option deletes all partitions and creates a new protective MBR. Proceed? (Y/N): y Command (? for help): n Partition number (1-128, default 1): 1 First sector (34-126613470, default = 2048) or {+-}size{KMGTP}: 8192 Last sector (8192-126613470, default = 126613470) or {+-}size{KMGTP}: Current type is 'Linux filesystem' Hex code or GUID (L to show codes, Enter = 8300): Changed type of partition to 'Linux filesystem' Command (? for help): w Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING PARTITIONS!! Do you want to proceed? (Y/N): y OK; writing new GUID partition table (GPT) to /dev/sdc. Warning: The kernel is still using the old partition table. The new table will be used at the next reboot. The operation has completed successfully.</code> </pre> <pre><code>sudo umount /dev/sdb1 sudo mkfs.fat /dev/sdb1</code> </pre> <pre><code>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin out&& sudo dd if=out of=/dev/sdb seek=64&&sudo dd if=u-boot-dtb.img of=/dev/sdb seek=256</code> </pre> Copy zimage, dts and ramdisk to /dev/sdb1 <pre><code>cp arch/arm/boot/zImage /media/chen/9F35-9565/ cp arch/arm/boot/dts/rk3288-fennec.dtb /media/chen/9F35-9565/rk3288-fennec.dtb cp ../rk-initrd-build/initrd.img /media/chen/9F35-9565/</code> </pre> Add extlinux/extlinux.conf to /dev/sdb1 <pre><code>label kernel-4.4 kernel /zImage fdt /rk3288-fennec.dtb initrd /initrd.img append earlyprintk console=ttyS2,115200n8 rw root=/dev/ram0 rootfstype=ext4 init=/sbin/init ramdisk_size=49152</code> </pre> Copy u-boot-dtb.img uboot-spl.img boot.img rootfs.img and&nbsp;[https://github.com/wzyy2/rk-initrd-build/blob/master/update/update.sh update.sh]&nbsp;to /dev/sdb1 <pre><code>mkdir /media/chen/9F35-9565/update cp u-boot-dtb.img /media/chen/9F35-9565/update cp uboot-spl.img /media/chen/9F35-9565/update cp boot.img /media/chen/9F35-9565/update cp rootfs.img /media/chen/9F35-9565/update cp update.sh /media/chen/9F35-9565/update</code> </pre> === Updating the board === Boot the board and it will flash image to eMMC == Boot from USB-Disk == == Netboot/TFTP == == Distro boot == = U-Boot download = In U-Boot, there are multi way to update image for system, you can chose any of one easy use for you. == fastboot == See [[fastboot]] == ums == 1671abf9b52e07a88144ba880b82e0dcefdd6b7f 622 621 2017-03-15T02:06:47Z Karen 3 wikitext text/x-wiki U-Boot Guide = Download U-Boot = == Upstream U-Boot == You can clone the u-boot repository by running: <pre>git clone git://git.denx.de/u-boot.git</pre> Alternatively you can use u-boot-rockchip instead which may with some patches not get in mainline: <pre>git clone git://git.denx.de/u-boot-rockchip.git</pre> == Rockchip U-Boot == You can clone the u-boot repository by running: <pre>git clone https://github.com/rockchip-linux/u-boot.git </pre> = Supported Devices = Upstream U-Boot support Rockchip SoCs: RK3036, RK3188, [[RK3288|RK3288]], [[RK3328|RK3328]], [[RK3399|RK3399]] &nbsp; *RK3036 boards supported: <ol style="margin-left: 40px;"> <li>EVB RK3036 - use evb-rk3036 configuration</li> <li>Kylin - use kylin_rk3036 configuration</li> </ol> *RK3288 boards supported: <ol style="margin-left: 40px;"> <li>EVB RK3288 - use evb-rk3288 configuration</li> <li>Fennec RK3288 - use fennec-rk3288 configuration</li> <li>Firefly RK3288 - use firefly-rk3288 configuration</li> <li>Hisense Chromebook - use chromebook_jerry configuration</li> <li>Miniarm RK3288 - use miniarm-rk3288 configuration</li> <li>PopMetal RK3288 - use popmetal-rk3288 configuration</li> <li>Radxa Rock 2 - use rock2 configuration</li> <li>ASUS Tinker</li> </ol> *RK3188 boards&nbsp;supported: <ol style="margin-left: 40px;"> <li>Radxa Rock - use rock&nbsp;configuration</li> </ol> *RK3328 boards&nbsp;supported: <ol style="margin-left: 40px;"> <li>EVB RK3328 - use evb-rk3328 configuration</li> </ol> *RK3399 boards&nbsp;supported: <ol style="margin-left: 40px;"> <li>EVB RK3399 - use evb-rk3399 configuration</li> </ol> &nbsp; = Configure U-Boot = First you need to choose a correct defconfig for your board; When you have determined what <board_name> you want to build, configure: <pre>make CROSS_COMPILE=arm-linux-gnueabi-&nbsp;<board_name>_defconfig</pre> You may need to change the U-Boot function/feature support by modify the defconfig file or, there is also menuconfig to play with settings if you feel like it: <pre>make CROSS_COMPILE=arm-linux-gnueabi- menuconfig</pre> &nbsp; &nbsp; = Build U-Boot = == Get a toolchain == If you haven't done so before, get a suitable&nbsp;toolchain&nbsp;installed and add it&nbsp;to your PATH. In Ubuntu 14.04, you can use below command to install cross compiler for armv7: <pre>sudo apt-get install gcc-arm-linux-gnueabi</pre> Or for ARM64 <pre>sudo apt-get install gcc-aarch64-linux-gnu </pre> &nbsp; == Build == For armv7: <pre>make CROSS_COMPILE=arm-linux-gnueabi-</pre> or for ARM64: <pre>make ARCH=arm CROSS_COMPILE=aarch64-linux-gnu-</pre> In order to support debug in ARM DS-5, you may need add ctags in make command: <pre>CFLAGS='-gdwarf-3'</pre> = Istall U-Boot = Rockchip SoCs's bootrom need special format named IDBlock at special offset 0x64 block for boot, so we need to package&nbsp;SPL(or Rockchip miniloader) &nbsp;in IDB format. Rockchip bootrom supports SPL back to bootrom and bootrom load the U-Boot, so the SPL for Rockchip SoCs can option to back to bootrom, usually decided by if the IRAM is enough&nbsp;for driver to load U-Boot. &nbsp; == Using U-Boot SPL == After build&nbsp;complete, U-Boot with SPL support will generate a spl folder with <var>u-boot-spl.bin</var>&nbsp;inside <pre>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl.bin rk3288_idb.img</pre> '''This image is supposed to flash to offset 0x64.''' For&nbsp;<var>u-boot.bin</var>, it's different for SPL back to bootrom or not, if enable&nbsp;CONFIG_ROCKCHIP_SPL_BACK_TO_BROM, we can append the U-Boot to IDB data: <pre>cat u-boot.bin >> rk3288_idb.img</pre> <code>If&nbsp;</code>CONFIG_ROCKCHIP_SPL_BACK_TO_BROM&nbsp;not enabled, no more package operation is need for u-boot-dtb.bin, and it need to flalsh to 0x200 which is decide by&nbsp;CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR. == Support ATF with SPL FIT image == == Using Rockchip miniloader == Alternatively, you can use Rockchip miniloader and U-Boot instead which do not need SPL. The miniloader is package as IDBlock, and the u-boot.bin need to package with rockchip tool: <pre>loaderimage --pack --uboot u-boot.bin rk3288_uboot.img</pre> According to the [[Partitions|partitions]] definition, this output should write to offset 0x4000. = Boot = == Boot from eMMC == === &nbsp;To get tool and firmware === [http://rockchip.wikidot.com/tools tools] === Flash&nbsp;to the board by USB === In order to&nbsp;flash&nbsp;by USB,you must get your board into ROM boot mode, either by erasing<br/> your MMC or holding the maskrom button when you boot the board. ==== RK3288(upgrade_tool) ==== To create a suitable image and flash&nbsp;it to the board:<br/> default&nbsp;: with CONFIG_ROCKCHIP_SPL_BACK_TO_BROM <pre>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin out<br/> cat u-boot-dtb.bin >> out<br/> sudo upgrade_tool db&nbsp; ../rkbin/rk32/RK3288UbootLoader_V2.30.06.bin<br/> sudo upgrade_tool wl 64 out<br/> sudo upgrade_tool rd</pre> <br/> others&nbsp;: firefly(Recommend using sd card) ==== RK3036 ==== To create a suitable image and write it to the board: <pre><code>tools/mkimage -n rk3036 -T rksd -d spl/u-boot-spl-dtb.bin out cat u-boot-dtb.bin >> out sudo upgrade_tool db ../rkbin/rk30/RK3036MiniLoaderAll_V2.19.bin sudo upgrade_tool wl 64 out sudo upgrade_tool rd</code> </pre> ==== RK3399 ==== <pre><code>cd .. ./rkbin/tools/trust_merger ./rkbin/tools/RK3399TRUST.ini cd uboot ../rkbin/tools/loaderimage --pack --uboot u-boot-dtb.bin uboot.img sudo upgrade_tool UL ../rkbin/rk33/RK3399MiniLoaderAll_V1.05.bin sudo upgrade_tool DI uboot uboot.img ../rkbin/tools/rk3399_parameter.txt sudo upgrade_tool DI trust ../trust.img ../rkbin/tools/rk3399_parameter.txt sudo upgrade_tool rd</code> </pre> === &nbsp;To flash kernel and rootfs === Enter into the uboot and issue the following command on uboot: (otg should be connected) <pre><code>gpt write mmc 0 $partitions ums 0 mmc 0</code> </pre> <br/> Now the board will act as an USB-drive.<br/> In host: (assuming sdb is ur device) <pre><code>sudo mkfs.fat /dev/sdb6</code> </pre> <br/> Copy zimage and dts file to dev/sdb6 <pre><code>cp arch/arm/boot/zImage /media/chen/9F35-9565/ cp arch/arm/boot/dts/rk3288-fennec.dtb /media/chen/9F35-9565/rk3288-fennec.dtb</code> </pre> Add extlinux/extlinux.conf to dev/sdb6<br/> (Please notice "mmcblk2p7" and "115200n8" is decide on your chip, Please refer to&nbsp;[http://rockchip.wikidot.com/linux-user-guide#toc1 config table]) <pre><code>label kernel-4.4 kernel /zImage fdt /rk3288-fennec.dtb append earlyprintk console=tty1 console=ttyS2,115200n8 rw root=/dev/mmcblk2p7 rootfstype=ext4 init=/sbin/init</code> </pre> <br/> To flash rootfs <pre><code>sudo dd if=linaro-rootfs.img of=/dev/sdb7 conv=notrunc</code></pre> == Boot from SD/TF Card == === Creating Image === Follow&nbsp;[http://rockchip.wikidot.com/linux-user-guide linux-user-guide]&nbsp;to build kernel and U-Boot.<br/> get uboot-spl.img and u-boot-dtb.img <pre><code>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin uboot-spl.img</code> </pre> === <br/> <var>build boot.img</var> === <pre><code>sudo dd if=/dev/zero of=boot.img bs=1M count=128 sudo mkfs.fat boot.img mkdir boot sudo mount boot.img boot sudo cp zImage boot sudo cp rk3288-fennec.dtb boot sudo mkdir boot/extlinux sudo cp extlinux.conf boot/extlinux sudo umount boot</code> </pre> Download rootfs image and rename it <pre><code>mv linaro-rootfs.img rootfs.img</code> </pre> === Making a SD Card for updating === Download&nbsp;[https://github.com/wzyy2/rk-initrd-build ramdisk source]&nbsp;and build. <pre><code>sh ./mk-initrd.sh</code> </pre> Format SD card <pre><code>chen@chen-HP-ProDesk-680-G1-TWR:~/work/linaro-alip/ramdisk/update$ sudo gdisk /dev/sdb GPT fdisk (gdisk) version 0.8.8 Partition table scan: MBR: protective BSD: not present APM: not present GPT: present Found valid GPT with protective MBR; using GPT. Command (? for help): o This option deletes all partitions and creates a new protective MBR. Proceed? (Y/N): y Command (? for help): n Partition number (1-128, default 1): 1 First sector (34-126613470, default = 2048) or {+-}size{KMGTP}: 8192 Last sector (8192-126613470, default = 126613470) or {+-}size{KMGTP}: Current type is 'Linux filesystem' Hex code or GUID (L to show codes, Enter = 8300): Changed type of partition to 'Linux filesystem' Command (? for help): w Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING PARTITIONS!! Do you want to proceed? (Y/N): y OK; writing new GUID partition table (GPT) to /dev/sdc. Warning: The kernel is still using the old partition table. The new table will be used at the next reboot. The operation has completed successfully.</code> </pre> <pre><code>sudo umount /dev/sdb1 sudo mkfs.fat /dev/sdb1</code> </pre> <pre><code>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin out&& sudo dd if=out of=/dev/sdb seek=64&&sudo dd if=u-boot-dtb.img of=/dev/sdb seek=256</code> </pre> Copy zimage, dts and ramdisk to /dev/sdb1 <pre><code>cp arch/arm/boot/zImage /media/chen/9F35-9565/ cp arch/arm/boot/dts/rk3288-fennec.dtb /media/chen/9F35-9565/rk3288-fennec.dtb cp ../rk-initrd-build/initrd.img /media/chen/9F35-9565/</code> </pre> Add extlinux/extlinux.conf to /dev/sdb1 <pre><code>label kernel-4.4 kernel /zImage fdt /rk3288-fennec.dtb initrd /initrd.img append earlyprintk console=ttyS2,115200n8 rw root=/dev/ram0 rootfstype=ext4 init=/sbin/init ramdisk_size=49152</code> </pre> Copy u-boot-dtb.img uboot-spl.img boot.img rootfs.img and&nbsp;[https://github.com/wzyy2/rk-initrd-build/blob/master/update/update.sh update.sh]&nbsp;to /dev/sdb1 <pre><code>mkdir /media/chen/9F35-9565/update cp u-boot-dtb.img /media/chen/9F35-9565/update cp uboot-spl.img /media/chen/9F35-9565/update cp boot.img /media/chen/9F35-9565/update cp rootfs.img /media/chen/9F35-9565/update cp update.sh /media/chen/9F35-9565/update</code> </pre> === Updating the board === Boot the board and it will flash image to eMMC == Boot from USB-Disk == == Netboot/TFTP == == Distro boot == = U-Boot download = In U-Boot, there are multi way to update image for system, you can chose any of one easy use for you. == fastboot == See [[fastboot]] == ums == 57d39e7c73f39c1da81af6224af428fb15d98e0e 623 622 2017-03-15T02:07:12Z Karen 3 wikitext text/x-wiki U-Boot Guide = Download U-Boot = == Upstream U-Boot == You can clone the u-boot repository by running: <pre>git clone git://git.denx.de/u-boot.git</pre> Alternatively you can use u-boot-rockchip instead which may with some patches not get in mainline: <pre>git clone git://git.denx.de/u-boot-rockchip.git</pre> == Rockchip U-Boot == You can clone the u-boot repository by running: <pre>git clone https://github.com/rockchip-linux/u-boot.git </pre> = Supported Devices = Upstream U-Boot support Rockchip SoCs: RK3036, RK3188, [[RK3288|RK3288]], [[RK3328|RK3328]], [[RK3399|RK3399]] &nbsp; *RK3036 boards supported: <ol style="margin-left: 40px;"> <li>EVB RK3036 - use evb-rk3036 configuration</li> <li>Kylin - use kylin_rk3036 configuration</li> </ol> *RK3288 boards supported: <ol style="margin-left: 40px;"> <li>EVB RK3288 - use evb-rk3288 configuration</li> <li>Fennec RK3288 - use fennec-rk3288 configuration</li> <li>Firefly RK3288 - use firefly-rk3288 configuration</li> <li>Hisense Chromebook - use chromebook_jerry configuration</li> <li>Miniarm RK3288 - use miniarm-rk3288 configuration</li> <li>PopMetal RK3288 - use popmetal-rk3288 configuration</li> <li>Radxa Rock 2 - use rock2 configuration</li> <li>ASUS Tinker</li> </ol> *RK3188 boards&nbsp;supported: <ol style="margin-left: 40px;"> <li>Radxa Rock - use rock&nbsp;configuration</li> </ol> *RK3328 boards&nbsp;supported: <ol style="margin-left: 40px;"> <li>EVB RK3328 - use evb-rk3328 configuration</li> </ol> *RK3399 boards&nbsp;supported: <ol style="margin-left: 40px;"> <li>EVB RK3399 - use evb-rk3399 configuration</li> </ol> &nbsp; = Configure U-Boot = First you need to choose a correct defconfig for your board; When you have determined what <board_name> you want to build, configure: <pre>make CROSS_COMPILE=arm-linux-gnueabi-&nbsp;<board_name>_defconfig</pre> You may need to change the U-Boot function/feature support by modify the defconfig file or, there is also menuconfig to play with settings if you feel like it: <pre>make CROSS_COMPILE=arm-linux-gnueabi- menuconfig</pre> &nbsp; &nbsp; = Build U-Boot = == Get a toolchain == If you haven't done so before, get a suitable&nbsp;toolchain&nbsp;installed and add it&nbsp;to your PATH. In Ubuntu 14.04, you can use below command to install cross compiler for armv7: <pre>sudo apt-get install gcc-arm-linux-gnueabi</pre> Or for ARM64 <pre>sudo apt-get install gcc-aarch64-linux-gnu </pre> &nbsp; == Build == For armv7: <pre>make CROSS_COMPILE=arm-linux-gnueabi-</pre> or for ARM64: <pre>make ARCH=arm CROSS_COMPILE=aarch64-linux-gnu-</pre> In order to support debug in ARM DS-5, you may need add ctags in make command: <pre>CFLAGS='-gdwarf-3'</pre> = Istall U-Boot = Rockchip SoCs's bootrom need special format named IDBlock at special offset 0x64 block for boot, so we need to package&nbsp;SPL(or Rockchip miniloader) &nbsp;in IDB format. Rockchip bootrom supports SPL back to bootrom and bootrom load the U-Boot, so the SPL for Rockchip SoCs can option to back to bootrom, usually decided by if the IRAM is enough&nbsp;for driver to load U-Boot. &nbsp; == Using U-Boot SPL == After build&nbsp;complete, U-Boot with SPL support will generate a spl folder with <var>u-boot-spl.bin</var>&nbsp;inside <pre>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl.bin rk3288_idb.img</pre> '''This image is supposed to flash to offset 0x64.''' For&nbsp;<var>u-boot.bin</var>, it's different for SPL back to bootrom or not, if enable&nbsp;CONFIG_ROCKCHIP_SPL_BACK_TO_BROM, we can append the U-Boot to IDB data: <pre>cat u-boot.bin >> rk3288_idb.img</pre> <code>If&nbsp;</code>CONFIG_ROCKCHIP_SPL_BACK_TO_BROM&nbsp;not enabled, no more package operation is need for u-boot-dtb.bin, and it need to flalsh to 0x200 which is decide by&nbsp;CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR. == Support ATF with SPL FIT image == == Using Rockchip miniloader == Alternatively, you can use Rockchip miniloader and U-Boot instead which do not need SPL. The miniloader is package as IDBlock, and the u-boot.bin need to package with rockchip tool: <pre>loaderimage --pack --uboot u-boot.bin rk3288_uboot.img</pre> According to the [[Partitions|partitions]] definition, this output should write to offset 0x4000. = Boot = == Boot from eMMC == === &nbsp;To get tool and firmware === [http://rockchip.wikidot.com/tools tools] === Flash&nbsp;to the board by USB === In order to&nbsp;flash&nbsp;by USB,you must get your board into ROM boot mode, either by erasing<br/> your MMC or holding the maskrom button when you boot the board. ==== RK3288(upgrade_tool) ==== To create a suitable image and flash&nbsp;it to the board:<br/> default&nbsp;: with CONFIG_ROCKCHIP_SPL_BACK_TO_BROM <pre>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin out<br/> cat u-boot-dtb.bin >> out<br/> sudo upgrade_tool db&nbsp; ../rkbin/rk32/RK3288UbootLoader_V2.30.06.bin<br/> sudo upgrade_tool wl 64 out<br/> sudo upgrade_tool rd</pre> <br/> others&nbsp;: firefly(Recommend using sd card) ==== RK3036 ==== To create a suitable image and flash&nbsp;it to the board: <pre><code>tools/mkimage -n rk3036 -T rksd -d spl/u-boot-spl-dtb.bin out cat u-boot-dtb.bin >> out sudo upgrade_tool db ../rkbin/rk30/RK3036MiniLoaderAll_V2.19.bin sudo upgrade_tool wl 64 out sudo upgrade_tool rd</code> </pre> ==== RK3399 ==== <pre><code>cd .. ./rkbin/tools/trust_merger ./rkbin/tools/RK3399TRUST.ini cd uboot ../rkbin/tools/loaderimage --pack --uboot u-boot-dtb.bin uboot.img sudo upgrade_tool UL ../rkbin/rk33/RK3399MiniLoaderAll_V1.05.bin sudo upgrade_tool DI uboot uboot.img ../rkbin/tools/rk3399_parameter.txt sudo upgrade_tool DI trust ../trust.img ../rkbin/tools/rk3399_parameter.txt sudo upgrade_tool rd</code> </pre> === &nbsp;To flash kernel and rootfs === Enter into the uboot and issue the following command on uboot: (otg should be connected) <pre><code>gpt write mmc 0 $partitions ums 0 mmc 0</code> </pre> <br/> Now the board will act as an USB-drive.<br/> In host: (assuming sdb is ur device) <pre><code>sudo mkfs.fat /dev/sdb6</code> </pre> <br/> Copy zimage and dts file to dev/sdb6 <pre><code>cp arch/arm/boot/zImage /media/chen/9F35-9565/ cp arch/arm/boot/dts/rk3288-fennec.dtb /media/chen/9F35-9565/rk3288-fennec.dtb</code> </pre> Add extlinux/extlinux.conf to dev/sdb6<br/> (Please notice "mmcblk2p7" and "115200n8" is decide on your chip, Please refer to&nbsp;[http://rockchip.wikidot.com/linux-user-guide#toc1 config table]) <pre><code>label kernel-4.4 kernel /zImage fdt /rk3288-fennec.dtb append earlyprintk console=tty1 console=ttyS2,115200n8 rw root=/dev/mmcblk2p7 rootfstype=ext4 init=/sbin/init</code> </pre> <br/> To flash rootfs <pre><code>sudo dd if=linaro-rootfs.img of=/dev/sdb7 conv=notrunc</code></pre> == Boot from SD/TF Card == === Creating Image === Follow&nbsp;[http://rockchip.wikidot.com/linux-user-guide linux-user-guide]&nbsp;to build kernel and U-Boot.<br/> get uboot-spl.img and u-boot-dtb.img <pre><code>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin uboot-spl.img</code> </pre> === <br/> <var>build boot.img</var> === <pre><code>sudo dd if=/dev/zero of=boot.img bs=1M count=128 sudo mkfs.fat boot.img mkdir boot sudo mount boot.img boot sudo cp zImage boot sudo cp rk3288-fennec.dtb boot sudo mkdir boot/extlinux sudo cp extlinux.conf boot/extlinux sudo umount boot</code> </pre> Download rootfs image and rename it <pre><code>mv linaro-rootfs.img rootfs.img</code> </pre> === Making a SD Card for updating === Download&nbsp;[https://github.com/wzyy2/rk-initrd-build ramdisk source]&nbsp;and build. <pre><code>sh ./mk-initrd.sh</code> </pre> Format SD card <pre><code>chen@chen-HP-ProDesk-680-G1-TWR:~/work/linaro-alip/ramdisk/update$ sudo gdisk /dev/sdb GPT fdisk (gdisk) version 0.8.8 Partition table scan: MBR: protective BSD: not present APM: not present GPT: present Found valid GPT with protective MBR; using GPT. Command (? for help): o This option deletes all partitions and creates a new protective MBR. Proceed? (Y/N): y Command (? for help): n Partition number (1-128, default 1): 1 First sector (34-126613470, default = 2048) or {+-}size{KMGTP}: 8192 Last sector (8192-126613470, default = 126613470) or {+-}size{KMGTP}: Current type is 'Linux filesystem' Hex code or GUID (L to show codes, Enter = 8300): Changed type of partition to 'Linux filesystem' Command (? for help): w Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING PARTITIONS!! Do you want to proceed? (Y/N): y OK; writing new GUID partition table (GPT) to /dev/sdc. Warning: The kernel is still using the old partition table. The new table will be used at the next reboot. The operation has completed successfully.</code> </pre> <pre><code>sudo umount /dev/sdb1 sudo mkfs.fat /dev/sdb1</code> </pre> <pre><code>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin out&& sudo dd if=out of=/dev/sdb seek=64&&sudo dd if=u-boot-dtb.img of=/dev/sdb seek=256</code> </pre> Copy zimage, dts and ramdisk to /dev/sdb1 <pre><code>cp arch/arm/boot/zImage /media/chen/9F35-9565/ cp arch/arm/boot/dts/rk3288-fennec.dtb /media/chen/9F35-9565/rk3288-fennec.dtb cp ../rk-initrd-build/initrd.img /media/chen/9F35-9565/</code> </pre> Add extlinux/extlinux.conf to /dev/sdb1 <pre><code>label kernel-4.4 kernel /zImage fdt /rk3288-fennec.dtb initrd /initrd.img append earlyprintk console=ttyS2,115200n8 rw root=/dev/ram0 rootfstype=ext4 init=/sbin/init ramdisk_size=49152</code> </pre> Copy u-boot-dtb.img uboot-spl.img boot.img rootfs.img and&nbsp;[https://github.com/wzyy2/rk-initrd-build/blob/master/update/update.sh update.sh]&nbsp;to /dev/sdb1 <pre><code>mkdir /media/chen/9F35-9565/update cp u-boot-dtb.img /media/chen/9F35-9565/update cp uboot-spl.img /media/chen/9F35-9565/update cp boot.img /media/chen/9F35-9565/update cp rootfs.img /media/chen/9F35-9565/update cp update.sh /media/chen/9F35-9565/update</code> </pre> === Updating the board === Boot the board and it will flash image to eMMC == Boot from USB-Disk == == Netboot/TFTP == == Distro boot == = U-Boot download = In U-Boot, there are multi way to update image for system, you can chose any of one easy use for you. == fastboot == See [[fastboot]] == ums == a799ac5a075f356b9847c1802224a96903de0f49 624 623 2017-03-15T02:19:13Z Karen 3 wikitext text/x-wiki U-Boot Guide = Download U-Boot = == Upstream U-Boot == You can clone the u-boot repository by running: <pre>git clone git://git.denx.de/u-boot.git</pre> Alternatively you can use u-boot-rockchip instead which may with some patches not get in mainline: <pre>git clone git://git.denx.de/u-boot-rockchip.git</pre> == Rockchip U-Boot == You can clone the u-boot repository by running: <pre>git clone https://github.com/rockchip-linux/u-boot.git </pre> = Supported Devices = Upstream U-Boot support Rockchip SoCs: RK3036, RK3188, [[RK3288|RK3288]], [[RK3328|RK3328]], [[RK3399|RK3399]] &nbsp; *RK3036 boards supported: <ol style="margin-left: 40px;"> <li>EVB RK3036 - use evb-rk3036 configuration</li> <li>Kylin - use kylin_rk3036 configuration</li> </ol> *RK3288 boards supported: <ol style="margin-left: 40px;"> <li>EVB RK3288 - use evb-rk3288 configuration</li> <li>Fennec RK3288 - use fennec-rk3288 configuration</li> <li>Firefly RK3288 - use firefly-rk3288 configuration</li> <li>Hisense Chromebook - use chromebook_jerry configuration</li> <li>Miniarm RK3288 - use miniarm-rk3288 configuration</li> <li>PopMetal RK3288 - use popmetal-rk3288 configuration</li> <li>Radxa Rock 2 - use rock2 configuration</li> <li>ASUS Tinker</li> </ol> *RK3188 boards&nbsp;supported: <ol style="margin-left: 40px;"> <li>Radxa Rock - use rock&nbsp;configuration</li> </ol> *RK3328 boards&nbsp;supported: <ol style="margin-left: 40px;"> <li>EVB RK3328 - use evb-rk3328 configuration</li> </ol> *RK3399 boards&nbsp;supported: <ol style="margin-left: 40px;"> <li>EVB RK3399 - use evb-rk3399 configuration</li> </ol> &nbsp; = Configure U-Boot = First you need to choose a correct defconfig for your board; When you have determined what <board_name> you want to build, configure: <pre>make CROSS_COMPILE=arm-linux-gnueabi-&nbsp;<board_name>_defconfig</pre> You may need to change the U-Boot function/feature support by modify the defconfig file or, there is also menuconfig to play with settings if you feel like it: <pre>make CROSS_COMPILE=arm-linux-gnueabi- menuconfig</pre> &nbsp; &nbsp; = Build U-Boot = == Get a toolchain == If you haven't done so before, get a suitable&nbsp;toolchain&nbsp;installed and add it&nbsp;to your PATH. In Ubuntu 14.04, you can use below command to install cross compiler for armv7: <pre>sudo apt-get install gcc-arm-linux-gnueabi</pre> Or for ARM64 <pre>sudo apt-get install gcc-aarch64-linux-gnu </pre> &nbsp; == Build == For armv7: <pre>make CROSS_COMPILE=arm-linux-gnueabi-</pre> or for ARM64: <pre>make ARCH=arm CROSS_COMPILE=aarch64-linux-gnu-</pre> In order to support debug in ARM DS-5, you may need add ctags in make command: <pre>CFLAGS='-gdwarf-3'</pre> = Istall U-Boot = Rockchip SoCs's bootrom need special format named IDBlock at special offset 0x64 block for boot, so we need to package&nbsp;SPL(or Rockchip miniloader) &nbsp;in IDB format. Rockchip bootrom supports SPL back to bootrom and bootrom load the U-Boot, so the SPL for Rockchip SoCs can option to back to bootrom, usually decided by if the IRAM is enough&nbsp;for driver to load U-Boot. &nbsp; == Using U-Boot SPL == After build&nbsp;complete, U-Boot with SPL support will generate a spl folder with <var>u-boot-spl.bin</var>&nbsp;inside <pre>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl.bin rk3288_idb.img</pre> '''This image is supposed to flash to offset 0x64.''' For&nbsp;<var>u-boot.bin</var>, it's different for SPL back to bootrom or not, if enable&nbsp;CONFIG_ROCKCHIP_SPL_BACK_TO_BROM, we can append the U-Boot to IDB data: <pre>cat u-boot.bin >> rk3288_idb.img</pre> <code>If&nbsp;</code>CONFIG_ROCKCHIP_SPL_BACK_TO_BROM&nbsp;not enabled, no more package operation is need for u-boot-dtb.bin, and it need to flalsh to 0x200 which is decide by&nbsp;CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR. == Support ATF with SPL FIT image == == Using Rockchip miniloader == Alternatively, you can use Rockchip miniloader and U-Boot instead which do not need SPL. The miniloader is package as IDBlock, and the u-boot.bin need to package with rockchip tool: <pre>loaderimage --pack --uboot u-boot.bin rk3288_uboot.img</pre> According to the [[Partitions|partitions]] definition, this output should write to offset 0x4000. = Boot = == Boot from eMMC == === &nbsp;To get tool and firmware === [http://rockchip.wikidot.com/tools tools] === Flash&nbsp;to the board by USB === In order to&nbsp;flash&nbsp;by USB,you must get your board into ROM boot mode, either by erasing<br/> your MMC or holding the maskrom button when you boot the board. ==== RK3288(upgrade_tool) ==== To create a suitable image and flash&nbsp;it to the board:<br/> default&nbsp;: with CONFIG_ROCKCHIP_SPL_BACK_TO_BROM <pre>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin out<br/> cat u-boot-dtb.bin >> out<br/> sudo upgrade_tool db&nbsp; ../rkbin/rk32/RK3288UbootLoader_V2.30.06.bin<br/> sudo upgrade_tool wl 64 out<br/> sudo upgrade_tool rd</pre> <br/> others&nbsp;: firefly(Recommend using sd card) ==== RK3036 ==== To create a suitable image and flash&nbsp;it to the board: <pre><code>tools/mkimage -n rk3036 -T rksd -d spl/u-boot-spl-dtb.bin out cat u-boot-dtb.bin >> out sudo upgrade_tool db ../rkbin/rk30/RK3036MiniLoaderAll_V2.19.bin sudo upgrade_tool wl 64 out sudo upgrade_tool rd</code> </pre> ==== RK3399 ==== <pre><code>cd .. ./rkbin/tools/trust_merger ./rkbin/tools/RK3399TRUST.ini cd uboot ../rkbin/tools/loaderimage --pack --uboot u-boot-dtb.bin uboot.img sudo upgrade_tool UL ../rkbin/rk33/RK3399MiniLoaderAll_V1.05.bin sudo upgrade_tool DI uboot uboot.img ../rkbin/tools/rk3399_parameter.txt sudo upgrade_tool DI trust ../trust.img ../rkbin/tools/rk3399_parameter.txt sudo upgrade_tool rd</code> </pre> === &nbsp;To flash kernel and rootfs === Enter into the uboot and issue the following command on uboot: (otg should be connected) <pre><code>gpt write mmc 0 $partitions ums 0 mmc 0</code> </pre> <br/> Now the board will act as an USB-drive.<br/> In host: (assuming sdb is ur device) <pre><code>sudo mkfs.fat /dev/sdb6</code> </pre> <br/> Copy zimage and dts file to dev/sdb6 <pre><code>cp arch/arm/boot/zImage /media/chen/9F35-9565/ cp arch/arm/boot/dts/rk3288-fennec.dtb /media/chen/9F35-9565/rk3288-fennec.dtb</code> </pre> Add extlinux/extlinux.conf to dev/sdb6<br/> (Please notice "mmcblk2p7" and "115200n8" is decide on your chip, Please refer to&nbsp;[http://rockchip.wikidot.com/linux-user-guide#toc1 config table]) <pre><code>label kernel-4.4 kernel /zImage fdt /rk3288-fennec.dtb append earlyprintk console=tty1 console=ttyS2,115200n8 rw root=/dev/mmcblk2p7 rootfstype=ext4 init=/sbin/init</code> </pre> <br/> To flash rootfs <pre><code>sudo dd if=linaro-rootfs.img of=/dev/sdb7 conv=notrunc</code></pre> == Boot from SD/TF Card == === Creating Image === Follow&nbsp;[http://rockchip.wikidot.com/linux-user-guide linux-user-guide]&nbsp;to build kernel and U-Boot.<br/> get uboot-spl.img and u-boot-dtb.img <pre><code>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin uboot-spl.img</code> </pre> === <br/> <var>build boot.img</var> === <pre><code>sudo dd if=/dev/zero of=boot.img bs=1M count=128 sudo mkfs.fat boot.img mkdir boot sudo mount boot.img boot sudo cp zImage boot sudo cp rk3288-fennec.dtb boot sudo mkdir boot/extlinux sudo cp extlinux.conf boot/extlinux sudo umount boot</code> </pre> Download rootfs image and rename it <pre><code>mv linaro-rootfs.img rootfs.img</code> </pre> === Making a SD Card for updating === Download&nbsp;[https://github.com/wzyy2/rk-initrd-build ramdisk source]&nbsp;and build. <pre><code>sh ./mk-initrd.sh</code> </pre> Format SD card <pre><code>chen@chen-HP-ProDesk-680-G1-TWR:~/work/linaro-alip/ramdisk/update$ sudo gdisk /dev/sdb GPT fdisk (gdisk) version 0.8.8 Partition table scan: MBR: protective BSD: not present APM: not present GPT: present Found valid GPT with protective MBR; using GPT. Command (? for help): o This option deletes all partitions and creates a new protective MBR. Proceed? (Y/N): y Command (? for help): n Partition number (1-128, default 1): 1 First sector (34-126613470, default = 2048) or {+-}size{KMGTP}: 8192 Last sector (8192-126613470, default = 126613470) or {+-}size{KMGTP}: Current type is 'Linux filesystem' Hex code or GUID (L to show codes, Enter = 8300): Changed type of partition to 'Linux filesystem' Command (? for help): w Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING PARTITIONS!! Do you want to proceed? (Y/N): y OK; writing new GUID partition table (GPT) to /dev/sdc. Warning: The kernel is still using the old partition table. The new table will be used at the next reboot. The operation has completed successfully.</code> </pre> <pre><code>sudo umount /dev/sdb1 sudo mkfs.fat /dev/sdb1</code> </pre> <pre><code>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin out&& sudo dd if=out of=/dev/sdb seek=64&&sudo dd if=u-boot-dtb.img of=/dev/sdb seek=256</code> </pre> Copy zimage, dts and ramdisk to /dev/sdb1 <pre><code>cp arch/arm/boot/zImage /media/chen/9F35-9565/ cp arch/arm/boot/dts/rk3288-fennec.dtb /media/chen/9F35-9565/rk3288-fennec.dtb cp ../rk-initrd-build/initrd.img /media/chen/9F35-9565/</code> </pre> Add extlinux/extlinux.conf to /dev/sdb1 <pre><code>label kernel-4.4 kernel /zImage fdt /rk3288-fennec.dtb initrd /initrd.img append earlyprintk console=ttyS2,115200n8 rw root=/dev/ram0 rootfstype=ext4 init=/sbin/init ramdisk_size=49152</code> </pre> Copy u-boot-dtb.img uboot-spl.img boot.img rootfs.img and&nbsp;[https://github.com/wzyy2/rk-initrd-build/blob/master/update/update.sh update.sh]&nbsp;to /dev/sdb1 <pre><code>mkdir /media/chen/9F35-9565/update cp u-boot-dtb.img /media/chen/9F35-9565/update cp uboot-spl.img /media/chen/9F35-9565/update cp boot.img /media/chen/9F35-9565/update cp rootfs.img /media/chen/9F35-9565/update cp update.sh /media/chen/9F35-9565/update</code> </pre> === Updating the board === Boot the board and it will flash image to eMMC == Boot from USB-Disk == Same as&nbsp;[http://rockchip.wikidot.com/boot-from-sdcard boot-from-sdcard], but please note that U-Boot aren't allowed to boot from usb-disk because of restrict of maskrom, only kernel and rootfs can load from USB-Disk. Difference: <pre><code>label kernel-4.4 kernel /zImage fdt /rk3288-fennec.dtb append earlyprintk console=ttyS2,115200n8 rw root=/dev/sda1 rootfstype=ext4 init=/sbin/init</code> </pre> <pre><code>gpt write usb 0 $partitions ums 0 usb 0</code></pre> == Netboot/TFTP == == Distro boot == = U-Boot download = In U-Boot, there are multi way to update image for system, you can chose any of one easy use for you. == fastboot == See [[fastboot]] == ums == 7689fe8833ac248280ba13fcfce52f442deb7697 File:RK3399 Multimedia Codec Benchmark v1.0.pdf 6 100 629 2017-03-15T07:08:31Z Chery 9 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 File:3328.png 6 101 631 2017-03-15T08:57:24Z Karen 3 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 RK3328 0 24 632 561 2017-03-15T08:59:03Z Karen 3 wikitext text/x-wiki {{Infobox SoC | title = RK3328 | image = [[File:rk3328_soc.png|250px]] | manufacturer = Rockcihp | process = 28nm | cpu = Quad-Core ARM Cortex-A53 | ltwo = | extensions = | memory = DDR3/DDR3L/LPDDR3/DDR4 | gpu = Mali-450MP4 | vpu = 4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps | apu = | video = HDMI 2.0a, | audio = 8 channels I2S/PDM interface, supports 8 channels Mic array | network = | storage = 4x SD Card, eMMC | usb = 1* USB2.0 otg, 1* USB 2.0 Host, 1* USB 3.0 Host | other = | release_date = December 2016 | website = http://www.rock-chips.com/a/en/products/RK33_Series/2017/0118/829.html | Product Page }} &nbsp; &nbsp; &nbsp; = Overview = RK3328 offers a high-integration and power efficiency&nbsp;SOC for 4K HDR OTT/IPTV. It support HDR10 ,HLG HDR ,&nbsp;4K 10bits 30fps H.264 video decoder and 4K 10bits 60fps H265 video decoder.Comply with lots of high-performance interface,such as multi-channel display with HDMI2.0a, TV Encoder, the Quad-core GPU can acheive&nbsp;high-resolution display and game. == Cortex-A53 == Quad-core Cortex-A53 is integrated with separate Neon and FPU coprocessor, also with shared L2 Cache.&nbsp; &nbsp; = RK3328 SoC Features = {| border="0" cellpadding="1" cellspacing="1" style="width: 972px;" |- | style="width: 530px;" | *CPU: **ARM Cortex-A53&nbsp;Quad-Core&nbsp; *GPU **&nbsp;Mali-450MP4 **Comply with Open GL ES1.1/2.0 *Multi-Media: **4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps **1080P other video decoders (VC-1, MPEG-1/2/4, VP8) **1080P video encoder for H.264 and H.265 **Support HDR10 ,HLG HDR , Support conversion between SDR and HDR *Display: **HDMI 2.0a for 4K@60Hz with HDCP 1.4/2.2 **Support conversion between Rec.2020 and Rec.709 *Memory: **LPDDR3/DDR3/DDR3L/DDR4 **eMMC 4.51,SDCard, SPI Flash *External interface **USB 2.0 x2 and USB 3.0 x1 **100M Ethernet w/ built-in PHY **Built-in CVBS and audio DAC **8 channels I2S IO and 8 chanel digital PDM input (for MIC array) | style="width: 429px;" | [[File:3328.png|RTENOTITLE]] |} = Documentation = &nbsp; [http://10.10.10.12:8444/images/9/9e/RK_DDR_Support_List_Ver2.24.pdf RK_DDR_Support_List_Ver2.24] &nbsp; &nbsp; = Software = == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" |- | '''board''' | '''kernel''' | '''uboot''' | '''dts''' |- | RK_EVB_RK3228H_BOX_RK805_DDR3 | rockchip_linux_defconfig | rk3328_linux_defconfig | rk3328r-linux.dts |} &nbsp; &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" |- | '''chip''' | '''Kernel eMMC index''' | '''Kernel SD index''' | '''Uboot eMMC index''' | '''Uboot SD index''' | '''Baud speed''' |- | RK3399 | 1 | 0 | 0 | 1 | 1500000 |} == How to get the sources == The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code.&nbsp;Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github. RK3399 optimized Debian & Buildroot <pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml repo sync </pre> == How to build the sources == === Build Environment === You need a 64-bit&nbsp;Ubuntu. Note: old versions&nbsp;Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so Install&nbsp;ARM cross-compile tool chain and compile kernel relative&nbsp;software package:&nbsp; $ sudo apt-get install gcc-arm-linux-gnueabihf&nbsp;gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev === Installing the build tools and download source === Please follow&nbsp;[http://rockchip.wikidot.com/linux-user-guide linux user guide]&nbsp;to install the build tools and download source. &nbsp; &nbsp; === Building kernel === empty === Building uboot === empty === Building rootfs === ==== Debian ==== You&nbsp;can download the prebuilt image directly. [http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive] or you could use the&nbsp;[https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script]&nbsp;from Rockchip to build rootfs yourselves. ==== Yocto ==== If you want to use Yocto to build your rootfs see&nbsp;[http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide]&nbsp;for detail. ==== Buildroot ==== If you want to use Buildroot to build your rootfs see&nbsp;[http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide]&nbsp;for detail. = Devices = If you need the rk3399-excavator&nbsp;board, please communicate through&nbsp;the following&nbsp;contact information. <pre>Telephone: 4007700590 Email: service@rock-chips.com</pre> &nbsp; = See also = [[RK3288|RK3288]] [[RK3399|RK3399]] = References = 1.[https://en.wikipedia.org/wiki/ARM_Cortex-A53 https://en.wikipedia.org/wiki/ARM_Cortex-A53] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 4a203b317d3e1f3d0f3d808c9fbfb17e831b0639 634 632 2017-03-15T09:00:07Z Karen 3 wikitext text/x-wiki {{Infobox SoC | title = RK3328 | image = [[File:rk3328_soc.png|250px]] | manufacturer = Rockcihp | process = 28nm | cpu = Quad-Core ARM Cortex-A53 | ltwo = | extensions = | memory = DDR3/DDR3L/LPDDR3/DDR4 | gpu = Mali-450MP4 | vpu = 4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps | apu = | video = HDMI 2.0a, | audio = 8 channels I2S/PDM interface, supports 8 channels Mic array | network = | storage = 4x SD Card, eMMC | usb = 1* USB2.0 otg, 1* USB 2.0 Host, 1* USB 3.0 Host | other = | release_date = December 2016 | website = http://www.rock-chips.com/a/en/products/RK33_Series/2017/0118/829.html | Product Page }} &nbsp; &nbsp; &nbsp; = Overview = RK3328 offers a high-integration and power efficiency&nbsp;SOC for 4K HDR OTT/IPTV. It support HDR10 ,HLG HDR ,&nbsp;4K 10bits 30fps H.264 video decoder and 4K 10bits 60fps H265 video decoder.Comply with lots of high-performance interface,such as multi-channel display with HDMI2.0a, TV Encoder, the Quad-core GPU can acheive&nbsp;high-resolution display and game. == Cortex-A53 == Quad-core Cortex-A53 is integrated with separate Neon and FPU coprocessor, also with shared L2 Cache.&nbsp; &nbsp; = RK3328 SoC Features = {| border="0" cellpadding="1" cellspacing="1" style="width: 972px;" |- | style="width: 530px;" | *CPU: **ARM Cortex-A53&nbsp;Quad-Core&nbsp; *GPU **&nbsp;Mali-450MP4 **Comply with Open GL ES1.1/2.0 *Multi-Media: **4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps **1080P other video decoders (VC-1, MPEG-1/2/4, VP8) **1080P video encoder for H.264 and H.265 **Support HDR10 ,HLG HDR , Support conversion between SDR and HDR *Display: **HDMI 2.0a for 4K@60Hz with HDCP 1.4/2.2 **Support conversion between Rec.2020 and Rec.709 *Memory: **LPDDR3/DDR3/DDR3L/DDR4 **eMMC 4.51,SDCard, SPI Flash *External interface **USB 2.0 x2 and USB 3.0 x1 **100M Ethernet w/ built-in PHY **Built-in CVBS and audio DAC **8 channels I2S IO and 8 chanel digital PDM input (for MIC array) | style="width: 429px;" | [[File:3328.png|RTENOTITLE]] |} = Documentation = &nbsp; [http://10.10.10.12:8444/images/9/9e/RK_DDR_Support_List_Ver2.24.pdf RK_DDR_Support_List_Ver2.24] [http://10.10.10.12:8444/images/5/54/Rk3328_box_ref_v10_20170224.pdf Rk3328_box_ref_v10_20170224] &nbsp; &nbsp; = Software = == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" |- | '''board''' | '''kernel''' | '''uboot''' | '''dts''' |- | RK_EVB_RK3228H_BOX_RK805_DDR3 | rockchip_linux_defconfig | rk3328_linux_defconfig | rk3328r-linux.dts |} &nbsp; &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" |- | '''chip''' | '''Kernel eMMC index''' | '''Kernel SD index''' | '''Uboot eMMC index''' | '''Uboot SD index''' | '''Baud speed''' |- | RK3399 | 1 | 0 | 0 | 1 | 1500000 |} == How to get the sources == The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code.&nbsp;Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github. RK3399 optimized Debian & Buildroot <pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml repo sync </pre> == How to build the sources == === Build Environment === You need a 64-bit&nbsp;Ubuntu. Note: old versions&nbsp;Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so Install&nbsp;ARM cross-compile tool chain and compile kernel relative&nbsp;software package:&nbsp; $ sudo apt-get install gcc-arm-linux-gnueabihf&nbsp;gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev === Installing the build tools and download source === Please follow&nbsp;[http://rockchip.wikidot.com/linux-user-guide linux user guide]&nbsp;to install the build tools and download source. &nbsp; &nbsp; === Building kernel === empty === Building uboot === empty === Building rootfs === ==== Debian ==== You&nbsp;can download the prebuilt image directly. [http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive] or you could use the&nbsp;[https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script]&nbsp;from Rockchip to build rootfs yourselves. ==== Yocto ==== If you want to use Yocto to build your rootfs see&nbsp;[http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide]&nbsp;for detail. ==== Buildroot ==== If you want to use Buildroot to build your rootfs see&nbsp;[http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide]&nbsp;for detail. = Devices = If you need the rk3399-excavator&nbsp;board, please communicate through&nbsp;the following&nbsp;contact information. <pre>Telephone: 4007700590 Email: service@rock-chips.com</pre> &nbsp; = See also = [[RK3288|RK3288]] [[RK3399|RK3399]] = References = 1.[https://en.wikipedia.org/wiki/ARM_Cortex-A53 https://en.wikipedia.org/wiki/ARM_Cortex-A53] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 468b49778a2f74425752ffd0777d5f191f7c9bff 636 634 2017-03-15T09:01:18Z Karen 3 wikitext text/x-wiki {{Infobox SoC | title = RK3328 | image = [[File:rk3328_soc.png|250px]] | manufacturer = Rockcihp | process = 28nm | cpu = Quad-Core ARM Cortex-A53 | ltwo = | extensions = | memory = DDR3/DDR3L/LPDDR3/DDR4 | gpu = Mali-450MP4 | vpu = 4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps | apu = | video = HDMI 2.0a, | audio = 8 channels I2S/PDM interface, supports 8 channels Mic array | network = | storage = 4x SD Card, eMMC | usb = 1* USB2.0 otg, 1* USB 2.0 Host, 1* USB 3.0 Host | other = | release_date = December 2016 | website = http://www.rock-chips.com/a/en/products/RK33_Series/2017/0118/829.html | Product Page }} &nbsp; &nbsp; &nbsp; = Overview = RK3328 offers a high-integration and power efficiency&nbsp;SOC for 4K HDR OTT/IPTV. It support HDR10 ,HLG HDR ,&nbsp;4K 10bits 30fps H.264 video decoder and 4K 10bits 60fps H265 video decoder.Comply with lots of high-performance interface,such as multi-channel display with HDMI2.0a, TV Encoder, the Quad-core GPU can acheive&nbsp;high-resolution display and game. == Cortex-A53 == Quad-core Cortex-A53 is integrated with separate Neon and FPU coprocessor, also with shared L2 Cache.&nbsp; &nbsp; = RK3328 SoC Features = {| border="0" cellpadding="1" cellspacing="1" style="width: 972px;" |- | style="width: 530px;" | *CPU: **ARM Cortex-A53&nbsp;Quad-Core&nbsp; *GPU **&nbsp;Mali-450MP4 **Comply with Open GL ES1.1/2.0 *Multi-Media: **4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps **1080P other video decoders (VC-1, MPEG-1/2/4, VP8) **1080P video encoder for H.264 and H.265 **Support HDR10 ,HLG HDR , Support conversion between SDR and HDR *Display: **HDMI 2.0a for 4K@60Hz with HDCP 1.4/2.2 **Support conversion between Rec.2020 and Rec.709 *Memory: **LPDDR3/DDR3/DDR3L/DDR4 **eMMC 4.51,SDCard, SPI Flash *External interface **USB 2.0 x2 and USB 3.0 x1 **100M Ethernet w/ built-in PHY **Built-in CVBS and audio DAC **8 channels I2S IO and 8 chanel digital PDM input (for MIC array) | style="width: 429px;" | [[File:3328.png|RTENOTITLE]] |} = Documentation = &nbsp; #[http://10.10.10.12:8444/images/9/9e/RK_DDR_Support_List_Ver2.24.pdf RK_DDR_Support_List_Ver2.24] #[http://10.10.10.12:8444/images/5/54/Rk3328_box_ref_v10_20170224.pdf Rk3328_box_ref_v10_20170224] #[http://10.10.10.12:8444/images/d/d7/Rockchip_RK3328_Datasheet_V1.1-20170309.pdf Rockchip_RK3328_Datasheet_V1.1-20170309] &nbsp; &nbsp; = Software = == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" |- | '''board''' | '''kernel''' | '''uboot''' | '''dts''' |- | RK_EVB_RK3228H_BOX_RK805_DDR3 | rockchip_linux_defconfig | rk3328_linux_defconfig | rk3328r-linux.dts |} &nbsp; &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" |- | '''chip''' | '''Kernel eMMC index''' | '''Kernel SD index''' | '''Uboot eMMC index''' | '''Uboot SD index''' | '''Baud speed''' |- | RK3399 | 1 | 0 | 0 | 1 | 1500000 |} == How to get the sources == The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code.&nbsp;Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github. RK3399 optimized Debian & Buildroot <pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml repo sync </pre> == How to build the sources == === Build Environment === You need a 64-bit&nbsp;Ubuntu. Note: old versions&nbsp;Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so Install&nbsp;ARM cross-compile tool chain and compile kernel relative&nbsp;software package:&nbsp; $ sudo apt-get install gcc-arm-linux-gnueabihf&nbsp;gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev === Installing the build tools and download source === Please follow&nbsp;[http://rockchip.wikidot.com/linux-user-guide linux user guide]&nbsp;to install the build tools and download source. &nbsp; &nbsp; === Building kernel === empty === Building uboot === empty === Building rootfs === ==== Debian ==== You&nbsp;can download the prebuilt image directly. [http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive] or you could use the&nbsp;[https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script]&nbsp;from Rockchip to build rootfs yourselves. ==== Yocto ==== If you want to use Yocto to build your rootfs see&nbsp;[http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide]&nbsp;for detail. ==== Buildroot ==== If you want to use Buildroot to build your rootfs see&nbsp;[http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide]&nbsp;for detail. = Devices = If you need the rk3399-excavator&nbsp;board, please communicate through&nbsp;the following&nbsp;contact information. <pre>Telephone: 4007700590 Email: service@rock-chips.com</pre> &nbsp; = See also = [[RK3288|RK3288]] [[RK3399|RK3399]] = References = 1.[https://en.wikipedia.org/wiki/ARM_Cortex-A53 https://en.wikipedia.org/wiki/ARM_Cortex-A53] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; f636e38158de508b3614cea98827b94cfab9559c Rockchip Kernel 0 104 638 2017-03-15T13:58:24Z Kever 2 Created page with " = Download Kernel = You can clone the rockchip kernel repository from github which is kernel 4.4 based: <pre>git clone https://github.com/rockchip-linux/kernel.git</pre> =..." wikitext text/x-wiki = Download Kernel = You can clone the rockchip kernel repository from github which is kernel 4.4 based: <pre>git clone https://github.com/rockchip-linux/kernel.git</pre> = Supported SoCs and Devices = Rockchip kernel 4.4 supports: RK3036, RK3066, RK312X, RK3188, RK322X, RK3288, RK3328, RK3368, RK3399 = Configure and Build = You will need to use rockchip_linux_defconfig for Linux OS configure for armv7: <pre>make rockchip_linux_defcofig</pre> configure for aarch64: <pre>make ARCH=arm64 rockchip_linux_defconfig</pre> After configure, you need to decide which board to use, get the dts file name, and replace its postfix to img in make command, For armv7: <pre>make rk3288-firefly.img -j8</pre> For aarch64: <pre>make ARCH=arm64 rk3399-evb.img -j8</pre> Then you can get Image/zImage and dtb file. = Install Boot/kernel = We use distro boot in U-Boot, so we need to make a boot partition for U-Boot with kernel image and dtb inside. == Generate ext2fs&nbsp;boot partition == &nbsp; <pre>mkdir boot cp arch/arm64/boot/dts/rockchip/rockchip/rk3399-evb.dtb boot/rk3399.dtb cp arch/arm64/boot/Image boot/</pre> Add extlinux/extlinux.conf for distro boot. <pre>mkdir boot/extlinux vi boot/extlinux/extlinux.conf</pre> &nbsp; <pre>lable rockchip-kernel-4.4 kernel /Image fdt /rk3399.dtb append earlycon=uart8250,mmio,0xff1a0000 root=dev/mmcblk1p7 rootwait rootfstype=ext4 init=/sbin/init</pre> You need to change the base address of debug UART, root partition for your board. Pls reference to [[parttions|rockchip Linux parttion definition]]&nbsp;for rootfs partition and where boot to flash. After all these file prepare complete, we can generate the boot partition by genext2fs: <pre>genext2fs -b 32768 -B $((32*1024*1024/32768)) -d boot/ -i 8192 -U boot_rk3399.img</pre> According to Rockchip partition definition, you need to flash this image to boot partiton which offset is 0x8000. 7a8d71bd20e9d00df798f56d26c338b699c92f1b 639 638 2017-03-15T13:59:10Z Kever 2 wikitext text/x-wiki = Download Kernel = You can clone the rockchip kernel repository from github which is kernel 4.4 based: <pre>git clone https://github.com/rockchip-linux/kernel.git</pre> = Supported SoCs and Devices = Rockchip kernel 4.4 supports: RK3036, RK3066, RK312X, RK3188, RK322X, RK3288, RK3328, RK3368, RK3399 = Configure and Build = You will need to use rockchip_linux_defconfig for Linux OS configure for armv7: <pre>make rockchip_linux_defcofig</pre> configure for aarch64: <pre>make ARCH=arm64 rockchip_linux_defconfig</pre> After configure, you need to decide which board to use, get the dts file name, and replace its postfix to img in make command, For armv7: <pre>make rk3288-firefly.img -j8</pre> For aarch64: <pre>make ARCH=arm64 rk3399-evb.img -j8</pre> Then you can get Image/zImage and dtb file. = Install Boot/kernel = We use distro boot in U-Boot, so we need to make a boot partition for U-Boot with kernel image and dtb inside. == Generate ext2fs&nbsp;boot partition == &nbsp; <pre>mkdir boot cp arch/arm64/boot/dts/rockchip/rockchip/rk3399-evb.dtb boot/rk3399.dtb cp arch/arm64/boot/Image boot/</pre> Add extlinux/extlinux.conf for distro boot. <pre>mkdir boot/extlinux vi boot/extlinux/extlinux.conf</pre> &nbsp; <pre>lable rockchip-kernel-4.4 kernel /Image fdt /rk3399.dtb append earlycon=uart8250,mmio,0xff1a0000 root=dev/mmcblk1p7 rootwait rootfstype=ext4 init=/sbin/init</pre> You need to change the base address of debug UART, root partition for your board. Pls reference to [[Partitions|rockchip Linux parttion definition]]&nbsp;for rootfs partition and where boot to flash. After all these file prepare complete, we can generate the boot partition by genext2fs: <pre>genext2fs -b 32768 -B $((32*1024*1024/32768)) -d boot/ -i 8192 -U boot_rk3399.img</pre> According to Rockchip partition definition, you need to flash this image to boot partiton which offset is 0x8000. 518a878be40046e74d29e6a7ddbb72a548855d74 640 639 2017-03-15T14:12:38Z Kever 2 wikitext text/x-wiki = Download Kernel = You can clone the rockchip kernel repository from github which is kernel 4.4 based: <pre>git clone https://github.com/rockchip-linux/kernel.git</pre> = Supported SoCs and Devices = Rockchip kernel 4.4 supports: RK3036, RK3066, RK312X, RK3188, RK322X, RK3288, RK3328, RK3368, RK3399 = Configure and Build = You will need to use rockchip_linux_defconfig for Linux OS configure for armv7: <pre>make rockchip_linux_defcofig</pre> configure for aarch64: <pre>make ARCH=arm64 rockchip_linux_defconfig</pre> After configure, you need to decide which board to use, get the dts file name, and replace its postfix to img in make command, For armv7: <pre>make rk3288-firefly.img -j8</pre> For aarch64: <pre>make ARCH=arm64 rk3399-evb.img -j8</pre> Then you can get Image/zImage and dtb file. = Install Boot/kernel = We use distro boot in U-Boot, so we need to make a boot partition for U-Boot with kernel image and dtb inside. <pre>mkdir boot cp arch/arm64/boot/dts/rockchip/rockchip/rk3399-evb.dtb boot/rk3399.dtb cp arch/arm64/boot/Image boot/</pre> Add extlinux/extlinux.conf for distro boot. <pre>mkdir boot/extlinux vi boot/extlinux/extlinux.conf</pre> &nbsp; <pre>lable rockchip-kernel-4.4 kernel /Image fdt /rk3399.dtb append earlycon=uart8250,mmio,0xff1a0000 root=dev/mmcblk1p7 rootwait rootfstype=ext4 init=/sbin/init</pre> You need to change the base address of debug UART, root partition for your board. Pls reference to [[Partitions|rockchip Linux parttion definition]]&nbsp;for rootfs partition and where boot to flash. After all these file prepare complete, we write the file to the boot partition == Generate ext2fs&nbsp;boot partition == by genext2fs: <pre>genext2fs -b 32768 -B $((32*1024*1024/32768)) -d boot/ -i 8192 -U boot_rk3399.img</pre> According to Rockchip partition definition, you need to flash this image to boot partiton which offset is 0x8000. dd this image to sd card, see [[sd_boot]], or write to emmc with rkdeveloptool, see [[emmc_boot]]. == generate fatfs boot partition == After flash and&nbsp;boot the U-Boot, write the gpt table from default partition table <pre>gpt write mmc 1 $partitions gpt verify mmc 1 $partitions</pre> connect target to PC and start the ums in command line: <pre>ums 0 mmc 1:6</pre> We should able to see a device connect to PC, formate and copy data into the partition(dev/sdb6 for example). <pre>sudo mkfs.fat /dev/sdb6 cp -r boot/* /media/machine/9F35-9565/</pre> &nbsp; 41b380db7874a1d50a9c139cd76bdd959cc6a7ab 641 640 2017-03-15T14:15:20Z Kever 2 wikitext text/x-wiki = Download Kernel = You can clone the rockchip kernel repository from github which is kernel 4.4 based: <pre>git clone https://github.com/rockchip-linux/kernel.git</pre> = Supported SoCs and Devices = Rockchip kernel 4.4 supports: RK3036, RK3066, RK312X, RK3188, RK322X, RK3288, RK3328, RK3368, RK3399 = Configure and Build = You will need to use rockchip_linux_defconfig for Linux OS configure for armv7: <pre>make rockchip_linux_defcofig</pre> configure for aarch64: <pre>make ARCH=arm64 rockchip_linux_defconfig</pre> After configure, you need to decide which board to use, get the dts file name, and replace its postfix to img in make command, For armv7: <pre>make rk3288-firefly.img -j8</pre> For aarch64: <pre>make ARCH=arm64 rk3399-evb.img -j8</pre> Then you can get Image/zImage and dtb file. = Install Boot/kernel = We use distro boot in U-Boot, so we need to make a boot partition for U-Boot with kernel image and dtb inside. <pre>mkdir boot cp arch/arm64/boot/dts/rockchip/rockchip/rk3399-evb.dtb boot/rk3399.dtb cp arch/arm64/boot/Image boot/</pre> Add extlinux/extlinux.conf for distro boot. <pre>mkdir boot/extlinux vi boot/extlinux/extlinux.conf</pre> &nbsp; <pre>lable rockchip-kernel-4.4 kernel /Image fdt /rk3399.dtb append earlycon=uart8250,mmio,0xff1a0000 root=dev/mmcblk1p7 rootwait rootfstype=ext4 init=/sbin/init</pre> You need to change the base address of debug UART, root partition for your board. Pls reference to [[Partitions|rockchip Linux parttion definition]]&nbsp;for rootfs partition and where boot to flash. After all these file prepare complete, we write the file to the boot partition == Generate ext2fs&nbsp;boot partition == by genext2fs: <pre>genext2fs -b 32768 -B $((32*1024*1024/32768)) -d boot/ -i 8192 -U boot_rk3399.img</pre> According to Rockchip partition definition, you need to flash this image to boot partiton which offset is 0x8000. dd this image to sd card, see [[Sd_boot|sd_boot]], or write to emmc with rkdeveloptool, see [[Emmc_boot|emmc_boot]]. == generate fatfs boot partition == After flash and&nbsp;boot the U-Boot, write the gpt table from default partition table <pre>gpt write mmc 1 $partitions gpt verify mmc 1 $partitions</pre> connect target to PC and start the ums in command line: <pre>ums 0 mmc 1:6</pre> We should able to see a device connect to PC, formate and copy data into the partition(dev/sdb6 for example). <pre>sudo mkfs.fat /dev/sdb6 cp -r boot/* /media/machine/9F35-9565/</pre> Boot from U-Boot If everything is OK, you should able to see the U-Boot log like this: <pre>switch to partitions #0, OK mmc0(part 0) is current device Scanning mmc 0:6... Found /extlinux/extlinux.conf Retrieving file: /extlinux/extlinux.conf 205 bytes read in 82 ms (2 KiB/s) 1: upstream-4.10 Retrieving file: /Image 13484040 bytes read in 1833 ms (7 MiB/s) append: earlycon=uart8250,mmio32,0xff1a0000 console=ttyS2,1500000n8 rw root=/dev/mmcblk0p7 rootwait rootfstype=ext4 init=/sbin/init Retrieving file: /rk3399.dtb 61714 bytes read in 54 ms (1.1 MiB/s) ## Flattened Device Tree blob at 01f00000 Booting using the fdt blob at 0x1f00000 Loading Device Tree to 000000007df14000, end 000000007df26111 ... OK Starting kernel ... </pre> 9764dffb5d97901ad74e238a6a5ba3b20f8862cd 642 641 2017-03-15T14:16:23Z Kever 2 wikitext text/x-wiki = Download Kernel = You can clone the rockchip kernel repository from github which is kernel 4.4 based: <pre>git clone https://github.com/rockchip-linux/kernel.git</pre> = Supported SoCs and Devices = Rockchip kernel 4.4 supports: RK3036, RK3066, RK312X, RK3188, RK322X, RK3288, RK3328, RK3368, RK3399 = Configure and Build = You will need to use rockchip_linux_defconfig for Linux OS configure for armv7: <pre>make rockchip_linux_defcofig</pre> configure for aarch64: <pre>make ARCH=arm64 rockchip_linux_defconfig</pre> After configure, you need to decide which board to use, get the dts file name, and replace its postfix to img in make command, For armv7: <pre>make rk3288-firefly.img -j8</pre> For aarch64: <pre>make ARCH=arm64 rk3399-evb.img -j8</pre> Then you can get Image/zImage and dtb file. = Install Boot/kernel = We use distro boot in U-Boot, so we need to make a boot partition for U-Boot with kernel image and dtb inside. <pre>mkdir boot cp arch/arm64/boot/dts/rockchip/rockchip/rk3399-evb.dtb boot/rk3399.dtb cp arch/arm64/boot/Image boot/</pre> Add extlinux/extlinux.conf for distro boot. <pre>mkdir boot/extlinux vi boot/extlinux/extlinux.conf</pre> &nbsp; <pre>lable rockchip-kernel-4.4 kernel /Image fdt /rk3399.dtb append earlycon=uart8250,mmio,0xff1a0000 root=dev/mmcblk1p7 rootwait rootfstype=ext4 init=/sbin/init</pre> You need to change the base address of debug UART, root partition for your board. Pls reference to [[Partitions|rockchip Linux parttion definition]]&nbsp;for rootfs partition and where boot to flash. After all these file prepare complete, we write the file to the boot partition == Generate ext2fs&nbsp;boot partition == by genext2fs: <pre>genext2fs -b 32768 -B $((32*1024*1024/32768)) -d boot/ -i 8192 -U boot_rk3399.img</pre> According to Rockchip partition definition, you need to flash this image to boot partiton which offset is 0x8000. dd this image to sd card, see [[Sd_boot|sd_boot]], or write to emmc with rkdeveloptool, see [[Emmc_boot|emmc_boot]]. == generate fatfs boot partition == After flash and&nbsp;boot the U-Boot, write the gpt table from default partition table <pre>gpt write mmc 1 $partitions gpt verify mmc 1 $partitions</pre> connect target to PC and start the ums in command line: <pre>ums 0 mmc 1:6</pre> We should able to see a device connect to PC, formate and copy data into the partition(dev/sdb6 for example). <pre>sudo mkfs.fat /dev/sdb6 cp -r boot/* /media/machine/9F35-9565/</pre> == Boot from U-Boot == If everything is OK, you should able to see the U-Boot log like this: <pre>switch to partitions #0, OK mmc0(part 0) is current device Scanning mmc 0:6... Found /extlinux/extlinux.conf Retrieving file: /extlinux/extlinux.conf 205 bytes read in 82 ms (2 KiB/s) 1: upstream-4.10 Retrieving file: /Image 13484040 bytes read in 1833 ms (7 MiB/s) append: earlycon=uart8250,mmio32,0xff1a0000 console=ttyS2,1500000n8 rw root=/dev/mmcblk0p7 rootwait rootfstype=ext4 init=/sbin/init Retrieving file: /rk3399.dtb 61714 bytes read in 54 ms (1.1 MiB/s) ## Flattened Device Tree blob at 01f00000 Booting using the fdt blob at 0x1f00000 Loading Device Tree to 000000007df14000, end 000000007df26111 ... OK Starting kernel ... </pre> 66a64e39488b34250d06a4ad73f443b0c7c16246 Distribution 0 105 645 2017-03-15T14:23:09Z Kever 2 Created page with " There are also many other districbutions support by community or developers. ARCH Linux https://archlinuxarm.org/platforms/armv7/rockchip &nbsp;" wikitext text/x-wiki There are also many other districbutions support by community or developers. ARCH Linux https://archlinuxarm.org/platforms/armv7/rockchip &nbsp; e2c5708459efd4efe423c13de0c8de44180c47c5 653 645 2017-03-16T08:47:15Z Kever 2 wikitext text/x-wiki There are also many other districbutions support by community or developers. = ARCH Linux = Here is the guide from Arch LInux [https://archlinuxarm.org/platforms/armv7/rockchip https://archlinuxarm.org/platforms/armv7/rockchip] https://archlinuxarm.org/platforms/armv8/rockchip/ and source code here: [https://www.google.com/url?q=https://github.com/archlinuxarm/PKGBUILDs/tree/master/core/linux-gru&sa=D&sntz=1&usg=AFQjCNE-M4mxRkDn10G8xLOVN02TsJJKag https://github.com/archlinuxarm/PKGBUILDs/tree/master/core/linux-gru] 316765166cddd673175e744008a542229b7661be 654 653 2017-03-16T08:47:29Z Kever 2 wikitext text/x-wiki There are also many other districbutions support by community or developers. = ARCH Linux = Here is the guide from Arch Linux [https://archlinuxarm.org/platforms/armv7/rockchip https://archlinuxarm.org/platforms/armv7/rockchip] [https://archlinuxarm.org/platforms/armv8/rockchip/ https://archlinuxarm.org/platforms/armv8/rockchip/] and source code here: [https://www.google.com/url?q=https://github.com/archlinuxarm/PKGBUILDs/tree/master/core/linux-gru&sa=D&sntz=1&usg=AFQjCNE-M4mxRkDn10G8xLOVN02TsJJKag https://github.com/archlinuxarm/PKGBUILDs/tree/master/core/linux-gru] ecb6ba5c165483df4c2a554d1b4466efd0a2548a Display Server 0 70 647 536 2017-03-16T02:11:24Z Karen 3 wikitext text/x-wiki = Introduction = = Download = Git repository:[https://github.com/rockchip-linux/xserver https://github.com/rockchip-linux/xserver] = Supported Devices = = Configuration/Environment = = Package = = Install = = See also = = References&nbsp; = 9cdcab4fe65728e1f99a2797b07d5a5ff82cb172 648 647 2017-03-16T02:32:28Z Karen 3 wikitext text/x-wiki = Introduction = = Download = Git repository:[https://github.com/rockchip-linux/xserver https://github.com/rockchip-linux/xserver] = Supported Devices = = Configuration/Environment = = Package = = Install = We suggestion you to use the Debian build system to build our xserver or you would be too hard to solve dependence problem. You may reference to Debian Package Maintainer Manuel for more information. (Update: now we support build xserver with docker, see&nbsp;[https://github.com/rockchip-linux/docker-rockchip here]&nbsp;) #Install all the build dependency for the xserver. #Install the library mali and development files. You must use the version comes from Rockchip. #Entry the xserver directory. #Build with the Debian build tools. = See also = = References&nbsp; = 1598187bd74503cf112d4573348fd8ba411ee95d 649 648 2017-03-16T02:54:20Z Karen 3 wikitext text/x-wiki = Introduction = = Download = Git repository:[https://github.com/rockchip-linux/xserver https://github.com/rockchip-linux/xserver] = Supported Devices = = Configuration/Environment = = Package = = Install = == To build xserver == We suggest&nbsp;that using&nbsp;the Debian build system to build our xserver or you would be too hard to solve dependence problem. You may reference to Debian Package Maintainer Manuel for more information. (Update: now we support build xserver with docker, see&nbsp;[https://github.com/rockchip-linux/docker-rockchip here]&nbsp;) #Install all the build dependency for the xserver. #Install the library mali and development files. You must use the version comes from Rockchip. #Entry the xserver directory. #Build with the Debian build tools. = See also = = References&nbsp; = 769c5fe761a64bf3cce56889654fc395f394044b Talk:Debian 1 23 650 159 2017-03-16T03:29:01Z Admin 1 Replaced content with " &nbsp;" wikitext text/x-wiki &nbsp; 9012a5db0e48f472dc89e97fa239cc9970681b37 Upstream Kernel 0 19 655 143 2017-03-16T09:35:01Z Kever 2 wikitext text/x-wiki Rockchip is working on upstream SoC support to Mainline kernel: &nbsp; = Download Kernel[[http://10.10.10.12:8444/index.php?title=Rockchip_Kernel&action=edit&section=1 edit]] = Get the source code from the upstream mainline&nbsp;repository: <pre>git clone git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git</pre> Alternatively you can use linux-rockchip instead which may with some patches not get in mainline: <pre>git clone git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip.git</pre> = Supported SoCs and Devices[[http://10.10.10.12:8444/index.php?title=Rockchip_Kernel&action=edit&section=2 edit]] = Mainline&nbsp;kernel supports: RV1108, RK3036, RK3066, RK3188, RK3228, RK3288, RK3368, RK3399 *RV1108 boards: <ol style="margin-left: 40px;"> <li>EVB RV1108- use&nbsp;rk1108-evb.dts</li> </ol> *RK3036 boards: <ol style="margin-left: 40px;"> <li>EVB RK3036 - use rk3036-evb.dts</li> <li>Kylin RK3036- use&nbsp;rk3036-kylin.dts</li> </ol> *RK3066 boards: <ol style="margin-left: 40px;"> <li>Marsboard - use&nbsp;rk3066a-marsboard.dts</li> <li>Bqcurie2 - use&nbsp;rk3066a-bqcurie2.dts</li> <li>Rayeager - use rk3066a-rayeager.dts</li> </ol> *RK3188 boards: <ol style="margin-left: 40px;"> <li>Radxa Rock - rk3188-radxarock.dts</li> </ol> *RK3288 boards: <ol style="margin-left: 40px;"> <li>EVB RK3288 - use rk3288-evb-rk808.dts or&nbsp;rk3288-evb-act8846.dts</li> <li>Fennec RK3288 - use rk3288-fennec.dts</li> <li>Firefly RK3288 - use rk3288-firefly.dts</li> <li>Firefly beta RK3288 - use rk3288-firefly-beta.dts</li> <li>Firefly reload RK3288 - use rk3288-firefly-reload.dts</li> <li>Hisense Chromebook - use rk3288-veyron-jerry.dts</li> <li>PopMetal RK3288 - use rk3288-popmetal.dts</li> <li>MiQi RK3288 - use&nbsp;rk3288-miqi.dts</li> <li>Radxa Rock 2 - use rk3288-rock2-square.dts</li> </ol> *RK3368 boards: <ol style="margin-left: 40px;"> <li>Geekbok RK3368 - use&nbsp;rk3368-geekbox.dts</li> <li>Orion r68 - use rk3368-orion-r68-meta.dts</li> </ol> *RK3399 boards: <ol style="margin-left: 40px;"> <li>EVB RK3399 - use rk3399-evb.dts</li> </ol> &nbsp; = Configure and Build[[http://10.10.10.12:8444/index.php?title=Rockchip_Kernel&action=edit&section=3 edit]] = You will need to use multi_v7_defconfig&nbsp;for armv7 SoCs: <pre>make multi_v7_defconfig</pre> configure for aarch64: <pre>make ARCH=arm64 defconfig</pre> The arm64 defconfig on upstream is more for server,&nbsp;we recommend you to use rockchip_linux_defconfig from&nbsp;Rockchip github <pre>make ARCH=arm64 rockchip_linux_defconfig</pre> After configure, build the kernel. For armv7: <pre>make CROSS_COMPILE=arm-linux-gnueabi-</pre> For aarch64: <pre>make CROSS_COMPILE=aarch64-linux-gnu- ARCH=arm64</pre> Then you can get Image/zImage and dtb files. &nbsp; = Install Boot/kernel[[http://10.10.10.12:8444/index.php?title=Rockchip_Kernel&action=edit&section=4 edit]] = We use distro boot in U-Boot, so we need to make a boot partition for U-Boot with kernel image and dtb inside. <pre>mkdir boot cp arch/arm64/boot/dts/rockchip/rockchip/rk3399-evb.dtb boot/rk3399.dtb cp arch/arm64/boot/Image boot/</pre> Add extlinux/extlinux.conf for distro boot. <pre>mkdir boot/extlinux vi boot/extlinux/extlinux.conf</pre> &nbsp; <pre>lable kernel-mainline kernel /Image fdt /rk3399.dtb append earlycon=uart8250,mmio,0xff1a0000 console=ttyS2,1500000n8 root=dev/mmcblk0p7 rootwait rootfstype=ext4 init=/sbin/init</pre> You need to change the base address of debug UART, root partition for your board. Pls reference to&nbsp;[http://10.10.10.12:8444/index.php?title=Partitions rockchip Linux parttion definition]&nbsp;for rootfs partition and where boot to flash. After all these file prepare complete, we write the file to the boot partition See [[Rockchip_Kernel|rockchip kernel]] for boot partition generate. 705ded050ef942d0c791bbc41fba5450eaba58ec ATF 0 54 656 366 2017-03-16T09:45:14Z Kever 2 wikitext text/x-wiki = Download ARM Trusted Firmware = Get the source code from github: <pre>git clone https://github.com/ARM-software/arm-trusted-firmware.git</pre> = Supported Devices[[http://10.10.10.12:8444/index.php?title=U-Boot&action=edit&section=4 edit]] = Upstream ARM Trusted Firmware support Rockchip SoCs: [http://10.10.10.12:8444/index.php?title=RK3399 RK3399] = Build ATF = Here is a ''mk-atf.sh'' script to build ATF. <pre>$ cat mk-atf.sh #!/bin/bash make realclean CFLAGS='-gdwarf-2' \ CROSS_COMPILE=aarch64-linux-gnu- \ make PLAT=rk3399 DEBUG=1 ERROR_DEPRECATED=1 bl31</pre> Because there is a blob of code for cortex-M0, so you need a compiler for it. Install it by: <pre>sudo apt-get install gcc-arm-none-eabi</pre> 303b62c2bea53113280c24cce2714e2d7aa13408 657 656 2017-03-16T09:48:48Z Kever 2 wikitext text/x-wiki = Download ARM Trusted Firmware = Get the source code from github: <pre>git clone https://github.com/ARM-software/arm-trusted-firmware.git</pre> = Supported Devices[[http://10.10.10.12:8444/index.php?title=U-Boot&action=edit&section=4 edit]] = Upstream ARM Trusted Firmware support Rockchip SoCs: [http://10.10.10.12:8444/index.php?title=RK3399 RK3399] = Build ATF = Here is a ''mk-atf.sh'' script to build ATF. <pre>$ cat mk-atf.sh #!/bin/bash make realclean CFLAGS='-gdwarf-2' \ CROSS_COMPILE=aarch64-linux-gnu- \ make PLAT=rk3399 DEBUG=1 ERROR_DEPRECATED=1 bl31</pre> Because there is a blob of code for cortex-M0, so you need a compiler for it. Install it by: <pre>sudo apt-get install gcc-arm-none-eabi</pre> We can get bl31.bin when&nbsp;build complete. = Install ATF = == Support ATF with SPL FIT image[[http://10.10.10.12:8444/index.php?title=U-Boot&action=edit&section=11 edit]] == == Using Rockchip miniloader[[http://10.10.10.12:8444/index.php?title=U-Boot&action=edit&section=12 edit]] == Alternatively, you can use Rockchip miniloader and U-Boot instead which do not need SPL. The miniloader is package as IDBlock, and the u-boot.bin need to package with rockchip tool: <pre>loaderimage --pack --uboot u-boot.bin rk3288_uboot.img</pre> According to the&nbsp;[http://10.10.10.12:8444/index.php?title=Partitions partitions]&nbsp;definition, this output should write to offset 0x4000. f554d6f13fd8bdd5156b6125477bd5531dae0032 658 657 2017-03-16T09:49:30Z Kever 2 wikitext text/x-wiki = Download ARM Trusted Firmware = Get the source code from github: <pre>git clone https://github.com/ARM-software/arm-trusted-firmware.git</pre> = Supported Devices[[http://10.10.10.12:8444/index.php?title=U-Boot&action=edit&section=4 edit]] = Upstream ARM Trusted Firmware support Rockchip SoCs: [http://10.10.10.12:8444/index.php?title=RK3399 RK3399] = Build ATF = Here is a ''mk-atf.sh'' script to build ATF. <pre>$ cat mk-atf.sh #!/bin/bash make realclean CFLAGS='-gdwarf-2' \ CROSS_COMPILE=aarch64-linux-gnu- \ make PLAT=rk3399 DEBUG=1 ERROR_DEPRECATED=1 bl31</pre> Because there is a blob of code for cortex-M0, so you need a compiler for it. Install it by: <pre>sudo apt-get install gcc-arm-none-eabi</pre> We can get bl31.bin when&nbsp;build complete. = Install ATF = == Using U-Boot&nbsp;SPL FIT image[[http://10.10.10.12:8444/index.php?title=U-Boot&action=edit&section=11 edit]] == == Using Rockchip miniloader[[http://10.10.10.12:8444/index.php?title=U-Boot&action=edit&section=12 edit]] == Alternatively, you can use Rockchip miniloader and U-Boot instead which do not need SPL. The miniloader is package as IDBlock, and the u-boot.bin need to package with rockchip tool: <pre>loaderimage --pack --uboot u-boot.bin rk3288_uboot.img</pre> According to the&nbsp;[http://10.10.10.12:8444/index.php?title=Partitions partitions]&nbsp;definition, this output should write to offset 0x4000. d7dbd7402b66ce1ab4053a4f77dfb37f2a3b3e90 Rkdeveloptool 0 106 660 2017-03-16T10:00:43Z Kever 2 Created page with " = Download rkdeveloptool = Get the source code for rkdeveloptool <pre>git clone https://github.com/rockchip-linux/rkdeveloptool.git</pre> &nbsp; = Build rkdeveloptool = F..." wikitext text/x-wiki = Download rkdeveloptool = Get the source code for rkdeveloptool <pre>git clone https://github.com/rockchip-linux/rkdeveloptool.git</pre> &nbsp; = Build rkdeveloptool = First, install the libusb and udev. In Ubuntu,&nbsp; <pre>sudo apt-get install libudev-dev libusb-1.0-0-dev</pre> Then&nbsp; <pre>sudo make && make install</pre> = Usage = ---------------------Tool Usage ---------------------<br/> Help: &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; -H<br/> Version: &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;-V<br/> DownloadBoot:&nbsp;&nbsp; &nbsp;DB <Loader><br/> ReadLBA:&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;RL &nbsp;<BeginSec> <SectorLen> <File><br/> WriteLBA:&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;WL &nbsp;<BeginSec> <File><br/> EraseFlash:&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;EF&nbsp;<br/> TestDevice:&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;TD<br/> ResetDevice:&nbsp;&nbsp; &nbsp;RD [subcode]<br/> ReadFlashID:&nbsp;&nbsp; &nbsp;RID<br/> ReadFlashInfo:&nbsp;&nbsp; &nbsp;RFI<br/> ReadChipInfo:&nbsp;&nbsp; &nbsp;RCI<br/> ------------------------------------------------------- 09b8bf617657e8967c947210c60e77812989e144 661 660 2017-03-16T10:08:01Z Kever 2 wikitext text/x-wiki = Download rkdeveloptool = Get the source code for rkdeveloptool <pre>git clone https://github.com/rockchip-linux/rkdeveloptool.git</pre> &nbsp; = Build rkdeveloptool = First, install the libusb and udev. In Ubuntu,&nbsp; <pre>sudo apt-get install libudev-dev libusb-1.0-0-dev</pre> Then&nbsp; <pre>sudo make && make install</pre> = Usage = == Support commands == --------------------Tool Usage ---------------------<br/> Help: &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; -H<br/> Version: &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;-V<br/> DownloadBoot:&nbsp;&nbsp; &nbsp;DB <Loader><br/> ReadLBA:&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;RL &nbsp;<BeginSec> <SectorLen> <File><br/> WriteLBA:&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;WL &nbsp;<BeginSec> <File><br/> EraseFlash:&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;EF&nbsp;<br/> TestDevice:&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;TD<br/> ResetDevice:&nbsp;&nbsp; &nbsp;RD [subcode]<br/> ReadFlashID:&nbsp;&nbsp; &nbsp;RID<br/> ReadFlashInfo:&nbsp;&nbsp; &nbsp;RFI<br/> ReadChipInfo:&nbsp;&nbsp; &nbsp;RCI<br/> ------------------------------------------------------- == Flash image to target emmc == In order to flash image to target emmc,&nbsp; #Make target&nbsp;&nbsp;get into rockusb mode; #Connect target to Host PC via USB; &nbsp; 72bcca0ce3880f276422b9855a69c0f18d3f5109 Main Page 0 16 662 659 2017-03-16T10:44:05Z Kever 2 wikitext text/x-wiki = '''Source code''' = Rockchip provide open source software on Github including fully support for Linux Based OS: *Github: [http://github.com/rockchip-linux rockchip-linux] You can also find software for Rockchip SoCs from Upstream: *[http://www.kernel.org/ Linux kernel] *[http://www.denx.de/wiki/U-Boot/WebHome U-Boot] *[https://github.com/ARM-software/arm-trusted-firmware ARM Truseted Firmware] If you are using a Chrombook with Rockchip SoC, you can use: *[https://chromium.googlesource.com/chromiumos/third_party/coreboot Chromium OS&nbsp;Coreboot] *[https://chromium.googlesource.com/chromiumos/third_party/kernel Chromium OS kernel] &nbsp; = '''Hardware Document''' = Here are the documents for SoCs, you can find&nbsp;Hardware device/board information on [[Devices|DEVICE PAGE]]. {| border="1" cellpadding="0" cellspacing="0" |- | style="width:92px;" | <p style="text-align: center;">SoC</p> | style="width:286px;" | <p style="text-align: center;">Description</p> | style="width:189px;" | <p style="text-align: center;">Download</p> |- | style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p> | style="width:286px;" | Quad-core Cortex-A17 CPU, MALI-T764 GPU | style="width:189px;" | TRM, [[Media:Rockchip_RK3288_Datasheet_V2.2-20170301.pdf|Datasheet]],Schematic&Layout Guide |- | style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p> | style="width:286px;" | Quad-core Cortex-A53 CPU,MALI-450MP2 GPU | style="width:189px;" | TRM, [[Datasheet|Datasheet]],Schematic&Layout Guide |- | style="width:92px;" | <p style="text-align: center;">[[RK3399|RK3399]]</p> | style="width:286px;" | Dual-core Cortex-A72, Quad-core Cortex-A53 CPU, MALI-T864 GPU | style="width:189px;" | TRM, [[Media:Rockchip_RK3399_Datasheet_V1.6-20170301.pdf|Datasheet]],Schematic&Layout Guide |} &nbsp; &nbsp; &nbsp; = '''Software development&nbsp;''' = *'''&nbsp;Porting guide for Linux based OS/Distribution''' &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Linux_user_guide|Linux_user_guide]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Debian|Debian]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Yocto|Yocto]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Buildroot|Buildroot]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Districbution|Other districbution]] *'''&nbsp;BSP module user guide''' &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[U-Boot|U-Boot]]&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Rockchip_Kernel|Rockchip Kernel]]&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Upstream_Kernel|Upstream Kernel]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Atf|ARM Trusted&nbsp;Firmware]] *'''&nbsp; Graphic and Video module user guide''' &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Display_Server|Display Server]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Gstreamer|Gstreamer]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[MPP|MPP]] *'''Tool and Firmware Upgrade''' &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Rockusb|Rockusb]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Rkdevelptool|Rkdevelptool]] '''<span style="font-size:xx-large;">Feedback</span>''' If you have any questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website. Rockchip Hotline:&nbsp;400-7700-590 Abroad, please call:&nbsp;0086-591-83991906&nbsp;Ext:&nbsp;8198 Service mailbox:service@rock-chips.com df3d95e2f2deca5867737e03b847103b97f4f2aa 663 662 2017-03-16T10:44:46Z Kever 2 wikitext text/x-wiki = '''Source code''' = Rockchip provide open source software on Github including fully support for Linux Based OS: *Github: [http://github.com/rockchip-linux rockchip-linux] You can also find software for Rockchip SoCs from Upstream: *[https://www.kernel.org/ Linux kernel] *[http://www.denx.de/wiki/U-Boot/WebHome U-Boot] *[https://github.com/ARM-software/arm-trusted-firmware ARM Truseted Firmware] If you are using a Chrombook with Rockchip SoC, you can use: *[https://chromium.googlesource.com/chromiumos/third_party/coreboot Chromium OS&nbsp;Coreboot] *[https://chromium.googlesource.com/chromiumos/third_party/kernel Chromium OS kernel] &nbsp; = '''Hardware Document''' = Here are the documents for SoCs, you can find&nbsp;Hardware device/board information on [[Devices|DEVICE PAGE]]. {| border="1" cellpadding="0" cellspacing="0" |- | style="width:92px;" | <p style="text-align: center;">SoC</p> | style="width:286px;" | <p style="text-align: center;">Description</p> | style="width:189px;" | <p style="text-align: center;">Download</p> |- | style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p> | style="width:286px;" | Quad-core Cortex-A17 CPU, MALI-T764 GPU | style="width:189px;" | TRM, [[Media:Rockchip_RK3288_Datasheet_V2.2-20170301.pdf|Datasheet]],Schematic&Layout Guide |- | style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p> | style="width:286px;" | Quad-core Cortex-A53 CPU,MALI-450MP2 GPU | style="width:189px;" | TRM, [[Datasheet|Datasheet]],Schematic&Layout Guide |- | style="width:92px;" | <p style="text-align: center;">[[RK3399|RK3399]]</p> | style="width:286px;" | Dual-core Cortex-A72, Quad-core Cortex-A53 CPU, MALI-T864 GPU | style="width:189px;" | TRM, [[Media:Rockchip_RK3399_Datasheet_V1.6-20170301.pdf|Datasheet]],Schematic&Layout Guide |} &nbsp; &nbsp; &nbsp; = '''Software development&nbsp;''' = *'''&nbsp;Porting guide for Linux based OS/Distribution''' &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Linux_user_guide|Linux_user_guide]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Debian|Debian]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Yocto|Yocto]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Buildroot|Buildroot]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Districbution|Other districbution]] *'''&nbsp;BSP module user guide''' &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[U-Boot|U-Boot]]&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Rockchip_Kernel|Rockchip Kernel]]&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Upstream_Kernel|Upstream Kernel]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Atf|ARM Trusted&nbsp;Firmware]] *'''&nbsp; Graphic and Video module user guide''' &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Display_Server|Display Server]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Gstreamer|Gstreamer]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[MPP|MPP]] *'''Tool and Firmware Upgrade''' &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Rockusb|Rockusb]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Rkdevelptool|Rkdevelptool]] '''<span style="font-size:xx-large;">Feedback</span>''' If you have any questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website. Rockchip Hotline:&nbsp;400-7700-590 Abroad, please call:&nbsp;0086-591-83991906&nbsp;Ext:&nbsp;8198 Service mailbox:service@rock-chips.com d2919ba49ef95d98d718a629e4af8363e96cb160 664 663 2017-03-16T10:45:36Z Kever 2 wikitext text/x-wiki = '''Source code''' = Rockchip provide open source software on Github including fully support for Linux Based OS: *Github: [https://github.com/rockchip-linux rockchip-linux] You can also find software for Rockchip SoCs from Upstream: *[https://www.kernel.org/ Linux kernel] *[http://www.denx.de/wiki/U-Boot/WebHome U-Boot] *[https://github.com/ARM-software/arm-trusted-firmware ARM Truseted Firmware] If you are using a Chrombook with Rockchip SoC, you can use: *[https://chromium.googlesource.com/chromiumos/third_party/coreboot Chromium OS&nbsp;Coreboot] *[https://chromium.googlesource.com/chromiumos/third_party/kernel Chromium OS kernel] &nbsp; = '''Hardware Document''' = Here are the documents for SoCs, you can find&nbsp;Hardware device/board information on [[Devices|DEVICE PAGE]]. {| border="1" cellpadding="0" cellspacing="0" |- | style="width:92px;" | <p style="text-align: center;">SoC</p> | style="width:286px;" | <p style="text-align: center;">Description</p> | style="width:189px;" | <p style="text-align: center;">Download</p> |- | style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p> | style="width:286px;" | Quad-core Cortex-A17 CPU, MALI-T764 GPU | style="width:189px;" | TRM, [[Media:Rockchip_RK3288_Datasheet_V2.2-20170301.pdf|Datasheet]],Schematic&Layout Guide |- | style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p> | style="width:286px;" | Quad-core Cortex-A53 CPU,MALI-450MP2 GPU | style="width:189px;" | TRM, [[Datasheet|Datasheet]],Schematic&Layout Guide |- | style="width:92px;" | <p style="text-align: center;">[[RK3399|RK3399]]</p> | style="width:286px;" | Dual-core Cortex-A72, Quad-core Cortex-A53 CPU, MALI-T864 GPU | style="width:189px;" | TRM, [[Media:Rockchip_RK3399_Datasheet_V1.6-20170301.pdf|Datasheet]],Schematic&Layout Guide |} &nbsp; &nbsp; &nbsp; = '''Software development&nbsp;''' = *'''&nbsp;Porting guide for Linux based OS/Distribution''' &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Linux_user_guide|Linux_user_guide]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Debian|Debian]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Yocto|Yocto]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Buildroot|Buildroot]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Districbution|Other districbution]] *'''&nbsp;BSP module user guide''' &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[U-Boot|U-Boot]]&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Rockchip_Kernel|Rockchip Kernel]]&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Upstream_Kernel|Upstream Kernel]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Atf|ARM Trusted&nbsp;Firmware]] *'''&nbsp; Graphic and Video module user guide''' &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Display_Server|Display Server]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Gstreamer|Gstreamer]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[MPP|MPP]] *'''Tool and Firmware Upgrade''' &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Rockusb|Rockusb]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Rkdevelptool|Rkdevelptool]] '''<span style="font-size:xx-large;">Feedback</span>''' If you have any questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website. Rockchip Hotline:&nbsp;400-7700-590 Abroad, please call:&nbsp;0086-591-83991906&nbsp;Ext:&nbsp;8198 Service mailbox:service@rock-chips.com 77efb0c2ede3363c5d3067739b7e9f8380211da8 675 664 2017-03-16T13:37:33Z Kever 2 wikitext text/x-wiki = '''Source code''' = Rockchip provide open source software on Github including fully support for Linux Based OS: *Github: [https://github.com/rockchip-linux rockchip-linux] You can also find software for Rockchip SoCs from Upstream: *[https://www.kernel.org/ Linux kernel] *[http://www.denx.de/wiki/U-Boot/WebHome U-Boot] *[https://github.com/ARM-software/arm-trusted-firmware ARM Truseted Firmware] If you are using a Chrombook with Rockchip SoC, you can use: *[https://chromium.googlesource.com/chromiumos/third_party/coreboot Chromium OS&nbsp;Coreboot] *[https://chromium.googlesource.com/chromiumos/third_party/kernel Chromium OS kernel] &nbsp; = '''Hardware Document''' = Here are the documents for SoCs, you can find&nbsp;Hardware device/board information on [[Devices|DEVICE PAGE]]. {| border="1" cellpadding="0" cellspacing="0" |- | style="width:92px;" | <p style="text-align: center;">SoC</p> | style="width:286px;" | <p style="text-align: center;">Description</p> | style="width:189px;" | <p style="text-align: center;">Download</p> |- | style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p> | style="width:286px;" | Quad-core Cortex-A17 CPU, MALI-T764 GPU | style="width:189px;" | TRM, [[Media:Rockchip_RK3288_Datasheet_V2.2-20170301.pdf|Datasheet]],Schematic&Layout Guide |- | style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p> | style="width:286px;" | Quad-core Cortex-A53 CPU,MALI-450MP2 GPU | style="width:189px;" | TRM, [[Datasheet|Datasheet]],Schematic&Layout Guide |- | style="width:92px;" | <p style="text-align: center;">[[RK3399|RK3399]]</p> | style="width:286px;" | Dual-core Cortex-A72, Quad-core Cortex-A53 CPU, MALI-T864 GPU | style="width:189px;" | TRM, [[Media:Rockchip_RK3399_Datasheet_V1.6-20170301.pdf|Datasheet]],Schematic&Layout Guide |} &nbsp; &nbsp; &nbsp; = '''Software development&nbsp;''' = *'''&nbsp;Porting guide for Linux based OS/Distribution''' &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Linux_user_guide|Linux_user_guide]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Debian|Debian]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Yocto|Yocto]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Buildroot|Buildroot]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Districbution|Other districbution]] *'''&nbsp;BSP module user guide''' &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[U-Boot|U-Boot]]&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Rockchip_Kernel|Rockchip Kernel]]&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Upstream_Kernel|Upstream Kernel]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Atf|ARM Trusted&nbsp;Firmware]] *'''&nbsp; Graphics and Multimedia&nbsp;user guide''' '''&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;'''[[Graphics|Graphics and display]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Multimedia]] *'''Tool and Firmware Upgrade''' &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Rockusb|Rockusb]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[Rkdevelptool|Rkdevelptool]] '''<span style="font-size:xx-large;">Feedback</span>''' If you have any questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website. Rockchip Hotline:&nbsp;400-7700-590 Abroad, please call:&nbsp;0086-591-83991906&nbsp;Ext:&nbsp;8198 Service mailbox:service@rock-chips.com 984acaa9a0c3c6586bd69d72bfb9a743532e38d1 680 675 2017-03-16T13:44:52Z Kever 2 wikitext text/x-wiki = '''Source code''' = Rockchip provide open source software on Github including fully support for Linux Based OS: *Github: [https://github.com/rockchip-linux rockchip-linux] You can also find software for Rockchip SoCs from Upstream: *[https://www.kernel.org/ Linux kernel] *[http://www.denx.de/wiki/U-Boot/WebHome U-Boot] *[https://github.com/ARM-software/arm-trusted-firmware ARM Truseted Firmware] If you are using a Chrombook with Rockchip SoC, you can use: *[https://chromium.googlesource.com/chromiumos/third_party/coreboot Chromium OS&nbsp;Coreboot] *[https://chromium.googlesource.com/chromiumos/third_party/kernel Chromium OS kernel] &nbsp; = '''Hardware Document''' = Here are the documents for SoCs, you can find&nbsp;Hardware device/board information on [[Devices|DEVICE PAGE]]. {| border="1" cellpadding="0" cellspacing="0" |- | style="width:92px;" | <p style="text-align: center;">SoC</p> | style="width:286px;" | <p style="text-align: center;">Description</p> | style="width:189px;" | <p style="text-align: center;">Download</p> |- | style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p> | style="width:286px;" | Quad-core Cortex-A17 CPU, MALI-T764 GPU | style="width:189px;" | TRM, [[Media:Rockchip_RK3288_Datasheet_V2.2-20170301.pdf|Datasheet]],Schematic&Layout Guide |- | style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p> | style="width:286px;" | Quad-core Cortex-A53 CPU,MALI-450MP2 GPU | style="width:189px;" | TRM, [[Datasheet|Datasheet]],Schematic&Layout Guide |- | style="width:92px;" | <p style="text-align: center;">[[RK3399|RK3399]]</p> | style="width:286px;" | Dual-core Cortex-A72, Quad-core Cortex-A53 CPU, MALI-T864 GPU | style="width:189px;" | TRM, [[Media:Rockchip_RK3399_Datasheet_V1.6-20170301.pdf|Datasheet]],Schematic&Layout Guide |} &nbsp; &nbsp; &nbsp; = '''Software development&nbsp;''' = *'''&nbsp;Porting guide for Linux based OS/Distribution''' &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Linux_user_guide|Linux_user_guide]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Debian|Debian]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Yocto|Yocto]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Buildroot|Buildroot]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Districbution|Other districbution]] *'''&nbsp;BSP module user guide''' &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[U-Boot|U-Boot]]&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Rockchip_Kernel|Rockchip Kernel]]&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Upstream_Kernel|Upstream Kernel]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Atf|ARM Trusted&nbsp;Firmware]] *'''&nbsp; Graphics and Multimedia&nbsp;user guide''' '''&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;'''[[Graphics|Graphics and display]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Multimedia|Multimedia]] *'''Tool and Firmware Upgrade''' &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Rockusb|Rockusb]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Rkdevelptool|Rkdevelptool]] '''<span style="font-size:xx-large;">Feedback</span>''' If you have any questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website. Rockchip Hotline:&nbsp;400-7700-590 Abroad, please call:&nbsp;0086-591-83991906&nbsp;Ext:&nbsp;8198 Service mailbox:service@rock-chips.com d7b21f2f2542ba69e0f762f942b7bd2d080bdd8c 683 680 2017-03-16T13:50:54Z Kever 2 wikitext text/x-wiki = '''Source code''' = Rockchip provide open source software on Github including fully support for Linux Based OS: *Github: [https://github.com/rockchip-linux rockchip-linux] You can also find software for Rockchip SoCs from Upstream: *[https://www.kernel.org/ Linux kernel] *[http://www.denx.de/wiki/U-Boot/WebHome U-Boot] *[https://github.com/ARM-software/arm-trusted-firmware ARM Truseted Firmware] If you are using a Chrombook with Rockchip SoC, you can use: *[https://chromium.googlesource.com/chromiumos/third_party/coreboot Chromium OS&nbsp;Coreboot] *[https://chromium.googlesource.com/chromiumos/third_party/kernel Chromium OS kernel] &nbsp; = '''Hardware Document''' = Here are the documents for SoCs, you can find&nbsp;Hardware device/board information on [[Devices|DEVICE PAGE]]. {| border="1" cellpadding="0" cellspacing="0" |- | style="width:92px;" | <p style="text-align: center;">SoC</p> | style="width:286px;" | <p style="text-align: center;">Description</p> | style="width:189px;" | <p style="text-align: center;">Download</p> |- | style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p> | style="width:286px;" | Quad-core Cortex-A17 CPU, MALI-T764 GPU | style="width:189px;" | TRM, [[Media:Rockchip_RK3288_Datasheet_V2.2-20170301.pdf|Datasheet]],Schematic&Layout Guide |- | style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p> | style="width:286px;" | Quad-core Cortex-A53 CPU,MALI-450MP2 GPU | style="width:189px;" | TRM, [[Media:Rockchip_RK3328_Datasheet_V1.1-20170309.pdf|Datasheet]],Schematic&Layout Guide |- | style="width:92px;" | <p style="text-align: center;">[[RK3399|RK3399]]</p> | style="width:286px;" | Dual-core Cortex-A72, Quad-core Cortex-A53 CPU, MALI-T864 GPU | style="width:189px;" | TRM, [[Media:Rockchip_RK3399_Datasheet_V1.6-20170301.pdf|Datasheet]],Schematic&Layout Guide |} &nbsp; &nbsp; &nbsp; = '''Software development&nbsp;''' = *'''&nbsp;Porting guide for Linux based OS/Distribution''' &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Linux_user_guide|Linux_user_guide]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Debian|Debian]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Yocto|Yocto]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Buildroot|Buildroot]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Districbution|Other districbution]] *'''&nbsp;BSP module user guide''' &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[U-Boot|U-Boot]]&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Rockchip_Kernel|Rockchip Kernel]]&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Upstream_Kernel|Upstream Kernel]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Atf|ARM Trusted&nbsp;Firmware]] *'''&nbsp; Graphics and Multimedia&nbsp;user guide''' '''&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;'''[[Graphics|Graphics and display]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Multimedia|Multimedia]] *'''Tool and Firmware Upgrade''' &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Rockusb|Rockusb]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Rkdevelptool|Rkdevelptool]] '''<span style="font-size:xx-large;">Feedback</span>''' If you have any questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website. Rockchip Hotline:&nbsp;400-7700-590 Abroad, please call:&nbsp;0086-591-83991906&nbsp;Ext:&nbsp;8198 Service mailbox:service@rock-chips.com ab1338e9b43dbb896c8eefb1fdd9a058c882b2ae 684 683 2017-03-16T13:52:15Z Kever 2 wikitext text/x-wiki = '''Source code''' = Rockchip provide open source software on Github including fully support for Linux Based OS: *Github: [https://github.com/rockchip-linux rockchip-linux] You can also find software for Rockchip SoCs from Upstream: *[https://www.kernel.org/ Linux kernel] *[http://www.denx.de/wiki/U-Boot/WebHome U-Boot] *[https://github.com/ARM-software/arm-trusted-firmware ARM Truseted Firmware] If you are using a Chrombook with Rockchip SoC, you can use: *[https://chromium.googlesource.com/chromiumos/third_party/coreboot Chromium OS&nbsp;Coreboot] *[https://chromium.googlesource.com/chromiumos/third_party/kernel Chromium OS kernel] &nbsp; = '''Hardware Document''' = Here are the documents for SoCs, you can find&nbsp;Hardware device/board information on [[Devices|DEVICE PAGE]]. {| border="1" cellpadding="0" cellspacing="0" |- | style="width:92px;" | <p style="text-align: center;">SoC</p> | style="width:286px;" | <p style="text-align: center;">Description</p> | style="width:189px;" | <p style="text-align: center;">Download</p> |- | style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p> | style="width:286px;" | Quad-core Cortex-A17 CPU, MALI-T764 GPU | style="width:189px;" | TRM, [[Media:Rockchip_RK3288_Datasheet_V2.2-20170301.pdf|Datasheet]],Schematic&Layout Guide |- | style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p> | style="width:286px;" | Quad-core Cortex-A53 CPU,MALI-450MP2 GPU | style="width:189px;" | TRM, [[Media:Rockchip_RK3328_Datasheet_V1.1-20170309.pdf|Datasheet]],Schematic&Layout Guide |- | style="width:92px;" | <p style="text-align: center;">[[RK3399|RK3399]]</p> | style="width:286px;" | Dual-core Cortex-A72, Quad-core Cortex-A53 CPU, MALI-T864 GPU | style="width:189px;" | TRM, [[Media:Rockchip_RK3399_Datasheet_V1.6-20170301.pdf|Datasheet]],Schematic&Layout Guide |} &nbsp; &nbsp; &nbsp; = '''Software development&nbsp;''' = *'''&nbsp;Porting guide for Linux based OS/Distribution''' **&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Linux_user_guide|Linux_user_guide]] **&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Debian|Debian]] **&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Yocto|Yocto]] **&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Buildroot|Buildroot]] **&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Districbution|Other districbution]] *'''&nbsp;BSP module user guide''' **&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[U-Boot|U-Boot]]&nbsp; **&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Rockchip_Kernel|Rockchip Kernel]]&nbsp; **&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Upstream_Kernel|Upstream Kernel]] **&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Atf|ARM Trusted&nbsp;Firmware]] *'''&nbsp; Graphics and Multimedia&nbsp;user guide''' **'''&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;'''[[Graphics|Graphics and display]] **&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Multimedia|Multimedia]] *'''Tool and Firmware Upgrade''' **&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Rockusb|Rockusb]] **&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[Rkdevelptool|Rkdevelptool]] '''<span style="font-size:xx-large;">Feedback</span>''' If you have any questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website. Rockchip Hotline:&nbsp;400-7700-590 Abroad, please call:&nbsp;0086-591-83991906&nbsp;Ext:&nbsp;8198 Service mailbox:service@rock-chips.com 48cab6ac5d14c04a7e2beceabbd8ef2fc23c32ed 685 684 2017-03-16T13:54:05Z Kever 2 wikitext text/x-wiki = '''Source code''' = Rockchip provide open source software on Github including fully support for Linux Based OS: *Github: [https://github.com/rockchip-linux rockchip-linux] You can also find software for Rockchip SoCs from Upstream: *[https://www.kernel.org/ Linux kernel] *[http://www.denx.de/wiki/U-Boot/WebHome U-Boot] *[https://github.com/ARM-software/arm-trusted-firmware ARM Truseted Firmware] If you are using a Chrombook with Rockchip SoC, you can use: *[https://chromium.googlesource.com/chromiumos/third_party/coreboot Chromium OS&nbsp;Coreboot] *[https://chromium.googlesource.com/chromiumos/third_party/kernel Chromium OS kernel] &nbsp; = '''Hardware Document''' = Here are the documents for SoCs, you can find&nbsp;Hardware device/board information on [[Devices|DEVICE PAGE]]. {| border="1" cellpadding="0" cellspacing="0" |- | style="width:92px;" | <p style="text-align: center;">SoC</p> | style="width:286px;" | <p style="text-align: center;">Description</p> | style="width:189px;" | <p style="text-align: center;">Download</p> |- | style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p> | style="width:286px;" | Quad-core Cortex-A17 CPU, MALI-T764 GPU | style="width:189px;" | TRM, [[Media:Rockchip_RK3288_Datasheet_V2.2-20170301.pdf|Datasheet]],Schematic&Layout Guide |- | style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p> | style="width:286px;" | Quad-core Cortex-A53 CPU,MALI-450MP2 GPU | style="width:189px;" | TRM, [[Media:Rockchip_RK3328_Datasheet_V1.1-20170309.pdf|Datasheet]],Schematic&Layout Guide |- | style="width:92px;" | <p style="text-align: center;">[[RK3399|RK3399]]</p> | style="width:286px;" | Dual-core Cortex-A72, Quad-core Cortex-A53 CPU, MALI-T864 GPU | style="width:189px;" | TRM, [[Media:Rockchip_RK3399_Datasheet_V1.6-20170301.pdf|Datasheet]],Schematic&Layout Guide |} &nbsp; &nbsp; &nbsp; = '''Software development&nbsp;''' = *'''&nbsp;Porting guide for Linux based OS/Distribution''' **[[Linux_user_guide|Linux_user_guide]] **[[Debian|Debian]] **[[Yocto|Yocto]] **[[Buildroot|Buildroot]] **[[Districbution|Other districbution]] *'''&nbsp;BSP module user guide''' **[[U-Boot|U-Boot]]&nbsp; **[[Rockchip_Kernel|Rockchip Kernel]] **[[Upstream_Kernel|Upstream Kernel]] **[[Atf|ARM Trusted&nbsp;Firmware]] *'''&nbsp; Graphics and Multimedia&nbsp;user guide''' **[[Graphics|Graphics and display]] **[[Multimedia|Multimedia]] *'''Tool and Firmware Upgrade''' **[[Rockusb|Rockusb]] **[[Rkdevelptool|Rkdevelptool]] '''<span style="font-size:xx-large;">Feedback</span>''' If you have any questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website. Rockchip Hotline:&nbsp;400-7700-590 Abroad, please call:&nbsp;0086-591-83991906&nbsp;Ext:&nbsp;8198 Service mailbox:service@rock-chips.com 9470e2fe32af494356efbf05534ffdf9d3b34d31 686 685 2017-03-16T13:54:37Z Kever 2 wikitext text/x-wiki = '''Source code''' = Rockchip provide open source software on Github including fully support for Linux Based OS: *Github: [https://github.com/rockchip-linux rockchip-linux] You can also find software for Rockchip SoCs from Upstream: *[https://www.kernel.org/ Linux kernel] *[http://www.denx.de/wiki/U-Boot/WebHome U-Boot] *[https://github.com/ARM-software/arm-trusted-firmware ARM Truseted Firmware] If you are using a Chrombook with Rockchip SoC, you can use: *[https://chromium.googlesource.com/chromiumos/third_party/coreboot Chromium OS&nbsp;Coreboot] *[https://chromium.googlesource.com/chromiumos/third_party/kernel Chromium OS kernel] &nbsp; = '''Hardware Document''' = Here are the documents for SoCs, you can find&nbsp;Hardware device/board information on [[Devices|DEVICE PAGE]]. {| border="1" cellpadding="0" cellspacing="0" |- | style="width:92px;" | <p style="text-align: center;">SoC</p> | style="width:286px;" | <p style="text-align: center;">Description</p> | style="width:189px;" | <p style="text-align: center;">Download</p> |- | style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p> | style="width:286px;" | Quad-core Cortex-A17 CPU, MALI-T764 GPU | style="width:189px;" | TRM, [[Media:Rockchip_RK3288_Datasheet_V2.2-20170301.pdf|Datasheet]],Schematic&Layout Guide |- | style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p> | style="width:286px;" | Quad-core Cortex-A53 CPU,MALI-450MP2 GPU | style="width:189px;" | TRM, [[Media:Rockchip_RK3328_Datasheet_V1.1-20170309.pdf|Datasheet]],Schematic&Layout Guide |- | style="width:92px;" | <p style="text-align: center;">[[RK3399|RK3399]]</p> | style="width:286px;" | Dual-core Cortex-A72, Quad-core Cortex-A53 CPU, MALI-T864 GPU | style="width:189px;" | TRM, [[Media:Rockchip_RK3399_Datasheet_V1.6-20170301.pdf|Datasheet]],Schematic&Layout Guide |} &nbsp; &nbsp; &nbsp; = '''Software development&nbsp;''' = *'''Porting guide for Linux based OS/Distribution''' **[[Linux_user_guide|Linux_user_guide]] **[[Debian|Debian]] **[[Yocto|Yocto]] **[[Buildroot|Buildroot]] **[[Districbution|Other districbution]] *'''BSP module user guide''' **[[U-Boot|U-Boot]]&nbsp; **[[Rockchip_Kernel|Rockchip Kernel]] **[[Upstream_Kernel|Upstream Kernel]] **[[Atf|ARM Trusted&nbsp;Firmware]] *'''Graphics and Multimedia&nbsp;user guide''' **[[Graphics|Graphics and display]] **[[Multimedia|Multimedia]] *'''Tool and Firmware Upgrade''' **[[Rockusb|Rockusb]] **[[Rkdevelptool|Rkdevelptool]] '''<span style="font-size:xx-large;">Feedback</span>''' If you have any questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website. Rockchip Hotline:&nbsp;400-7700-590 Abroad, please call:&nbsp;0086-591-83991906&nbsp;Ext:&nbsp;8198 Service mailbox:service@rock-chips.com a94c078b74fa472eb6766f96a8af126d48c5891b 687 686 2017-03-16T13:54:54Z Kever 2 wikitext text/x-wiki = '''Source code''' = Rockchip provide open source software on Github including fully support for Linux Based OS: *Github: [https://github.com/rockchip-linux rockchip-linux] You can also find software for Rockchip SoCs from Upstream: *[https://www.kernel.org/ Linux kernel] *[http://www.denx.de/wiki/U-Boot/WebHome U-Boot] *[https://github.com/ARM-software/arm-trusted-firmware ARM Truseted Firmware] If you are using a Chrombook with Rockchip SoC, you can use: *[https://chromium.googlesource.com/chromiumos/third_party/coreboot Chromium OS&nbsp;Coreboot] *[https://chromium.googlesource.com/chromiumos/third_party/kernel Chromium OS kernel] &nbsp; = '''Hardware Document''' = Here are the documents for SoCs, you can find&nbsp;Hardware device/board information on [[Devices|DEVICE PAGE]]. {| border="1" cellpadding="0" cellspacing="0" |- | style="width:92px;" | <p style="text-align: center;">SoC</p> | style="width:286px;" | <p style="text-align: center;">Description</p> | style="width:189px;" | <p style="text-align: center;">Download</p> |- | style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p> | style="width:286px;" | Quad-core Cortex-A17 CPU, MALI-T764 GPU | style="width:189px;" | TRM, [[Media:Rockchip_RK3288_Datasheet_V2.2-20170301.pdf|Datasheet]],Schematic&Layout Guide |- | style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p> | style="width:286px;" | Quad-core Cortex-A53 CPU,MALI-450MP2 GPU | style="width:189px;" | TRM, [[Media:Rockchip_RK3328_Datasheet_V1.1-20170309.pdf|Datasheet]],Schematic&Layout Guide |- | style="width:92px;" | <p style="text-align: center;">[[RK3399|RK3399]]</p> | style="width:286px;" | Dual-core Cortex-A72, Quad-core Cortex-A53 CPU, MALI-T864 GPU | style="width:189px;" | TRM, [[Media:Rockchip_RK3399_Datasheet_V1.6-20170301.pdf|Datasheet]],Schematic&Layout Guide |} = '''Software development&nbsp;''' = *'''Porting guide for Linux based OS/Distribution''' **[[Linux_user_guide|Linux_user_guide]] **[[Debian|Debian]] **[[Yocto|Yocto]] **[[Buildroot|Buildroot]] **[[Districbution|Other districbution]] *'''BSP module user guide''' **[[U-Boot|U-Boot]]&nbsp; **[[Rockchip_Kernel|Rockchip Kernel]] **[[Upstream_Kernel|Upstream Kernel]] **[[Atf|ARM Trusted&nbsp;Firmware]] *'''Graphics and Multimedia&nbsp;user guide''' **[[Graphics|Graphics and display]] **[[Multimedia|Multimedia]] *'''Tool and Firmware Upgrade''' **[[Rockusb|Rockusb]] **[[Rkdevelptool|Rkdevelptool]] '''<span style="font-size:xx-large;">Feedback</span>''' If you have any questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website. Rockchip Hotline:&nbsp;400-7700-590 Abroad, please call:&nbsp;0086-591-83991906&nbsp;Ext:&nbsp;8198 Service mailbox:service@rock-chips.com 1a1e48e17ab31e4d56637d8fc1eed9961f9fa20e 688 687 2017-03-16T13:55:07Z Kever 2 wikitext text/x-wiki = '''Source code''' = Rockchip provide open source software on Github including fully support for Linux Based OS: *Github: [https://github.com/rockchip-linux rockchip-linux] You can also find software for Rockchip SoCs from Upstream: *[https://www.kernel.org/ Linux kernel] *[http://www.denx.de/wiki/U-Boot/WebHome U-Boot] *[https://github.com/ARM-software/arm-trusted-firmware ARM Truseted Firmware] If you are using a Chrombook with Rockchip SoC, you can use: *[https://chromium.googlesource.com/chromiumos/third_party/coreboot Chromium OS&nbsp;Coreboot] *[https://chromium.googlesource.com/chromiumos/third_party/kernel Chromium OS kernel] = '''Hardware Document''' = Here are the documents for SoCs, you can find&nbsp;Hardware device/board information on [[Devices|DEVICE PAGE]]. {| border="1" cellpadding="0" cellspacing="0" |- | style="width:92px;" | <p style="text-align: center;">SoC</p> | style="width:286px;" | <p style="text-align: center;">Description</p> | style="width:189px;" | <p style="text-align: center;">Download</p> |- | style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p> | style="width:286px;" | Quad-core Cortex-A17 CPU, MALI-T764 GPU | style="width:189px;" | TRM, [[Media:Rockchip_RK3288_Datasheet_V2.2-20170301.pdf|Datasheet]],Schematic&Layout Guide |- | style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p> | style="width:286px;" | Quad-core Cortex-A53 CPU,MALI-450MP2 GPU | style="width:189px;" | TRM, [[Media:Rockchip_RK3328_Datasheet_V1.1-20170309.pdf|Datasheet]],Schematic&Layout Guide |- | style="width:92px;" | <p style="text-align: center;">[[RK3399|RK3399]]</p> | style="width:286px;" | Dual-core Cortex-A72, Quad-core Cortex-A53 CPU, MALI-T864 GPU | style="width:189px;" | TRM, [[Media:Rockchip_RK3399_Datasheet_V1.6-20170301.pdf|Datasheet]],Schematic&Layout Guide |} = '''Software development&nbsp;''' = *'''Porting guide for Linux based OS/Distribution''' **[[Linux_user_guide|Linux_user_guide]] **[[Debian|Debian]] **[[Yocto|Yocto]] **[[Buildroot|Buildroot]] **[[Districbution|Other districbution]] *'''BSP module user guide''' **[[U-Boot|U-Boot]]&nbsp; **[[Rockchip_Kernel|Rockchip Kernel]] **[[Upstream_Kernel|Upstream Kernel]] **[[Atf|ARM Trusted&nbsp;Firmware]] *'''Graphics and Multimedia&nbsp;user guide''' **[[Graphics|Graphics and display]] **[[Multimedia|Multimedia]] *'''Tool and Firmware Upgrade''' **[[Rockusb|Rockusb]] **[[Rkdevelptool|Rkdevelptool]] '''<span style="font-size:xx-large;">Feedback</span>''' If you have any questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website. Rockchip Hotline:&nbsp;400-7700-590 Abroad, please call:&nbsp;0086-591-83991906&nbsp;Ext:&nbsp;8198 Service mailbox:service@rock-chips.com 79e31de77f0f186d831a9ab23d1fb6fcc5647204 690 688 2017-03-17T02:45:08Z Kever 2 wikitext text/x-wiki = '''Source code''' = Rockchip provide open source software on Github including fully support for Linux Based OS: *Github: [https://github.com/rockchip-linux rockchip-linux] You can also find software for Rockchip SoCs from Upstream: *[https://www.kernel.org/ Linux kernel] *[http://www.denx.de/wiki/U-Boot/WebHome U-Boot] *[https://github.com/ARM-software/arm-trusted-firmware ARM Truseted Firmware] If you are using a Chrombook with Rockchip SoC, you can use: *[https://chromium.googlesource.com/chromiumos/third_party/coreboot Chromium OS&nbsp;Coreboot] *[https://chromium.googlesource.com/chromiumos/third_party/kernel Chromium OS kernel] = '''Hardware Document''' = Here are the documents for SoCs, you can find&nbsp;Hardware device/board information on [[Devices|DEVICE PAGE]]. {| border="1" cellpadding="0" cellspacing="0" |- | style="width:92px;" | <p style="text-align: center;">SoC</p> | style="width:286px;" | <p style="text-align: center;">Description</p> | style="width:189px;" | <p style="text-align: center;">Download</p> |- | style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p> | style="width:286px;" | Quad-core Cortex-A17 CPU, MALI-T764 GPU | style="width:189px;" | TRM, [[Media:Rockchip_RK3288_Datasheet_V2.2-20170301.pdf|Datasheet]],Schematic&Layout Guide |- | style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p> | style="width:286px;" | Quad-core Cortex-A53 CPU,MALI-450MP2 GPU | style="width:189px;" | TRM, [[Media:Rockchip_RK3328_Datasheet_V1.1-20170309.pdf|Datasheet]],[[Media:Rk3328_box_ref_v10_20170224.pdf_‎|Schematic&Layout Guide]] |- | style="width:92px;" | <p style="text-align: center;">[[RK3399|RK3399]]</p> | style="width:286px;" | Dual-core Cortex-A72, Quad-core Cortex-A53 CPU, MALI-T864 GPU | style="width:189px;" | TRM, [[Media:Rockchip_RK3399_Datasheet_V1.6-20170301.pdf|Datasheet]],Schematic&Layout Guide |} = '''Software development&nbsp;''' = *'''Porting guide for Linux based OS/Distribution''' **[[Linux_user_guide|Linux_user_guide]] **[[Debian|Debian]] **[[Yocto|Yocto]] **[[Buildroot|Buildroot]] **[[Districbution|Other districbution]] *'''BSP module user guide''' **[[U-Boot|U-Boot]]&nbsp; **[[Rockchip_Kernel|Rockchip Kernel]] **[[Upstream_Kernel|Upstream Kernel]] **[[Atf|ARM Trusted&nbsp;Firmware]] *'''Graphics and Multimedia&nbsp;user guide''' **[[Graphics|Graphics and display]] **[[Multimedia|Multimedia]] *'''Tool and Firmware Upgrade''' **[[Rockusb|Rockusb]] **[[Rkdevelptool|Rkdevelptool]] '''<span style="font-size:xx-large;">Feedback</span>''' If you have any questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website. Rockchip Hotline:&nbsp;400-7700-590 Abroad, please call:&nbsp;0086-591-83991906&nbsp;Ext:&nbsp;8198 Service mailbox:service@rock-chips.com 749ee32c00cae94c847c28130f25e38ff7b3cdfe 691 690 2017-03-17T02:46:12Z Kever 2 wikitext text/x-wiki = '''Source code''' = Rockchip provide open source software on Github including fully support for Linux Based OS: *Github: [https://github.com/rockchip-linux rockchip-linux] You can also find software for Rockchip SoCs from Upstream: *[https://www.kernel.org/ Linux kernel] *[http://www.denx.de/wiki/U-Boot/WebHome U-Boot] *[https://github.com/ARM-software/arm-trusted-firmware ARM Truseted Firmware] If you are using a Chrombook with Rockchip SoC, you can use: *[https://chromium.googlesource.com/chromiumos/third_party/coreboot Chromium OS&nbsp;Coreboot] *[https://chromium.googlesource.com/chromiumos/third_party/kernel Chromium OS kernel] = '''Hardware Document''' = Here are the documents for SoCs, you can find&nbsp;Hardware device/board information on [[Devices|DEVICE PAGE]]. {| border="1" cellpadding="0" cellspacing="0" |- | style="width:92px;" | <p style="text-align: center;">SoC</p> | style="width:286px;" | <p style="text-align: center;">Description</p> | style="width:189px;" | <p style="text-align: center;">Download</p> |- | style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p> | style="width:286px;" | Quad-core Cortex-A17 CPU, MALI-T764 GPU | style="width:189px;" | TRM, [[Media:Rockchip_RK3288_Datasheet_V2.2-20170301.pdf|Datasheet]],&nbsp;Schematic&Layout Guide |- | style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p> | style="width:286px;" | Quad-core Cortex-A53 CPU,MALI-450MP2 GPU | style="width:189px;" | TRM, [[Media:Rockchip_RK3328_Datasheet_V1.1-20170309.pdf|Datasheet]],&nbsp;[[Media:Rk3328_box_ref_v10_20170224.pdf|Schematic&Layout Guide]] |- | style="width:92px;" | <p style="text-align: center;">[[RK3399|RK3399]]</p> | style="width:286px;" | Dual-core Cortex-A72, Quad-core Cortex-A53 CPU, MALI-T864 GPU | style="width:189px;" | TRM, [[Media:Rockchip_RK3399_Datasheet_V1.6-20170301.pdf|Datasheet]],&nbsp;Schematic&Layout Guide |} = '''Software development&nbsp;''' = *'''Porting guide for Linux based OS/Distribution''' **[[Linux_user_guide|Linux_user_guide]] **[[Debian|Debian]] **[[Yocto|Yocto]] **[[Buildroot|Buildroot]] **[[Districbution|Other districbution]] *'''BSP module user guide''' **[[U-Boot|U-Boot]]&nbsp; **[[Rockchip_Kernel|Rockchip Kernel]] **[[Upstream_Kernel|Upstream Kernel]] **[[Atf|ARM Trusted&nbsp;Firmware]] *'''Graphics and Multimedia&nbsp;user guide''' **[[Graphics|Graphics and display]] **[[Multimedia|Multimedia]] *'''Tool and Firmware Upgrade''' **[[Rockusb|Rockusb]] **[[Rkdevelptool|Rkdevelptool]] '''<span style="font-size:xx-large;">Feedback</span>''' If you have any questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website. Rockchip Hotline:&nbsp;400-7700-590 Abroad, please call:&nbsp;0086-591-83991906&nbsp;Ext:&nbsp;8198 Service mailbox:service@rock-chips.com bcd0aaa142d002c5afa93a03381e72c6e7e3abe3 692 691 2017-03-17T02:46:44Z Kever 2 wikitext text/x-wiki = '''Source code''' = Rockchip provide open source software on Github including fully support for Linux Based OS: *Github: [https://github.com/rockchip-linux rockchip-linux] You can also find software for Rockchip SoCs from Upstream: *[https://www.kernel.org/ Linux kernel] *[http://www.denx.de/wiki/U-Boot/WebHome U-Boot] *[https://github.com/ARM-software/arm-trusted-firmware ARM Truseted Firmware] If you are using a Chrombook with Rockchip SoC, you can use: *[https://chromium.googlesource.com/chromiumos/third_party/coreboot Chromium OS&nbsp;Coreboot] *[https://chromium.googlesource.com/chromiumos/third_party/kernel Chromium OS kernel] = '''Hardware Document''' = Here are the documents for SoCs, you can find&nbsp;Hardware device/board information on [[Devices|DEVICE PAGE]]. {| border="1" cellpadding="0" cellspacing="0" |- | style="width:92px;" | <p style="text-align: center;">SoC</p> | style="width:286px;" | <p style="text-align: center;">Description</p> | style="width:189px;" | <p style="text-align: center;">Download</p> |- | style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p> | style="width:286px;" | Quad-core Cortex-A17 CPU, MALI-T764 GPU | style="width:189px;" | TRM, [[Media:Rockchip_RK3288_Datasheet_V2.2-20170301.pdf|Datasheet]],&nbsp; Schematic&Layout Guide |- | style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p> | style="width:286px;" | Quad-core Cortex-A53 CPU,MALI-450MP2 GPU | style="width:189px;" | TRM, [[Media:Rockchip_RK3328_Datasheet_V1.1-20170309.pdf|Datasheet]],&nbsp; [[Media:Rk3328_box_ref_v10_20170224.pdf|Schematic&Layout Guide]] |- | style="width:92px;" | <p style="text-align: center;">[[RK3399|RK3399]]</p> | style="width:286px;" | Dual-core Cortex-A72, Quad-core Cortex-A53 CPU, MALI-T864 GPU | style="width:189px;" | TRM, [[Media:Rockchip_RK3399_Datasheet_V1.6-20170301.pdf|Datasheet]],&nbsp; Schematic&Layout Guide |} = '''Software development&nbsp;''' = *'''Porting guide for Linux based OS/Distribution''' **[[Linux_user_guide|Linux_user_guide]] **[[Debian|Debian]] **[[Yocto|Yocto]] **[[Buildroot|Buildroot]] **[[Districbution|Other districbution]] *'''BSP module user guide''' **[[U-Boot|U-Boot]]&nbsp; **[[Rockchip_Kernel|Rockchip Kernel]] **[[Upstream_Kernel|Upstream Kernel]] **[[Atf|ARM Trusted&nbsp;Firmware]] *'''Graphics and Multimedia&nbsp;user guide''' **[[Graphics|Graphics and display]] **[[Multimedia|Multimedia]] *'''Tool and Firmware Upgrade''' **[[Rockusb|Rockusb]] **[[Rkdevelptool|Rkdevelptool]] '''<span style="font-size:xx-large;">Feedback</span>''' If you have any questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website. Rockchip Hotline:&nbsp;400-7700-590 Abroad, please call:&nbsp;0086-591-83991906&nbsp;Ext:&nbsp;8198 Service mailbox:service@rock-chips.com 11a230ba9cb2eff54e9e647273259764b3fb430f 710 692 2017-03-17T06:35:38Z Kever 2 wikitext text/x-wiki = '''Source code''' = Rockchip provide open source software on Github including fully support for Linux Based OS: *Github: [https://github.com/rockchip-linux rockchip-linux] You can also find software for Rockchip SoCs from Upstream: *[https://www.kernel.org/ Linux kernel] *[http://www.denx.de/wiki/U-Boot/WebHome U-Boot] *[https://github.com/ARM-software/arm-trusted-firmware ARM Truseted Firmware] If you are using a Chrombook with Rockchip SoC, you can use: *[https://chromium.googlesource.com/chromiumos/third_party/coreboot Chromium OS&nbsp;Coreboot] *[https://chromium.googlesource.com/chromiumos/third_party/kernel Chromium OS kernel] = '''Hardware Document''' = Here are the documents for SoCs, you can find&nbsp;Hardware device/board information on [[Devices|DEVICE PAGE]]. {| border="1" cellpadding="0" cellspacing="0" |- | style="width:92px;" | <p style="text-align: center;">SoC</p> | style="width:286px;" | <p style="text-align: center;">Description</p> | style="width:189px;" | <p style="text-align: center;">Download</p> |- | style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p> | style="width:286px;" | Quad-core Cortex-A17 CPU, MALI-T764 GPU | style="width:189px;" | TRM, [[Media:Rockchip_RK3288_Datasheet_V2.2-20170301.pdf|Datasheet]],&nbsp; Schematic&Layout Guide |- | style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p> | style="width:286px;" | Quad-core Cortex-A53 CPU,MALI-450MP2 GPU | style="width:189px;" | TRM, [[Media:Rockchip_RK3328_Datasheet_V1.1-20170309.pdf|Datasheet]],&nbsp; [[Media:Rk3328_box_ref_v10_20170224.pdf|Schematic&Layout Guide]] |- | style="width:92px;" | <p style="text-align: center;">[[RK3399|RK3399]]</p> | style="width:286px;" | Dual-core Cortex-A72, Quad-core Cortex-A53 CPU, MALI-T864 GPU | style="width:189px;" | TRM, [[Media:Rockchip_RK3399_Datasheet_V1.6-20170301.pdf|Datasheet]],&nbsp; Schematic&Layout Guide |} = '''Software development&nbsp;''' = *'''Porting guide for Linux based OS/Distribution''' **[[Linux_user_guide|Linux_user_guide]] **[[Debian|Debian]] **[[Yocto|Yocto]] **[[Buildroot|Buildroot]] **[[Districbution|Other districbution]] *'''BSP module user guide''' **[[U-Boot|U-Boot]]&nbsp; **[[Rockchip_Kernel|Rockchip Kernel]] **[[Upstream_Kernel|Upstream Kernel]] **[[Atf|ARM Trusted&nbsp;Firmware]] *'''Graphics and Multimedia&nbsp;user guide''' **[[Graphics|Graphics and display]] **[[Multimedia|Multimedia]] *'''Tool and Firmware Upgrade''' **[[Rockusb|Rockusb]] **[[Rkdevelptool|Rkdevelptool]] **[[Boot_option]] '''<span style="font-size:xx-large;">Feedback</span>''' If you have any questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website. Rockchip Hotline:&nbsp;400-7700-590 Abroad, please call:&nbsp;0086-591-83991906&nbsp;Ext:&nbsp;8198 Service mailbox:service@rock-chips.com cf962f0f9c36d5e6c1df207dbb2314d2e0d68963 711 710 2017-03-17T06:36:17Z Kever 2 wikitext text/x-wiki = '''Source code''' = Rockchip provide open source software on Github including fully support for Linux Based OS: *Github: [https://github.com/rockchip-linux rockchip-linux] You can also find software for Rockchip SoCs from Upstream: *[https://www.kernel.org/ Linux kernel] *[http://www.denx.de/wiki/U-Boot/WebHome U-Boot] *[https://github.com/ARM-software/arm-trusted-firmware ARM Truseted Firmware] If you are using a Chrombook with Rockchip SoC, you can use: *[https://chromium.googlesource.com/chromiumos/third_party/coreboot Chromium OS&nbsp;Coreboot] *[https://chromium.googlesource.com/chromiumos/third_party/kernel Chromium OS kernel] &nbsp; &nbsp; = '''Hardware Document''' = Here are the documents for SoCs, you can find&nbsp;Hardware device/board information on [[Devices|DEVICE PAGE]]. {| border="1" cellpadding="0" cellspacing="0" |- | style="width:92px;" | <p style="text-align: center;">SoC</p> | style="width:286px;" | <p style="text-align: center;">Description</p> | style="width:189px;" | <p style="text-align: center;">Download</p> |- | style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p> | style="width:286px;" | Quad-core Cortex-A17 CPU, MALI-T764 GPU | style="width:189px;" | TRM, [[Media:Rockchip_RK3288_Datasheet_V2.2-20170301.pdf|Datasheet]],&nbsp; Schematic&Layout Guide |- | style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p> | style="width:286px;" | Quad-core Cortex-A53 CPU,MALI-450MP2 GPU | style="width:189px;" | TRM, [[Media:Rockchip_RK3328_Datasheet_V1.1-20170309.pdf|Datasheet]],&nbsp; [[Media:Rk3328_box_ref_v10_20170224.pdf|Schematic&Layout Guide]] |- | style="width:92px;" | <p style="text-align: center;">[[RK3399|RK3399]]</p> | style="width:286px;" | Dual-core Cortex-A72, Quad-core Cortex-A53 CPU, MALI-T864 GPU | style="width:189px;" | TRM, [[Media:Rockchip_RK3399_Datasheet_V1.6-20170301.pdf|Datasheet]],&nbsp; Schematic&Layout Guide |} &nbsp; = '''Software development&nbsp;''' = *'''Porting guide for Linux based OS/Distribution''' **[[Linux_user_guide|Linux_user_guide]] **[[Debian|Debian]] **[[Yocto|Yocto]] **[[Buildroot|Buildroot]] **[[Districbution|Other districbution]] *'''BSP module user guide''' **[[U-Boot|U-Boot]]&nbsp; **[[Rockchip_Kernel|Rockchip Kernel]] **[[Upstream_Kernel|Upstream Kernel]] **[[Atf|ARM Trusted&nbsp;Firmware]] *'''Graphics and Multimedia&nbsp;user guide''' **[[Graphics|Graphics and display]] **[[Multimedia|Multimedia]] *'''Tool and Firmware Upgrade''' **[[Rockusb|Rockusb]] **[[Rkdevelptool|Rkdevelptool]] **[[Boot_option|Boot_option]] '''<span style="font-size:xx-large;">Feedback</span>''' If you have any questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website. Rockchip Hotline:&nbsp;400-7700-590 Abroad, please call:&nbsp;0086-591-83991906&nbsp;Ext:&nbsp;8198 Service mailbox:service@rock-chips.com 13242ed33917532095c406235144e7f9331ed6c7 712 711 2017-03-17T06:36:32Z Kever 2 wikitext text/x-wiki = '''Source code''' = Rockchip provide open source software on Github including fully support for Linux Based OS: *Github: [https://github.com/rockchip-linux rockchip-linux] You can also find software for Rockchip SoCs from Upstream: *[https://www.kernel.org/ Linux kernel] *[http://www.denx.de/wiki/U-Boot/WebHome U-Boot] *[https://github.com/ARM-software/arm-trusted-firmware ARM Truseted Firmware] If you are using a Chrombook with Rockchip SoC, you can use: *[https://chromium.googlesource.com/chromiumos/third_party/coreboot Chromium OS&nbsp;Coreboot] *[https://chromium.googlesource.com/chromiumos/third_party/kernel Chromium OS kernel] = '''Hardware Document''' = Here are the documents for SoCs, you can find&nbsp;Hardware device/board information on [[Devices|DEVICE PAGE]]. {| border="1" cellpadding="0" cellspacing="0" |- | style="width:92px;" | <p style="text-align: center;">SoC</p> | style="width:286px;" | <p style="text-align: center;">Description</p> | style="width:189px;" | <p style="text-align: center;">Download</p> |- | style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p> | style="width:286px;" | Quad-core Cortex-A17 CPU, MALI-T764 GPU | style="width:189px;" | TRM, [[Media:Rockchip_RK3288_Datasheet_V2.2-20170301.pdf|Datasheet]],&nbsp; Schematic&Layout Guide |- | style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p> | style="width:286px;" | Quad-core Cortex-A53 CPU,MALI-450MP2 GPU | style="width:189px;" | TRM, [[Media:Rockchip_RK3328_Datasheet_V1.1-20170309.pdf|Datasheet]],&nbsp; [[Media:Rk3328_box_ref_v10_20170224.pdf|Schematic&Layout Guide]] |- | style="width:92px;" | <p style="text-align: center;">[[RK3399|RK3399]]</p> | style="width:286px;" | Dual-core Cortex-A72, Quad-core Cortex-A53 CPU, MALI-T864 GPU | style="width:189px;" | TRM, [[Media:Rockchip_RK3399_Datasheet_V1.6-20170301.pdf|Datasheet]],&nbsp; Schematic&Layout Guide |} &nbsp; = '''Software development&nbsp;''' = *'''Porting guide for Linux based OS/Distribution''' **[[Linux_user_guide|Linux_user_guide]] **[[Debian|Debian]] **[[Yocto|Yocto]] **[[Buildroot|Buildroot]] **[[Districbution|Other districbution]] *'''BSP module user guide''' **[[U-Boot|U-Boot]]&nbsp; **[[Rockchip_Kernel|Rockchip Kernel]] **[[Upstream_Kernel|Upstream Kernel]] **[[Atf|ARM Trusted&nbsp;Firmware]] *'''Graphics and Multimedia&nbsp;user guide''' **[[Graphics|Graphics and display]] **[[Multimedia|Multimedia]] *'''Tool and Firmware Upgrade''' **[[Rockusb|Rockusb]] **[[Rkdevelptool|Rkdevelptool]] **[[Boot_option|Boot_option]] '''<span style="font-size:xx-large;">Feedback</span>''' If you have any questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website. Rockchip Hotline:&nbsp;400-7700-590 Abroad, please call:&nbsp;0086-591-83991906&nbsp;Ext:&nbsp;8198 Service mailbox:service@rock-chips.com f833400dc43a774491938f1721337fc721b8fc12 714 712 2017-03-17T06:39:07Z Kever 2 wikitext text/x-wiki = '''Source code''' = Rockchip provide open source software on Github including fully support for Linux Based OS: *Github: [https://github.com/rockchip-linux rockchip-linux] You can also find software for Rockchip SoCs from Upstream: *[https://www.kernel.org/ Linux kernel] *[http://www.denx.de/wiki/U-Boot/WebHome U-Boot] *[https://github.com/ARM-software/arm-trusted-firmware ARM Truseted Firmware] If you are using a Chrombook with Rockchip SoC, you can use: *[https://chromium.googlesource.com/chromiumos/third_party/coreboot Chromium OS&nbsp;Coreboot] *[https://chromium.googlesource.com/chromiumos/third_party/kernel Chromium OS kernel] = '''Hardware Document''' = Here are the documents for SoCs, you can find&nbsp;Hardware device/board information on [[Devices|DEVICE PAGE]]. {| border="1" cellpadding="0" cellspacing="0" |- | style="width:92px;" | <p style="text-align: center;">SoC</p> | style="width:286px;" | <p style="text-align: center;">Description</p> | style="width:189px;" | <p style="text-align: center;">Download</p> |- | style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p> | style="width:286px;" | Quad-core Cortex-A17 CPU, MALI-T764 GPU | style="width:189px;" | [[Media:Rockchip_RK3288TRM_V1.2_Part1-20170227.pdf|TRM]], [[Media:Rockchip_RK3288_Datasheet_V2.2-20170301.pdf|Datasheet]],&nbsp; Schematic&Layout Guide |- | style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p> | style="width:286px;" | Quad-core Cortex-A53 CPU,MALI-450MP2 GPU | style="width:189px;" | TRM, [[Media:Rockchip_RK3328_Datasheet_V1.1-20170309.pdf|Datasheet]],&nbsp; [[Media:Rk3328_box_ref_v10_20170224.pdf|Schematic&Layout Guide]] |- | style="width:92px;" | <p style="text-align: center;">[[RK3399|RK3399]]</p> | style="width:286px;" | Dual-core Cortex-A72, Quad-core Cortex-A53 CPU, MALI-T864 GPU | style="width:189px;" | TRM, [[Media:Rockchip_RK3399_Datasheet_V1.6-20170301.pdf|Datasheet]],&nbsp; Schematic&Layout Guide |} &nbsp; = '''Software development&nbsp;''' = *'''Porting guide for Linux based OS/Distribution''' **[[Linux_user_guide|Linux_user_guide]] **[[Debian|Debian]] **[[Yocto|Yocto]] **[[Buildroot|Buildroot]] **[[Districbution|Other districbution]] *'''BSP module user guide''' **[[U-Boot|U-Boot]]&nbsp; **[[Rockchip_Kernel|Rockchip Kernel]] **[[Upstream_Kernel|Upstream Kernel]] **[[Atf|ARM Trusted&nbsp;Firmware]] *'''Graphics and Multimedia&nbsp;user guide''' **[[Graphics|Graphics and display]] **[[Multimedia|Multimedia]] *'''Tool and Firmware Upgrade''' **[[Rockusb|Rockusb]] **[[Rkdevelptool|Rkdevelptool]] **[[Boot_option|Boot_option]] '''<span style="font-size:xx-large;">Feedback</span>''' If you have any questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website. Rockchip Hotline:&nbsp;400-7700-590 Abroad, please call:&nbsp;0086-591-83991906&nbsp;Ext:&nbsp;8198 Service mailbox:service@rock-chips.com bde4db5d2982225c307a37156a6e18858c50c217 723 714 2017-03-17T07:37:42Z Kever 2 wikitext text/x-wiki = '''Source code''' = Rockchip provide open source software on Github including fully support for Linux Based OS: *Github: [https://github.com/rockchip-linux rockchip-linux] You can also find software for Rockchip SoCs from Upstream: *[https://www.kernel.org/ Linux kernel] *[http://www.denx.de/wiki/U-Boot/WebHome U-Boot] *[https://github.com/ARM-software/arm-trusted-firmware ARM Truseted Firmware] If you are using a Chrombook with Rockchip SoC, you can use: *[https://chromium.googlesource.com/chromiumos/third_party/coreboot Chromium OS&nbsp;Coreboot] *[https://chromium.googlesource.com/chromiumos/third_party/kernel Chromium OS kernel] = '''Hardware Document''' = Here are the documents for SoCs, you can find&nbsp;Hardware device/board information on [[Devices|DEVICE PAGE]]. {| border="1" cellpadding="0" cellspacing="0" |- | style="width:92px;" | <p style="text-align: center;">SoC</p> | style="width:286px;" | <p style="text-align: center;">Description</p> | style="width:189px;" | <p style="text-align: center;">Download</p> |- | style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p> | style="width:286px;" | Quad-core Cortex-A17 CPU, MALI-T764 GPU | style="width:189px;" | [[Media:Rockchip_RK3288TRM_V1.2_Part1-20170227.pdf|TRM]], [[Media:Rockchip_RK3288_Datasheet_V2.2-20170301.pdf|Datasheet]],&nbsp; Schematic&Layout Guide |- | style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p> | style="width:286px;" | Quad-core Cortex-A53 CPU,MALI-450MP2 GPU | style="width:189px;" | TRM, [[Media:Rockchip_RK3328_Datasheet_V1.1-20170309.pdf|Datasheet]],&nbsp; [[Media:Rk3328_box_ref_v10_20170224.pdf|Schematic&Layout Guide]] |- | style="width:92px;" | <p style="text-align: center;">[[RK3399|RK3399]]</p> | style="width:286px;" | Dual-core Cortex-A72, Quad-core Cortex-A53 CPU, MALI-T864 GPU | style="width:189px;" | TRM, [[Media:Rockchip_RK3399_Datasheet_V1.6-20170301.pdf|Datasheet]],&nbsp; Schematic&Layout Guide |} &nbsp; = '''Software development&nbsp;''' = *'''Porting guide for Linux based OS/Distribution''' **[[Linux_user_guide|Linux_user_guide]] **[[Debian|Debian]] **[[Yocto|Yocto]] **[[Buildroot|Buildroot]] **[[Distribution|Other distribution]] *'''BSP module user guide''' **[[U-Boot|U-Boot]]&nbsp; **[[Rockchip_Kernel|Rockchip Kernel]] **[[Upstream_Kernel|Upstream Kernel]] **[[Atf|ARM Trusted&nbsp;Firmware]] *'''Graphics and Multimedia&nbsp;user guide''' **[[Graphics|Graphics and display]] **[[Multimedia|Multimedia]] *'''Tool and Firmware Upgrade''' **[[Rockusb|Rockusb]] **[[Rkdevelptool|Rkdevelptool]] **[[Boot_option|Boot_option]] '''<span style="font-size:xx-large;">Feedback</span>''' If you have any questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website. Rockchip Hotline:&nbsp;400-7700-590 Abroad, please call:&nbsp;0086-591-83991906&nbsp;Ext:&nbsp;8198 Service mailbox:service@rock-chips.com febf63f985df9853fdd74bfd14888835f06c5375 Fastboot 0 12 665 565 2017-03-16T11:20:40Z Kever 2 wikitext text/x-wiki = Introduction = Fastboot is a protocol that can be used to re-flash partitions on your device (update the flash file system in your devices). It is this small tool that comes with the Android SDK (Software Developer Kit), which is an alternative to the Recovery Mode for doing installations and updates. It first comes with Android. Google have submit the fastboot code to mainline U-boot. So we can use this protocol to flash partition on your device. There are three way to enter fastboot mode &nbsp; &nbsp; &nbsp; &nbsp; = Fastboot command = Rockchip use 0x2207 as its USB vendor ID. This VID is not in Google's original fastboot code. So every fastboot command have to use "-i" parameter to specify vid to fastboot.<br/> To list all the Rockchip devices attached to your USB port in fastboot mode. <pre>$ sudo fastboot -i 0x2207 devices 0123456789AB fastboot </pre> To flash loader <pre>$ sudo fastboot -i 0x2207 flash loader "path to your loader" </pre> To flash android boot image <pre>$ sudo fastboot -i 0x2207 flash boot_a "path to your boot image" 0123456789AB fastboot </pre> To flash android system image <pre>$ sudo fastboot -i 0x2207 flash system_a "path to your system image" 0123456789AB fastboot</pre> To get version: <pre>fastboot getvar version</pre> To get version: <pre>fastboot getvar version-bootloader </pre> To get unlocked: <pre>fastboot getvar unlocked </pre> To get&nbsp;locked: <pre>fastboot getvar secure</pre> To get product information: <pre>fastboot getvar product</pre> To get serialno: <pre>fastboot getvar serialno</pre> To get partition type: <pre>fastboot getvar partition-type:<partition_name> </pre> To get partition size: <pre>fastboot getvar partition-size:<partition_name> </pre> To get partition offset: <pre>fastboot getvar partition-offset:<partition_name> </pre> &nbsp; == Download the Image == To flash&nbsp;image: <pre>fastboot flash <partition_name> <filename> </pre> &nbsp;(For example:fastboot flash system system.img) When download the parameter or loader,you need assign the partition name as "<var>parameter</var>" or "<var>loader</var>" To update firmware: <pre>fastboot update <filename> </pre> (The firmware package was generated from &nbsp;android source code <var>make updatepackage</var>) &nbsp; == Reboot == &nbsp;To recovery: <pre>fastboot oem recovery </pre> &nbsp;To recovery and restore: <pre>fastboot oem recovery:wipe_data</pre> To Reboot: <pre>fastboot reboot</pre> To reboot and enter into rockusb loader mode <pre>fastboot reboot-bootloader</pre> To continue: <pre>fastboot continue </pre> &nbsp; === Lock and Unlock the Device === To unlock: <pre>fastboot oem unlock</pre> To &nbsp;confirm unlock(input &nbsp;it in 5 minutes after typing <var>fastboot oem unlock command</var>): <pre>fastboot oem unlock_accep</pre> To lock the device: <pre>fastboot oem lock </pre> &nbsp; === Special Command === To boot from specifc firmware templately: <pre>fastboot boot <kernel> [ <ramdisk> ]</pre> (Kernel supports Image/zImage,and you should&nbsp;keep <var>dtb</var> in the last part of kernel,or <var>resource partition</var>) To generate a&nbsp;log file: <pre>fastboot oem log </pre> To execute u-Boot command: <pre>fastboot oem ucmd <UBOOT cmds></pre> &nbsp; &nbsp; &nbsp; &nbsp; == Unlock your Device via Fastboot == Initially,it is not allow you perform flash or&nbsp;oem command with locked fastboot. '''To relock''': 1、Executing <var>fastboot oem unlock</var> 2、Then executing&nbsp;<var>fastboot oem unlock_accept in 5 seconds,</var> 3、You device will reboot and recovery 4、Now push&nbsp;your device into fastboot mode again and <var>fastboot getvar unlocked will return to&nbsp;</var>"yes" (Congraduations you have unlock your device finished!) What if the device have entered into fastboot mode with indicates that <var>NOT found your device</var>, you need put '''<var>-i&nbsp;</var>'''into your command in order to assign device ID. For example:fastboot -i 0x2207 getvar unlocked &nbsp; e6b7a4aa71cdadcf1536a65dc6f0b425ec877621 Distribution 0 105 667 654 2017-03-16T13:07:42Z Kever 2 wikitext text/x-wiki The release rootfs image is based on linaro-alip-jessie.If you want to use other distributions, you need to compile and install components we provide.Do not install the deb under rk-rootfs-build directly. We currently provide several components, the guide below only help you make xserver work.<br/> For more details Please refer to each package's wiki. There are also many other districbutions support by community or developers. = ARCH Linux = Here is the guide from Arch Linux [https://archlinuxarm.org/platforms/armv7/rockchip https://archlinuxarm.org/platforms/armv7/rockchip] [https://archlinuxarm.org/platforms/armv8/rockchip/ https://archlinuxarm.org/platforms/armv8/rockchip/] and source code here: [https://www.google.com/url?q=https://github.com/archlinuxarm/PKGBUILDs/tree/master/core/linux-gru&sa=D&sntz=1&usg=AFQjCNE-M4mxRkDn10G8xLOVN02TsJJKag https://github.com/archlinuxarm/PKGBUILDs/tree/master/core/linux-gru] &nbsp; = Ubuntu 16.04 = download and extract ubuntu-xenial <pre><code>wget [http://cdimage.ubuntu.com/ubuntu-base/releases/16.04/release/ubuntu-base-16.04-core-armhf.tar.gz http://cdimage.ubuntu.com/ubuntu-base/releases/16.04/release/ubuntu-base-16.04-core-armhf.tar.gz] sudo tar -xpf ubuntu-base-16.04-core-armhf.tar.gz</code> </pre> copy qemu <pre><code>sudo apt-get install qemu-user-static sudo cp /usr/bin/qemu-arm-static usr/bin/</code> </pre> copy host's dns to rootfs <pre><code>sudo cp -b /etc/resolv.conf etc/resolv.conf</code> </pre> add the following repository to etc/apt/source.list(for compiling xserver) <pre><code>deb [http://ports.ubuntu.com/ubuntu-ports/ http://ports.ubuntu.com/ubuntu-ports/] xenial main universe deb-src [http://ports.ubuntu.com/ubuntu-ports/ http://ports.ubuntu.com/ubuntu-ports/] xenial main universe</code> </pre> chroot to target rootfs<br/> [https://github.com/wzyy2/Scripts/blob/master/ch-mount.sh ch-mount.sh] <pre><code>ch-mount.sh -m ubuntu/</code> </pre> install desktop <pre><code>apt-get install lightdm vim git apt-get build-dep xserver-xorg-core</code> </pre> extract libmali-rk-dev_1.4-4_armhf.deb and libmali-rk-midgard0_1.4-4_armhf.deb(only debian/ubutnu, link by yourself if you are using other distributions) and copy them to target system.<br/> delete origin egl,gles library(For insurance) <pre><code>rm -rf /usr/lib/arm-linux-gnueabihf/mesa-egl</code> </pre> download xserver <pre><code>git clone [https://github.com/rockchip-linux/xserver.git https://github.com/rockchip-linux/xserver.git]</code> </pre> delete those in configure.ac <pre><code>AC_CHECK_DECL(GBM_BO_USE_LINEAR, [AC_DEFINE(GLAMOR_HAS_GBM_LINEAR, 1, [Have GBM_BO_USE_LINEAR])], []</code> </pre> build xserver<br/> (You can also use 'make install DESTDIR=/opt/x-build' to get files and copy them to a clean system)<br/> (This method is easy but slow, it'better to cross compile xserver under the ubuntu/debian multiarch environment) <pre><code>./autogen.sh --prefix=/usr --enable-aiglx --enable-composite --enable-record --enable-xv --enable-xvmc --enable-dga --enable-screensaver --enable-xdmcp --enable-xdm-auth-1 --enable-glx --enable-dri --enable-dri2 --enable-glamor --enable-dri3 --enable-libdrm --enable-present --enable-xinerama --enable-xf86vidmode --enable-xace --enable-xselinux --enable-xfree86-utils --enable-xwayland --enable-systemd-logind --with-systemd-daemon --enable-suid-wrapper --enable-dmx --enable-xvfb --enable-xnest --enable-kdrive --enable-xephyr --enable-xmir --with-sha1=libgcrypt --enable-xcsecurity --with-log-dir=/var/log make make install</code> </pre> set password <pre><code>useradd -s '/bin/bash' -m -G adm,sudo rk echo "Set password for rk:" passwd rk echo "Set password for root:" passwd root</code> </pre> exit chroot <pre><code>exit ch-mount.sh -u ubuntu/</code> </pre> <br/> copy ttyS2.conf and udev directory to target rootfs from&nbsp;[https://github.com/rockchip-linux/rk-rootfs-build/tree/master/overlay rk-rootfs.build] make image <pre><code>dd if=/dev/zero of=ubuntu.img bs=1M count=3000 sudo mkfs.ext4 ubuntu.img mkdir ubuntu-mount sudo mount ubuntu.img ubuntu-mount sudo cp -rfp ubuntu ubuntu-mount sudo umount ubuntu-mount e2fsck -p -f ubuntu.img resize2fs -M ubuntu.img</code> </pre> ==== update ==== There is a ubuntu build script in our&nbsp;[https://github.com/rockchip-linux/rk-rootfs-build rootfs-build]&nbsp;repo. It's different from the above example, it unpack the debian packages rather than compile from source.<br/> Please refer to the readme. a16373ff0c94768e706156ecadabde8fc701f0f0 668 667 2017-03-16T13:10:45Z Kever 2 wikitext text/x-wiki The release rootfs image is based on linaro-alip-jessie.If you want to use other distributions, you need to compile and install components we provide.Do not install the deb under rk-rootfs-build directly. We currently provide several components, the guide below only help you make xserver work.<br/> For more details Please refer to each package's wiki. There are also many other districbutions support by community or developers. = ARCH Linux = Here is the guide from Arch Linux [https://archlinuxarm.org/platforms/armv7/rockchip https://archlinuxarm.org/platforms/armv7/rockchip] [https://archlinuxarm.org/platforms/armv8/rockchip/ https://archlinuxarm.org/platforms/armv8/rockchip/] and source code here: [https://www.google.com/url?q=https://github.com/archlinuxarm/PKGBUILDs/tree/master/core/linux-gru&sa=D&sntz=1&usg=AFQjCNE-M4mxRkDn10G8xLOVN02TsJJKag https://github.com/archlinuxarm/PKGBUILDs/tree/master/core/linux-gru] &nbsp; = Ubuntu 16.04 = download and extract ubuntu-xenial <pre>wget [http://cdimage.ubuntu.com/ubuntu-base/releases/16.04/release/ubuntu-base-16.04-core-armhf.tar.gz http://cdimage.ubuntu.com/ubuntu-base/releases/16.04/release/ubuntu-base-16.04-core-armhf.tar.gz] sudo tar -xpf ubuntu-base-16.04-core-armhf.tar.gz </pre> copy qemu <pre>sudo apt-get install qemu-user-static sudo cp /usr/bin/qemu-arm-static usr/bin/ </pre> copy host's dns to rootfs <pre>sudo cp -b /etc/resolv.conf etc/resolv.conf </pre> add the following repository to etc/apt/source.list(for compiling xserver) <pre>deb [http://ports.ubuntu.com/ubuntu-ports/ http://ports.ubuntu.com/ubuntu-ports/] xenial main universe deb-src [http://ports.ubuntu.com/ubuntu-ports/ http://ports.ubuntu.com/ubuntu-ports/] xenial main universe </pre> chroot to target rootfs<br/> [https://github.com/wzyy2/Scripts/blob/master/ch-mount.sh ch-mount.sh] <pre>ch-mount.sh -m ubuntu/ </pre> install desktop <pre>apt-get install lightdm vim git apt-get build-dep xserver-xorg-core </pre> extract libmali-rk-dev_1.4-4_armhf.deb and libmali-rk-midgard0_1.4-4_armhf.deb(only debian/ubutnu, link by yourself if you are using other distributions) and copy them to target system.<br/> delete origin egl,gles library(For insurance) <pre>rm -rf /usr/lib/arm-linux-gnueabihf/mesa-egl </pre> download xserver <pre>git clone [https://github.com/rockchip-linux/xserver.git https://github.com/rockchip-linux/xserver.git] </pre> delete those in configure.ac <pre>AC_CHECK_DECL(GBM_BO_USE_LINEAR, [AC_DEFINE(GLAMOR_HAS_GBM_LINEAR, 1, [Have GBM_BO_USE_LINEAR])], [] </pre> build xserver<br/> (You can also use 'make install DESTDIR=/opt/x-build' to get files and copy them to a clean system)<br/> (This method is easy but slow, it'better to cross compile xserver under the ubuntu/debian multiarch environment) <pre>./autogen.sh --prefix=/usr --enable-aiglx --enable-composite --enable-record --enable-xv --enable-xvmc --enable-dga --enable-screensaver --enable-xdmcp --enable-xdm-auth-1 --enable-glx --enable-dri --enable-dri2 --enable-glamor --enable-dri3 --enable-libdrm --enable-present --enable-xinerama --enable-xf86vidmode --enable-xace --enable-xselinux --enable-xfree86-utils --enable-xwayland --enable-systemd-logind --with-systemd-daemon --enable-suid-wrapper --enable-dmx --enable-xvfb --enable-xnest --enable-kdrive --enable-xephyr --enable-xmir --with-sha1=libgcrypt --enable-xcsecurity --with-log-dir=/var/log make make install </pre> set password <pre>useradd -s '/bin/bash' -m -G adm,sudo rk echo "Set password for rk:" passwd rk echo "Set password for root:" passwd root </pre> exit chroot <pre>exit ch-mount.sh -u ubuntu/ </pre> <br/> copy ttyS2.conf and udev directory to target rootfs from&nbsp;[https://github.com/rockchip-linux/rk-rootfs-build/tree/master/overlay rk-rootfs.build] make image <pre>dd if=/dev/zero of=ubuntu.img bs=1M count=3000 sudo mkfs.ext4 ubuntu.img mkdir ubuntu-mount sudo mount ubuntu.img ubuntu-mount sudo cp -rfp ubuntu ubuntu-mount sudo umount ubuntu-mount e2fsck -p -f ubuntu.img resize2fs -M ubuntu.img </pre> ==== update ==== There is a ubuntu build script in our&nbsp;[https://github.com/rockchip-linux/rk-rootfs-build rootfs-build]&nbsp;repo. It's different from the above example, it unpack the debian packages rather than compile from source.<br/> Please refer to the readme. 3938b8b652618303aca9df09530100c8a7c03590 669 668 2017-03-16T13:24:49Z Kever 2 wikitext text/x-wiki The release rootfs image is based on linaro-alip-jessie.If you want to use other distributions, you need to compile and install components we provide.Do not install the deb under rk-rootfs-build directly. We currently provide several components, the guide below only help you make xserver work.<br/> For more details Please refer to each package's wiki. There are also many other districbutions support by community or developers. = Debian = Here is the guide from Debian to support RK3288&nbsp;based Chromebook: <span style="line-height: 1.6;">https://wiki.debian.org/InstallingDebianOn/Asus/C201</span> = ARCH Linux = Here is the guide from Arch Linux to support RK3288 and RK3399 based Chromebook: [https://archlinuxarm.org/platforms/armv7/rockchip https://archlinuxarm.org/platforms/armv7/rockchip] [https://archlinuxarm.org/platforms/armv8/rockchip/ https://archlinuxarm.org/platforms/armv8/rockchip/] and source code here: [https://www.google.com/url?q=https://github.com/archlinuxarm/PKGBUILDs/tree/master/core/linux-gru&sa=D&sntz=1&usg=AFQjCNE-M4mxRkDn10G8xLOVN02TsJJKag https://github.com/archlinuxarm/PKGBUILDs/tree/master/core/linux-gru] &nbsp; = Fedora = Here is the guide from Fedora to support RK3288 chromebook: https://fedoraproject.org/wiki/Architectures/ARM/Chromebook &nbsp; = Ubuntu 16.04 = download and extract ubuntu-xenial <pre>wget [http://cdimage.ubuntu.com/ubuntu-base/releases/16.04/release/ubuntu-base-16.04-core-armhf.tar.gz http://cdimage.ubuntu.com/ubuntu-base/releases/16.04/release/ubuntu-base-16.04-core-armhf.tar.gz] sudo tar -xpf ubuntu-base-16.04-core-armhf.tar.gz </pre> copy qemu <pre>sudo apt-get install qemu-user-static sudo cp /usr/bin/qemu-arm-static usr/bin/ </pre> copy host's dns to rootfs <pre>sudo cp -b /etc/resolv.conf etc/resolv.conf </pre> add the following repository to etc/apt/source.list(for compiling xserver) <pre>deb [http://ports.ubuntu.com/ubuntu-ports/ http://ports.ubuntu.com/ubuntu-ports/] xenial main universe deb-src [http://ports.ubuntu.com/ubuntu-ports/ http://ports.ubuntu.com/ubuntu-ports/] xenial main universe </pre> chroot to target rootfs<br/> [https://github.com/wzyy2/Scripts/blob/master/ch-mount.sh ch-mount.sh] <pre>ch-mount.sh -m ubuntu/ </pre> install desktop <pre>apt-get install lightdm vim git apt-get build-dep xserver-xorg-core </pre> extract libmali-rk-dev_1.4-4_armhf.deb and libmali-rk-midgard0_1.4-4_armhf.deb(only debian/ubutnu, link by yourself if you are using other distributions) and copy them to target system.<br/> delete origin egl,gles library(For insurance) <pre>rm -rf /usr/lib/arm-linux-gnueabihf/mesa-egl </pre> download xserver <pre>git clone [https://github.com/rockchip-linux/xserver.git https://github.com/rockchip-linux/xserver.git] </pre> delete those in configure.ac <pre>AC_CHECK_DECL(GBM_BO_USE_LINEAR, [AC_DEFINE(GLAMOR_HAS_GBM_LINEAR, 1, [Have GBM_BO_USE_LINEAR])], [] </pre> build xserver<br/> (You can also use 'make install DESTDIR=/opt/x-build' to get files and copy them to a clean system)<br/> (This method is easy but slow, it'better to cross compile xserver under the ubuntu/debian multiarch environment) <pre>./autogen.sh --prefix=/usr --enable-aiglx --enable-composite --enable-record --enable-xv --enable-xvmc --enable-dga --enable-screensaver --enable-xdmcp --enable-xdm-auth-1 --enable-glx --enable-dri --enable-dri2 --enable-glamor --enable-dri3 --enable-libdrm --enable-present --enable-xinerama --enable-xf86vidmode --enable-xace --enable-xselinux --enable-xfree86-utils --enable-xwayland --enable-systemd-logind --with-systemd-daemon --enable-suid-wrapper --enable-dmx --enable-xvfb --enable-xnest --enable-kdrive --enable-xephyr --enable-xmir --with-sha1=libgcrypt --enable-xcsecurity --with-log-dir=/var/log make make install </pre> set password <pre>useradd -s '/bin/bash' -m -G adm,sudo rk echo "Set password for rk:" passwd rk echo "Set password for root:" passwd root </pre> exit chroot <pre>exit ch-mount.sh -u ubuntu/ </pre> <br/> copy ttyS2.conf and udev directory to target rootfs from&nbsp;[https://github.com/rockchip-linux/rk-rootfs-build/tree/master/overlay rk-rootfs.build] make image <pre>dd if=/dev/zero of=ubuntu.img bs=1M count=3000 sudo mkfs.ext4 ubuntu.img mkdir ubuntu-mount sudo mount ubuntu.img ubuntu-mount sudo cp -rfp ubuntu ubuntu-mount sudo umount ubuntu-mount e2fsck -p -f ubuntu.img resize2fs -M ubuntu.img </pre> ==== update ==== There is a ubuntu build script in our&nbsp;[https://github.com/rockchip-linux/rk-rootfs-build rootfs-build]&nbsp;repo. It's different from the above example, it unpack the debian packages rather than compile from source.<br/> Please refer to the readme. 5f0aac1d6a5b02015f372a521b630a5d13616a79 670 669 2017-03-16T13:25:53Z Kever 2 wikitext text/x-wiki The release rootfs image is based on linaro-alip-jessie.If you want to use other distributions, you need to compile and install components we provide.Do not install the deb under rk-rootfs-build directly. We currently provide several components, the guide below only help you make xserver work.<br/> For more details Please refer to each package's wiki. There are also many other districbutions support by community or developers. = ARCH Linux = Here is the guide from Arch Linux to support RK3288 and RK3399 based Chromebook: [https://archlinuxarm.org/platforms/armv7/rockchip https://archlinuxarm.org/platforms/armv7/rockchip] [https://archlinuxarm.org/platforms/armv8/rockchip/ https://archlinuxarm.org/platforms/armv8/rockchip/] and source code here: [https://www.google.com/url?q=https://github.com/archlinuxarm/PKGBUILDs/tree/master/core/linux-gru&sa=D&sntz=1&usg=AFQjCNE-M4mxRkDn10G8xLOVN02TsJJKag https://github.com/archlinuxarm/PKGBUILDs/tree/master/core/linux-gru] &nbsp; = Fedora = Here is the guide from Fedora to support RK3288 chromebook: [https://fedoraproject.org/wiki/Architectures/ARM/Chromebook https://fedoraproject.org/wiki/Architectures/ARM/Chromebook] &nbsp; = Ubuntu 16.04 = download and extract ubuntu-xenial <pre>wget [http://cdimage.ubuntu.com/ubuntu-base/releases/16.04/release/ubuntu-base-16.04-core-armhf.tar.gz http://cdimage.ubuntu.com/ubuntu-base/releases/16.04/release/ubuntu-base-16.04-core-armhf.tar.gz] sudo tar -xpf ubuntu-base-16.04-core-armhf.tar.gz </pre> copy qemu <pre>sudo apt-get install qemu-user-static sudo cp /usr/bin/qemu-arm-static usr/bin/ </pre> copy host's dns to rootfs <pre>sudo cp -b /etc/resolv.conf etc/resolv.conf </pre> add the following repository to etc/apt/source.list(for compiling xserver) <pre>deb [http://ports.ubuntu.com/ubuntu-ports/ http://ports.ubuntu.com/ubuntu-ports/] xenial main universe deb-src [http://ports.ubuntu.com/ubuntu-ports/ http://ports.ubuntu.com/ubuntu-ports/] xenial main universe </pre> chroot to target rootfs<br/> [https://github.com/wzyy2/Scripts/blob/master/ch-mount.sh ch-mount.sh] <pre>ch-mount.sh -m ubuntu/ </pre> install desktop <pre>apt-get install lightdm vim git apt-get build-dep xserver-xorg-core </pre> extract libmali-rk-dev_1.4-4_armhf.deb and libmali-rk-midgard0_1.4-4_armhf.deb(only debian/ubutnu, link by yourself if you are using other distributions) and copy them to target system.<br/> delete origin egl,gles library(For insurance) <pre>rm -rf /usr/lib/arm-linux-gnueabihf/mesa-egl </pre> download xserver <pre>git clone [https://github.com/rockchip-linux/xserver.git https://github.com/rockchip-linux/xserver.git] </pre> delete those in configure.ac <pre>AC_CHECK_DECL(GBM_BO_USE_LINEAR, [AC_DEFINE(GLAMOR_HAS_GBM_LINEAR, 1, [Have GBM_BO_USE_LINEAR])], [] </pre> build xserver<br/> (You can also use 'make install DESTDIR=/opt/x-build' to get files and copy them to a clean system)<br/> (This method is easy but slow, it'better to cross compile xserver under the ubuntu/debian multiarch environment) <pre>./autogen.sh --prefix=/usr --enable-aiglx --enable-composite --enable-record --enable-xv --enable-xvmc --enable-dga --enable-screensaver --enable-xdmcp --enable-xdm-auth-1 --enable-glx --enable-dri --enable-dri2 --enable-glamor --enable-dri3 --enable-libdrm --enable-present --enable-xinerama --enable-xf86vidmode --enable-xace --enable-xselinux --enable-xfree86-utils --enable-xwayland --enable-systemd-logind --with-systemd-daemon --enable-suid-wrapper --enable-dmx --enable-xvfb --enable-xnest --enable-kdrive --enable-xephyr --enable-xmir --with-sha1=libgcrypt --enable-xcsecurity --with-log-dir=/var/log make make install </pre> set password <pre>useradd -s '/bin/bash' -m -G adm,sudo rk echo "Set password for rk:" passwd rk echo "Set password for root:" passwd root </pre> exit chroot <pre>exit ch-mount.sh -u ubuntu/ </pre> <br/> copy ttyS2.conf and udev directory to target rootfs from&nbsp;[https://github.com/rockchip-linux/rk-rootfs-build/tree/master/overlay rk-rootfs.build] make image <pre>dd if=/dev/zero of=ubuntu.img bs=1M count=3000 sudo mkfs.ext4 ubuntu.img mkdir ubuntu-mount sudo mount ubuntu.img ubuntu-mount sudo cp -rfp ubuntu ubuntu-mount sudo umount ubuntu-mount e2fsck -p -f ubuntu.img resize2fs -M ubuntu.img </pre> ==== update ==== There is a ubuntu build script in our&nbsp;[https://github.com/rockchip-linux/rk-rootfs-build rootfs-build]&nbsp;repo. It's different from the above example, it unpack the debian packages rather than compile from source.<br/> Please refer to the readme. c02591e899fa4f25fc3d435803bed67ef6758605 724 670 2017-03-17T07:38:30Z Kever 2 Kever moved page [[Districbution]] to [[Distribution]] wikitext text/x-wiki The release rootfs image is based on linaro-alip-jessie.If you want to use other distributions, you need to compile and install components we provide.Do not install the deb under rk-rootfs-build directly. We currently provide several components, the guide below only help you make xserver work.<br/> For more details Please refer to each package's wiki. There are also many other districbutions support by community or developers. = ARCH Linux = Here is the guide from Arch Linux to support RK3288 and RK3399 based Chromebook: [https://archlinuxarm.org/platforms/armv7/rockchip https://archlinuxarm.org/platforms/armv7/rockchip] [https://archlinuxarm.org/platforms/armv8/rockchip/ https://archlinuxarm.org/platforms/armv8/rockchip/] and source code here: [https://www.google.com/url?q=https://github.com/archlinuxarm/PKGBUILDs/tree/master/core/linux-gru&sa=D&sntz=1&usg=AFQjCNE-M4mxRkDn10G8xLOVN02TsJJKag https://github.com/archlinuxarm/PKGBUILDs/tree/master/core/linux-gru] &nbsp; = Fedora = Here is the guide from Fedora to support RK3288 chromebook: [https://fedoraproject.org/wiki/Architectures/ARM/Chromebook https://fedoraproject.org/wiki/Architectures/ARM/Chromebook] &nbsp; = Ubuntu 16.04 = download and extract ubuntu-xenial <pre>wget [http://cdimage.ubuntu.com/ubuntu-base/releases/16.04/release/ubuntu-base-16.04-core-armhf.tar.gz http://cdimage.ubuntu.com/ubuntu-base/releases/16.04/release/ubuntu-base-16.04-core-armhf.tar.gz] sudo tar -xpf ubuntu-base-16.04-core-armhf.tar.gz </pre> copy qemu <pre>sudo apt-get install qemu-user-static sudo cp /usr/bin/qemu-arm-static usr/bin/ </pre> copy host's dns to rootfs <pre>sudo cp -b /etc/resolv.conf etc/resolv.conf </pre> add the following repository to etc/apt/source.list(for compiling xserver) <pre>deb [http://ports.ubuntu.com/ubuntu-ports/ http://ports.ubuntu.com/ubuntu-ports/] xenial main universe deb-src [http://ports.ubuntu.com/ubuntu-ports/ http://ports.ubuntu.com/ubuntu-ports/] xenial main universe </pre> chroot to target rootfs<br/> [https://github.com/wzyy2/Scripts/blob/master/ch-mount.sh ch-mount.sh] <pre>ch-mount.sh -m ubuntu/ </pre> install desktop <pre>apt-get install lightdm vim git apt-get build-dep xserver-xorg-core </pre> extract libmali-rk-dev_1.4-4_armhf.deb and libmali-rk-midgard0_1.4-4_armhf.deb(only debian/ubutnu, link by yourself if you are using other distributions) and copy them to target system.<br/> delete origin egl,gles library(For insurance) <pre>rm -rf /usr/lib/arm-linux-gnueabihf/mesa-egl </pre> download xserver <pre>git clone [https://github.com/rockchip-linux/xserver.git https://github.com/rockchip-linux/xserver.git] </pre> delete those in configure.ac <pre>AC_CHECK_DECL(GBM_BO_USE_LINEAR, [AC_DEFINE(GLAMOR_HAS_GBM_LINEAR, 1, [Have GBM_BO_USE_LINEAR])], [] </pre> build xserver<br/> (You can also use 'make install DESTDIR=/opt/x-build' to get files and copy them to a clean system)<br/> (This method is easy but slow, it'better to cross compile xserver under the ubuntu/debian multiarch environment) <pre>./autogen.sh --prefix=/usr --enable-aiglx --enable-composite --enable-record --enable-xv --enable-xvmc --enable-dga --enable-screensaver --enable-xdmcp --enable-xdm-auth-1 --enable-glx --enable-dri --enable-dri2 --enable-glamor --enable-dri3 --enable-libdrm --enable-present --enable-xinerama --enable-xf86vidmode --enable-xace --enable-xselinux --enable-xfree86-utils --enable-xwayland --enable-systemd-logind --with-systemd-daemon --enable-suid-wrapper --enable-dmx --enable-xvfb --enable-xnest --enable-kdrive --enable-xephyr --enable-xmir --with-sha1=libgcrypt --enable-xcsecurity --with-log-dir=/var/log make make install </pre> set password <pre>useradd -s '/bin/bash' -m -G adm,sudo rk echo "Set password for rk:" passwd rk echo "Set password for root:" passwd root </pre> exit chroot <pre>exit ch-mount.sh -u ubuntu/ </pre> <br/> copy ttyS2.conf and udev directory to target rootfs from&nbsp;[https://github.com/rockchip-linux/rk-rootfs-build/tree/master/overlay rk-rootfs.build] make image <pre>dd if=/dev/zero of=ubuntu.img bs=1M count=3000 sudo mkfs.ext4 ubuntu.img mkdir ubuntu-mount sudo mount ubuntu.img ubuntu-mount sudo cp -rfp ubuntu ubuntu-mount sudo umount ubuntu-mount e2fsck -p -f ubuntu.img resize2fs -M ubuntu.img </pre> ==== update ==== There is a ubuntu build script in our&nbsp;[https://github.com/rockchip-linux/rk-rootfs-build rootfs-build]&nbsp;repo. It's different from the above example, it unpack the debian packages rather than compile from source.<br/> Please refer to the readme. c02591e899fa4f25fc3d435803bed67ef6758605 Graphics 0 108 676 2017-03-16T13:38:06Z Kever 2 Created page with " This article will give a overview of how graphics are generated on a rockchip platform. === Graphics Hardware === ==== [http://rockchip.wikidot.com/vop VOP] ==== ==== [htt..." wikitext text/x-wiki This article will give a overview of how graphics are generated on a rockchip platform. === Graphics Hardware === ==== [http://rockchip.wikidot.com/vop VOP] ==== ==== [http://rockchip.wikidot.com/gpu GPU] ==== ==== [http://rockchip.wikidot.com/rga RGA] ==== === Graphics Software === If you are using Debian form rockchip, the default display system will be X11. Other display systems are available in&nbsp;[http://rockchip.wikidot.com/yocto-user-guide yocto sdk]. ==== Graphics with X11 ==== Xserver is the display system used on regular desktop Linux platforms. Rockchip have a custom&nbsp;[http://rockchip.wikidot.com/xserver Xserver]&nbsp;which have enable&nbsp;[https://www.freedesktop.org/wiki/Software/Glamor/ glamor 2D acceleration]. Xserver usually have a good compatibility, but the performance may be little less and its size is more large than other display system. Gstreamer X11 sink have DRM 4k-Video render support(though hacky). ==== Graphics with Wayland ==== Weston is the reference implementation of a Wayland compositor, and a<br/> useful compositor in its own right. Rockchip don't do much develop in wayland at current, but wetson are tested that can run in rk3288 and rk3399. ==== Graphics with None ==== If you don't want to use X11 or wayland, there are some chooses for you. Interface:<br/> Libdrm and libmali-gbm can be used to draw UI without display systems. Framework:<br/> [http://rockchip.wikidot.com/yocto-user-guide-qt QT]&nbsp;can work without x11 or wayland, it run Qt5 applications on top of EGL(libmali-gbm).<br/> WIth qt eglfs, video player can reach 1080-60fps. = GPU Performance = Test platform: rk3288 {| |- ! backend ! off-screen ! on-screen ! DMA-Buf |- | X11 | &nbsp; | &nbsp; | support |- | Wayland | &nbsp; | &nbsp; | support |- | gbm | &nbsp; | &nbsp; | support |- | fbdev | untested | untested | unsupport |} = Others = For details of the full Linux graphics stack, please refer to online documents in&nbsp;[https://www.freedesktop.org/wiki/ Freedesktop],&nbsp;[http://www.arm.com/products/graphics-and-multimedia/mali-gpu ARM],&nbsp;[https://wiki.archlinux.org/index.php/xorg Arch wiki]….. *[http://moi.vonos.net/linux/graphics-stack/ http://moi.vonos.net/linux/graphics-stack/] *[https://en.wikipedia.org/wiki/Wayland_(display_server_protocol https://en.wikipedia.org/wiki/Wayland_(display_server_protocol]) *[https://blogs.igalia.com/itoral/2014/07/29/a-brief-introduction-to-the-linux-graphics-stack/ https://blogs.igalia.com/itoral/2014/07/29/a-brief-introduction-to-the-linux-graphics-stack/] bf05062307ecdbf0d6d5e1e1b85ad53db956548f 694 676 2017-03-17T03:28:41Z Kever 2 wikitext text/x-wiki = Graphics Overview = This article will give an overview of how graphics are generated on a rockchip platform. == Graphics with X11 == === Structure === &nbsp; Xserver is the display system used on regular desktop Linux platforms. Rockchip have a custom&nbsp;[http://rockchip.wikidot.com/xserver Xserver]&nbsp;which have enable&nbsp;[https://www.freedesktop.org/wiki/Software/Glamor/ glamor 2D acceleration]. Xserver usually have a good compatibility, but the performance may be little less and its size is more large than other display system. Gstreamer X11 sink have DRM 4k-Video render support(though hacky). ==== Graphics with Wayland ==== Weston is the reference implementation of a Wayland compositor, and a<br/> useful compositor in its own right. Rockchip don't do much develop in wayland at current, but wetson are tested that can run in rk3288 and rk3399. ==== Graphics with None ==== If you don't want to use X11 or wayland, there are some chooses for you. Interface:<br/> Libdrm and libmali-gbm can be used to draw UI without display systems. Framework:<br/> [http://rockchip.wikidot.com/yocto-user-guide-qt QT]&nbsp;can work without x11 or wayland, it run Qt5 applications on top of EGL(libmali-gbm).<br/> WIth qt eglfs, video player can reach 1080-60fps. = GPU Performance = Test platform: rk3288 {| |- ! backend ! off-screen ! on-screen ! DMA-Buf |- | X11 | &nbsp; | &nbsp; | support |- | Wayland | &nbsp; | &nbsp; | support |- | gbm | &nbsp; | &nbsp; | support |- | fbdev | untested | untested | unsupport |} = Others = For details of the full Linux graphics stack, please refer to online documents in&nbsp;[https://www.freedesktop.org/wiki/ Freedesktop],&nbsp;[http://www.arm.com/products/graphics-and-multimedia/mali-gpu ARM],&nbsp;[https://wiki.archlinux.org/index.php/xorg Arch wiki]….. *[http://moi.vonos.net/linux/graphics-stack/ http://moi.vonos.net/linux/graphics-stack/] *[https://en.wikipedia.org/wiki/Wayland_(display_server_protocol https://en.wikipedia.org/wiki/Wayland_(display_server_protocol]) *[https://blogs.igalia.com/itoral/2014/07/29/a-brief-introduction-to-the-linux-graphics-stack/ https://blogs.igalia.com/itoral/2014/07/29/a-brief-introduction-to-the-linux-graphics-stack/] 90557b140077c39f61429263efc3c8c2bf8bb90e 699 694 2017-03-17T03:38:14Z Kever 2 wikitext text/x-wiki = Graphics Overview = This article will give an overview of how graphics are generated on a rockchip platform. == Graphics with X11 == Xserver is the display system used on regular desktop Linux platforms. Rockchip have a custom&nbsp;[http://rockchip.wikidot.com/xserver Xserver]&nbsp;which have enable&nbsp;[https://www.freedesktop.org/wiki/Software/Glamor/ glamor 2D acceleration]. Xserver usually have a good compatibility, but the performance may be little less and its size is more large than other display system. Gstreamer X11 sink have DRM 4k-Video render support(though hacky). === Structure === X11 structure in Linux OS [[File:X11 structure.png]] === DDX(armsoc) === source code: git clone git@github.com:markyzq/xf86-video-armsoc.git<br/> maliline: git://anongit.freedesktop.org/xorg/driver/xf86-video-armsoc<br/> The DDX support: #support common x11 display and Hwcursor #DRI2 (request by EGL X11 client) #umplock(support non-tearing on EGL x11 client) '''''/etc/X11/xorg.conf'':''' Xserver will parse this config to find DDX and configure info <pre>Section "Device" Identifier "Mali-Fbdev" Driver "armsoc" Option "UMP_LOCK" "true" EndSection Section "Screen" Identifier "Default Screen" Device "Mali-Fbdev" DefaultDepth 24 EndSection</pre> === UMPLOCK === source code: wget http://malideveloper.arm.com/downloads/drivers/DX910/r6p1-<br/> 01rel0/DX910-SW-99002-r6p1-01rel0.tgz<br/> Patch the umplock patch to kernel, then you can find the umplock device node: <pre>/dev/umplock</pre> Don't forget enable DDX umplock option: <pre>Option "UMP_LOCK" "true"</pre> The umplock only use for x11 graphic stack, no need for wayland, because mali&nbsp;<br/> already do the wayland sync on its driver. === X11 performance Test === 2D performace: <pre>x11perf</pre> 3D preformace: <pre>glmark2-es2</pre> X11perf tools can easy get from x11-apps.<br/> glmark2-es2 can get from https://github.com/glmark2/glmark2<br/> The glmark2-es2 source code can also build for x11, drm(gbm) and wayland. == Graphics with Wayland == Weston is the reference implementation of a Wayland compositor, and a<br/> useful compositor in its own right. Rockchip don't do much develop in wayland at current, but wetson are tested that can run in rk3288 and rk3399. == Graphics with None == If you don't want to use X11 or wayland, there are some chooses for you. Interface:<br/> Libdrm and libmali-gbm can be used to draw UI without display systems. Framework:<br/> [http://rockchip.wikidot.com/yocto-user-guide-qt QT]&nbsp;can work without x11 or wayland, it run Qt5 applications on top of EGL(libmali-gbm).<br/> WIth qt eglfs, video player can reach 1080-60fps. = GPU Performance = Test platform: rk3288 {| |- ! backend ! off-screen ! on-screen ! DMA-Buf |- | X11 | &nbsp; | &nbsp; | support |- | Wayland | &nbsp; | &nbsp; | support |- | gbm | &nbsp; | &nbsp; | support |- | fbdev | untested | untested | unsupport |} = Others = For details of the full Linux graphics stack, please refer to online documents in&nbsp;[https://www.freedesktop.org/wiki/ Freedesktop],&nbsp;[http://www.arm.com/products/graphics-and-multimedia/mali-gpu ARM],&nbsp;[https://wiki.archlinux.org/index.php/xorg Arch wiki]….. *[http://moi.vonos.net/linux/graphics-stack/ http://moi.vonos.net/linux/graphics-stack/] *[https://en.wikipedia.org/wiki/Wayland_(display_server_protocol https://en.wikipedia.org/wiki/Wayland_(display_server_protocol]) *[https://blogs.igalia.com/itoral/2014/07/29/a-brief-introduction-to-the-linux-graphics-stack/ https://blogs.igalia.com/itoral/2014/07/29/a-brief-introduction-to-the-linux-graphics-stack/] c2a0e7a308d90efc78e46fc8470cebec22ccc009 700 699 2017-03-17T03:53:05Z Kever 2 wikitext text/x-wiki = Graphics Introduce = This article will give an overview of how graphics are generated on a rockchip platform. == Graphics with X11 == Xserver is the display system used on regular desktop Linux platforms. Rockchip have a custom&nbsp;[http://rockchip.wikidot.com/xserver Xserver]&nbsp;which have enable&nbsp;[https://www.freedesktop.org/wiki/Software/Glamor/ glamor 2D acceleration]. Xserver usually have a good compatibility, but the performance may be little less and its size is more large than other display system. Gstreamer X11 sink have DRM 4k-Video render support(though hacky). === Structure === X11 structure in Linux OS [[File:X11 structure.png|RTENOTITLE]] === DDX(armsoc) === source code: git clone git@github.com:markyzq/xf86-video-armsoc.git<br/> maliline: [git://anongit.freedesktop.org/xorg/driver/xf86-video-armsoc git://anongit.freedesktop.org/xorg/driver/xf86-video-armsoc]<br/> The DDX support: #support common x11 display and Hwcursor #DRI2 (request by EGL X11 client) #umplock(support non-tearing on EGL x11 client) '''''/etc/X11/xorg.conf'':''' Xserver will parse this config to find DDX and configure info <pre>Section "Device" Identifier "Mali-Fbdev" Driver "armsoc" Option "UMP_LOCK" "true" EndSection Section "Screen" Identifier "Default Screen" Device "Mali-Fbdev" DefaultDepth 24 EndSection</pre> === UMPLOCK === source code: wget [http://malideveloper.arm.com/downloads/drivers/DX910/r6p1- http://malideveloper.arm.com/downloads/drivers/DX910/r6p1-]<br/> 01rel0/DX910-SW-99002-r6p1-01rel0.tgz<br/> Patch the umplock patch to kernel, then you can find the umplock device node: <pre>/dev/umplock</pre> Don't forget enable DDX umplock option: <pre>Option "UMP_LOCK" "true"</pre> The umplock only use for x11 graphic stack, no need for wayland, because mali&nbsp;<br/> already do the wayland sync on its driver. === X11 performance test === 2D performace: <pre>x11perf</pre> 3D preformace: <pre>glmark2-es2</pre> X11perf tools can easy get from x11-apps.<br/> glmark2-es2 can get from [https://github.com/glmark2/glmark2 https://github.com/glmark2/glmark2]<br/> The glmark2-es2 source code can also build for x11, drm(gbm) and wayland. == Graphics with Wayland == Weston is the reference implementation of a Wayland compositor, and a<br/> useful compositor in its own right. === Structure === [[File:Wayland structure.png]] === Weston === The Weston reference implementation of a Wayland compositor. &nbsp; &nbsp; &nbsp;1. run wayland with drm and gpu renderer <pre style="margin-left: 40px;">export XDG_RUNTIME_DIR=/tmp weston --backend=drm-backend.so --idle-time=100 </pre> &nbsp; &nbsp; &nbsp; 2. run wayland with drm and cpu renderer <pre style="margin-left: 40px;">weston --backend=drm-backend.so --idle-time=100 --use-pixman</pre> <blockquote> --idle-time: how many seconds the weston got to sleep, it's usefull to test wayland&nbsp;<br/> suspend and resume.<br/> --use-pixman: it's usefull to compare gpu or non-gpu performance and behavior. </blockquote> === Wayland performance test === 3D preformance: &nbsp;''glmark2-es2-wayland''<br/> glmark2-es2 can get from https://github.com/glmark2/glmark2 <br/> OpenVG test: ''vg_api_tests''<br/> build from mali DDK, build with make bin/vg_api_tests == Graphics with None == If you don't want to use X11 or wayland, there are some chooses for you. Interface:<br/> Libdrm and libmali-gbm can be used to draw UI without display systems. Framework:<br/> [http://rockchip.wikidot.com/yocto-user-guide-qt QT]&nbsp;can work without x11 or wayland, it run Qt5 applications on top of EGL(libmali-gbm).<br/> WIth qt eglfs, video player can reach 1080-60fps. == MALI GPU driver == === Structure === [[File:Mali driver structure.png]] == Mali Build option == Build for X11:<br/> VARIANT=mali450-gles20-eb-linux-sse-vg-x11-dma_buf<br/> Build for Wayland:<br/> VARIANT=mali450-gles20-eb-vg-sse-linux-wayland-drm-dma_buf<br/> X11 stack only use gpu x11 backend,&nbsp;<br/> Wayland use two gpu backend, drm(gbm) and wayland <blockquote> -x11-: x11 backend<br/> -drm-: GBM backend<br/> -wayland: wayland backend<br/> -sse-: similar with neon, Accelerate memcpy on mali, speed up some api like&nbsp;<br/> glTexSubImage2D<br/> -vg-: openVG support, tested with vg_api_tests on wayland backend<br/> -dma_buf-: support dma_buf </blockquote> == LibDRM == === Structure === [[File:Drm structure.png]] === Source code === mainline source code: git clone git://anongit.freedesktop.org/mesa/drm<br/> LIBDRM is the cross-driver middleware which allows user-space applications (such&nbsp;<br/> as Mesa and 2D drivers) to communicate with the Kernel by the means of the DRI&nbsp;<br/> protocol. === Mailing list === General developers discussions occur on the dri-devel@lists.freedesktop.org&nbsp;<br/> mailing list.<br/> Subscribe to the list at http://lists.freedesktop.org/mailman/listinfo/dri-devel.<br/> Archives are found at http://lists.freedesktop.org/archives/dri-devel/. = Kernel Driver porting = = Others = For details of the full Linux graphics stack, please refer to online documents in&nbsp;[https://www.freedesktop.org/wiki/ Freedesktop],&nbsp;[http://www.arm.com/products/graphics-and-multimedia/mali-gpu ARM],&nbsp;[https://wiki.archlinux.org/index.php/xorg Arch wiki]….. *[http://moi.vonos.net/linux/graphics-stack/ http://moi.vonos.net/linux/graphics-stack/] *[https://en.wikipedia.org/wiki/Wayland_(display_server_protocol https://en.wikipedia.org/wiki/Wayland_(display_server_protocol]) *[https://blogs.igalia.com/itoral/2014/07/29/a-brief-introduction-to-the-linux-graphics-stack/ https://blogs.igalia.com/itoral/2014/07/29/a-brief-introduction-to-the-linux-graphics-stack/] d568a302713eb6c354ae3c19b3eb5b2623de7d23 701 700 2017-03-17T03:55:05Z Kever 2 wikitext text/x-wiki = Graphics Introduce = This article will give an overview of how graphics are generated on a rockchip platform. == Graphics with X11 == Xserver is the display system used on regular desktop Linux platforms. Rockchip have a custom&nbsp;[http://rockchip.wikidot.com/xserver Xserver]&nbsp;which have enable&nbsp;[https://www.freedesktop.org/wiki/Software/Glamor/ glamor 2D acceleration]. Xserver usually have a good compatibility, but the performance may be little less and its size is more large than other display system. Gstreamer X11 sink have DRM 4k-Video render support(though hacky). === Structure === X11 structure in Linux OS [[File:X11 structure.png|RTENOTITLE]] === DDX(armsoc) === source code: git clone git@github.com:markyzq/xf86-video-armsoc.git<br/> maliline: [git://anongit.freedesktop.org/xorg/driver/xf86-video-armsoc git://anongit.freedesktop.org/xorg/driver/xf86-video-armsoc]<br/> The DDX support: #support common x11 display and Hwcursor #DRI2 (request by EGL X11 client) #umplock(support non-tearing on EGL x11 client) '''''/etc/X11/xorg.conf'':''' Xserver will parse this config to find DDX and configure info <pre>Section "Device" Identifier "Mali-Fbdev" Driver "armsoc" Option "UMP_LOCK" "true" EndSection Section "Screen" Identifier "Default Screen" Device "Mali-Fbdev" DefaultDepth 24 EndSection</pre> === UMPLOCK === source code: wget [http://malideveloper.arm.com/downloads/drivers/DX910/r6p1- http://malideveloper.arm.com/downloads/drivers/DX910/r6p1-]01rel0/DX910-SW-99002-r6p1-01rel0.tgz<br/> Patch the umplock patch to kernel, then you can find the umplock device node: <pre>/dev/umplock</pre> Don't forget enable DDX umplock option: <pre>Option "UMP_LOCK" "true"</pre> The umplock only use for x11 graphic stack, no need for wayland, because mali&nbsp;<br/> already do the wayland sync on its driver. === X11 performance test === 2D performace: <pre>x11perf</pre> 3D preformace: <pre>glmark2-es2</pre> X11perf tools can easy get from x11-apps.<br/> glmark2-es2 can get from [https://github.com/glmark2/glmark2 https://github.com/glmark2/glmark2]<br/> The glmark2-es2 source code can also build for x11, drm(gbm) and wayland. == Graphics with Wayland == Weston is the reference implementation of a Wayland compositor, and a<br/> useful compositor in its own right. === Structure === [[File:Wayland structure.png]] === Weston === The Weston reference implementation of a Wayland compositor. &nbsp; &nbsp; &nbsp;1. run wayland with drm and gpu renderer <pre style="margin-left: 40px;">export XDG_RUNTIME_DIR=/tmp weston --backend=drm-backend.so --idle-time=100 </pre> &nbsp; &nbsp; &nbsp; 2. run wayland with drm and cpu renderer <pre style="margin-left: 40px;">weston --backend=drm-backend.so --idle-time=100 --use-pixman</pre> <blockquote> --idle-time: how many seconds the weston got to sleep, it's usefull to test wayland&nbsp;<br/> suspend and resume.<br/> --use-pixman: it's usefull to compare gpu or non-gpu performance and behavior. </blockquote> === Wayland performance test === 3D preformance: &nbsp;''glmark2-es2-wayland''<br/> glmark2-es2 can get from https://github.com/glmark2/glmark2 <br/> OpenVG test: ''vg_api_tests''<br/> build from mali DDK, build with make bin/vg_api_tests == Graphics with None == If you don't want to use X11 or wayland, there are some chooses for you. Interface:<br/> Libdrm and libmali-gbm can be used to draw UI without display systems. Framework:<br/> [http://rockchip.wikidot.com/yocto-user-guide-qt QT]&nbsp;can work without x11 or wayland, it run Qt5 applications on top of EGL(libmali-gbm).<br/> WIth qt eglfs, video player can reach 1080-60fps. == MALI GPU driver == === Structure === [[File:Mali driver structure.png]] == Mali Build option == Build for X11:<br/> VARIANT=mali450-gles20-eb-linux-sse-vg-x11-dma_buf<br/> Build for Wayland:<br/> VARIANT=mali450-gles20-eb-vg-sse-linux-wayland-drm-dma_buf<br/> X11 stack only use gpu x11 backend,&nbsp;<br/> Wayland use two gpu backend, drm(gbm) and wayland <blockquote> -x11-: x11 backend<br/> -drm-: GBM backend<br/> -wayland: wayland backend<br/> -sse-: similar with neon, Accelerate memcpy on mali, speed up some api like&nbsp;<br/> glTexSubImage2D<br/> -vg-: openVG support, tested with vg_api_tests on wayland backend<br/> -dma_buf-: support dma_buf </blockquote> == LibDRM == === Structure === [[File:Drm structure.png]] === Source code === mainline source code: git clone git://anongit.freedesktop.org/mesa/drm<br/> LIBDRM is the cross-driver middleware which allows user-space applications (such&nbsp;<br/> as Mesa and 2D drivers) to communicate with the Kernel by the means of the DRI&nbsp;<br/> protocol. === Mailing list === General developers discussions occur on the dri-devel@lists.freedesktop.org&nbsp;<br/> mailing list.<br/> Subscribe to the list at http://lists.freedesktop.org/mailman/listinfo/dri-devel.<br/> Archives are found at http://lists.freedesktop.org/archives/dri-devel/. = Kernel Driver porting = = Others = For details of the full Linux graphics stack, please refer to online documents in&nbsp;[https://www.freedesktop.org/wiki/ Freedesktop],&nbsp;[http://www.arm.com/products/graphics-and-multimedia/mali-gpu ARM],&nbsp;[https://wiki.archlinux.org/index.php/xorg Arch wiki]….. *[http://moi.vonos.net/linux/graphics-stack/ http://moi.vonos.net/linux/graphics-stack/] *[https://en.wikipedia.org/wiki/Wayland_(display_server_protocol https://en.wikipedia.org/wiki/Wayland_(display_server_protocol]) *[https://blogs.igalia.com/itoral/2014/07/29/a-brief-introduction-to-the-linux-graphics-stack/ https://blogs.igalia.com/itoral/2014/07/29/a-brief-introduction-to-the-linux-graphics-stack/] c0efbe02abb6c0ae781d9ab7413ae3ac29ad7b10 702 701 2017-03-17T03:55:22Z Kever 2 wikitext text/x-wiki = Graphics Introduce = This article will give an overview of how graphics are generated on a rockchip platform. == Graphics with X11 == Xserver is the display system used on regular desktop Linux platforms. Rockchip have a custom&nbsp;[http://rockchip.wikidot.com/xserver Xserver]&nbsp;which have enable&nbsp;[https://www.freedesktop.org/wiki/Software/Glamor/ glamor 2D acceleration]. Xserver usually have a good compatibility, but the performance may be little less and its size is more large than other display system. Gstreamer X11 sink have DRM 4k-Video render support(though hacky). === Structure === X11 structure in Linux OS [[File:X11 structure.png|RTENOTITLE]] === DDX(armsoc) === source code: git clone git@github.com:markyzq/xf86-video-armsoc.git<br/> maliline: [git://anongit.freedesktop.org/xorg/driver/xf86-video-armsoc git://anongit.freedesktop.org/xorg/driver/xf86-video-armsoc]<br/> The DDX support: #support common x11 display and Hwcursor #DRI2 (request by EGL X11 client) #umplock(support non-tearing on EGL x11 client) '''''/etc/X11/xorg.conf'':''' Xserver will parse this config to find DDX and configure info <pre>Section "Device" Identifier "Mali-Fbdev" Driver "armsoc" Option "UMP_LOCK" "true" EndSection Section "Screen" Identifier "Default Screen" Device "Mali-Fbdev" DefaultDepth 24 EndSection</pre> === UMPLOCK === source code: wget http://malideveloper.arm.com/downloads/drivers/DX910/r6p1-01rel0/DX910-SW-99002-r6p1-01rel0.tgz<br/> Patch the umplock patch to kernel, then you can find the umplock device node: <pre>/dev/umplock</pre> Don't forget enable DDX umplock option: <pre>Option "UMP_LOCK" "true"</pre> The umplock only use for x11 graphic stack, no need for wayland, because mali&nbsp;<br/> already do the wayland sync on its driver. === X11 performance test === 2D performace: <pre>x11perf</pre> 3D preformace: <pre>glmark2-es2</pre> X11perf tools can easy get from x11-apps.<br/> glmark2-es2 can get from [https://github.com/glmark2/glmark2 https://github.com/glmark2/glmark2]<br/> The glmark2-es2 source code can also build for x11, drm(gbm) and wayland. == Graphics with Wayland == Weston is the reference implementation of a Wayland compositor, and a<br/> useful compositor in its own right. === Structure === [[File:Wayland structure.png]] === Weston === The Weston reference implementation of a Wayland compositor. &nbsp; &nbsp; &nbsp;1. run wayland with drm and gpu renderer <pre style="margin-left: 40px;">export XDG_RUNTIME_DIR=/tmp weston --backend=drm-backend.so --idle-time=100 </pre> &nbsp; &nbsp; &nbsp; 2. run wayland with drm and cpu renderer <pre style="margin-left: 40px;">weston --backend=drm-backend.so --idle-time=100 --use-pixman</pre> <blockquote> --idle-time: how many seconds the weston got to sleep, it's usefull to test wayland&nbsp;<br/> suspend and resume.<br/> --use-pixman: it's usefull to compare gpu or non-gpu performance and behavior. </blockquote> === Wayland performance test === 3D preformance: &nbsp;''glmark2-es2-wayland''<br/> glmark2-es2 can get from https://github.com/glmark2/glmark2 <br/> OpenVG test: ''vg_api_tests''<br/> build from mali DDK, build with make bin/vg_api_tests == Graphics with None == If you don't want to use X11 or wayland, there are some chooses for you. Interface:<br/> Libdrm and libmali-gbm can be used to draw UI without display systems. Framework:<br/> [http://rockchip.wikidot.com/yocto-user-guide-qt QT]&nbsp;can work without x11 or wayland, it run Qt5 applications on top of EGL(libmali-gbm).<br/> WIth qt eglfs, video player can reach 1080-60fps. == MALI GPU driver == === Structure === [[File:Mali driver structure.png]] == Mali Build option == Build for X11:<br/> VARIANT=mali450-gles20-eb-linux-sse-vg-x11-dma_buf<br/> Build for Wayland:<br/> VARIANT=mali450-gles20-eb-vg-sse-linux-wayland-drm-dma_buf<br/> X11 stack only use gpu x11 backend,&nbsp;<br/> Wayland use two gpu backend, drm(gbm) and wayland <blockquote> -x11-: x11 backend<br/> -drm-: GBM backend<br/> -wayland: wayland backend<br/> -sse-: similar with neon, Accelerate memcpy on mali, speed up some api like&nbsp;<br/> glTexSubImage2D<br/> -vg-: openVG support, tested with vg_api_tests on wayland backend<br/> -dma_buf-: support dma_buf </blockquote> == LibDRM == === Structure === [[File:Drm structure.png]] === Source code === mainline source code: git clone git://anongit.freedesktop.org/mesa/drm<br/> LIBDRM is the cross-driver middleware which allows user-space applications (such&nbsp;<br/> as Mesa and 2D drivers) to communicate with the Kernel by the means of the DRI&nbsp;<br/> protocol. === Mailing list === General developers discussions occur on the dri-devel@lists.freedesktop.org&nbsp;<br/> mailing list.<br/> Subscribe to the list at http://lists.freedesktop.org/mailman/listinfo/dri-devel.<br/> Archives are found at http://lists.freedesktop.org/archives/dri-devel/. = Kernel Driver porting = = Others = For details of the full Linux graphics stack, please refer to online documents in&nbsp;[https://www.freedesktop.org/wiki/ Freedesktop],&nbsp;[http://www.arm.com/products/graphics-and-multimedia/mali-gpu ARM],&nbsp;[https://wiki.archlinux.org/index.php/xorg Arch wiki]….. *[http://moi.vonos.net/linux/graphics-stack/ http://moi.vonos.net/linux/graphics-stack/] *[https://en.wikipedia.org/wiki/Wayland_(display_server_protocol https://en.wikipedia.org/wiki/Wayland_(display_server_protocol]) *[https://blogs.igalia.com/itoral/2014/07/29/a-brief-introduction-to-the-linux-graphics-stack/ https://blogs.igalia.com/itoral/2014/07/29/a-brief-introduction-to-the-linux-graphics-stack/] a9d030b2486d863ac33f1403c46a73b46589dc53 703 702 2017-03-17T03:56:47Z Kever 2 wikitext text/x-wiki = Graphics Introduce = This article will give an overview of how graphics are generated on a rockchip platform. == Graphics with X11 == Xserver is the display system used on regular desktop Linux platforms. Rockchip have a custom&nbsp;[[Xserver]]&nbsp;which have enable&nbsp;[https://www.freedesktop.org/wiki/Software/Glamor/ glamor 2D acceleration]. Xserver usually have a good compatibility, but the performance may be little less and its size is more large than other display system. Gstreamer X11 sink have DRM 4k-Video render support(though hacky). === Structure === X11 structure in Linux OS [[File:X11 structure.png|RTENOTITLE]] === DDX(armsoc) === source code: git clone git@github.com:markyzq/xf86-video-armsoc.git<br/> maliline: [git://anongit.freedesktop.org/xorg/driver/xf86-video-armsoc git://anongit.freedesktop.org/xorg/driver/xf86-video-armsoc]<br/> The DDX support: #support common x11 display and Hwcursor #DRI2 (request by EGL X11 client) #umplock(support non-tearing on EGL x11 client) '''''/etc/X11/xorg.conf'':''' Xserver will parse this config to find DDX and configure info <pre>Section "Device" Identifier "Mali-Fbdev" Driver "armsoc" Option "UMP_LOCK" "true" EndSection Section "Screen" Identifier "Default Screen" Device "Mali-Fbdev" DefaultDepth 24 EndSection</pre> &nbsp; === UMPLOCK === source code: wget [http://malideveloper.arm.com/downloads/drivers/DX910/r6p1-01rel0/DX910-SW-99002-r6p1-01rel0.tgz http://malideveloper.arm.com/downloads/drivers/DX910/r6p1-01rel0/DX910-SW-99002-r6p1-01rel0.tgz]<br/> Patch the umplock patch to kernel, then you can find the umplock device node: <pre>/dev/umplock</pre> Don't forget enable DDX umplock option: <pre>Option "UMP_LOCK" "true"</pre> The umplock only use for x11 graphic stack, no need for wayland, because mali&nbsp;<br/> already do the wayland sync on its driver. === X11 performance test === 2D performace: <pre>x11perf</pre> 3D preformace: <pre>glmark2-es2</pre> X11perf tools can easy get from x11-apps.<br/> glmark2-es2 can get from [https://github.com/glmark2/glmark2 https://github.com/glmark2/glmark2]<br/> The glmark2-es2 source code can also build for x11, drm(gbm) and wayland. == Graphics with Wayland == Weston is the reference implementation of a Wayland compositor, and a<br/> useful compositor in its own right. === Structure === [[File:Wayland structure.png]] === Weston === The Weston reference implementation of a Wayland compositor. &nbsp; &nbsp; &nbsp;1. run wayland with drm and gpu renderer <pre style="margin-left: 40px;">export XDG_RUNTIME_DIR=/tmp weston --backend=drm-backend.so --idle-time=100 </pre> &nbsp; &nbsp; &nbsp; 2. run wayland with drm and cpu renderer <pre style="margin-left: 40px;">weston --backend=drm-backend.so --idle-time=100 --use-pixman</pre> <blockquote> --idle-time: how many seconds the weston got to sleep, it's usefull to test wayland&nbsp;<br/> suspend and resume.<br/> --use-pixman: it's usefull to compare gpu or non-gpu performance and behavior. </blockquote> === Wayland performance test === 3D preformance: &nbsp;''glmark2-es2-wayland''<br/> glmark2-es2 can get from https://github.com/glmark2/glmark2 <br/> OpenVG test: ''vg_api_tests''<br/> build from mali DDK, build with make bin/vg_api_tests == Graphics with None == If you don't want to use X11 or wayland, there are some chooses for you. Interface:<br/> Libdrm and libmali-gbm can be used to draw UI without display systems. Framework:<br/> [http://rockchip.wikidot.com/yocto-user-guide-qt QT]&nbsp;can work without x11 or wayland, it run Qt5 applications on top of EGL(libmali-gbm).<br/> WIth qt eglfs, video player can reach 1080-60fps. == MALI GPU driver == === Structure === [[File:Mali driver structure.png]] == Mali Build option == Build for X11:<br/> VARIANT=mali450-gles20-eb-linux-sse-vg-x11-dma_buf<br/> Build for Wayland:<br/> VARIANT=mali450-gles20-eb-vg-sse-linux-wayland-drm-dma_buf<br/> X11 stack only use gpu x11 backend,&nbsp;<br/> Wayland use two gpu backend, drm(gbm) and wayland <blockquote> -x11-: x11 backend<br/> -drm-: GBM backend<br/> -wayland: wayland backend<br/> -sse-: similar with neon, Accelerate memcpy on mali, speed up some api like&nbsp;<br/> glTexSubImage2D<br/> -vg-: openVG support, tested with vg_api_tests on wayland backend<br/> -dma_buf-: support dma_buf </blockquote> == LibDRM == === Structure === [[File:Drm structure.png]] === Source code === mainline source code: git clone git://anongit.freedesktop.org/mesa/drm<br/> LIBDRM is the cross-driver middleware which allows user-space applications (such&nbsp;<br/> as Mesa and 2D drivers) to communicate with the Kernel by the means of the DRI&nbsp;<br/> protocol. === Mailing list === General developers discussions occur on the dri-devel@lists.freedesktop.org&nbsp;<br/> mailing list.<br/> Subscribe to the list at http://lists.freedesktop.org/mailman/listinfo/dri-devel.<br/> Archives are found at http://lists.freedesktop.org/archives/dri-devel/. = Kernel Driver porting = = Others = For details of the full Linux graphics stack, please refer to online documents in&nbsp;[https://www.freedesktop.org/wiki/ Freedesktop],&nbsp;[http://www.arm.com/products/graphics-and-multimedia/mali-gpu ARM],&nbsp;[https://wiki.archlinux.org/index.php/xorg Arch wiki]….. *[http://moi.vonos.net/linux/graphics-stack/ http://moi.vonos.net/linux/graphics-stack/] *[https://en.wikipedia.org/wiki/Wayland_(display_server_protocol https://en.wikipedia.org/wiki/Wayland_(display_server_protocol]) *[https://blogs.igalia.com/itoral/2014/07/29/a-brief-introduction-to-the-linux-graphics-stack/ https://blogs.igalia.com/itoral/2014/07/29/a-brief-introduction-to-the-linux-graphics-stack/] fc7b954579e2dd727a2b7c8644834b0525588f03 709 703 2017-03-17T05:05:38Z Kever 2 wikitext text/x-wiki = Graphics Introduce = This article will give an overview of how graphics are generated on a rockchip platform. == Graphics with X11 == Xserver is the display system used on regular desktop Linux platforms. Rockchip have a custom&nbsp;[[Xserver]]&nbsp;which have enable&nbsp;[https://www.freedesktop.org/wiki/Software/Glamor/ glamor 2D acceleration]. Xserver usually have a good compatibility, but the performance may be little less and its size is more large than other display system. Gstreamer X11 sink have DRM 4k-Video render support(though hacky). === Structure === X11 structure in Linux OS [[File:X11 structure.png|RTENOTITLE]] === DDX(armsoc) === source code: git clone git@github.com:markyzq/xf86-video-armsoc.git<br/> maliline: [git://anongit.freedesktop.org/xorg/driver/xf86-video-armsoc git://anongit.freedesktop.org/xorg/driver/xf86-video-armsoc]<br/> The DDX support: #support common x11 display and Hwcursor #DRI2 (request by EGL X11 client) #umplock(support non-tearing on EGL x11 client) '''''/etc/X11/xorg.conf'':''' Xserver will parse this config to find DDX and configure info <pre>Section "Device" Identifier "Mali-Fbdev" Driver "armsoc" Option "UMP_LOCK" "true" EndSection Section "Screen" Identifier "Default Screen" Device "Mali-Fbdev" DefaultDepth 24 EndSection</pre> &nbsp; === UMPLOCK === source code: wget [http://malideveloper.arm.com/downloads/drivers/DX910/r6p1-01rel0/DX910-SW-99002-r6p1-01rel0.tgz http://malideveloper.arm.com/downloads/drivers/DX910/r6p1-01rel0/DX910-SW-99002-r6p1-01rel0.tgz]<br/> Patch the umplock patch to kernel, then you can find the umplock device node: <pre>/dev/umplock</pre> Don't forget enable DDX umplock option: <pre>Option "UMP_LOCK" "true"</pre> The umplock only use for x11 graphic stack, no need for wayland, because mali&nbsp;<br/> already do the wayland sync on its driver. === X11 performance test === 2D performace: <pre>x11perf</pre> 3D preformace: <pre>glmark2-es2</pre> X11perf tools can easy get from x11-apps.<br/> glmark2-es2 can get from [https://github.com/glmark2/glmark2 https://github.com/glmark2/glmark2]<br/> The glmark2-es2 source code can also build for x11, drm(gbm) and wayland. == Graphics with Wayland == Weston is the reference implementation of a Wayland compositor, and a<br/> useful compositor in its own right. === Structure === [[File:Wayland structure.png]] === Weston === The Weston reference implementation of a Wayland compositor. &nbsp; &nbsp; &nbsp;1. run wayland with drm and gpu renderer <pre style="margin-left: 40px;">export XDG_RUNTIME_DIR=/tmp weston --backend=drm-backend.so --idle-time=100 </pre> &nbsp; &nbsp; &nbsp; 2. run wayland with drm and cpu renderer <pre style="margin-left: 40px;">weston --backend=drm-backend.so --idle-time=100 --use-pixman</pre> <blockquote> --idle-time: how many seconds the weston got to sleep, it's usefull to test wayland&nbsp;<br/> suspend and resume.<br/> --use-pixman: it's usefull to compare gpu or non-gpu performance and behavior. </blockquote> === Wayland performance test === 3D preformance: &nbsp;''glmark2-es2-wayland''<br/> glmark2-es2 can get from https://github.com/glmark2/glmark2 <br/> OpenVG test: ''vg_api_tests''<br/> build from mali DDK, build with make bin/vg_api_tests == Graphics with None == If you don't want to use X11 or wayland, there are some chooses for you. Interface:<br/> Libdrm and libmali-gbm can be used to draw UI without display systems. Framework:<br/> [[Qt|QT]]&nbsp;can work without x11 or wayland, it run Qt5 applications on top of EGL(libmali-gbm).<br/> WIth qt eglfs, video player can reach 1080-60fps. == MALI GPU driver == === Structure === [[File:Mali driver structure.png]] == Mali Build option == Build for X11:<br/> VARIANT=mali450-gles20-eb-linux-sse-vg-x11-dma_buf<br/> Build for Wayland:<br/> VARIANT=mali450-gles20-eb-vg-sse-linux-wayland-drm-dma_buf<br/> X11 stack only use gpu x11 backend,&nbsp;<br/> Wayland use two gpu backend, drm(gbm) and wayland <blockquote> -x11-: x11 backend<br/> -drm-: GBM backend<br/> -wayland: wayland backend<br/> -sse-: similar with neon, Accelerate memcpy on mali, speed up some api like&nbsp;<br/> glTexSubImage2D<br/> -vg-: openVG support, tested with vg_api_tests on wayland backend<br/> -dma_buf-: support dma_buf </blockquote> == LibDRM == === Structure === [[File:Drm structure.png]] === Source code === mainline source code: git clone git://anongit.freedesktop.org/mesa/drm<br/> LIBDRM is the cross-driver middleware which allows user-space applications (such&nbsp;<br/> as Mesa and 2D drivers) to communicate with the Kernel by the means of the DRI&nbsp;<br/> protocol. === Mailing list === General developers discussions occur on the dri-devel@lists.freedesktop.org&nbsp;<br/> mailing list.<br/> Subscribe to the list at http://lists.freedesktop.org/mailman/listinfo/dri-devel.<br/> Archives are found at http://lists.freedesktop.org/archives/dri-devel/. = Kernel Driver porting = = Others = For details of the full Linux graphics stack, please refer to online documents in&nbsp;[https://www.freedesktop.org/wiki/ Freedesktop],&nbsp;[http://www.arm.com/products/graphics-and-multimedia/mali-gpu ARM],&nbsp;[https://wiki.archlinux.org/index.php/xorg Arch wiki]….. *[http://moi.vonos.net/linux/graphics-stack/ http://moi.vonos.net/linux/graphics-stack/] *[https://en.wikipedia.org/wiki/Wayland_(display_server_protocol https://en.wikipedia.org/wiki/Wayland_(display_server_protocol]) *[https://blogs.igalia.com/itoral/2014/07/29/a-brief-introduction-to-the-linux-graphics-stack/ https://blogs.igalia.com/itoral/2014/07/29/a-brief-introduction-to-the-linux-graphics-stack/] 6718a457304b17aafea6d563b385ae9371f7352a Display Server 0 70 689 649 2017-03-17T00:57:18Z Karen 3 wikitext text/x-wiki = Introduction = = Download = Git repository:[https://github.com/rockchip-linux/xserver https://github.com/rockchip-linux/xserver] = Supported Devices = = Configuration/Environment = == How to debug xserver == You should install a debugging package for xserver-core : xserver-xorg-core-dbg_1.18.4-1_armhf.deb. Also, the Mesa/GL libraries might be involved, installing libgl1-mesa-dri-dbg and libgl1-mesa-glx-dbg might help too. <pre><code>apt-get install gdb libc6-dbg gdb -p $(pidof X) (inside gdb) set logging overwrite on set logging on break xorg_backtrace continue (X server is stopped from when gdb is attached until "continue" is typed) (do whatever caused the problem) bt full set logging off quit</code> </pre> After this, you get the gdb output in file gdb.txt in the directory where you started gdb (this is what the logging commands did, another solution is to copy-paste the output yourself). Add all this to your bug report, developers will appreciate it. If the backtrace is small, you probably miss several debugging packages, see above. More info please see&nbsp;[https://www.x.org/wiki/Development/Documentation/ServerDebugging/ here]. ==== Untrap signals ==== The X server will by default intercept signals and for instance trap its own crashes and dump a stack trace in /var/log/Xorg.0.log. However, this stack trace is modified by the signal handler itself. To disable this signal interception, add this to your /etc/X11/xorg.conf: <pre><code>Section "ServerFlags" Option "NoTrapSignals" "true" EndSection</code> </pre> and restart your X server. = Package = = Install = == To build xserver == We suggest&nbsp;that using&nbsp;the Debian build system to build our xserver or you would be too hard to solve dependence problem. You may reference to Debian Package Maintainer Manuel for more information. (Update: now we support build xserver with docker, see&nbsp;[https://github.com/rockchip-linux/docker-rockchip here]&nbsp;) #Install all the build dependency for the xserver. #Install the library mali and development files. You must use the version comes from Rockchip. #Entry the xserver directory. #Build with the Debian build tools. = See also = = References&nbsp; = e49bb8527b8999f99d585f8d7d7c159c619f2fac Rockchip Kernel 0 104 693 642 2017-03-17T03:22:36Z Kever 2 wikitext text/x-wiki = Download Kernel = You can clone the rockchip kernel repository from github which is kernel 4.4 based: <pre>git clone https://github.com/rockchip-linux/kernel.git</pre> = Supported SoCs and Devices = Rockchip kernel 4.4 supports: RK3036, RK3066, RK312X, RK3188, RK322X, RK3288, RK3328, RK3368, RK3399 = Configure and Build = You will need to use rockchip_linux_defconfig for Linux OS configure for armv7: <pre>make rockchip_linux_defcofig</pre> configure for aarch64: <pre>make ARCH=arm64 rockchip_linux_defconfig</pre> After configure, you need to decide which board to use, get the dts file name, and replace its postfix to img in make command, For armv7: <pre>make rk3288-firefly.img -j8</pre> For aarch64: <pre>make ARCH=arm64 rk3399-evb.img -j8</pre> Then you can get Image/zImage and dtb file. = Install Boot/kernel = We use distro boot in U-Boot, so we need to make a boot partition for U-Boot with kernel image and dtb inside. <pre>mkdir boot cp arch/arm64/boot/dts/rockchip/rockchip/rk3399-evb.dtb boot/rk3399.dtb cp arch/arm64/boot/Image boot/</pre> Add extlinux/extlinux.conf for distro boot. <pre>mkdir boot/extlinux vi boot/extlinux/extlinux.conf</pre> &nbsp; <pre>lable rockchip-kernel-4.4 kernel /Image fdt /rk3399.dtb append earlycon=uart8250,mmio,0xff1a0000 root=dev/mmcblk1p7 rootwait rootfstype=ext4 init=/sbin/init</pre> You need to change the base address of debug UART, root partition for your board. Pls reference to [[Partitions|rockchip Linux parttion definition]]&nbsp;for rootfs partition and where boot to flash. After all these file prepare complete, we write the file to the boot partition == Generate ext2fs&nbsp;boot partition == by genext2fs: <pre>genext2fs -b 32768 -B $((32*1024*1024/32768)) -d boot/ -i 8192 -U boot_rk3399.img</pre> According to Rockchip partition definition, you need to flash this image to boot partiton which offset is 0x8000. dd this image to sd card, see [[Sd_boot|sd_boot]], or write to emmc with rkdeveloptool, see [[Emmc_boot|emmc_boot]]. == generate fatfs boot partition == === Via U-Boot in target === After flash and&nbsp;boot the U-Boot, write the gpt table from default partition table <pre>gpt write mmc 1 $partitions gpt verify mmc 1 $partitions</pre> connect target to PC and start the ums in command line: <pre>ums 0 mmc 1:6</pre> We should able to see a device connect to PC, formate and copy data into the partition(dev/sdb6 for example). <pre>sudo mkfs.fat /dev/sdb6 cp -r boot/* /media/machine/9F35-9565/</pre> === Generae boot.img in fatfs === Below commands can generate a fatfs boot.img <pre>dd if=/dev/zero of=boot.img bs=1M count=32 sudo mkfs.fat boot.img mkdir tmp sudo mount boot.img tmp/ cp -r boot/* tmp/ umount tmp</pre> Done! Flash this boot.img to boot partition, which is offset 0x8000 in Rockchip partition definition. == Boot from U-Boot == If everything is OK, you should able to see the U-Boot log like this: <pre>switch to partitions #0, OK mmc0(part 0) is current device Scanning mmc 0:6... Found /extlinux/extlinux.conf Retrieving file: /extlinux/extlinux.conf 205 bytes read in 82 ms (2 KiB/s) 1: upstream-4.10 Retrieving file: /Image 13484040 bytes read in 1833 ms (7 MiB/s) append: earlycon=uart8250,mmio32,0xff1a0000 console=ttyS2,1500000n8 rw root=/dev/mmcblk0p7 rootwait rootfstype=ext4 init=/sbin/init Retrieving file: /rk3399.dtb 61714 bytes read in 54 ms (1.1 MiB/s) ## Flattened Device Tree blob at 01f00000 Booting using the fdt blob at 0x1f00000 Loading Device Tree to 000000007df14000, end 000000007df26111 ... OK Starting kernel ... </pre> 1830e242ee6dce660c3e3e55c8b92de50317b9ea Xserver 0 114 704 2017-03-17T03:58:57Z Kever 2 Created page with " = Download xserver = Download source code from Rockchip github git&nbsp;repository <pre>git clone https://github.com/rockchip-linux/xserver.git</pre> === Branch rockchip-1...." wikitext text/x-wiki = Download xserver = Download source code from Rockchip github git&nbsp;repository <pre>git clone https://github.com/rockchip-linux/xserver.git</pre> === Branch rockchip-1.8 === This branch is used for Rockchip Debian SDK, you could easily use it in your Debian. The current xserver version match the one in Debian stretch. But it would work fine with Debian Jessie if you enabled the Debian stretch repository and using x driver(likes fbdev) from it. = Performance = === Without glamor === <pre><code>200000 reps @ 0.0066 msec (151000.0/sec): 1x1 opaque stippled rectangle (8x8 stipple) 40000 reps @ 0.0286 msec ( 34900.0/sec): 10x10 opaque stippled rectangle (8x8 stipple) 720 reps @ 1.5920 msec ( 628.0/sec): 100x100 opaque stippled rectangle (8x8 stipple) 30 reps @ 43.3108 msec ( 23.1/sec): 500x500 opaque stippled rectangle (8x8 stipple)</code> </pre> === With glamor === <pre><code>20000 reps @ 0.0634 msec ( 15800.0/sec): 1x1 tiled rectangle (4x4 tile) 20000 reps @ 0.0590 msec ( 16900.0/sec): 10x10 tiled rectangle (4x4 tile) 10800 reps @ 0.1326 msec ( 7540.0/sec): 100x100 tiled rectangle (4x4 tile) 600 reps @ 1.8001 msec ( 556.0/sec): 500x500 tiled rectangle (4x4 tile)</code> </pre> <br/> With the linear growth in points, time-consuming didn‘t have linear growth when enable glamor. === Check whether enable GLAMOR === <pre><code>cat /var/log/Xorg.0.log | grep glamor</code> </pre> If it shows "glamor initialized", it means the acceleration was enabled. === Why failed to enable === *Kernel space gpu driver is not compatible with userspace(libmali) *Conflict with mesa-egl,mesa-gles. Delete them or make sure libmali is in a high-priority. *Improper depends. Try update libepoxy to 1.31. = How to build xserver = We suggestion you to use the Debian build system to build our xserver or you would be too hard to solve dependence problem. You may reference to Debian Package Maintainer Manuel for more information. (Update: now we support build xserver with docker, see&nbsp;[https://github.com/rockchip-linux/docker-rockchip here]&nbsp;) #Install all the build dependency for the xserver. #Install the library mali and development files. You must use the version comes from Rockchip. #Entry the xserver directory. #Build with the Debian build tools. = How to debug xserver = You should install a debugging package for xserver-core : xserver-xorg-core-dbg_1.18.4-1_armhf.deb. Also, the Mesa/GL libraries might be involved, installing libgl1-mesa-dri-dbg and libgl1-mesa-glx-dbg might help too. <pre><code>apt-get install gdb libc6-dbg gdb -p $(pidof X) (inside gdb) set logging overwrite on set logging on break xorg_backtrace continue (X server is stopped from when gdb is attached until "continue" is typed) (do whatever caused the problem) bt full set logging off quit</code> </pre> After this, you get the gdb output in file gdb.txt in the directory where you started gdb (this is what the logging commands did, another solution is to copy-paste the output yourself). Add all this to your bug report, developers will appreciate it. If the backtrace is small, you probably miss several debugging packages, see above. More info please see&nbsp;[https://www.x.org/wiki/Development/Documentation/ServerDebugging/ here]. ==== Untrap signals ==== The X server will by default intercept signals and for instance trap its own crashes and dump a stack trace in /var/log/Xorg.0.log. However, this stack trace is modified by the signal handler itself. To disable this signal interception, add this to your /etc/X11/xorg.conf: <pre><code>Section "ServerFlags" Option "NoTrapSignals" "true" EndSection</code> </pre> and restart your X server. 065655d699971f7af3fcd38565d17c5637c45133 705 704 2017-03-17T03:59:31Z Kever 2 wikitext text/x-wiki = Download xserver = Download source code from Rockchip github git&nbsp;repository <pre>git clone https://github.com/rockchip-linux/xserver.git</pre> === Branch rockchip-1.8 === This branch is used for Rockchip Debian SDK, you could easily use it in your Debian. The current xserver version match the one in Debian stretch. But it would work fine with Debian Jessie if you enabled the Debian stretch repository and using x driver(likes fbdev) from it. = Performance = === Without glamor === <pre>200000 reps @ 0.0066 msec (151000.0/sec): 1x1 opaque stippled rectangle (8x8 stipple) 40000 reps @ 0.0286 msec ( 34900.0/sec): 10x10 opaque stippled rectangle (8x8 stipple) 720 reps @ 1.5920 msec ( 628.0/sec): 100x100 opaque stippled rectangle (8x8 stipple) 30 reps @ 43.3108 msec ( 23.1/sec): 500x500 opaque stippled rectangle (8x8 stipple) </pre> === With glamor === <pre>20000 reps @ 0.0634 msec ( 15800.0/sec): 1x1 tiled rectangle (4x4 tile) 20000 reps @ 0.0590 msec ( 16900.0/sec): 10x10 tiled rectangle (4x4 tile) 10800 reps @ 0.1326 msec ( 7540.0/sec): 100x100 tiled rectangle (4x4 tile) 600 reps @ 1.8001 msec ( 556.0/sec): 500x500 tiled rectangle (4x4 tile) </pre> <br/> With the linear growth in points, time-consuming didn‘t have linear growth when enable glamor. === Check whether enable GLAMOR === <pre>cat /var/log/Xorg.0.log | grep glamor </pre> If it shows "glamor initialized", it means the acceleration was enabled. === Why failed to enable === *Kernel space gpu driver is not compatible with userspace(libmali) *Conflict with mesa-egl,mesa-gles. Delete them or make sure libmali is in a high-priority. *Improper depends. Try update libepoxy to 1.31. = How to build xserver = We suggestion you to use the Debian build system to build our xserver or you would be too hard to solve dependence problem. You may reference to Debian Package Maintainer Manuel for more information. (Update: now we support build xserver with docker, see&nbsp;[https://github.com/rockchip-linux/docker-rockchip here]&nbsp;) #Install all the build dependency for the xserver. #Install the library mali and development files. You must use the version comes from Rockchip. #Entry the xserver directory. #Build with the Debian build tools. = How to debug xserver = You should install a debugging package for xserver-core&nbsp;: xserver-xorg-core-dbg_1.18.4-1_armhf.deb. Also, the Mesa/GL libraries might be involved, installing libgl1-mesa-dri-dbg and libgl1-mesa-glx-dbg might help too. <pre>apt-get install gdb libc6-dbg gdb -p $(pidof X) (inside gdb) set logging overwrite on set logging on break xorg_backtrace continue (X server is stopped from when gdb is attached until "continue" is typed) (do whatever caused the problem) bt full set logging off quit </pre> After this, you get the gdb output in file gdb.txt in the directory where you started gdb (this is what the logging commands did, another solution is to copy-paste the output yourself). Add all this to your bug report, developers will appreciate it. If the backtrace is small, you probably miss several debugging packages, see above. More info please see&nbsp;[https://www.x.org/wiki/Development/Documentation/ServerDebugging/ here]. ==== Untrap signals ==== The X server will by default intercept signals and for instance trap its own crashes and dump a stack trace in /var/log/Xorg.0.log. However, this stack trace is modified by the signal handler itself. To disable this signal interception, add this to your /etc/X11/xorg.conf: <pre><code>Section "ServerFlags" Option "NoTrapSignals" "true" EndSection</code> </pre> and restart your X server. 72f05177286bce96623af5c79b2629f828acdbba ATF 0 54 706 658 2017-03-17T05:02:40Z Kever 2 wikitext text/x-wiki = Download ARM Trusted Firmware = Get the source code from github: <pre>git clone https://github.com/ARM-software/arm-trusted-firmware.git</pre> = Supported Devices[[http://10.10.10.12:8444/index.php?title=U-Boot&action=edit&section=4 edit]] = Upstream ARM Trusted Firmware support Rockchip SoCs: [http://10.10.10.12:8444/index.php?title=RK3399 RK3399] = Build ATF = Here is a ''mk-atf.sh'' script to build ATF. <pre>$ cat mk-atf.sh #!/bin/bash make realclean CFLAGS='-gdwarf-2' \ CROSS_COMPILE=aarch64-linux-gnu- \ make PLAT=rk3399 DEBUG=1 ERROR_DEPRECATED=1 bl31</pre> Because there is a blob of code for cortex-M0, so you need a compiler for it. Install it by: <pre>sudo apt-get install gcc-arm-none-eabi</pre> We can get bl31.bin when&nbsp;build complete. = Install ATF = == Using U-Boot&nbsp;SPL FIT image == == Using Rockchip miniloader == Alternatively, you can use Rockchip miniloader and U-Boot instead which do not need SPL. The ATF is load by miniloader, so it should be package to know format for minloader <pre><span style="background-color: rgb(245, 245, 245); white-space: pre-wrap;">trust_merger rk_tools/RKTRUST/RK3399TRUST.ini atf.img</span></pre> According to the&nbsp;[http://10.10.10.12:8444/index.php?title=Partitions partitions]&nbsp;definition, write to atf.img offset 0x6000. f4b84701a5f519f2bfb4b95ccb7c348ef900f7ae 707 706 2017-03-17T05:03:16Z Kever 2 wikitext text/x-wiki = Download ARM Trusted Firmware = Get the source code from github: <pre>git clone https://github.com/ARM-software/arm-trusted-firmware.git</pre> = Supported Devices[[http://10.10.10.12:8444/index.php?title=U-Boot&action=edit&section=4 edit]] = Upstream ARM Trusted Firmware support Rockchip SoCs: [http://10.10.10.12:8444/index.php?title=RK3399 RK3399] = Build ATF = Here is a ''mk-atf.sh'' script to build ATF. <pre>$ cat mk-atf.sh #!/bin/bash make realclean CFLAGS='-gdwarf-2' \ CROSS_COMPILE=aarch64-linux-gnu- \ make PLAT=rk3399 DEBUG=1 ERROR_DEPRECATED=1 bl31</pre> Because there is a blob of code for cortex-M0, so you need a compiler for it. Install it by: <pre>sudo apt-get install gcc-arm-none-eabi</pre> We can get bl31.bin when&nbsp;build complete. &nbsp; = Install ATF = == Using U-Boot&nbsp;SPL FIT image == == Using Rockchip miniloader == Alternatively, you can use Rockchip miniloader and U-Boot instead which do not need SPL. The ATF is load by miniloader, so it should be package to know format for minloader <pre>trust_merger rk_tools/RKTRUST/RK3399TRUST.ini atf.img</pre> According to the&nbsp;[http://10.10.10.12:8444/index.php?title=Partitions partitions]&nbsp;definition, write to atf.img offset 0x6000. 5f8a6a8116c21ceacdc39b3b17c488e0cf216cf6 708 707 2017-03-17T05:04:01Z Kever 2 wikitext text/x-wiki = Download ARM Trusted Firmware = Get the source code from github: <pre>git clone https://github.com/ARM-software/arm-trusted-firmware.git</pre> = Supported Devices[[http://10.10.10.12:8444/index.php?title=U-Boot&action=edit&section=4 edit]] = Upstream ARM Trusted Firmware support Rockchip SoCs: [http://10.10.10.12:8444/index.php?title=RK3399 RK3399] = Build ATF = Here is a ''mk-atf.sh'' script to build ATF. <pre>$ cat mk-atf.sh #!/bin/bash make realclean CFLAGS='-gdwarf-2' \ CROSS_COMPILE=aarch64-linux-gnu- \ make PLAT=rk3399 DEBUG=1 ERROR_DEPRECATED=1 bl31</pre> Because there is a blob of code for cortex-M0 in rk3399 ATF, so you need a compiler for it. Install it by: <pre>sudo apt-get install gcc-arm-none-eabi</pre> We can get bl31.bin when&nbsp;build complete. &nbsp; = Install ATF = == Using U-Boot&nbsp;SPL FIT image == == Using Rockchip miniloader == Alternatively, you can use Rockchip miniloader and U-Boot instead which do not need SPL. The ATF is load by miniloader, so it should be package to know format for minloader <pre>trust_merger rk_tools/RKTRUST/RK3399TRUST.ini atf.img</pre> According to the&nbsp;[http://10.10.10.12:8444/index.php?title=Partitions partitions]&nbsp;definition, write to atf.img offset 0x6000. e2890011e6563b6498d35630ff3beaa77ebc4d8c Boot option 0 116 715 2017-03-17T06:45:56Z Kever 2 Created page with " = overview = <pre><code>+--------+----------------+----------------+----------+-----------+ | Boot | Terminology #1 | Terminology #2 | Actual | Rockchip | | stage |..." wikitext text/x-wiki = overview = <pre><code>+--------+----------------+----------------+----------+-----------+ | Boot | Terminology #1 | Terminology #2 | Actual | Rockchip | | stage | | | program | Loader | | number | | | name | Name | +--------+----------------+----------------+----------+-----------+ | 1 | Primary | - | ROM code | MaskRom | | | Program | | | | | | Loader | | |</code><code><code> |</code> | | | | |</code><code><code><code> |</code></code> | 2 | Secondary | 1st stage | u-boot | MiniLoader| | | Program | bootloader | SPL |</code><code><code><code> <option> |</code></code> | | Loader (SPL) | | |</code><code><code><code> |</code></code> | | | | |</code><code><code><code> |</code></code> | 3 | - | 2nd stage | U-Boot |</code><code><code><code> U-Boot |</code></code> | | | bootloader | |</code><code><code><code> |</code></code> | | | | |</code><code><code><code> |</code></code> | 4 | - | - | kernel |</code><code><code><code> kernel |</code></code> | | | | |</code><code><code><code> | | 5 | - | - | rootfs | rootfs |</code></code> +--------+----------------+----------------+----------+-----------+</code></pre> = Boot from eMMC = = Boot from SD Card = = Boot from U-disk = = Boot from Network = &nbsp; 7c2bdadc7a79cef2a55771a4af60d73ca91f68b2 716 715 2017-03-17T06:48:00Z Kever 2 wikitext text/x-wiki = overview = <pre><code>+--------+----------------+----------------+----------+-----------+ | Boot | Terminology #1 | Terminology #2 | Actual | Rockchip | | stage | | | program | Loader | | number | | | name | Name | +--------+----------------+----------------+----------+-----------+ | 1 | Primary | - | ROM code | BootRom | | | Program | | | | | | Loader | | | | | | | | | | | 2 | Secondary | 1st stage | u-boot | MiniLoader| | | Program | bootloader | SPL | | | | Loader (SPL) | | | | | | | | | | | 3 | - | 2nd stage | U-Boot | U-Boot | | | | bootloader | | | | | | | | | | 4 | - | - | kernel | kernel | | | | | | | | 5 | - | - | rootfs | rootfs | +--------+----------------+----------------+----------+-----------+</pre> = Boot from eMMC = = Boot from SD Card = = Boot from U-disk = = Boot from Network = &nbsp; 586b0f10eab3392bc48f37b9a8345bcfcd96794f 717 716 2017-03-17T06:48:11Z Kever 2 wikitext text/x-wiki = overview = <pre>+--------+----------------+----------------+----------+-----------+ | Boot | Terminology #1 | Terminology #2 | Actual | Rockchip | | stage | | | program | Loader | | number | | | name | Name | +--------+----------------+----------------+----------+-----------+ | 1 | Primary | - | ROM code | BootRom | | | Program | | | | | | Loader | | | | | | | | | | | 2 | Secondary | 1st stage | u-boot | MiniLoader| | | Program | bootloader | SPL | | | | Loader (SPL) | | | | | | | | | | | 3 | - | 2nd stage | U-Boot | U-Boot | | | | bootloader | | | | | | | | | | 4 | - | - | kernel | kernel | | | | | | | | 5 | - | - | rootfs | rootfs | +--------+----------------+----------------+----------+-----------+</pre> = Boot from eMMC = = Boot from SD Card = = Boot from U-disk = = Boot from Network = &nbsp; 2240c5ca79b7dbd564294024f57a93397e822e96 718 717 2017-03-17T06:52:25Z Kever 2 wikitext text/x-wiki = overview = <pre>+--------+----------------+----------+-----------+ | Boot | Terminology #1 | Actual | Rockchip | | stage | | program | Loader | | number | | name | Name | +--------+----------------+----------+-----------+ | 1 | Primary | ROM code | BootRom | | | Program | | | | | Loader | | | | | | | | | 2 | Secondary | u-boot | MiniLoader| | | Program | SPL | | | | Loader (SPL) | | | | | | | | | 3 | - | U-Boot | U-Boot | | | | | | | | | | | | 4 | - | kernel | kernel | | | | | | | 5 | - | rootfs | rootfs | +--------+----------------+----------+-----------+</pre> = Boot from eMMC = = Boot from SD Card = = Boot from U-disk = = Boot from Network = &nbsp; cfb94e720efa5c6fc46f90d253aeb432ce30ec01 RK3288 0 20 719 529 2017-03-17T07:13:26Z Kever 2 wikitext text/x-wiki {{Infobox SoC | title = RK3288 | image = [[File:rk3288_soc.png|200px]] | manufacturer = Rockcihp | process = 28nm | cpu = Quad-Core ARM Cortex-A17 | ltwo = | extensions = | memory = 2-channel LPDDR3/LPDDR2, 2-channel DDR3L/DDR3, maximum of 4GB total (2GB per channel) | gpu = ARM Mali-T764 | vpu = | apu = | video = HDMI 1.4, MIPI DSI, 2-channel LVDS, 2-channel RGB LCD | audio = I2S, PCM | network = | storage = 4x SD Card, eMMC NAND, 2-channel raw NAND | usb = OTG, 2x Host | other = | release_date = June 2014 | website = http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html }} &nbsp; &nbsp; &nbsp; Integrated with a Quad-Core [https://en.wikipedia.org/wiki/ARM_Cortex-A17 Cortex-A17]&nbsp;which up to 1.8GHz and ARMMali-T764&nbsp;which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant&nbsp;interfaces provide&nbsp;a friendly solution for product&nbsp;development. Futhermore &nbsp; &nbsp; &nbsp; &nbsp; = Overview = The RK3288 offers&nbsp;<cite>an extensible</cite>, <var>leading&nbsp;performance</var>,long-standing heritage platform,ideally suited for &nbsp;set-top box solution, tablet and chromebook.The platform is integrated with a Quad-Core Cortex-A17 which up to 1.8GHz and ARM Mali-T764&nbsp;which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant&nbsp;interfaces provide&nbsp;a friendly solution for product&nbsp;development. Futhermore, the power consumption is&nbsp;optimal for applications such as imaging/video, communication and broadband infrastructure,and performance audio applications. &nbsp; = RK3288 SoC Features = {| border="0" cellpadding="1" cellspacing="1" style="width: 972px;" |- | style="width: 530px;" | *CPU: **Quad Core Cortex-A17&nbsp;up to 1.8GHz **32KB L1-Cache **1MB L2-Cache *GPU: **ARM Mali-T764 GPU, with TE, ASTC, AFBC technology **Quad core 3D Graphics engine **Dual core 2D Graphics engine **Comply with&nbsp;OpenGL ES1.1/2.0/3.0, OpenVG1.1, OpenCL, DirectX11 *Display: **4Kx2K@60fpsHDMI2.0 **Up to 3840X2160 display resolution **Support dual-channel LVDS/dual-channel MIPI-DSI/eDP1.1 *Camera: **Support up to 5M pixels **8bits/10bits/12bits raw data interface&nbsp; *Memory: **Dual channels 64-bit DRAM controller **Support DDR3/DDR3L, LPDDR2, LPDDR3 *Connectivity: **Embedded 13M ISP and MIPI-CSI2 interface *Audio: **I2S/PCM with 8 channels | style="width: 429px;" | [[File:3288.png|RTENOTITLE]] |} = Devices = Rockchip: EVB-RK3328 Firefly: [[Firefly-RK3288|Firefly-RK3288]]<br/> [[Firefly-RK3288_reload|Firefly-RK3288 reload]]<br/> [[Rock2_Square|Rock2 Square]]<br/> [[Rock2_Full|Rock2 Full]]<br/> [[MiQi|MiQi]]<br/> [[Popmetal|Popmetal]]<br/> [[Fennec|Fennec]]<br/> [[PhyCORE-RK3288|phyCORE-RK3288]] ASUS: Tinker board &nbsp; = Documentation = #[http://10.10.10.12:8444/images/4/4e/Rockchip_RK3288_Datasheet_V2.2-20170301.pdf Rockchip_RK3288_Datasheet_V2.2-20170301] #[http://10.10.10.12:8444/images/5/5a/RK3288硬件设计资料.rar RK3288硬件设计资料] = Software = == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" |- | '''board''' | '''kernel''' | '''uboot''' | '''dts''' |- | RK3288_MAINBOARD_V3.0 | rockchip_linux_defconfig | rk3288_linux_defconfig | rk-linux.dts |} &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" |- | '''chip''' | '''Kernel eMMC index''' | '''Kernel SD index''' | '''Uboot eMMC index''' | '''Uboot SD index''' | '''Baud speed''' |- | RK3288 | 1 | 0 | 0 | 1 | 115200 |} = See also = [[RK3328|RK3328]] [[RK3399|RK3399]] = References = #[https://en.wikipedia.org/wiki/ARM_Cortex-A17 https://en.wikipedia.org/wiki/ARM_Cortex-A17] #[http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html] 2a05aa8578d30f8b37e58205b46b132a3533e7d0 720 719 2017-03-17T07:16:40Z Kever 2 wikitext text/x-wiki {{Infobox SoC | title = RK3288 | image = [[File:rk3288_soc.png|200px]] | manufacturer = Rockcihp | process = 28nm | cpu = Quad-Core ARM Cortex-A17 | ltwo = | extensions = | memory = 2-channel LPDDR3/LPDDR2, 2-channel DDR3L/DDR3, maximum of 4GB total (2GB per channel) | gpu = ARM Mali-T764 | vpu = | apu = | video = HDMI 1.4, MIPI DSI, 2-channel LVDS, 2-channel RGB LCD | audio = I2S, PCM | network = | storage = 4x SD Card, eMMC NAND, 2-channel raw NAND | usb = OTG, 2x Host | other = | release_date = June 2014 | website = http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html }} &nbsp; &nbsp; &nbsp; Integrated with a Quad-Core [https://en.wikipedia.org/wiki/ARM_Cortex-A17 Cortex-A17]&nbsp;which up to 1.8GHz and ARMMali-T764&nbsp;which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant&nbsp;interfaces provide&nbsp;a friendly solution for product&nbsp;development. Futhermore &nbsp; &nbsp; &nbsp; &nbsp; = Overview = The RK3288 offers<big><var>&nbsp;</var></big>an extensible, <big><small><tt>leading&nbsp;performance</tt></small></big>, long-standing heritage platform,ideally suited for &nbsp;set-top box solution, tablet and chromebook.The platform is integrated with a Quad-Core Cortex-A17 which up to 1.8GHz and ARM Mali-T764&nbsp;which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant&nbsp;interfaces provide&nbsp;a friendly solution for product&nbsp;development. Futhermore, the power consumption is&nbsp;optimal for applications such as imaging/video, communication and broadband infrastructure,and performance audio applications. &nbsp; = RK3288 SoC Features = {| border="0" cellpadding="1" cellspacing="1" style="width: 972px;" |- | style="width: 530px;" | *CPU: **Quad Core Cortex-A17&nbsp;up to 1.8GHz **32KB L1-Cache **1MB L2-Cache *GPU: **ARM Mali-T764 GPU, with TE, ASTC, AFBC technology **Quad core 3D Graphics engine **Dual core 2D Graphics engine **Comply with&nbsp;OpenGL ES1.1/2.0/3.0, OpenVG1.1, OpenCL, DirectX11 *Display: **4Kx2K@60fpsHDMI2.0 **Up to 3840X2160 display resolution **Support dual-channel LVDS/dual-channel MIPI-DSI/eDP1.1 *Camera: **Support up to 5M pixels **8bits/10bits/12bits raw data interface&nbsp; *Memory: **Dual channels 64-bit DRAM controller **Support DDR3/DDR3L, LPDDR2, LPDDR3 *Connectivity: **Embedded 13M ISP and MIPI-CSI2 interface *Audio: **I2S/PCM with 8 channels | style="width: 429px;" | [[File:3288.png|RTENOTITLE]] |} = Devices = Rockchip: EVB-RK3328 Firefly: [[Firefly-RK3288|Firefly-RK3288]]<br/> [[Firefly-RK3288_reload|Firefly-RK3288 reload]]<br/> [[Rock2_Square|Rock2 Square]]<br/> [[Rock2_Full|Rock2 Full]]<br/> [[MiQi|MiQi]]<br/> [[Popmetal|Popmetal]]<br/> [[Fennec|Fennec]]<br/> [[PhyCORE-RK3288|phyCORE-RK3288]] ASUS: Tinker board &nbsp; = Documentation = #[http://10.10.10.12:8444/images/4/4e/Rockchip_RK3288_Datasheet_V2.2-20170301.pdf Rockchip_RK3288_Datasheet_V2.2-20170301] #[http://10.10.10.12:8444/images/5/5a/RK3288硬件设计资料.rar RK3288硬件设计资料] = Software = == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" |- | '''board''' | '''kernel''' | '''uboot''' | '''dts''' |- | RK3288_MAINBOARD_V3.0 | rockchip_linux_defconfig | rk3288_linux_defconfig | rk-linux.dts |} &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" |- | '''chip''' | '''Kernel eMMC index''' | '''Kernel SD index''' | '''Uboot eMMC index''' | '''Uboot SD index''' | '''Baud speed''' |- | RK3288 | 1 | 0 | 0 | 1 | 115200 |} = See also = [[RK3328|RK3328]] [[RK3399|RK3399]] = References = #[https://en.wikipedia.org/wiki/ARM_Cortex-A17 https://en.wikipedia.org/wiki/ARM_Cortex-A17] #[http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html] b7dac07557a1c82089d18bce61e1bf87345f9800 721 720 2017-03-17T07:19:25Z Kever 2 wikitext text/x-wiki {{Infobox SoC | title = RK3288 | image = [[File:rk3288_soc.png|200px]] | manufacturer = Rockcihp | process = 28nm | cpu = Quad-Core ARM Cortex-A17 | ltwo = | extensions = | memory = 2-channel LPDDR3/LPDDR2/DDR3/DDR3L | gpu = ARM Mali-T764 | vpu = | apu = | video = HDMI 1.4, MIPI DSI, LVDS, RGB LCD | audio = I2S, PCM | network = | storage = 4x SD Card, eMMC, NAND | usb = OTG, 2x Host | other = | release_date = June 2014 | website = http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html }} &nbsp; &nbsp; &nbsp; Integrated with a Quad-Core [https://en.wikipedia.org/wiki/ARM_Cortex-A17 Cortex-A17]&nbsp;which up to 1.8GHz and ARMMali-T764&nbsp;which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant&nbsp;interfaces provide&nbsp;a friendly solution for product&nbsp;development. Futhermore &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; = Overview = The RK3288 offers<big><var>&nbsp;</var></big>an extensible, <big><small><tt>leading&nbsp;performance</tt></small></big>, long-standing heritage platform,ideally suited for &nbsp;set-top box solution, tablet and chromebook.The platform is integrated with a Quad-Core Cortex-A17 which up to 1.8GHz and ARM Mali-T764&nbsp;which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant&nbsp;interfaces provide&nbsp;a friendly solution for product&nbsp;development. Futhermore, the power consumption is&nbsp;optimal for applications such as imaging/video, communication and broadband infrastructure,and performance audio applications. &nbsp; = RK3288 SoC Features = {| border="0" cellpadding="1" cellspacing="1" style="width: 972px;" |- | style="width: 530px;" | *CPU: **Quad Core Cortex-A17&nbsp;up to 1.8GHz **32KB L1-Cache **1MB L2-Cache *GPU: **ARM Mali-T764 GPU, with TE, ASTC, AFBC technology **Quad core 3D Graphics engine **Dual core 2D Graphics engine **Comply with&nbsp;OpenGL ES1.1/2.0/3.0, OpenVG1.1, OpenCL, DirectX11 *Display: **4Kx2K@60fpsHDMI2.0 **Up to 3840X2160 display resolution **Support dual-channel LVDS/dual-channel MIPI-DSI/eDP1.1 *Camera: **Support up to 5M pixels **8bits/10bits/12bits raw data interface&nbsp; *Memory: **Dual channels 64-bit DRAM controller **Support DDR3/DDR3L, LPDDR2, LPDDR3 *Connectivity: **Embedded 13M ISP and MIPI-CSI2 interface *Audio: **I2S/PCM with 8 channels | style="width: 429px;" | [[File:3288.png|RTENOTITLE]] |} = Devices = Rockchip: EVB-RK3328 Firefly: [[Firefly-RK3288|Firefly-RK3288]]<br/> [[Firefly-RK3288_reload|Firefly-RK3288 reload]]<br/> [[Rock2_Square|Rock2 Square]]<br/> [[Rock2_Full|Rock2 Full]]<br/> [[MiQi|MiQi]]<br/> [[Popmetal|Popmetal]]<br/> [[Fennec|Fennec]]<br/> [[PhyCORE-RK3288|phyCORE-RK3288]] ASUS: Tinker board &nbsp; = Documentation = #[http://10.10.10.12:8444/images/4/4e/Rockchip_RK3288_Datasheet_V2.2-20170301.pdf Rockchip_RK3288_Datasheet_V2.2-20170301] #[http://10.10.10.12:8444/images/5/5a/RK3288硬件设计资料.rar RK3288硬件设计资料] = Software = == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" |- | '''board''' | '''kernel''' | '''uboot''' | '''dts''' |- | RK3288_MAINBOARD_V3.0 | rockchip_linux_defconfig | rk3288_linux_defconfig | rk-linux.dts |} &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" |- | '''chip''' | '''Kernel eMMC index''' | '''Kernel SD index''' | '''Uboot eMMC index''' | '''Uboot SD index''' | '''Baud speed''' |- | RK3288 | 1 | 0 | 0 | 1 | 115200 |} = See also = [[RK3328|RK3328]] [[RK3399|RK3399]] = References = #[https://en.wikipedia.org/wiki/ARM_Cortex-A17 https://en.wikipedia.org/wiki/ARM_Cortex-A17] #[http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html] 8dde9280a58fbcd342b7c33dff10d9a05f251558 RK3328 0 24 722 636 2017-03-17T07:21:48Z Kever 2 wikitext text/x-wiki {{Infobox SoC | title = RK3328 | image = [[File:rk3328_soc.png|250px]] | manufacturer = Rockcihp | process = 28nm | cpu = Quad-Core ARM Cortex-A53 | ltwo = | extensions = | memory = DDR3/DDR3L/LPDDR3/DDR4 | gpu = Mali-450MP4 | vpu = 4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps | apu = | video = HDMI 2.0a, | audio = 8 channels I2S/PDM | storage = 4x SD Card, eMMC | usb = 1* USB2.0 otg, 1* USB 2.0 Host, 1* USB 3.0 Host | other = | release_date = December 2016 | website = http://www.rock-chips.com/a/en/products/RK33_Series/2017/0118/829.html | Product Page }} &nbsp; &nbsp; &nbsp; = Overview = RK3328 offers a high-integration and power efficiency&nbsp;SOC for 4K HDR OTT/IPTV. It support HDR10 ,HLG HDR ,&nbsp;4K 10bits 30fps H.264 video decoder and 4K 10bits 60fps H265 video decoder.Comply with lots of high-performance interface,such as multi-channel display with HDMI2.0a, TV Encoder, the Quad-core GPU can acheive&nbsp;high-resolution display and game. == Cortex-A53 == Quad-core Cortex-A53 is integrated with separate Neon and FPU coprocessor, also with shared L2 Cache.&nbsp; &nbsp; &nbsp; = RK3328 SoC Features = {| border="0" cellpadding="1" cellspacing="1" style="width: 972px;" |- | style="width: 530px;" | *CPU: **ARM Cortex-A53&nbsp;Quad-Core&nbsp; *GPU **&nbsp;Mali-450MP4 **Comply with Open GL ES1.1/2.0 *Multi-Media: **4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps **1080P other video decoders (VC-1, MPEG-1/2/4, VP8) **1080P video encoder for H.264 and H.265 **Support HDR10 ,HLG HDR , Support conversion between SDR and HDR *Display: **HDMI 2.0a for 4K@60Hz with HDCP 1.4/2.2 **Support conversion between Rec.2020 and Rec.709 *Memory: **LPDDR3/DDR3/DDR3L/DDR4 **eMMC 4.51,SDCard, SPI Flash *External interface **USB 2.0 x2 and USB 3.0 x1 **100M Ethernet w/ built-in PHY **Built-in CVBS and audio DAC **8 channels I2S IO and 8 chanel digital PDM input (for MIC array) | style="width: 429px;" | [[File:3328.png|RTENOTITLE]] |} &nbsp; = Documentation = &nbsp; #[http://10.10.10.12:8444/images/9/9e/RK_DDR_Support_List_Ver2.24.pdf RK_DDR_Support_List_Ver2.24] #[http://10.10.10.12:8444/images/5/54/Rk3328_box_ref_v10_20170224.pdf Rk3328_box_ref_v10_20170224] #[http://10.10.10.12:8444/images/d/d7/Rockchip_RK3328_Datasheet_V1.1-20170309.pdf Rockchip_RK3328_Datasheet_V1.1-20170309] &nbsp; &nbsp; = Software = == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" |- | '''board''' | '''kernel''' | '''uboot''' | '''dts''' |- | RK_EVB_RK3228H_BOX_RK805_DDR3 | rockchip_linux_defconfig | rk3328_linux_defconfig | rk3328r-linux.dts |} &nbsp; &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" |- | '''chip''' | '''Kernel eMMC index''' | '''Kernel SD index''' | '''Uboot eMMC index''' | '''Uboot SD index''' | '''Baud speed''' |- | RK3399 | 1 | 0 | 0 | 1 | 1500000 |} == How to get the sources == The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code.&nbsp;Beside the generic community Linux support, we have chip optimized Linux SDK and it's also opensource and can get source from github. RK3399 optimized Debian & Buildroot <pre>repo init -u https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests -m rk3399.xml repo sync </pre> == How to build the sources == === Build Environment === You need a 64-bit&nbsp;Ubuntu. Note: old versions&nbsp;Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages:<br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so Install&nbsp;ARM cross-compile tool chain and compile kernel relative&nbsp;software package:&nbsp; $ sudo apt-get install gcc-arm-linux-gnueabihf&nbsp;gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev === Installing the build tools and download source === Please follow&nbsp;[http://rockchip.wikidot.com/linux-user-guide linux user guide]&nbsp;to install the build tools and download source. &nbsp; &nbsp; === Building kernel === empty === Building uboot === empty === Building rootfs === ==== Debian ==== You&nbsp;can download the prebuilt image directly. [http://pan.baidu.com/s/1eSE1tfW Baidu Pan]、[https://drive.google.com/folderview?id=0BwAJtUrQohwXdGRVYTAwdlJDOUU&usp=sharing Google Drive] or you could use the&nbsp;[https://github.com/rockchip-linux/rk-rootfs-build rootfs-build-script]&nbsp;from Rockchip to build rootfs yourselves. ==== Yocto ==== If you want to use Yocto to build your rootfs see&nbsp;[http://rockchip.wikidot.com/yocto-user-guide yocto-user-guide]&nbsp;for detail. ==== Buildroot ==== If you want to use Buildroot to build your rootfs see&nbsp;[http://rockchip.wikidot.com/buildroot-user-guide buildroot-user-guide]&nbsp;for detail. = Devices = If you need the rk3399-excavator&nbsp;board, please communicate through&nbsp;the following&nbsp;contact information. <pre>Telephone: 4007700590 Email: service@rock-chips.com</pre> &nbsp; = See also = [[RK3288|RK3288]] [[RK3399|RK3399]] = References = 1.[https://en.wikipedia.org/wiki/ARM_Cortex-A53 https://en.wikipedia.org/wiki/ARM_Cortex-A53] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; d4e1ff169a275c09f5300612f8ef251f76077e31 RK3328 0 24 726 722 2017-03-17T07:39:40Z Kever 2 wikitext text/x-wiki {{Infobox SoC | title = RK3328 | image = [[File:rk3328_soc.png|250px]] | manufacturer = Rockcihp | process = 28nm | cpu = Quad-Core ARM Cortex-A53 | ltwo = | extensions = | memory = DDR3/DDR3L/LPDDR3/DDR4 | gpu = Mali-450MP4 | vpu = 4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps | apu = | video = HDMI 2.0a, | audio = 8 channels I2S/PDM | storage = 4x SD Card, eMMC | usb = 1* USB2.0 otg, 1* USB 2.0 Host, 1* USB 3.0 Host | other = | release_date = December 2016 | website = http://www.rock-chips.com/a/en/products/RK33_Series/2017/0118/829.html | Product Page }} &nbsp; &nbsp; &nbsp; = Overview = RK3328 offers a high-integration and power efficiency&nbsp;SOC for 4K HDR OTT/IPTV. It support HDR10 ,HLG HDR ,&nbsp;4K 10bits 30fps H.264 video decoder and 4K 10bits 60fps H265 video decoder.Comply with lots of high-performance interface,such as multi-channel display with HDMI2.0a, TV Encoder, the Quad-core GPU can acheive&nbsp;high-resolution display and game. == Cortex-A53 == Quad-core Cortex-A53 is integrated with separate Neon and FPU coprocessor, also with shared L2 Cache.&nbsp; &nbsp; &nbsp; = RK3328 SoC Features = {| border="0" cellpadding="1" cellspacing="1" style="width: 972px;" |- | style="width: 530px;" | *CPU: **ARM Cortex-A53&nbsp;Quad-Core&nbsp; **32KB L1&nbsp;I cache and D cache for each CPU **256KB L2 cache *Internal SRAM **36KB *GPU **&nbsp;Mali-450MP4 **Comply with Open GL ES1.1/2.0 *Multi-Media: **4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps **1080P other video decoders (VC-1, MPEG-1/2/4, VP8) **1080P video encoder for H.264 and H.265 **Support HDR10 ,HLG HDR , Support conversion between SDR and HDR *Display: **HDMI 2.0a for 4K@60Hz with HDCP 1.4/2.2 **Support conversion between Rec.2020 and Rec.709 *Memory: **LPDDR3/DDR3/DDR3L/DDR4 **eMMC 4.51,SDCard, SPI Flash *External interface **USB 2.0 x2 and USB 3.0 x1 **100M Ethernet w/ built-in PHY **Built-in CVBS and audio DAC **8 channels I2S IO and 8 chanel digital PDM input (for MIC array) | style="width: 429px;" | [[File:3328.png|RTENOTITLE]] |} &nbsp; = Documentation = &nbsp; #[http://10.10.10.12:8444/images/9/9e/RK_DDR_Support_List_Ver2.24.pdf RK_DDR_Support_List_Ver2.24] #[http://10.10.10.12:8444/images/5/54/Rk3328_box_ref_v10_20170224.pdf Rk3328_box_ref_v10_20170224] #[http://10.10.10.12:8444/images/d/d7/Rockchip_RK3328_Datasheet_V1.1-20170309.pdf Rockchip_RK3328_Datasheet_V1.1-20170309] &nbsp; &nbsp; = Software = == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" |- | '''board''' | '''kernel''' | '''uboot''' | '''dts''' |- | RK_EVB_RK3228H_BOX_RK805_DDR3 | rockchip_linux_defconfig | rk3328_linux_defconfig | rk3328r-linux.dts |} &nbsp; &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" |- | '''chip''' | '''Kernel eMMC index''' | '''Kernel SD index''' | '''Uboot eMMC index''' | '''Uboot SD index''' | '''Baud speed''' |- | RK3399 | 1 | 0 | 0 | 1 | 1500000 |} See [[Linux_user_guide]] setup LInux OS generally; See [[U-Boot]] guide to develop U-Boot; See [[Rockchip_Kernel|Rockchip kernel]] or [[Upstream_Kernel|Upstream kernel]] to develop kernel; See [[Distribution]] to develop and custimize OS. = See also = [[RK3288|RK3288]] [[RK3399|RK3399]] = References = 1.[https://en.wikipedia.org/wiki/ARM_Cortex-A53 https://en.wikipedia.org/wiki/ARM_Cortex-A53] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 124027135906d2dd242b620331476f5e590447c5 727 726 2017-03-17T07:40:29Z Kever 2 wikitext text/x-wiki {{Infobox SoC | title = RK3328 | image = [[File:rk3328_soc.png|250px]] | manufacturer = Rockcihp | process = 28nm | cpu = Quad-Core ARM Cortex-A53 | ltwo = | extensions = | memory = DDR3/DDR3L/LPDDR3/DDR4 | gpu = Mali-450MP4 | vpu = 4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps | apu = | video = HDMI 2.0a, | audio = 8 channels I2S/PDM | storage = 4x SD Card, eMMC | usb = 1* USB2.0 otg, 1* USB 2.0 Host, 1* USB 3.0 Host | other = | release_date = December 2016 | website = http://www.rock-chips.com/a/en/products/RK33_Series/2017/0118/829.html | Product Page }} &nbsp; &nbsp; &nbsp; = Overview = RK3328 offers a high-integration and power efficiency&nbsp;SOC for 4K HDR OTT/IPTV. It support HDR10 ,HLG HDR ,&nbsp;4K 10bits 30fps H.264 video decoder and 4K 10bits 60fps H265 video decoder.Comply with lots of high-performance interface,such as multi-channel display with HDMI2.0a, TV Encoder, the Quad-core GPU can acheive&nbsp;high-resolution display and game. == Cortex-A53 == Quad-core Cortex-A53 is integrated with separate Neon and FPU coprocessor, also with shared L2 Cache.&nbsp; &nbsp; &nbsp; = RK3328 SoC Features = {| border="0" cellpadding="1" cellspacing="1" style="width: 972px;" |- | style="width: 530px;" | *CPU: **ARM Cortex-A53&nbsp;Quad-Core&nbsp; **32KB L1&nbsp;I cache and D cache for each CPU **256KB L2 cache *Internal SRAM **36KB *GPU **&nbsp;Mali-450MP4 **Comply with Open GL ES1.1/2.0 *Multi-Media: **4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps **1080P other video decoders (VC-1, MPEG-1/2/4, VP8) **1080P video encoder for H.264 and H.265 **Support HDR10 ,HLG HDR , Support conversion between SDR and HDR *Display: **HDMI 2.0a for 4K@60Hz with HDCP 1.4/2.2 **Support conversion between Rec.2020 and Rec.709 *Memory: **LPDDR3/DDR3/DDR3L/DDR4 **eMMC 4.51,SDCard, SPI Flash *External interface **USB 2.0 x2 and USB 3.0 x1 **100M Ethernet w/ built-in PHY **Built-in CVBS and audio DAC **8 channels I2S IO and 8 chanel digital PDM input (for MIC array) | style="width: 429px;" | [[File:3328.png|RTENOTITLE]] |} &nbsp; = Devices = &nbsp; = Documentation = &nbsp; #[http://10.10.10.12:8444/images/9/9e/RK_DDR_Support_List_Ver2.24.pdf RK_DDR_Support_List_Ver2.24] #[http://10.10.10.12:8444/images/5/54/Rk3328_box_ref_v10_20170224.pdf Rk3328_box_ref_v10_20170224] #[http://10.10.10.12:8444/images/d/d7/Rockchip_RK3328_Datasheet_V1.1-20170309.pdf Rockchip_RK3328_Datasheet_V1.1-20170309] &nbsp; &nbsp; = Software = == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" |- | '''board''' | '''kernel''' | '''uboot''' | '''dts''' |- | RK_EVB_RK3228H_BOX_RK805_DDR3 | rockchip_linux_defconfig | rk3328_linux_defconfig | rk3328r-linux.dts |} &nbsp; &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" |- | '''chip''' | '''Kernel eMMC index''' | '''Kernel SD index''' | '''Uboot eMMC index''' | '''Uboot SD index''' | '''Baud speed''' |- | RK3399 | 1 | 0 | 0 | 1 | 1500000 |} See [[Linux_user_guide|Linux_user_guide]] setup LInux OS generally; See [[U-Boot|U-Boot]] guide to develop U-Boot; See [[Rockchip_Kernel|Rockchip kernel]] or [[Upstream_Kernel|Upstream kernel]] to develop kernel; See [[Distribution|Distribution]] to develop and custimize OS. = See also = [[RK3288|RK3288]] [[RK3399|RK3399]] = References = 1.[https://en.wikipedia.org/wiki/ARM_Cortex-A53 https://en.wikipedia.org/wiki/ARM_Cortex-A53] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; c743837dca8b3281d52eb9afaacee60bf3ce99da 728 727 2017-03-17T07:42:57Z Kever 2 wikitext text/x-wiki {{Infobox SoC | title = RK3328 | image = [[File:rk3328_soc.png|250px]] | manufacturer = Rockcihp | process = 28nm | cpu = Quad-Core ARM Cortex-A53 | ltwo = | extensions = | memory = DDR3/DDR3L/LPDDR3/DDR4 | gpu = Mali-450MP4 | vpu = 4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps | apu = | video = HDMI 2.0a, | audio = 8 channels I2S/PDM | storage = 4x SD Card, eMMC | usb = 1* USB2.0 otg, 1* USB 2.0 Host, 1* USB 3.0 Host | other = | release_date = December 2016 | website = http://www.rock-chips.com/a/en/products/RK33_Series/2017/0118/829.html | Product Page }} &nbsp; &nbsp; &nbsp; = Overview = RK3328 offers a high-integration and power efficiency&nbsp;SOC for 4K HDR OTT/IPTV. It support HDR10 ,HLG HDR ,&nbsp;4K 10bits 30fps H.264 video decoder and 4K 10bits 60fps H265 video decoder.Comply with lots of high-performance interface,such as multi-channel display with HDMI2.0a, TV Encoder, the Quad-core GPU can acheive&nbsp;high-resolution display and game. == Cortex-A53 == Quad-core Cortex-A53 is integrated with separate Neon and FPU coprocessor, also with shared L2 Cache.&nbsp; &nbsp; &nbsp; = RK3328 SoC Features = {| border="0" cellpadding="1" cellspacing="1" style="width: 972px;" |- | style="width: 530px;" | *CPU: **ARM Cortex-A53&nbsp;Quad-Core&nbsp; **32KB L1&nbsp;I cache and D cache for each CPU **256KB L2 cache *Internal SRAM **36KB *GPU **&nbsp;Mali-450MP4 **Comply with Open GL ES1.1/2.0 *Multi-Media: **4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps **1080P other video decoders (VC-1, MPEG-1/2/4, VP8) **1080P video encoder for H.264 and H.265 **Support HDR10 ,HLG HDR , Support conversion between SDR and HDR *Display: **HDMI 2.0a for 4K@60Hz with HDCP 1.4/2.2 **Support conversion between Rec.2020 and Rec.709 *Memory: **LPDDR3/DDR3/DDR3L/DDR4 **eMMC 4.51,SDCard, SPI Flash *External interface **USB 2.0 x2 and USB 3.0 x1 **100M Ethernet w/ built-in PHY **Built-in CVBS and audio DAC **8 channels I2S IO and 8 chanel digital PDM input (for MIC array) | style="width: 429px;" | [[File:3328.png|RTENOTITLE]] |} &nbsp; = Devices = &nbsp; = Documentation = #[http://10.10.10.12:8444/images/5/54/Rk3328_box_ref_v10_20170224.pdf Rk3328_box_ref_v10_20170224] #[http://10.10.10.12:8444/images/d/d7/Rockchip_RK3328_Datasheet_V1.1-20170309.pdf Rockchip_RK3328_Datasheet_V1.1-20170309] &nbsp; &nbsp; = Software = == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" |- | '''board''' | '''kernel''' | '''uboot''' | '''dts''' |- | RK_EVB_RK3228H_BOX_RK805_DDR3 | rockchip_linux_defconfig | rk3328_linux_defconfig | rk3328r-linux.dts |} &nbsp; &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" |- | '''chip''' | '''Kernel eMMC index''' | '''Kernel SD index''' | '''Uboot eMMC index''' | '''Uboot SD index''' | '''Baud speed''' |- | RK3399 | 1 | 0 | 0 | 1 | 1500000 |} See [[Linux_user_guide|Linux_user_guide]] setup LInux OS generally; See [[U-Boot|U-Boot]] guide to develop U-Boot; See [[Rockchip_Kernel|Rockchip kernel]] or [[Upstream_Kernel|Upstream kernel]] to develop kernel; See [[Distribution|Distribution]] to develop and custimize OS. = See also = [[RK3288|RK3288]] [[RK3399|RK3399]] = References = 1.[https://en.wikipedia.org/wiki/ARM_Cortex-A53 https://en.wikipedia.org/wiki/ARM_Cortex-A53] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 680c20a8d3e56c2307f9765b5109eb3ed677f725 729 728 2017-03-17T07:43:27Z Kever 2 wikitext text/x-wiki {{Infobox SoC | title = RK3328 | image = [[File:rk3328_soc.png|250px]] | manufacturer = Rockcihp | process = 28nm | cpu = Quad-Core ARM Cortex-A53 | ltwo = | extensions = | memory = DDR3/DDR3L/LPDDR3/DDR4 | gpu = Mali-450MP4 | vpu = 4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps | apu = | video = HDMI 2.0a, | audio = 8 channels I2S/PDM | storage = 4x SD Card, eMMC | usb = 1* USB2.0 otg, 1* USB 2.0 Host, 1* USB 3.0 Host | other = | release_date = December 2016 | website = http://www.rock-chips.com/a/en/products/RK33_Series/2017/0118/829.html | Product Page }} &nbsp; &nbsp; &nbsp; = Overview = RK3328 offers a high-integration and power efficiency&nbsp;SOC for 4K HDR OTT/IPTV. It support HDR10 ,HLG HDR ,&nbsp;4K 10bits 30fps H.264 video decoder and 4K 10bits 60fps H265 video decoder.Comply with lots of high-performance interface,such as multi-channel display with HDMI2.0a, TV Encoder, the Quad-core GPU can acheive&nbsp;high-resolution display and game. == Cortex-A53 == Quad-core Cortex-A53 is integrated with separate Neon and FPU coprocessor, also with shared L2 Cache.&nbsp; &nbsp; &nbsp; = RK3328 SoC Features = {| border="0" cellpadding="1" cellspacing="1" style="width: 972px;" |- | style="width: 530px;" | *CPU: **ARM Cortex-A53&nbsp;Quad-Core&nbsp; **32KB L1&nbsp;I cache and D cache for each CPU **256KB L2 cache *Internal SRAM **36KB *GPU **&nbsp;Mali-450MP4 **Comply with Open GL ES1.1/2.0 *Multi-Media: **4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps **1080P other video decoders (VC-1, MPEG-1/2/4, VP8) **1080P video encoder for H.264 and H.265 **Support HDR10 ,HLG HDR , Support conversion between SDR and HDR *Display: **HDMI 2.0a for 4K@60Hz with HDCP 1.4/2.2 **Support conversion between Rec.2020 and Rec.709 *Memory: **LPDDR3/DDR3/DDR3L/DDR4 **eMMC 4.51,SDCard, SPI Flash *External interface **USB 2.0 x2 and USB 3.0 x1 **100M Ethernet w/ built-in PHY **Built-in CVBS and audio DAC **8 channels I2S IO and 8 chanel digital PDM input (for MIC array) | style="width: 429px;" | [[File:3328.png|RTENOTITLE]] |} &nbsp; = Devices = &nbsp; = Documentation = #[http://10.10.10.12:8444/images/5/54/Rk3328_box_ref_v10_20170224.pdf Rk3328_box_ref_v10_20170224] #[http://10.10.10.12:8444/images/d/d7/Rockchip_RK3328_Datasheet_V1.1-20170309.pdf Rockchip_RK3328_Datasheet_V1.1-20170309] &nbsp; &nbsp; = Software = == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" |- | '''board''' | '''kernel''' | '''uboot''' | '''dts''' |- | RK_EVB_RK3228H_BOX_RK805_DDR3 | rockchip_linux_defconfig | rk3328_linux_defconfig | rk3328r-linux.dts |} &nbsp; &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" |- | '''chip''' | '''Kernel eMMC index''' | '''Kernel SD index''' | '''Uboot eMMC index''' | '''Uboot SD index''' | '''Baud speed''' |- | RK3328 | 1 | 0 | 0 | 1 | 1500000 |} See [[Linux_user_guide|Linux_user_guide]] setup LInux OS generally; See [[U-Boot|U-Boot]] guide to develop U-Boot; See [[Rockchip_Kernel|Rockchip kernel]] or [[Upstream_Kernel|Upstream kernel]] to develop kernel; See [[Distribution|Distribution]] to develop and custimize OS. = See also = [[RK3288|RK3288]] [[RK3399|RK3399]] = References = 1.[https://en.wikipedia.org/wiki/ARM_Cortex-A53 https://en.wikipedia.org/wiki/ARM_Cortex-A53] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; a8a6fd433464679d97da054089eb6ef6561328d4 730 729 2017-03-17T07:44:38Z Kever 2 wikitext text/x-wiki {{Infobox SoC | title = RK3328 | image = [[File:rk3328_soc.png|250px]] | manufacturer = Rockcihp | process = 28nm | cpu = Quad-Core ARM Cortex-A53 | ltwo = | extensions = | memory = DDR3/DDR3L/LPDDR3/DDR4 | gpu = Mali-450MP4 | vpu = 4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps | apu = | video = HDMI 2.0a, | audio = 8 channels I2S/PDM | storage = 4x SD Card, eMMC | usb = 1* USB2.0 otg, 1* USB 2.0 Host, 1* USB 3.0 Host | other = | release_date = December 2016 | website = http://www.rock-chips.com/a/en/products/RK33_Series/2017/0118/829.html | Product Page }} &nbsp; &nbsp; &nbsp; = Overview = RK3328 offers a high-integration and power efficiency&nbsp;SOC for 4K HDR OTT/IPTV. It support HDR10 ,HLG HDR ,&nbsp;4K 10bits 30fps H.264 video decoder and 4K 10bits 60fps H265 video decoder.Comply with lots of high-performance interface,such as multi-channel display with HDMI2.0a, TV Encoder, the Quad-core GPU can acheive&nbsp;high-resolution display and game. == Cortex-A53 == Quad-core Cortex-A53 is integrated with separate Neon and FPU coprocessor, also with shared L2 Cache.&nbsp; &nbsp; &nbsp; = RK3328 SoC Features = {| border="0" cellpadding="1" cellspacing="1" style="width: 972px;" |- | style="width: 530px;" | *CPU: **ARM Cortex-A53&nbsp;Quad-Core&nbsp; **32KB L1&nbsp;I cache and D cache for each CPU **256KB L2 cache *Internal SRAM **36KB *GPU **&nbsp;Mali-450MP4 **Comply with Open GL ES1.1/2.0 *Multi-Media: **4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps **1080P other video decoders (VC-1, MPEG-1/2/4, VP8) **1080P video encoder for H.264 and H.265 **Support HDR10 ,HLG HDR , Support conversion between SDR and HDR *Display: **HDMI 2.0a for 4K@60Hz with HDCP 1.4/2.2 **Support conversion between Rec.2020 and Rec.709 *Memory: **LPDDR3/DDR3/DDR3L/DDR4 **eMMC 4.51,SDCard, SPI Flash *External interface **USB 2.0 x2 and USB 3.0 x1 **100M Ethernet w/ built-in PHY **Built-in CVBS and audio DAC **8 channels I2S IO and 8 chanel digital PDM input (for MIC array) | style="width: 429px;" | [[File:3328.png|RTENOTITLE]] |} &nbsp; = Devices = &nbsp; = Documentation = #[http://10.10.10.12:8444/images/5/54/Rk3328_box_ref_v10_20170224.pdf Rk3328_box_ref_v10_20170224] #[http://10.10.10.12:8444/images/d/d7/Rockchip_RK3328_Datasheet_V1.1-20170309.pdf Rockchip_RK3328_Datasheet_V1.1-20170309] &nbsp; &nbsp; = Software = See [[Linux_user_guide|Linux_user_guide]] setup LInux OS generally; See [[U-Boot|U-Boot]] guide to develop U-Boot; See [[Rockchip_Kernel|Rockchip kernel]] or [[Upstream_Kernel|Upstream kernel]] to develop kernel; See [[Distribution|Distribution]] to develop and custimize OS. == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" |- | '''board''' | '''kernel''' | '''uboot''' | '''dts''' |- | RK_EVB_RK3228H_BOX_RK805_DDR3 | rockchip_linux_defconfig | rk3328_linux_defconfig | rk3328r-linux.dts |} &nbsp; &nbsp; &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" |- | '''chip''' | '''Kernel eMMC index''' | '''Kernel SD index''' | '''Uboot eMMC index''' | '''Uboot SD index''' | '''Baud speed''' |- | RK3328 | 1 | 0 | 0 | 1 | 1500000 |} &nbsp; = See also = [[RK3288|RK3288]] [[RK3399|RK3399]] = References = 1.[https://en.wikipedia.org/wiki/ARM_Cortex-A53 https://en.wikipedia.org/wiki/ARM_Cortex-A53] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; be1903f3766b3f189eacede6576587c14000a7e9 738 730 2017-03-17T08:11:52Z Kever 2 wikitext text/x-wiki {{Infobox SoC | title = RK3328 | image = [[File:rk3328_soc.png|250px]] | manufacturer = Rockcihp | process = 28nm | cpu = Quad-Core ARM Cortex-A53 | ltwo = | extensions = | memory = DDR3/DDR3L/LPDDR3/DDR4 | gpu = Mali-450MP4 | vpu = 4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps | apu = | video = HDMI 2.0a, | audio = 8 channels I2S/PDM | storage = 4x SD Card, eMMC | usb = 1* USB2.0 otg, 1* USB 2.0 Host, 1* USB 3.0 Host | other = | release_date = December 2016 | website = http://www.rock-chips.com/a/en/products/RK33_Series/2017/0118/829.html | Product Page }} &nbsp; &nbsp; &nbsp; = Overview = RK3328 offers a high-integration and power efficiency&nbsp;SOC for 4K HDR OTT/IPTV. It support HDR10 ,HLG HDR ,&nbsp;4K 10bits 30fps H.264 video decoder and 4K 10bits 60fps H265 video decoder.Comply with lots of high-performance interface,such as multi-channel display with HDMI2.0a, TV Encoder, the Quad-core GPU can acheive&nbsp;high-resolution display and game. == Cortex-A53 == Quad-core Cortex-A53 is integrated with separate Neon and FPU coprocessor, also with shared L2 Cache.&nbsp; &nbsp; &nbsp; = RK3328 SoC Features = {| border="0" cellpadding="1" cellspacing="1" style="width: 972px;" |- | style="width: 530px;" | *CPU: **ARM Cortex-A53&nbsp;Quad-Core&nbsp; **32KB L1&nbsp;I cache and D cache for each CPU **256KB L2 cache *Internal SRAM **32KB total *GPU **&nbsp;Mali-450MP4 **Comply with Open GL ES1.1/2.0 *Multi-Media: **4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps **1080P other video decoders (VC-1, MPEG-1/2/4, VP8) **1080P video encoder for H.264 and H.265 **Support HDR10 ,HLG HDR , Support conversion between SDR and HDR *Display: **HDMI 2.0a for 4K@60Hz with HDCP 1.4/2.2 **Support conversion between Rec.2020 and Rec.709 *Memory: **LPDDR3/DDR3/DDR3L/DDR4 **eMMC 4.51,SDCard, SPI Flash *External interface **USB 2.0 x2 and USB 3.0 x1 **100M Ethernet w/ built-in PHY **Built-in CVBS and audio DAC **8 channels I2S IO and 8 chanel digital PDM input (for MIC array) | style="width: 429px;" | [[File:3328.png|RTENOTITLE]] |} &nbsp; = Devices = &nbsp; = Documentation = #[http://10.10.10.12:8444/images/5/54/Rk3328_box_ref_v10_20170224.pdf Rk3328_box_ref_v10_20170224] #[http://10.10.10.12:8444/images/d/d7/Rockchip_RK3328_Datasheet_V1.1-20170309.pdf Rockchip_RK3328_Datasheet_V1.1-20170309] &nbsp; &nbsp; = Software = See [[Linux_user_guide|Linux_user_guide]] setup LInux OS generally; See [[U-Boot|U-Boot]] guide to develop U-Boot; See [[Rockchip_Kernel|Rockchip kernel]] or [[Upstream_Kernel|Upstream kernel]] to develop kernel; See [[Distribution|Distribution]] to develop and custimize OS. == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" |- | '''board''' | '''kernel''' | '''uboot''' | '''dts''' |- | RK_EVB_RK3228H_BOX_RK805_DDR3 | rockchip_linux_defconfig | rk3328_linux_defconfig | rk3328r-linux.dts |} &nbsp; &nbsp; &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" |- | '''chip''' | '''Kernel eMMC index''' | '''Kernel SD index''' | '''Uboot eMMC index''' | '''Uboot SD index''' | '''Baud speed''' |- | RK3328 | 1 | 0 | 0 | 1 | 1500000 |} &nbsp; = See also = [[RK3288|RK3288]] [[RK3399|RK3399]] = References = 1.[https://en.wikipedia.org/wiki/ARM_Cortex-A53 https://en.wikipedia.org/wiki/ARM_Cortex-A53] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; f50bf9c4c3c5ac70897e13f56967b649220c9592 740 738 2017-03-17T08:27:59Z Admin 1 wikitext text/x-wiki {{Infobox SoC | title = RK3328 | image = [[File:rk3328_soc.png|250px]] | manufacturer = Rockcihp | process = 28nm | cpu = Quad-Core ARM Cortex-A53 | ltwo = | extensions = | memory = DDR3/DDR3L/LPDDR3/DDR4 | gpu = Mali-450MP4 | vpu = 4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps | apu = | video = HDMI 2.0a, | audio = 8 channels I2S/PDM | storage = 4x SD Card, eMMC | usb = 1* USB2.0 otg, 1* USB 2.0 Host, 1* USB 3.0 Host | other = | release_date = December 2016 | website = http://www.rock-chips.com/a/en/products/RK33_Series/2017/0118/829.html | Product Page }} &nbsp; &nbsp; &nbsp; = Overview = RK3328 offers a high-integration and power efficiency&nbsp;SOC for 4K HDR OTT/IPTV. It support HDR10 ,HLG HDR ,&nbsp;4K 10bits 30fps H.264 video decoder and 4K 10bits 60fps H265 video decoder.Comply with lots of high-performance interface,such as multi-channel display with HDMI2.0a, TV Encoder, the Quad-core GPU can acheive&nbsp;high-resolution display and game. == Cortex-A53 == Quad-core Cortex-A53 is integrated with separate Neon and FPU coprocessor, also with shared L2 Cache.&nbsp; &nbsp; &nbsp; &nbsp; = RK3328 SoC Features = {| border="0" cellpadding="1" cellspacing="1" style="width: 972px;" |- | style="width: 530px;" | *CPU: **ARM Cortex-A53&nbsp;Quad-Core&nbsp; **32KB L1&nbsp;I cache and D cache for each CPU **256KB L2 cache *Internal SRAM **32KB total *GPU **&nbsp;Mali-450MP4 **Comply with Open GL ES1.1/2.0 *Multi-Media: **4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps **1080P other video decoders (VC-1, MPEG-1/2/4, VP8) **1080P video encoder for H.264 and H.265 **Support HDR10 ,HLG HDR , Support conversion between SDR and HDR *Display: **HDMI 2.0a for 4K@60Hz with HDCP 1.4/2.2 **Support conversion between Rec.2020 and Rec.709 *Memory: **LPDDR3/DDR3/DDR3L/DDR4 **eMMC 4.51,SDCard, SPI Flash *External interface **USB 2.0 x2 and USB 3.0 x1 **100M Ethernet w/ built-in PHY **Built-in CVBS and audio DAC **8 channels I2S IO and 8 chanel digital PDM input (for MIC array) | style="width: 429px;" | [[File:3328.png|RTENOTITLE]] |} &nbsp; = Devices = &nbsp; &nbsp; = Documentation = #[http://10.10.10.12:8444/images/5/54/Rk3328_box_ref_v10_20170224.pdf Rk3328_box_ref_v10_20170224] #[http://10.10.10.12:8444/images/d/d7/Rockchip_RK3328_Datasheet_V1.1-20170309.pdf Rockchip_RK3328_Datasheet_V1.1-20170309] &nbsp; &nbsp; &nbsp; = Software = See [[Linux_user_guide|Linux_user_guide]] setup LInux OS generally; See [[U-Boot|U-Boot]] guide to develop U-Boot; See [[Rockchip_Kernel|Rockchip kernel]] or [[Upstream_Kernel|Upstream kernel]] to develop kernel; See [[Distribution|Distribution]] to develop and custimize OS. == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" |- | '''board''' | '''kernel''' | '''uboot''' | '''dts''' |- | RK_EVB_RK3228H_BOX_RK805_DDR3 | rockchip_linux_defconfig | rk3328_linux_defconfig | rk3328r-linux.dts |} &nbsp; &nbsp; &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" |- | '''chip''' | '''Kernel eMMC index''' | '''Kernel SD index''' | '''Uboot eMMC index''' | '''Uboot SD index''' | '''Baud speed''' |- | RK3328 | 1 | 0 | 0 | 1 | 1500000 |} &nbsp; = See also = [[RK3288|RK3288]] [[RK3399|RK3399]] = References = 1.[https://en.wikipedia.org/wiki/ARM_Cortex-A53 https://en.wikipedia.org/wiki/ARM_Cortex-A53] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; b9570213e2485b0a3b42736f7c75cc1228d9e396 RK3288 0 20 731 721 2017-03-17T07:45:37Z Kever 2 wikitext text/x-wiki {{Infobox SoC | title = RK3288 | image = [[File:rk3288_soc.png|200px]] | manufacturer = Rockcihp | process = 28nm | cpu = Quad-Core ARM Cortex-A17 | ltwo = | extensions = | memory = 2-channel LPDDR3/LPDDR2/DDR3/DDR3L | gpu = ARM Mali-T764 | vpu = | apu = | video = HDMI 1.4, MIPI DSI, LVDS, RGB LCD | audio = I2S, PCM | network = | storage = 4x SD Card, eMMC, NAND | usb = OTG, 2x Host | other = | release_date = June 2014 | website = http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html }} &nbsp; &nbsp; &nbsp; Integrated with a Quad-Core [https://en.wikipedia.org/wiki/ARM_Cortex-A17 Cortex-A17]&nbsp;which up to 1.8GHz and ARMMali-T764&nbsp;which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant&nbsp;interfaces provide&nbsp;a friendly solution for product&nbsp;development. Futhermore &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; = Overview = The RK3288 offers<big><var>&nbsp;</var></big>an extensible, <big><small><tt>leading&nbsp;performance</tt></small></big>, long-standing heritage platform,ideally suited for &nbsp;set-top box solution, tablet and chromebook.The platform is integrated with a Quad-Core Cortex-A17 which up to 1.8GHz and ARM Mali-T764&nbsp;which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant&nbsp;interfaces provide&nbsp;a friendly solution for product&nbsp;development. Futhermore, the power consumption is&nbsp;optimal for applications such as imaging/video, communication and broadband infrastructure,and performance audio applications. &nbsp; = RK3288 SoC Features = {| border="0" cellpadding="1" cellspacing="1" style="width: 972px;" |- | style="width: 530px;" | *CPU: **Quad Core Cortex-A17&nbsp;up to 1.8GHz **32KB L1-Cache **1MB L2-Cache *GPU: **ARM Mali-T764 GPU, with TE, ASTC, AFBC technology **Quad core 3D Graphics engine **Dual core 2D Graphics engine **Comply with&nbsp;OpenGL ES1.1/2.0/3.0, OpenVG1.1, OpenCL, DirectX11 *Display: **4Kx2K@60fpsHDMI2.0 **Up to 3840X2160 display resolution **Support dual-channel LVDS/dual-channel MIPI-DSI/eDP1.1 *Camera: **Support up to 5M pixels **8bits/10bits/12bits raw data interface&nbsp; *Memory: **Dual channels 64-bit DRAM controller **Support DDR3/DDR3L, LPDDR2, LPDDR3 *Connectivity: **Embedded 13M ISP and MIPI-CSI2 interface *Audio: **I2S/PCM with 8 channels | style="width: 429px;" | [[File:3288.png|RTENOTITLE]] |} = Devices = Rockchip: EVB-RK3328 Firefly: [[Firefly-RK3288|Firefly-RK3288]]<br/> [[Firefly-RK3288_reload|Firefly-RK3288 reload]]<br/> [[Rock2_Square|Rock2 Square]]<br/> [[Rock2_Full|Rock2 Full]]<br/> [[MiQi|MiQi]]<br/> [[Popmetal|Popmetal]]<br/> [[Fennec|Fennec]]<br/> [[PhyCORE-RK3288|phyCORE-RK3288]] ASUS: Tinker board &nbsp; = Documentation = #[http://10.10.10.12:8444/images/4/4e/Rockchip_RK3288_Datasheet_V2.2-20170301.pdf Rockchip_RK3288_Datasheet_V2.2-20170301] #[http://10.10.10.12:8444/images/5/5a/RK3288硬件设计资料.rar RK3288硬件设计资料] = Software = See [[Linux_user_guide|Linux_user_guide]] setup LInux OS generally; See [[U-Boot|U-Boot]] guide to develop U-Boot; See [[Rockchip_Kernel|Rockchip kernel]] or [[Upstream_Kernel|Upstream kernel]] to develop kernel; See [[Distribution|Distribution]] to develop and custimize OS. == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" |- | '''board''' | '''kernel''' | '''uboot''' | '''dts''' |- | RK3288_MAINBOARD_V3.0 | rockchip_linux_defconfig | rk3288_linux_defconfig | rk-linux.dts |} &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" |- | '''chip''' | '''Kernel eMMC index''' | '''Kernel SD index''' | '''Uboot eMMC index''' | '''Uboot SD index''' | '''Baud speed''' |- | RK3288 | 1 | 0 | 0 | 1 | 115200 |} = See also = [[RK3328|RK3328]] [[RK3399|RK3399]] = References = #[https://en.wikipedia.org/wiki/ARM_Cortex-A17 https://en.wikipedia.org/wiki/ARM_Cortex-A17] #[http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html] 7aaf87591bef5d732e0e8d98c57a63a9c4a87357 732 731 2017-03-17T07:46:09Z Kever 2 wikitext text/x-wiki {{Infobox SoC | title = RK3288 | image = [[File:rk3288_soc.png|200px]] | manufacturer = Rockcihp | process = 28nm | cpu = Quad-Core ARM Cortex-A17 | ltwo = | extensions = | memory = 2-channel LPDDR3/LPDDR2/DDR3/DDR3L | gpu = ARM Mali-T764 | vpu = | apu = | video = HDMI 1.4, MIPI DSI, LVDS, RGB LCD | audio = I2S, PCM | network = | storage = 4x SD Card, eMMC, NAND | usb = OTG, 2x Host | other = | release_date = June 2014 | website = http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html }} &nbsp; &nbsp; &nbsp; Integrated with a Quad-Core [https://en.wikipedia.org/wiki/ARM_Cortex-A17 Cortex-A17]&nbsp;which up to 1.8GHz and ARMMali-T764&nbsp;which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant&nbsp;interfaces provide&nbsp;a friendly solution for product&nbsp;development. Futhermore &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; = Overview = The RK3288 offers<big><var>&nbsp;</var></big>an extensible, <big><small><tt>leading&nbsp;performance</tt></small></big>, long-standing heritage platform,ideally suited for &nbsp;set-top box solution, tablet and chromebook.The platform is integrated with a Quad-Core Cortex-A17 which up to 1.8GHz and ARM Mali-T764&nbsp;which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant&nbsp;interfaces provide&nbsp;a friendly solution for product&nbsp;development. Futhermore, the power consumption is&nbsp;optimal for applications such as imaging/video, communication and broadband infrastructure,and performance audio applications. &nbsp; = RK3288 SoC Features = {| border="0" cellpadding="1" cellspacing="1" style="width: 972px;" |- | style="width: 530px;" | *CPU: **Quad Core Cortex-A17&nbsp;up to 1.8GHz **32KB L1-Cache **1MB L2-Cache *GPU: **ARM Mali-T764 GPU, with TE, ASTC, AFBC technology **Quad core 3D Graphics engine **Dual core 2D Graphics engine **Comply with&nbsp;OpenGL ES1.1/2.0/3.0, OpenVG1.1, OpenCL, DirectX11 *Display: **4Kx2K@60fpsHDMI2.0 **Up to 3840X2160 display resolution **Support dual-channel LVDS/dual-channel MIPI-DSI/eDP1.1 *Camera: **Support up to 5M pixels **8bits/10bits/12bits raw data interface&nbsp; *Memory: **Dual channels 64-bit DRAM controller **Support DDR3/DDR3L, LPDDR2, LPDDR3 *Connectivity: **Embedded 13M ISP and MIPI-CSI2 interface *Audio: **I2S/PCM with 8 channels | style="width: 429px;" | [[File:3288.png|RTENOTITLE]] |} = Devices = Rockchip: EVB-RK3328 Firefly: [[Firefly-RK3288|Firefly-RK3288]]<br/> [[Firefly-RK3288_reload|Firefly-RK3288 reload]]<br/> [[Rock2_Square|Rock2 Square]]<br/> [[Rock2_Full|Rock2 Full]]<br/> [[MiQi|MiQi]]<br/> [[Popmetal|Popmetal]]<br/> [[Fennec|Fennec]]<br/> [[PhyCORE-RK3288|phyCORE-RK3288]] ASUS: Tinker board &nbsp; = Documentation = #[http://10.10.10.12:8444/images/4/4e/Rockchip_RK3288_Datasheet_V2.2-20170301.pdf Rockchip_RK3288_Datasheet_V2.2-20170301] #[http://10.10.10.12:8444/images/5/5a/RK3288硬件设计资料.rar RK3288硬件设计资料] = Software = See [[Linux_user_guide|Linux_user_guide]] setup Linux OS generally; See [[U-Boot|U-Boot]] guide to develop U-Boot; See [[Rockchip_Kernel|Rockchip kernel]] or [[Upstream_Kernel|Upstream kernel]] to develop kernel; See [[Distribution|Distribution]] to develop and custimize OS. == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" |- | '''board''' | '''kernel''' | '''uboot''' | '''dts''' |- | RK3288_MAINBOARD_V3.0 | rockchip_linux_defconfig | rk3288_linux_defconfig | rk-linux.dts |} &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" |- | '''chip''' | '''Kernel eMMC index''' | '''Kernel SD index''' | '''Uboot eMMC index''' | '''Uboot SD index''' | '''Baud speed''' |- | RK3288 | 1 | 0 | 0 | 1 | 115200 |} = See also = [[RK3328|RK3328]] [[RK3399|RK3399]] = References = #[https://en.wikipedia.org/wiki/ARM_Cortex-A17 https://en.wikipedia.org/wiki/ARM_Cortex-A17] #[http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html] 55d625875d4ce2d1321d22625c0e4d1a540d7382 733 732 2017-03-17T07:50:44Z Kever 2 wikitext text/x-wiki {{Infobox SoC | title = RK3288 | image = [[File:rk3288_soc.png|200px]] | manufacturer = Rockcihp | process = 28nm | cpu = Quad-Core ARM Cortex-A17 | ltwo = | extensions = | memory = 2-channel LPDDR3/LPDDR2/DDR3/DDR3L | gpu = ARM Mali-T764 | vpu = | apu = | video = HDMI 1.4, MIPI DSI, LVDS, RGB LCD | audio = I2S, PCM | network = | storage = 4x SD Card, eMMC, NAND | usb = OTG, 2x Host | other = | release_date = June 2014 | website = http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html }} &nbsp; &nbsp; &nbsp; Integrated with a Quad-Core [https://en.wikipedia.org/wiki/ARM_Cortex-A17 Cortex-A17]&nbsp;which up to 1.8GHz and ARMMali-T764&nbsp;which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant&nbsp;interfaces provide&nbsp;a friendly solution for product&nbsp;development. Futhermore &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; = Overview = The RK3288 offers<big><var>&nbsp;</var></big>an extensible, <big><small><tt>leading&nbsp;performance</tt></small></big>, long-standing heritage platform,ideally suited for &nbsp;set-top box solution, tablet and chromebook.The platform is integrated with a Quad-Core Cortex-A17 which up to 1.8GHz and ARM Mali-T764&nbsp;which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant&nbsp;interfaces provide&nbsp;a friendly solution for product&nbsp;development. Futhermore, the power consumption is&nbsp;optimal for applications such as imaging/video, communication and broadband infrastructure,and performance audio applications. &nbsp; = RK3288 SoC Features = {| border="0" cellpadding="1" cellspacing="1" style="width: 972px;" |- | style="width: 530px;" | *CPU: **Quad Core Cortex-A17&nbsp;up to 1.8GHz **32KB L1-Cache **1MB L2-Cache *Internal SRAM **100KB total **First 16KB used by Bootrom when bootup *GPU: **ARM Mali-T764 GPU, with TE, ASTC, AFBC technology **Quad core 3D Graphics engine **Dual core 2D Graphics engine **Comply with&nbsp;OpenGL ES1.1/2.0/3.0, OpenVG1.1, OpenCL, DirectX11 *Display: **4Kx2K@60fpsHDMI2.0 **Up to 3840X2160 display resolution **Support dual-channel LVDS/dual-channel MIPI-DSI/eDP1.1 *Camera: **Support up to 5M pixels **8bits/10bits/12bits raw data interface&nbsp; *Memory: **Dual channels 64-bit DRAM controller **Support DDR3/DDR3L, LPDDR2, LPDDR3 *Connectivity: **Embedded 13M ISP and MIPI-CSI2 interface *Audio: **I2S/PCM with 8 channels | style="width: 429px;" | [[File:3288.png|RTENOTITLE]] |} = Devices = Rockchip: EVB-RK3328 Firefly: [[Firefly-RK3288|Firefly-RK3288]]<br/> [[Firefly-RK3288_reload|Firefly-RK3288 reload]]<br/> [[Rock2_Square|Rock2 Square]]<br/> [[Rock2_Full|Rock2 Full]]<br/> [[MiQi|MiQi]]<br/> [[Popmetal|Popmetal]]<br/> [[Fennec|Fennec]]<br/> [[PhyCORE-RK3288|phyCORE-RK3288]] ASUS: Tinker board &nbsp; = Documentation = #[http://10.10.10.12:8444/images/4/4e/Rockchip_RK3288_Datasheet_V2.2-20170301.pdf Rockchip_RK3288_Datasheet_V2.2-20170301] #[http://10.10.10.12:8444/images/5/5a/RK3288硬件设计资料.rar RK3288硬件设计资料] = Software = See [[Linux_user_guide|Linux_user_guide]] setup Linux OS generally; See [[U-Boot|U-Boot]] guide to develop U-Boot; See [[Rockchip_Kernel|Rockchip kernel]] or [[Upstream_Kernel|Upstream kernel]] to develop kernel; See [[Distribution|Distribution]] to develop and custimize OS. == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" |- | '''board''' | '''kernel''' | '''uboot''' | '''dts''' |- | RK3288_MAINBOARD_V3.0 | rockchip_linux_defconfig | rk3288_linux_defconfig | rk-linux.dts |} &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" |- | '''chip''' | '''Kernel eMMC index''' | '''Kernel SD index''' | '''Uboot eMMC index''' | '''Uboot SD index''' | '''Baud speed''' |- | RK3288 | 1 | 0 | 0 | 1 | 115200 |} = See also = [[RK3328|RK3328]] [[RK3399|RK3399]] = References = #[https://en.wikipedia.org/wiki/ARM_Cortex-A17 https://en.wikipedia.org/wiki/ARM_Cortex-A17] #[http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html] db4f950252b4e201e59f0226517a06e0c824596f 736 733 2017-03-17T08:11:26Z Kever 2 wikitext text/x-wiki {{Infobox SoC | title = RK3288 | image = [[File:rk3288_soc.png|200px]] | manufacturer = Rockcihp | process = 28nm | cpu = Quad-Core ARM Cortex-A17 | ltwo = | extensions = | memory = 2-channel LPDDR3/LPDDR2/DDR3/DDR3L | gpu = ARM Mali-T764 | vpu = | apu = | video = HDMI 1.4, MIPI DSI, LVDS, RGB LCD | audio = I2S, PCM | network = | storage = 4x SD Card, eMMC, NAND | usb = OTG, 2x Host | other = | release_date = June 2014 | website = http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html }} &nbsp; &nbsp; &nbsp; Integrated with a Quad-Core [https://en.wikipedia.org/wiki/ARM_Cortex-A17 Cortex-A17]&nbsp;which up to 1.8GHz and ARMMali-T764&nbsp;which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant&nbsp;interfaces provide&nbsp;a friendly solution for product&nbsp;development. Futhermore &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; = Overview = The RK3288 offers<big><var>&nbsp;</var></big>an extensible, <big><small><tt>leading&nbsp;performance</tt></small></big>, long-standing heritage platform,ideally suited for &nbsp;set-top box solution, tablet and chromebook.The platform is integrated with a Quad-Core Cortex-A17 which up to 1.8GHz and ARM Mali-T764&nbsp;which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant&nbsp;interfaces provide&nbsp;a friendly solution for product&nbsp;development. Futhermore, the power consumption is&nbsp;optimal for applications such as imaging/video, communication and broadband infrastructure,and performance audio applications. &nbsp; = RK3288 SoC Features = {| border="0" cellpadding="1" cellspacing="1" style="width: 972px;" |- | style="width: 530px;" | *CPU: **Quad Core Cortex-A17&nbsp;up to 1.8GHz **32KB L1-Cache **1MB L2-Cache *Internal SRAM **96KB total **First 16KB used by Bootrom when bootup *GPU: **ARM Mali-T764 GPU, with TE, ASTC, AFBC technology **Quad core 3D Graphics engine **Dual core 2D Graphics engine **Comply with&nbsp;OpenGL ES1.1/2.0/3.0, OpenVG1.1, OpenCL, DirectX11 *Display: **4Kx2K@60fpsHDMI2.0 **Up to 3840X2160 display resolution **Support dual-channel LVDS/dual-channel MIPI-DSI/eDP1.1 *Camera: **Support up to 5M pixels **8bits/10bits/12bits raw data interface&nbsp; *Memory: **Dual channels 64-bit DRAM controller **Support DDR3/DDR3L, LPDDR2, LPDDR3 *Connectivity: **Embedded 13M ISP and MIPI-CSI2 interface *Audio: **I2S/PCM with 8 channels | style="width: 429px;" | [[File:3288.png|RTENOTITLE]] |} = Devices = Rockchip: EVB-RK3328 Firefly: [[Firefly-RK3288|Firefly-RK3288]]<br/> [[Firefly-RK3288_reload|Firefly-RK3288 reload]]<br/> [[Rock2_Square|Rock2 Square]]<br/> [[Rock2_Full|Rock2 Full]]<br/> [[MiQi|MiQi]]<br/> [[Popmetal|Popmetal]]<br/> [[Fennec|Fennec]]<br/> [[PhyCORE-RK3288|phyCORE-RK3288]] ASUS: Tinker board &nbsp; = Documentation = #[http://10.10.10.12:8444/images/4/4e/Rockchip_RK3288_Datasheet_V2.2-20170301.pdf Rockchip_RK3288_Datasheet_V2.2-20170301] #[http://10.10.10.12:8444/images/5/5a/RK3288硬件设计资料.rar RK3288硬件设计资料] = Software = See [[Linux_user_guide|Linux_user_guide]] setup Linux OS generally; See [[U-Boot|U-Boot]] guide to develop U-Boot; See [[Rockchip_Kernel|Rockchip kernel]] or [[Upstream_Kernel|Upstream kernel]] to develop kernel; See [[Distribution|Distribution]] to develop and custimize OS. == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" |- | '''board''' | '''kernel''' | '''uboot''' | '''dts''' |- | RK3288_MAINBOARD_V3.0 | rockchip_linux_defconfig | rk3288_linux_defconfig | rk-linux.dts |} &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" |- | '''chip''' | '''Kernel eMMC index''' | '''Kernel SD index''' | '''Uboot eMMC index''' | '''Uboot SD index''' | '''Baud speed''' |- | RK3288 | 1 | 0 | 0 | 1 | 115200 |} = See also = [[RK3328|RK3328]] [[RK3399|RK3399]] = References = #[https://en.wikipedia.org/wiki/ARM_Cortex-A17 https://en.wikipedia.org/wiki/ARM_Cortex-A17] #[http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html] 78e60d5af532a92bd98cd40e756aac4d92ee1cea 771 736 2017-03-20T01:31:38Z Karen 3 wikitext text/x-wiki {{Infobox SoC | title = RK3288 | image = [[File:rk3288_soc.png|200px]] | manufacturer = Rockcihp | process = 28nm | cpu = Quad-Core ARM Cortex-A17 | ltwo = | extensions = | memory = 2-channel LPDDR3/LPDDR2/DDR3/DDR3L | gpu = ARM Mali-T764 | vpu = | apu = | video = HDMI 1.4, MIPI DSI, LVDS, RGB LCD | audio = I2S, PCM | network = | storage = 4x SD Card, eMMC, NAND | usb = OTG, 2x Host | other = | release_date = June 2014 | website = http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html }} &nbsp; &nbsp; &nbsp; Integrated with a Quad-Core [https://en.wikipedia.org/wiki/ARM_Cortex-A17 Cortex-A17]&nbsp;which up to 1.8GHz and ARMMali-T764&nbsp;which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant&nbsp;interfaces provide&nbsp;a friendly solution for product&nbsp;development. Futhermore &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; = Overview = The RK3288 offers<big><var>&nbsp;</var></big>an extensible, <big><small><tt>leading&nbsp;performance</tt></small></big>, long-standing heritage platform,ideally suited for &nbsp;set-top box solution, tablet and chromebook.The platform is integrated with a Quad-Core Cortex-A17 which up to 1.8GHz and ARM Mali-T764&nbsp;which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant&nbsp;interfaces provide&nbsp;a friendly solution for product&nbsp;development. Futhermore, the power consumption is&nbsp;optimal for applications such as imaging/video, communication and broadband infrastructure,and performance audio applications. &nbsp; = RK3288 SoC Features = {| border="0" cellpadding="1" cellspacing="1" style="width: 972px;" |- | style="width: 530px;" | *CPU: **Quad Core Cortex-A17&nbsp;up to 1.8GHz **32KB L1-Cache **1MB L2-Cache *Internal SRAM **96KB total **First 16KB used by Bootrom when bootup *GPU: **ARM Mali-T764 GPU, with TE, ASTC, AFBC technology **Quad core 3D Graphics engine **Dual core 2D Graphics engine **Comply with&nbsp;OpenGL ES1.1/2.0/3.0, OpenVG1.1, OpenCL, DirectX11 *Display: **4Kx2K@60fpsHDMI2.0 **Up to 3840X2160 display resolution **Support dual-channel LVDS/dual-channel MIPI-DSI/eDP1.1 *Camera: **Support up to 5M pixels **8bits/10bits/12bits raw data interface&nbsp; *Memory: **Dual channels 64-bit DRAM controller **Support DDR3/DDR3L, LPDDR2, LPDDR3 *Connectivity: **Embedded 13M ISP and MIPI-CSI2 interface *Audio: **I2S/PCM with 8 channels | style="width: 429px;" | [[File:3288.png|RTENOTITLE]] |} = Devices = Rockchip: EVB-RK3328 Firefly: [[Firefly-RK3288|Firefly-RK3288]]<br/> [[Firefly-RK3288_reload|Firefly-RK3288 reload]]<br/> [[Rock2_Square|Rock2 Square]]<br/> [[Rock2_Full|Rock2 Full]]<br/> [[MiQi|MiQi]]<br/> [[Popmetal|Popmetal]]<br/> [[Fennec|Fennec]]<br/> [[PhyCORE-RK3288|phyCORE-RK3288]] ASUS: Tinker board &nbsp; = Documentation = #[http://10.10.10.12:8444/images/4/4e/Rockchip_RK3288_Datasheet_V2.2-20170301.pdf Rockchip_RK3288_Datasheet_V2.2-20170301] #[http://10.10.10.12:8444/images/5/5a/RK3288硬件设计资料.rar RK3288硬件设计资料] = Software = See [[Linux_user_guide|Linux_user_guide]] setup Linux OS generally; See [[U-Boot|U-Boot]] guide to develop U-Boot; See [[Rockchip_Kernel|Rockchip kernel]] or [[Upstream_Kernel|Upstream kernel]] to develop kernel; See [[Distribution|Distribution]] to develop and custimize OS. == Board configuration == {| border="1" cellpadding="1" cellspacing="1" |- | '''board''' | '''kernel''' | '''uboot''' | '''dts''' |- | RK3288_MAINBOARD_V3.0 | rockchip_linux_defconfig | rk3288_linux_defconfig | rk-linux.dts |} &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" |- | '''chip''' | '''Kernel eMMC index''' | '''Kernel SD index''' | '''Uboot eMMC index''' | '''Uboot SD index''' | '''Baud speed''' |- | RK3288 | 1 | 0 | 0 | 1 | 115200 |} = See also = [[RK3328|RK3328]] [[RK3399|RK3399]] = References = #[https://en.wikipedia.org/wiki/ARM_Cortex-A17 https://en.wikipedia.org/wiki/ARM_Cortex-A17] #[http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html] 8e11e1a0e9a4da735d78e9e426229f39b45a8717 RK3399 0 21 734 630 2017-03-17T07:57:25Z Kever 2 wikitext text/x-wiki Rockchip RK3399 SoC integrates&nbsp;dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor, and with&nbsp;ARM Mali-T864 GPU. {| border="0" cellpadding="1" cellspacing="1" class="infobox" style="width: 300px;" |- | [[File:RK3399 Soc.png|RTENOTITLE]] |} = Overview = RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications. = SoC Features = {| border="0" cellpadding="1" cellspacing="1" style="width: 972px;" |- | style="width: 530px;" | *CPU: **Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU **Frequency is over 1.8GHz (Big cluster) **L1 cache ***48KB Icache and 32KB Dcache for each A72 ***32KB Icache and 32KB Dcache for each A53 **L2 cache ***1024KB for big cluster ***512KB for little cluster *Internal SRAM **192KB total **4KB used by bootrom when bootup *GPU: **&nbsp;Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11 **Supports AFBC (ARM Frame Buffer Compression) *Display: **Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600 **Dual channel MIPI-DSI (4 lanes per channel) **eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR **HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2 **DisplayPort 1.2 (4 lanes, up to 4K 60Hz) **Supports Rec.2020 and conversion to Rec.709 *Camera: **&nbsp;Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels *Memory: **Dual channels 64-bit DRAM controller **Support DDR3/DDR3L, LPDDR3, LPDDR4 *Connectivity: **PCIe 2.1 (4 full-duplex lanes with 20Gbps) **Embedded low power MCU for other application **8 channels I2S supports 8 channels RX or 8 channels TX | style="width: 429px;" | [[File:RK3399 Block Diagram.png|RTENOTITLE]] |} = Documentation = #[http://10.10.10.12:8444/images/6/60/Rockchip_RK3399_Datasheet_V1.6-20170301.pdf Rockchip_RK3399_Datasheet_V1.6-20170301] #[http://10.10.10.12:8444/images/9/9e/RK_DDR_Support_List_Ver2.24.pdf RK_DDR_Support_List_Ver2.24] #[http://10.10.10.12:8444/images/2/27/RK3399_Linux_Debian_System_Development_Guide.pdf RK3399_Linux_Debian_System_Development_Guide] #[http://10.10.10.12:8444/images/7/7e/RK3399_Linux_Buildroot_System_Development_Guide.pdf RK3399_Linux_Buildroot_System_Development_Guide] #[[Media:RK3399_Multimedia_Codec_Benchmark_v1.0.pdf|RK3399 Multimedia Codec Benchmark]] = Software = == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" style="line-height: 1.6; width: 768px;" |- | style="width: 119px; text-align: center;" | '''board''' | style="width: 172px; text-align: center;" | '''kernel''' | style="width: 124px; text-align: center;" | '''uboot''' | style="width: 310px; text-align: center;" | '''dts''' |- | style="width: 119px; text-align: center;" | rk3399-excavator | style="width: 172px; text-align: center;" | rockchip_linux_defconfig | style="width: 124px; text-align: center;" | rk3399_linux_defconfig | style="width: 310px; text-align: center;" | rk3399-sapphire-excavator-linux.dts |} == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" style="width: 859px;" |- | style="width: 68px; text-align: center;" | '''chip''' | style="width: 181px; text-align: center;" | '''Kernel eMMC index''' | style="width: 142px; text-align: center;" | '''Kernel SD index''' | style="width: 158px; text-align: center;" | '''Uboot eMMC index''' | style="width: 146px; text-align: center;" | '''Uboot SD index''' | style="width: 132px; text-align: center;" | '''Baud speed''' |- | style="width: 68px; text-align: center;" | RK3399 | style="width: 181px; text-align: center;" | 1 | style="width: 142px; text-align: center;" | 0 | style="width: 158px; text-align: center;" | 0 | style="width: 146px; text-align: center;" | 1 | style="width: 132px; text-align: center;" | 1500000 |} == How to get the sources == The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code. RK3399 optimized Debian & Buildroot <pre>repo init -u https://github.com/rockchip-linux/manifests -m rk3399.xml repo sync </pre> == How to build the sources == === Build Environment === You need a 64-bit&nbsp;Ubuntu. Note: old versions&nbsp;Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;"><br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so</div> Install&nbsp;ARM cross-compile tool chain and compile kernel relative&nbsp;software package:&nbsp; <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">$ sudo apt-get install gcc-arm-linux-gnueabihf&nbsp;gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev</div> === Building kernel &&nbsp;resource === For RK3399&nbsp;Excavator-sapphire&nbsp;board: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd kernel && make ARCH=arm64 rockchip_linux_defconfig && make ARCH=arm64 rk3399-sapphire-excavator-linux.img -j12 && cd ..</div> For&nbsp;Firefly-RK3399 board: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd kernel && make ARCH=arm64 rockchip_linux_defconfig && make ARCH=arm64 rk3399-firefly-mini-linux.img -j12 && cd ..</div> === Building uboot === For RK3399 optimized SDK (rkproduct uboot) <pre>cd u-boot && make rk3399_linux_defconfig && make ARCHV=aarch64 -j12 && cd .. </pre> === Building rootfs === ==== Debian ==== You could refer to [[Media:RK3399_Linux_Debian_System_Development_Guide.pdf|RK3399 Linux Debian System Development Guide]]&nbsp;from Rockchip to build rootfs yourselves. ==== Buildroot ==== <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd buildroot && make rockchip_rk3399_defconfig && cd .. && ./build_all.sh -j12 && ./mkfirmware.sh&nbsp;</div> In order to get more details,you could refer to [[Media:RK3399_Linux_Buildroot_System_Development_Guide.pdf|RK3399 Linux Buildroot System Development Guide]]. &nbsp; = Devices = Rockchip: [[Excavator_sapphire_board|Excavator_sapphire_board]] Firefly: [http://wiki.t-firefly.com/index.php/Firefly-RK3399 Firefly-RK3399] If you need the rk3399-excavator&nbsp;board, please communicate through&nbsp;the following&nbsp;contact information: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">Telephone: 4007700590 &nbsp; &nbsp; &nbsp; &nbsp;Email: service@rock-chips.com</div> If you need the Firefly-RK3399 board,you can browse the following url&nbsp;for more details: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">[http://wiki.t-firefly.com/index.php/Firefly-RK3399 http://wiki.t-firefly.com/index.php/Firefly-RK3399]</div> = See also = [[RK3288|RK3288]] [[RK3328|RK3328]] &nbsp; = References = [https://en.wikipedia.org/wiki/ARM_Cortex-A72 https://en.wikipedia.org/wiki/ARM_Cortex-A72] [http://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html http://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html] [https://www.arm.com/zh/products/multimedia/mali-gpu/high-performance/mali-t860-t880.php https://www.arm.com/zh/products/multimedia/mali-gpu/high-performance/mali-t860-t880.php] 31381fa5a6d687d3c4bf3d1706d8da19ec6730eb Boot option 0 116 735 718 2017-03-17T08:06:49Z Karen 3 wikitext text/x-wiki &nbsp; = overview = <pre>+--------+----------------+----------+-----------+ | Boot | Terminology #1 | Actual | Rockchip | | stage | | program | Loader | | number | | name | Name | +--------+----------------+----------+-----------+ | 1 | Primary | ROM code | BootRom | | | Program | | | | | Loader | | | | | | | | | 2 | Secondary | u-boot | MiniLoader| | | Program | SPL | | | | Loader (SPL) | | | | | | | | | 3 | - | U-Boot | U-Boot | | | | | | | | | | | | 4 | - | kernel | kernel | | | | | | | 5 | - | rootfs | rootfs | +--------+----------------+----------+-----------+ </pre> == Boot from eMMC == === &nbsp;To get tool and firmware === [http://rockchip.wikidot.com/tools tools] === Flash&nbsp;to the board by USB === In order to&nbsp;flash&nbsp;by USB,you must get your board into ROM boot mode, either by erasing<br/> your MMC or holding the maskrom button when you boot the board. &nbsp; ==== RK3288(upgrade_tool) ==== To create a suitable image and flash&nbsp;it to the board:<br/> default&nbsp;: with CONFIG_ROCKCHIP_SPL_BACK_TO_BROM <pre>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin out<br/> cat u-boot-dtb.bin >> out<br/> sudo upgrade_tool db&nbsp; ../rkbin/rk32/RK3288UbootLoader_V2.30.06.bin<br/> sudo upgrade_tool wl 64 out<br/> sudo upgrade_tool rd</pre> <br/> others&nbsp;: firefly(Recommend using sd card) &nbsp; ==== RK3036 ==== To create a suitable image and flash&nbsp;it to the board: <pre><code>tools/mkimage -n rk3036 -T rksd -d spl/u-boot-spl-dtb.bin out cat u-boot-dtb.bin >> out sudo upgrade_tool db ../rkbin/rk30/RK3036MiniLoaderAll_V2.19.bin sudo upgrade_tool wl 64 out sudo upgrade_tool rd</code> </pre> ==== RK3399 ==== <pre><code>cd .. ./rkbin/tools/trust_merger ./rkbin/tools/RK3399TRUST.ini cd uboot ../rkbin/tools/loaderimage --pack --uboot u-boot-dtb.bin uboot.img sudo upgrade_tool UL ../rkbin/rk33/RK3399MiniLoaderAll_V1.05.bin sudo upgrade_tool DI uboot uboot.img ../rkbin/tools/rk3399_parameter.txt sudo upgrade_tool DI trust ../trust.img ../rkbin/tools/rk3399_parameter.txt sudo upgrade_tool rd</code> </pre> &nbsp; === &nbsp;To flash kernel and rootfs === Enter into the uboot and issue the following command on uboot: (otg should be connected) <pre><code>gpt write mmc 0 $partitions ums 0 mmc 0</code> </pre> <br/> Now the board will act as an USB-drive.<br/> In host: (assuming sdb is ur device) <pre><code>sudo mkfs.fat /dev/sdb6</code> </pre> <br/> Copy zimage and dts file to dev/sdb6 <pre><code>cp arch/arm/boot/zImage /media/chen/9F35-9565/ cp arch/arm/boot/dts/rk3288-fennec.dtb /media/chen/9F35-9565/rk3288-fennec.dtb</code> </pre> Add extlinux/extlinux.conf to dev/sdb6<br/> (Please notice "mmcblk2p7" and "115200n8" is decide on your chip, Please refer to&nbsp;[http://rockchip.wikidot.com/linux-user-guide#toc1 config table]) <pre><code>label kernel-4.4 kernel /zImage fdt /rk3288-fennec.dtb append earlyprintk console=tty1 console=ttyS2,115200n8 rw root=/dev/mmcblk2p7 rootfstype=ext4 init=/sbin/init</code> </pre> <br/> To flash rootfs <pre><code>sudo dd if=linaro-rootfs.img of=/dev/sdb7 conv=notrunc</code></pre> == Boot from SD/TF Card == === Creating Image === Follow&nbsp;[http://rockchip.wikidot.com/linux-user-guide linux-user-guide]&nbsp;to build kernel and U-Boot.<br/> get uboot-spl.img and u-boot-dtb.img <pre><code>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin uboot-spl.img</code> </pre> === <br/> <var>build boot.img</var> === <pre><code>sudo dd if=/dev/zero of=boot.img bs=1M count=128 sudo mkfs.fat boot.img mkdir boot sudo mount boot.img boot sudo cp zImage boot sudo cp rk3288-fennec.dtb boot sudo mkdir boot/extlinux sudo cp extlinux.conf boot/extlinux sudo umount boot</code> </pre> Download rootfs image and rename it <pre><code>mv linaro-rootfs.img rootfs.img</code> </pre> === Making a SD Card for updating === Download&nbsp;[https://github.com/wzyy2/rk-initrd-build ramdisk source]&nbsp;and build. <pre><code>sh ./mk-initrd.sh</code> </pre> Format SD card <pre><code>chen@chen-HP-ProDesk-680-G1-TWR:~/work/linaro-alip/ramdisk/update$ sudo gdisk /dev/sdb GPT fdisk (gdisk) version 0.8.8 Partition table scan: MBR: protective BSD: not present APM: not present GPT: present Found valid GPT with protective MBR; using GPT. Command (? for help): o This option deletes all partitions and creates a new protective MBR. Proceed? (Y/N): y Command (? for help): n Partition number (1-128, default 1): 1 First sector (34-126613470, default = 2048) or {+-}size{KMGTP}: 8192 Last sector (8192-126613470, default = 126613470) or {+-}size{KMGTP}: Current type is 'Linux filesystem' Hex code or GUID (L to show codes, Enter = 8300): Changed type of partition to 'Linux filesystem' Command (? for help): w Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING PARTITIONS!! Do you want to proceed? (Y/N): y OK; writing new GUID partition table (GPT) to /dev/sdc. Warning: The kernel is still using the old partition table. The new table will be used at the next reboot. The operation has completed successfully.</code> </pre> <pre><code>sudo umount /dev/sdb1 sudo mkfs.fat /dev/sdb1</code> </pre> <pre><code>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin out&& sudo dd if=out of=/dev/sdb seek=64&&sudo dd if=u-boot-dtb.img of=/dev/sdb seek=256</code> </pre> Copy zimage, dts and ramdisk to /dev/sdb1 <pre><code>cp arch/arm/boot/zImage /media/chen/9F35-9565/ cp arch/arm/boot/dts/rk3288-fennec.dtb /media/chen/9F35-9565/rk3288-fennec.dtb cp ../rk-initrd-build/initrd.img /media/chen/9F35-9565/</code> </pre> Add extlinux/extlinux.conf to /dev/sdb1 <pre><code>label kernel-4.4 kernel /zImage fdt /rk3288-fennec.dtb initrd /initrd.img append earlyprintk console=ttyS2,115200n8 rw root=/dev/ram0 rootfstype=ext4 init=/sbin/init ramdisk_size=49152</code> </pre> Copy u-boot-dtb.img uboot-spl.img boot.img rootfs.img and&nbsp;[https://github.com/wzyy2/rk-initrd-build/blob/master/update/update.sh update.sh]&nbsp;to /dev/sdb1 <pre><code>mkdir /media/chen/9F35-9565/update cp u-boot-dtb.img /media/chen/9F35-9565/update cp uboot-spl.img /media/chen/9F35-9565/update cp boot.img /media/chen/9F35-9565/update cp rootfs.img /media/chen/9F35-9565/update cp update.sh /media/chen/9F35-9565/update</code> </pre> === Updating the board === Boot the board and it will flash image to eMMC &nbsp; == Boot from USB-Disk == Same as&nbsp;[http://rockchip.wikidot.com/boot-from-sdcard boot-from-sdcard], but please note that U-Boot aren't allowed to boot from usb-disk because of restrict of maskrom, only kernel and rootfs can load from USB-Disk. Difference: <pre><code>label kernel-4.4 kernel /zImage fdt /rk3288-fennec.dtb append earlyprintk console=ttyS2,115200n8 rw root=/dev/sda1 rootfstype=ext4 init=/sbin/init</code> </pre> <pre><code>gpt write usb 0 $partitions ums 0 usb 0</code> </pre> = Boot from Network = &nbsp; fc52f2b6b81dad1dded39b4ce7ae99f89bb06ec6 748 735 2017-03-17T09:25:52Z Karen 3 wikitext text/x-wiki &nbsp; = overview = <pre>+--------+----------------+----------+-----------+ | Boot | Terminology #1 | Actual | Rockchip | | stage | | program | Loader | | number | | name | Name | +--------+----------------+----------+-----------+ | 1 | Primary | ROM code | BootRom | | | Program | | | | | Loader | | | | | | | | | 2 | Secondary | u-boot | MiniLoader| | | Program | SPL | | | | Loader (SPL) | | | | | | | | | 3 | - | U-Boot | U-Boot | | | | | | | | | | | | 4 | - | kernel | kernel | | | | | | | 5 | - | rootfs | rootfs | +--------+----------------+----------+-----------+ </pre> == Boot from eMMC == === &nbsp;To get tool and firmware === [http://rockchip.wikidot.com/tools tools] === Flash&nbsp;to the board by USB === In order to&nbsp;flash&nbsp;by USB,you must get your board into ROM boot mode, either by erasing<br/> your MMC or holding the maskrom button when you boot the board. &nbsp; ==== RK3288(upgrade_tool) ==== To create a suitable image and flash&nbsp;it to the board:<br/> default&nbsp;: with CONFIG_ROCKCHIP_SPL_BACK_TO_BROM <pre>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin out<br/> cat u-boot-dtb.bin >> out<br/> sudo upgrade_tool db&nbsp; ../rkbin/rk32/RK3288UbootLoader_V2.30.06.bin<br/> sudo upgrade_tool wl 64 out<br/> sudo upgrade_tool rd</pre> <br/> others&nbsp;: firefly(Recommend using sd card) &nbsp; ==== RK3036 ==== To create a suitable image and flash&nbsp;it to the board: <pre>tools/mkimage -n rk3036 -T rksd -d spl/u-boot-spl-dtb.bin out cat u-boot-dtb.bin >> out sudo upgrade_tool db ../rkbin/rk30/RK3036MiniLoaderAll_V2.19.bin sudo upgrade_tool wl 64 out sudo upgrade_tool rd </pre> ==== RK3399 ==== <pre><code>cd .. ./rkbin/tools/trust_merger ./rkbin/tools/RK3399TRUST.ini cd uboot ../rkbin/tools/loaderimage --pack --uboot u-boot-dtb.bin uboot.img sudo upgrade_tool UL ../rkbin/rk33/RK3399MiniLoaderAll_V1.05.bin sudo upgrade_tool DI uboot uboot.img ../rkbin/tools/rk3399_parameter.txt sudo upgrade_tool DI trust ../trust.img ../rkbin/tools/rk3399_parameter.txt sudo upgrade_tool rd</code> </pre> &nbsp; === &nbsp;To flash kernel and rootfs === Enter into the uboot and issue the following command on uboot: (otg should be connected) <pre><code>gpt write mmc 0 $partitions ums 0 mmc 0</code> </pre> <br/> Now the board will act as an USB-drive.<br/> In host: (assuming sdb is ur device) <pre><code>sudo mkfs.fat /dev/sdb6</code> </pre> <br/> Copy zimage and dts file to dev/sdb6 <pre><code>cp arch/arm/boot/zImage /media/chen/9F35-9565/ cp arch/arm/boot/dts/rk3288-fennec.dtb /media/chen/9F35-9565/rk3288-fennec.dtb</code> </pre> Add extlinux/extlinux.conf to dev/sdb6<br/> (Please notice "mmcblk2p7" and "115200n8" is decide on your chip, Please refer to&nbsp;[http://rockchip.wikidot.com/linux-user-guide#toc1 config table]) <pre><code>label kernel-4.4 kernel /zImage fdt /rk3288-fennec.dtb append earlyprintk console=tty1 console=ttyS2,115200n8 rw root=/dev/mmcblk2p7 rootfstype=ext4 init=/sbin/init</code> </pre> <br/> To flash rootfs <pre><code>sudo dd if=linaro-rootfs.img of=/dev/sdb7 conv=notrunc</code></pre> == Boot from SD/TF Card == === Creating Image === Follow&nbsp;[http://rockchip.wikidot.com/linux-user-guide linux-user-guide]&nbsp;to build kernel and U-Boot.<br/> get uboot-spl.img and u-boot-dtb.img <pre><code>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin uboot-spl.img</code> </pre> === <br/> <var>build boot.img</var> === <pre><code>sudo dd if=/dev/zero of=boot.img bs=1M count=128 sudo mkfs.fat boot.img mkdir boot sudo mount boot.img boot sudo cp zImage boot sudo cp rk3288-fennec.dtb boot sudo mkdir boot/extlinux sudo cp extlinux.conf boot/extlinux sudo umount boot</code> </pre> Download rootfs image and rename it <pre><code>mv linaro-rootfs.img rootfs.img</code> </pre> === Making a SD Card for updating === Download&nbsp;[https://github.com/wzyy2/rk-initrd-build ramdisk source]&nbsp;and build. <pre><code>sh ./mk-initrd.sh</code> </pre> Format SD card <pre><code>chen@chen-HP-ProDesk-680-G1-TWR:~/work/linaro-alip/ramdisk/update$ sudo gdisk /dev/sdb GPT fdisk (gdisk) version 0.8.8 Partition table scan: MBR: protective BSD: not present APM: not present GPT: present Found valid GPT with protective MBR; using GPT. Command (? for help): o This option deletes all partitions and creates a new protective MBR. Proceed? (Y/N): y Command (? for help): n Partition number (1-128, default 1): 1 First sector (34-126613470, default = 2048) or {+-}size{KMGTP}: 8192 Last sector (8192-126613470, default = 126613470) or {+-}size{KMGTP}: Current type is 'Linux filesystem' Hex code or GUID (L to show codes, Enter = 8300): Changed type of partition to 'Linux filesystem' Command (? for help): w Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING PARTITIONS!! Do you want to proceed? (Y/N): y OK; writing new GUID partition table (GPT) to /dev/sdc. Warning: The kernel is still using the old partition table. The new table will be used at the next reboot. The operation has completed successfully.</code> </pre> <pre><code>sudo umount /dev/sdb1 sudo mkfs.fat /dev/sdb1</code> </pre> <pre><code>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin out&& sudo dd if=out of=/dev/sdb seek=64&&sudo dd if=u-boot-dtb.img of=/dev/sdb seek=256</code> </pre> Copy zimage, dts and ramdisk to /dev/sdb1 <pre><code>cp arch/arm/boot/zImage /media/chen/9F35-9565/ cp arch/arm/boot/dts/rk3288-fennec.dtb /media/chen/9F35-9565/rk3288-fennec.dtb cp ../rk-initrd-build/initrd.img /media/chen/9F35-9565/</code> </pre> Add extlinux/extlinux.conf to /dev/sdb1 <pre><code>label kernel-4.4 kernel /zImage fdt /rk3288-fennec.dtb initrd /initrd.img append earlyprintk console=ttyS2,115200n8 rw root=/dev/ram0 rootfstype=ext4 init=/sbin/init ramdisk_size=49152</code> </pre> Copy u-boot-dtb.img uboot-spl.img boot.img rootfs.img and&nbsp;[https://github.com/wzyy2/rk-initrd-build/blob/master/update/update.sh update.sh]&nbsp;to /dev/sdb1 <pre><code>mkdir /media/chen/9F35-9565/update cp u-boot-dtb.img /media/chen/9F35-9565/update cp uboot-spl.img /media/chen/9F35-9565/update cp boot.img /media/chen/9F35-9565/update cp rootfs.img /media/chen/9F35-9565/update cp update.sh /media/chen/9F35-9565/update</code> </pre> === Updating the board === Boot the board and it will flash image to eMMC &nbsp; == Boot from USB-Disk == Same as&nbsp;[http://rockchip.wikidot.com/boot-from-sdcard boot-from-sdcard], but please note that U-Boot aren't allowed to boot from usb-disk because of restrict of maskrom, only kernel and rootfs can load from USB-Disk. Difference: <pre><code>label kernel-4.4 kernel /zImage fdt /rk3288-fennec.dtb append earlyprintk console=ttyS2,115200n8 rw root=/dev/sda1 rootfstype=ext4 init=/sbin/init</code> </pre> <pre><code>gpt write usb 0 $partitions ums 0 usb 0</code> </pre> = Boot from Network = &nbsp; 57f384bb9d4aa75899e76d3ea90ca66e0b6d0ffd 749 748 2017-03-17T09:26:13Z Karen 3 wikitext text/x-wiki &nbsp; = overview = <pre>+--------+----------------+----------+-----------+ | Boot | Terminology #1 | Actual | Rockchip | | stage | | program | Loader | | number | | name | Name | +--------+----------------+----------+-----------+ | 1 | Primary | ROM code | BootRom | | | Program | | | | | Loader | | | | | | | | | 2 | Secondary | u-boot | MiniLoader| | | Program | SPL | | | | Loader (SPL) | | | | | | | | | 3 | - | U-Boot | U-Boot | | | | | | | | | | | | 4 | - | kernel | kernel | | | | | | | 5 | - | rootfs | rootfs | +--------+----------------+----------+-----------+ </pre> == Boot from eMMC == === &nbsp;To get tool and firmware === [http://rockchip.wikidot.com/tools tools] === Flash&nbsp;to the board by USB === In order to&nbsp;flash&nbsp;by USB,you must get your board into ROM boot mode, either by erasing<br/> your MMC or holding the maskrom button when you boot the board. &nbsp; ==== RK3288(upgrade_tool) ==== To create a suitable image and flash&nbsp;it to the board:<br/> default&nbsp;: with CONFIG_ROCKCHIP_SPL_BACK_TO_BROM <pre>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin out<br/> cat u-boot-dtb.bin >> out<br/> sudo upgrade_tool db&nbsp; ../rkbin/rk32/RK3288UbootLoader_V2.30.06.bin<br/> sudo upgrade_tool wl 64 out<br/> sudo upgrade_tool rd</pre> <br/> others&nbsp;: firefly(Recommend using sd card) &nbsp; ==== RK3036 ==== To create a suitable image and flash&nbsp;it to the board: <pre>tools/mkimage -n rk3036 -T rksd -d spl/u-boot-spl-dtb.bin out cat u-boot-dtb.bin >> out sudo upgrade_tool db ../rkbin/rk30/RK3036MiniLoaderAll_V2.19.bin sudo upgrade_tool wl 64 out sudo upgrade_tool rd </pre> ==== RK3399 ==== <pre>cd .. ./rkbin/tools/trust_merger ./rkbin/tools/RK3399TRUST.ini cd uboot ../rkbin/tools/loaderimage --pack --uboot u-boot-dtb.bin uboot.img sudo upgrade_tool UL ../rkbin/rk33/RK3399MiniLoaderAll_V1.05.bin sudo upgrade_tool DI uboot uboot.img ../rkbin/tools/rk3399_parameter.txt sudo upgrade_tool DI trust ../trust.img ../rkbin/tools/rk3399_parameter.txt sudo upgrade_tool rd </pre> &nbsp; === &nbsp;To flash kernel and rootfs === Enter into the uboot and issue the following command on uboot: (otg should be connected) <pre><code>gpt write mmc 0 $partitions ums 0 mmc 0</code> </pre> <br/> Now the board will act as an USB-drive.<br/> In host: (assuming sdb is ur device) <pre><code>sudo mkfs.fat /dev/sdb6</code> </pre> <br/> Copy zimage and dts file to dev/sdb6 <pre><code>cp arch/arm/boot/zImage /media/chen/9F35-9565/ cp arch/arm/boot/dts/rk3288-fennec.dtb /media/chen/9F35-9565/rk3288-fennec.dtb</code> </pre> Add extlinux/extlinux.conf to dev/sdb6<br/> (Please notice "mmcblk2p7" and "115200n8" is decide on your chip, Please refer to&nbsp;[http://rockchip.wikidot.com/linux-user-guide#toc1 config table]) <pre><code>label kernel-4.4 kernel /zImage fdt /rk3288-fennec.dtb append earlyprintk console=tty1 console=ttyS2,115200n8 rw root=/dev/mmcblk2p7 rootfstype=ext4 init=/sbin/init</code> </pre> <br/> To flash rootfs <pre><code>sudo dd if=linaro-rootfs.img of=/dev/sdb7 conv=notrunc</code></pre> == Boot from SD/TF Card == === Creating Image === Follow&nbsp;[http://rockchip.wikidot.com/linux-user-guide linux-user-guide]&nbsp;to build kernel and U-Boot.<br/> get uboot-spl.img and u-boot-dtb.img <pre><code>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin uboot-spl.img</code> </pre> === <br/> <var>build boot.img</var> === <pre><code>sudo dd if=/dev/zero of=boot.img bs=1M count=128 sudo mkfs.fat boot.img mkdir boot sudo mount boot.img boot sudo cp zImage boot sudo cp rk3288-fennec.dtb boot sudo mkdir boot/extlinux sudo cp extlinux.conf boot/extlinux sudo umount boot</code> </pre> Download rootfs image and rename it <pre><code>mv linaro-rootfs.img rootfs.img</code> </pre> === Making a SD Card for updating === Download&nbsp;[https://github.com/wzyy2/rk-initrd-build ramdisk source]&nbsp;and build. <pre><code>sh ./mk-initrd.sh</code> </pre> Format SD card <pre><code>chen@chen-HP-ProDesk-680-G1-TWR:~/work/linaro-alip/ramdisk/update$ sudo gdisk /dev/sdb GPT fdisk (gdisk) version 0.8.8 Partition table scan: MBR: protective BSD: not present APM: not present GPT: present Found valid GPT with protective MBR; using GPT. Command (? for help): o This option deletes all partitions and creates a new protective MBR. Proceed? (Y/N): y Command (? for help): n Partition number (1-128, default 1): 1 First sector (34-126613470, default = 2048) or {+-}size{KMGTP}: 8192 Last sector (8192-126613470, default = 126613470) or {+-}size{KMGTP}: Current type is 'Linux filesystem' Hex code or GUID (L to show codes, Enter = 8300): Changed type of partition to 'Linux filesystem' Command (? for help): w Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING PARTITIONS!! Do you want to proceed? (Y/N): y OK; writing new GUID partition table (GPT) to /dev/sdc. Warning: The kernel is still using the old partition table. The new table will be used at the next reboot. The operation has completed successfully.</code> </pre> <pre><code>sudo umount /dev/sdb1 sudo mkfs.fat /dev/sdb1</code> </pre> <pre><code>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin out&& sudo dd if=out of=/dev/sdb seek=64&&sudo dd if=u-boot-dtb.img of=/dev/sdb seek=256</code> </pre> Copy zimage, dts and ramdisk to /dev/sdb1 <pre><code>cp arch/arm/boot/zImage /media/chen/9F35-9565/ cp arch/arm/boot/dts/rk3288-fennec.dtb /media/chen/9F35-9565/rk3288-fennec.dtb cp ../rk-initrd-build/initrd.img /media/chen/9F35-9565/</code> </pre> Add extlinux/extlinux.conf to /dev/sdb1 <pre><code>label kernel-4.4 kernel /zImage fdt /rk3288-fennec.dtb initrd /initrd.img append earlyprintk console=ttyS2,115200n8 rw root=/dev/ram0 rootfstype=ext4 init=/sbin/init ramdisk_size=49152</code> </pre> Copy u-boot-dtb.img uboot-spl.img boot.img rootfs.img and&nbsp;[https://github.com/wzyy2/rk-initrd-build/blob/master/update/update.sh update.sh]&nbsp;to /dev/sdb1 <pre><code>mkdir /media/chen/9F35-9565/update cp u-boot-dtb.img /media/chen/9F35-9565/update cp uboot-spl.img /media/chen/9F35-9565/update cp boot.img /media/chen/9F35-9565/update cp rootfs.img /media/chen/9F35-9565/update cp update.sh /media/chen/9F35-9565/update</code> </pre> === Updating the board === Boot the board and it will flash image to eMMC &nbsp; == Boot from USB-Disk == Same as&nbsp;[http://rockchip.wikidot.com/boot-from-sdcard boot-from-sdcard], but please note that U-Boot aren't allowed to boot from usb-disk because of restrict of maskrom, only kernel and rootfs can load from USB-Disk. Difference: <pre><code>label kernel-4.4 kernel /zImage fdt /rk3288-fennec.dtb append earlyprintk console=ttyS2,115200n8 rw root=/dev/sda1 rootfstype=ext4 init=/sbin/init</code> </pre> <pre><code>gpt write usb 0 $partitions ums 0 usb 0</code> </pre> = Boot from Network = &nbsp; 2231ea3dee9a9fbfd2c4e1b2366a8d56218c908f 750 749 2017-03-17T09:28:56Z Karen 3 wikitext text/x-wiki &nbsp; = overview = <pre>+--------+----------------+----------+-----------+ | Boot | Terminology #1 | Actual | Rockchip | | stage | | program | Loader | | number | | name | Name | +--------+----------------+----------+-----------+ | 1 | Primary | ROM code | BootRom | | | Program | | | | | Loader | | | | | | | | | 2 | Secondary | u-boot | MiniLoader| | | Program | SPL | | | | Loader (SPL) | | | | | | | | | 3 | - | U-Boot | U-Boot | | | | | | | | | | | | 4 | - | kernel | kernel | | | | | | | 5 | - | rootfs | rootfs | +--------+----------------+----------+-----------+ </pre> == Boot from eMMC == === &nbsp;To get tool and firmware === [http://rockchip.wikidot.com/tools tools] === Flash&nbsp;to the board by USB === In order to&nbsp;flash&nbsp;by USB,you must get your board into ROM boot mode, either by erasing<br/> your MMC or holding the maskrom button when you boot the board. &nbsp; ==== RK3288(upgrade_tool) ==== To create a suitable image and flash&nbsp;it to the board:<br/> default&nbsp;: with CONFIG_ROCKCHIP_SPL_BACK_TO_BROM <pre>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin out<br/> cat u-boot-dtb.bin >> out<br/> sudo upgrade_tool db&nbsp; ../rkbin/rk32/RK3288UbootLoader_V2.30.06.bin<br/> sudo upgrade_tool wl 64 out<br/> sudo upgrade_tool rd</pre> <br/> others&nbsp;: firefly(Recommend using sd card) &nbsp; ==== RK3036 ==== To create a suitable image and flash&nbsp;it to the board: <pre>tools/mkimage -n rk3036 -T rksd -d spl/u-boot-spl-dtb.bin out cat u-boot-dtb.bin >> out sudo upgrade_tool db ../rkbin/rk30/RK3036MiniLoaderAll_V2.19.bin sudo upgrade_tool wl 64 out sudo upgrade_tool rd </pre> ==== RK3399 ==== <pre>cd .. ./rkbin/tools/trust_merger ./rkbin/tools/RK3399TRUST.ini cd uboot ../rkbin/tools/loaderimage --pack --uboot u-boot-dtb.bin uboot.img sudo upgrade_tool UL ../rkbin/rk33/RK3399MiniLoaderAll_V1.05.bin sudo upgrade_tool DI uboot uboot.img ../rkbin/tools/rk3399_parameter.txt sudo upgrade_tool DI trust ../trust.img ../rkbin/tools/rk3399_parameter.txt sudo upgrade_tool rd </pre> &nbsp; === &nbsp;To flash kernel and rootfs === Enter into the uboot and issue the following command on uboot: (otg should be connected) <pre>gpt write mmc 0 $partitions ums 0 mmc 0 </pre> <br/> Now the board will act as an USB-drive.<br/> In host: (assuming sdb is ur device) <pre>sudo mkfs.fat /dev/sdb6 </pre> <br/> Copy zimage and dts file to dev/sdb6 <pre>cp arch/arm/boot/zImage /media/chen/9F35-9565/ cp arch/arm/boot/dts/rk3288-fennec.dtb /media/chen/9F35-9565/rk3288-fennec.dtb </pre> Add extlinux/extlinux.conf to dev/sdb6<br/> (Please notice "mmcblk2p7" and "115200n8" is decide on your chip, Please refer to&nbsp;[http://rockchip.wikidot.com/linux-user-guide#toc1 config table]) <pre>label kernel-4.4 kernel /zImage fdt /rk3288-fennec.dtb append earlyprintk console=tty1 console=ttyS2,115200n8 rw root=/dev/mmcblk2p7 rootfstype=ext4 init=/sbin/init </pre> <br/> To flash rootfs <pre>sudo dd if=linaro-rootfs.img of=/dev/sdb7 conv=notrunc</pre> == Boot from SD/TF Card == === Creating Image === Follow&nbsp;[http://rockchip.wikidot.com/linux-user-guide linux-user-guide]&nbsp;to build kernel and U-Boot.<br/> get uboot-spl.img and u-boot-dtb.img <pre><code>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin uboot-spl.img</code> </pre> === <br/> <var>build boot.img</var> === <pre><code>sudo dd if=/dev/zero of=boot.img bs=1M count=128 sudo mkfs.fat boot.img mkdir boot sudo mount boot.img boot sudo cp zImage boot sudo cp rk3288-fennec.dtb boot sudo mkdir boot/extlinux sudo cp extlinux.conf boot/extlinux sudo umount boot</code> </pre> Download rootfs image and rename it <pre><code>mv linaro-rootfs.img rootfs.img</code> </pre> === Making a SD Card for updating === Download&nbsp;[https://github.com/wzyy2/rk-initrd-build ramdisk source]&nbsp;and build. <pre><code>sh ./mk-initrd.sh</code> </pre> Format SD card <pre><code>chen@chen-HP-ProDesk-680-G1-TWR:~/work/linaro-alip/ramdisk/update$ sudo gdisk /dev/sdb GPT fdisk (gdisk) version 0.8.8 Partition table scan: MBR: protective BSD: not present APM: not present GPT: present Found valid GPT with protective MBR; using GPT. Command (? for help): o This option deletes all partitions and creates a new protective MBR. Proceed? (Y/N): y Command (? for help): n Partition number (1-128, default 1): 1 First sector (34-126613470, default = 2048) or {+-}size{KMGTP}: 8192 Last sector (8192-126613470, default = 126613470) or {+-}size{KMGTP}: Current type is 'Linux filesystem' Hex code or GUID (L to show codes, Enter = 8300): Changed type of partition to 'Linux filesystem' Command (? for help): w Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING PARTITIONS!! Do you want to proceed? (Y/N): y OK; writing new GUID partition table (GPT) to /dev/sdc. Warning: The kernel is still using the old partition table. The new table will be used at the next reboot. The operation has completed successfully.</code> </pre> <pre><code>sudo umount /dev/sdb1 sudo mkfs.fat /dev/sdb1</code> </pre> <pre><code>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin out&& sudo dd if=out of=/dev/sdb seek=64&&sudo dd if=u-boot-dtb.img of=/dev/sdb seek=256</code> </pre> Copy zimage, dts and ramdisk to /dev/sdb1 <pre><code>cp arch/arm/boot/zImage /media/chen/9F35-9565/ cp arch/arm/boot/dts/rk3288-fennec.dtb /media/chen/9F35-9565/rk3288-fennec.dtb cp ../rk-initrd-build/initrd.img /media/chen/9F35-9565/</code> </pre> Add extlinux/extlinux.conf to /dev/sdb1 <pre><code>label kernel-4.4 kernel /zImage fdt /rk3288-fennec.dtb initrd /initrd.img append earlyprintk console=ttyS2,115200n8 rw root=/dev/ram0 rootfstype=ext4 init=/sbin/init ramdisk_size=49152</code> </pre> Copy u-boot-dtb.img uboot-spl.img boot.img rootfs.img and&nbsp;[https://github.com/wzyy2/rk-initrd-build/blob/master/update/update.sh update.sh]&nbsp;to /dev/sdb1 <pre><code>mkdir /media/chen/9F35-9565/update cp u-boot-dtb.img /media/chen/9F35-9565/update cp uboot-spl.img /media/chen/9F35-9565/update cp boot.img /media/chen/9F35-9565/update cp rootfs.img /media/chen/9F35-9565/update cp update.sh /media/chen/9F35-9565/update</code> </pre> === Updating the board === Boot the board and it will flash image to eMMC &nbsp; == Boot from USB-Disk == Same as&nbsp;[http://rockchip.wikidot.com/boot-from-sdcard boot-from-sdcard], but please note that U-Boot aren't allowed to boot from usb-disk because of restrict of maskrom, only kernel and rootfs can load from USB-Disk. Difference: <pre><code>label kernel-4.4 kernel /zImage fdt /rk3288-fennec.dtb append earlyprintk console=ttyS2,115200n8 rw root=/dev/sda1 rootfstype=ext4 init=/sbin/init</code> </pre> <pre><code>gpt write usb 0 $partitions ums 0 usb 0</code> </pre> = Boot from Network = &nbsp; 7d50cea7a386519a3118640f0d54fa399c366748 751 750 2017-03-17T09:29:21Z Karen 3 wikitext text/x-wiki &nbsp; = overview = <pre>+--------+----------------+----------+-----------+ | Boot | Terminology #1 | Actual | Rockchip | | stage | | program | Loader | | number | | name | Name | +--------+----------------+----------+-----------+ | 1 | Primary | ROM code | BootRom | | | Program | | | | | Loader | | | | | | | | | 2 | Secondary | u-boot | MiniLoader| | | Program | SPL | | | | Loader (SPL) | | | | | | | | | 3 | - | U-Boot | U-Boot | | | | | | | | | | | | 4 | - | kernel | kernel | | | | | | | 5 | - | rootfs | rootfs | +--------+----------------+----------+-----------+ </pre> == Boot from eMMC == === &nbsp;To get tool and firmware === [http://rockchip.wikidot.com/tools tools] === Flash&nbsp;to the board by USB === In order to&nbsp;flash&nbsp;by USB,you must get your board into ROM boot mode, either by erasing<br/> your MMC or holding the maskrom button when you boot the board. &nbsp; ==== RK3288(upgrade_tool) ==== To create a suitable image and flash&nbsp;it to the board:<br/> default&nbsp;: with CONFIG_ROCKCHIP_SPL_BACK_TO_BROM <pre>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin out<br/> cat u-boot-dtb.bin >> out<br/> sudo upgrade_tool db&nbsp; ../rkbin/rk32/RK3288UbootLoader_V2.30.06.bin<br/> sudo upgrade_tool wl 64 out<br/> sudo upgrade_tool rd</pre> <br/> others&nbsp;: firefly(Recommend using sd card) &nbsp; ==== RK3036 ==== To create a suitable image and flash&nbsp;it to the board: <pre>tools/mkimage -n rk3036 -T rksd -d spl/u-boot-spl-dtb.bin out cat u-boot-dtb.bin >> out sudo upgrade_tool db ../rkbin/rk30/RK3036MiniLoaderAll_V2.19.bin sudo upgrade_tool wl 64 out sudo upgrade_tool rd </pre> ==== RK3399 ==== <pre>cd .. ./rkbin/tools/trust_merger ./rkbin/tools/RK3399TRUST.ini cd uboot ../rkbin/tools/loaderimage --pack --uboot u-boot-dtb.bin uboot.img sudo upgrade_tool UL ../rkbin/rk33/RK3399MiniLoaderAll_V1.05.bin sudo upgrade_tool DI uboot uboot.img ../rkbin/tools/rk3399_parameter.txt sudo upgrade_tool DI trust ../trust.img ../rkbin/tools/rk3399_parameter.txt sudo upgrade_tool rd </pre> &nbsp; === &nbsp;To flash kernel and rootfs === Enter into the uboot and issue the following command on uboot: (otg should be connected) <pre>gpt write mmc 0 $partitions ums 0 mmc 0 </pre> <br/> Now the board will act as an USB-drive.<br/> In host: (assuming sdb is ur device) <pre>sudo mkfs.fat /dev/sdb6 </pre> <br/> Copy zimage and dts file to dev/sdb6 <pre>cp arch/arm/boot/zImage /media/chen/9F35-9565/ cp arch/arm/boot/dts/rk3288-fennec.dtb /media/chen/9F35-9565/rk3288-fennec.dtb </pre> Add extlinux/extlinux.conf to dev/sdb6<br/> (Please notice "mmcblk2p7" and "115200n8" is decide on your chip, Please refer to&nbsp;[http://rockchip.wikidot.com/linux-user-guide#toc1 config table]) <pre>label kernel-4.4 kernel /zImage fdt /rk3288-fennec.dtb append earlyprintk console=tty1 console=ttyS2,115200n8 rw root=/dev/mmcblk2p7 rootfstype=ext4 init=/sbin/init </pre> <br/> To flash rootfs <pre>sudo dd if=linaro-rootfs.img of=/dev/sdb7 conv=notrunc</pre> == Boot from SD/TF Card == === Creating Image === Follow&nbsp;[http://rockchip.wikidot.com/linux-user-guide linux-user-guide]&nbsp;to build kernel and U-Boot.<br/> get uboot-spl.img and u-boot-dtb.img <pre>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin uboot-spl.img </pre> === <br/> <var>build boot.img</var> === <pre><code>sudo dd if=/dev/zero of=boot.img bs=1M count=128 sudo mkfs.fat boot.img mkdir boot sudo mount boot.img boot sudo cp zImage boot sudo cp rk3288-fennec.dtb boot sudo mkdir boot/extlinux sudo cp extlinux.conf boot/extlinux sudo umount boot</code> </pre> Download rootfs image and rename it <pre><code>mv linaro-rootfs.img rootfs.img</code> </pre> === Making a SD Card for updating === Download&nbsp;[https://github.com/wzyy2/rk-initrd-build ramdisk source]&nbsp;and build. <pre><code>sh ./mk-initrd.sh</code> </pre> Format SD card <pre><code>chen@chen-HP-ProDesk-680-G1-TWR:~/work/linaro-alip/ramdisk/update$ sudo gdisk /dev/sdb GPT fdisk (gdisk) version 0.8.8 Partition table scan: MBR: protective BSD: not present APM: not present GPT: present Found valid GPT with protective MBR; using GPT. Command (? for help): o This option deletes all partitions and creates a new protective MBR. Proceed? (Y/N): y Command (? for help): n Partition number (1-128, default 1): 1 First sector (34-126613470, default = 2048) or {+-}size{KMGTP}: 8192 Last sector (8192-126613470, default = 126613470) or {+-}size{KMGTP}: Current type is 'Linux filesystem' Hex code or GUID (L to show codes, Enter = 8300): Changed type of partition to 'Linux filesystem' Command (? for help): w Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING PARTITIONS!! Do you want to proceed? (Y/N): y OK; writing new GUID partition table (GPT) to /dev/sdc. Warning: The kernel is still using the old partition table. The new table will be used at the next reboot. The operation has completed successfully.</code> </pre> <pre><code>sudo umount /dev/sdb1 sudo mkfs.fat /dev/sdb1</code> </pre> <pre><code>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin out&& sudo dd if=out of=/dev/sdb seek=64&&sudo dd if=u-boot-dtb.img of=/dev/sdb seek=256</code> </pre> Copy zimage, dts and ramdisk to /dev/sdb1 <pre><code>cp arch/arm/boot/zImage /media/chen/9F35-9565/ cp arch/arm/boot/dts/rk3288-fennec.dtb /media/chen/9F35-9565/rk3288-fennec.dtb cp ../rk-initrd-build/initrd.img /media/chen/9F35-9565/</code> </pre> Add extlinux/extlinux.conf to /dev/sdb1 <pre><code>label kernel-4.4 kernel /zImage fdt /rk3288-fennec.dtb initrd /initrd.img append earlyprintk console=ttyS2,115200n8 rw root=/dev/ram0 rootfstype=ext4 init=/sbin/init ramdisk_size=49152</code> </pre> Copy u-boot-dtb.img uboot-spl.img boot.img rootfs.img and&nbsp;[https://github.com/wzyy2/rk-initrd-build/blob/master/update/update.sh update.sh]&nbsp;to /dev/sdb1 <pre><code>mkdir /media/chen/9F35-9565/update cp u-boot-dtb.img /media/chen/9F35-9565/update cp uboot-spl.img /media/chen/9F35-9565/update cp boot.img /media/chen/9F35-9565/update cp rootfs.img /media/chen/9F35-9565/update cp update.sh /media/chen/9F35-9565/update</code> </pre> === Updating the board === Boot the board and it will flash image to eMMC &nbsp; == Boot from USB-Disk == Same as&nbsp;[http://rockchip.wikidot.com/boot-from-sdcard boot-from-sdcard], but please note that U-Boot aren't allowed to boot from usb-disk because of restrict of maskrom, only kernel and rootfs can load from USB-Disk. Difference: <pre><code>label kernel-4.4 kernel /zImage fdt /rk3288-fennec.dtb append earlyprintk console=ttyS2,115200n8 rw root=/dev/sda1 rootfstype=ext4 init=/sbin/init</code> </pre> <pre><code>gpt write usb 0 $partitions ums 0 usb 0</code> </pre> = Boot from Network = &nbsp; 5b1d2d6501aa0deb2740b84cc3e6b30358c661a5 752 751 2017-03-17T09:30:37Z Karen 3 wikitext text/x-wiki &nbsp; = overview = <pre>+--------+----------------+----------+-----------+ | Boot | Terminology #1 | Actual | Rockchip | | stage | | program | Loader | | number | | name | Name | +--------+----------------+----------+-----------+ | 1 | Primary | ROM code | BootRom | | | Program | | | | | Loader | | | | | | | | | 2 | Secondary | u-boot | MiniLoader| | | Program | SPL | | | | Loader (SPL) | | | | | | | | | 3 | - | U-Boot | U-Boot | | | | | | | | | | | | 4 | - | kernel | kernel | | | | | | | 5 | - | rootfs | rootfs | +--------+----------------+----------+-----------+ </pre> == Boot from eMMC == === &nbsp;To get tool and firmware === [http://rockchip.wikidot.com/tools tools] === Flash&nbsp;to the board by USB === In order to&nbsp;flash&nbsp;by USB,you must get your board into ROM boot mode, either by erasing<br/> your MMC or holding the maskrom button when you boot the board. &nbsp; ==== RK3288(upgrade_tool) ==== To create a suitable image and flash&nbsp;it to the board:<br/> default&nbsp;: with CONFIG_ROCKCHIP_SPL_BACK_TO_BROM <pre>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin out<br/> cat u-boot-dtb.bin >> out<br/> sudo upgrade_tool db&nbsp; ../rkbin/rk32/RK3288UbootLoader_V2.30.06.bin<br/> sudo upgrade_tool wl 64 out<br/> sudo upgrade_tool rd</pre> <br/> others&nbsp;: firefly(Recommend using sd card) &nbsp; ==== RK3036 ==== To create a suitable image and flash&nbsp;it to the board: <pre>tools/mkimage -n rk3036 -T rksd -d spl/u-boot-spl-dtb.bin out cat u-boot-dtb.bin >> out sudo upgrade_tool db ../rkbin/rk30/RK3036MiniLoaderAll_V2.19.bin sudo upgrade_tool wl 64 out sudo upgrade_tool rd </pre> ==== RK3399 ==== <pre>cd .. ./rkbin/tools/trust_merger ./rkbin/tools/RK3399TRUST.ini cd uboot ../rkbin/tools/loaderimage --pack --uboot u-boot-dtb.bin uboot.img sudo upgrade_tool UL ../rkbin/rk33/RK3399MiniLoaderAll_V1.05.bin sudo upgrade_tool DI uboot uboot.img ../rkbin/tools/rk3399_parameter.txt sudo upgrade_tool DI trust ../trust.img ../rkbin/tools/rk3399_parameter.txt sudo upgrade_tool rd </pre> &nbsp; === &nbsp;To flash kernel and rootfs === Enter into the uboot and issue the following command on uboot: (otg should be connected) <pre>gpt write mmc 0 $partitions ums 0 mmc 0 </pre> <br/> Now the board will act as an USB-drive.<br/> In host: (assuming sdb is ur device) <pre>sudo mkfs.fat /dev/sdb6 </pre> <br/> Copy zimage and dts file to dev/sdb6 <pre>cp arch/arm/boot/zImage /media/chen/9F35-9565/ cp arch/arm/boot/dts/rk3288-fennec.dtb /media/chen/9F35-9565/rk3288-fennec.dtb </pre> Add extlinux/extlinux.conf to dev/sdb6<br/> (Please notice "mmcblk2p7" and "115200n8" is decide on your chip, Please refer to&nbsp;[http://rockchip.wikidot.com/linux-user-guide#toc1 config table]) <pre>label kernel-4.4 kernel /zImage fdt /rk3288-fennec.dtb append earlyprintk console=tty1 console=ttyS2,115200n8 rw root=/dev/mmcblk2p7 rootfstype=ext4 init=/sbin/init </pre> <br/> To flash rootfs <pre>sudo dd if=linaro-rootfs.img of=/dev/sdb7 conv=notrunc</pre> == Boot from SD/TF Card == === Creating Image === Follow&nbsp;[http://rockchip.wikidot.com/linux-user-guide linux-user-guide]&nbsp;to build kernel and U-Boot.<br/> get uboot-spl.img and u-boot-dtb.img <pre>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin uboot-spl.img </pre> === <br/> <var>build boot.img</var> === <pre>sudo dd if=/dev/zero of=boot.img bs=1M count=128 sudo mkfs.fat boot.img mkdir boot sudo mount boot.img boot sudo cp zImage boot sudo cp rk3288-fennec.dtb boot sudo mkdir boot/extlinux sudo cp extlinux.conf boot/extlinux sudo umount boot </pre> Download rootfs image and rename it <pre>mv linaro-rootfs.img rootfs.img </pre> === Making a SD Card for updating === Download&nbsp;[https://github.com/wzyy2/rk-initrd-build ramdisk source]&nbsp;and build. <pre><code>sh ./mk-initrd.sh</code> </pre> Format SD card <pre><code>chen@chen-HP-ProDesk-680-G1-TWR:~/work/linaro-alip/ramdisk/update$ sudo gdisk /dev/sdb GPT fdisk (gdisk) version 0.8.8 Partition table scan: MBR: protective BSD: not present APM: not present GPT: present Found valid GPT with protective MBR; using GPT. Command (? for help): o This option deletes all partitions and creates a new protective MBR. Proceed? (Y/N): y Command (? for help): n Partition number (1-128, default 1): 1 First sector (34-126613470, default = 2048) or {+-}size{KMGTP}: 8192 Last sector (8192-126613470, default = 126613470) or {+-}size{KMGTP}: Current type is 'Linux filesystem' Hex code or GUID (L to show codes, Enter = 8300): Changed type of partition to 'Linux filesystem' Command (? for help): w Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING PARTITIONS!! Do you want to proceed? (Y/N): y OK; writing new GUID partition table (GPT) to /dev/sdc. Warning: The kernel is still using the old partition table. The new table will be used at the next reboot. The operation has completed successfully.</code> </pre> <pre><code>sudo umount /dev/sdb1 sudo mkfs.fat /dev/sdb1</code> </pre> <pre><code>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin out&& sudo dd if=out of=/dev/sdb seek=64&&sudo dd if=u-boot-dtb.img of=/dev/sdb seek=256</code> </pre> Copy zimage, dts and ramdisk to /dev/sdb1 <pre><code>cp arch/arm/boot/zImage /media/chen/9F35-9565/ cp arch/arm/boot/dts/rk3288-fennec.dtb /media/chen/9F35-9565/rk3288-fennec.dtb cp ../rk-initrd-build/initrd.img /media/chen/9F35-9565/</code> </pre> Add extlinux/extlinux.conf to /dev/sdb1 <pre><code>label kernel-4.4 kernel /zImage fdt /rk3288-fennec.dtb initrd /initrd.img append earlyprintk console=ttyS2,115200n8 rw root=/dev/ram0 rootfstype=ext4 init=/sbin/init ramdisk_size=49152</code> </pre> Copy u-boot-dtb.img uboot-spl.img boot.img rootfs.img and&nbsp;[https://github.com/wzyy2/rk-initrd-build/blob/master/update/update.sh update.sh]&nbsp;to /dev/sdb1 <pre><code>mkdir /media/chen/9F35-9565/update cp u-boot-dtb.img /media/chen/9F35-9565/update cp uboot-spl.img /media/chen/9F35-9565/update cp boot.img /media/chen/9F35-9565/update cp rootfs.img /media/chen/9F35-9565/update cp update.sh /media/chen/9F35-9565/update</code> </pre> === Updating the board === Boot the board and it will flash image to eMMC &nbsp; == Boot from USB-Disk == Same as&nbsp;[http://rockchip.wikidot.com/boot-from-sdcard boot-from-sdcard], but please note that U-Boot aren't allowed to boot from usb-disk because of restrict of maskrom, only kernel and rootfs can load from USB-Disk. Difference: <pre><code>label kernel-4.4 kernel /zImage fdt /rk3288-fennec.dtb append earlyprintk console=ttyS2,115200n8 rw root=/dev/sda1 rootfstype=ext4 init=/sbin/init</code> </pre> <pre><code>gpt write usb 0 $partitions ums 0 usb 0</code> </pre> = Boot from Network = &nbsp; f518e07b2f5c9f2144516f70286ad8f72c02eacc 754 752 2017-03-17T09:46:31Z Karen 3 wikitext text/x-wiki &nbsp; = overview = <pre>+--------+----------------+----------+-----------+ | Boot | Terminology #1 | Actual | Rockchip | | stage | | program | Loader | | number | | name | Name | +--------+----------------+----------+-----------+ | 1 | Primary | ROM code | BootRom | | | Program | | | | | Loader | | | | | | | | | 2 | Secondary | u-boot | MiniLoader| | | Program | SPL | | | | Loader (SPL) | | | | | | | | | 3 | - | U-Boot | U-Boot | | | | | | | | | | | | 4 | - | kernel | kernel | | | | | | | 5 | - | rootfs | rootfs | +--------+----------------+----------+-----------+ </pre> == Boot from eMMC == === &nbsp;To get tool and firmware === [http://rockchip.wikidot.com/tools tools] === Flash&nbsp;to the board by USB === In order to&nbsp;flash&nbsp;by USB,you must get your board into ROM boot mode, either by erasing<br/> your MMC or holding the maskrom button when you boot the board. &nbsp; ==== RK3288(upgrade_tool) ==== To create a suitable image and flash&nbsp;it to the board:<br/> default&nbsp;: with CONFIG_ROCKCHIP_SPL_BACK_TO_BROM <pre>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin out<br/> cat u-boot-dtb.bin >> out<br/> sudo upgrade_tool db&nbsp; ../rkbin/rk32/RK3288UbootLoader_V2.30.06.bin<br/> sudo upgrade_tool wl 64 out<br/> sudo upgrade_tool rd</pre> <br/> others&nbsp;: firefly(Recommend using sd card) &nbsp; ==== RK3036 ==== To create a suitable image and flash&nbsp;it to the board: <pre>tools/mkimage -n rk3036 -T rksd -d spl/u-boot-spl-dtb.bin out cat u-boot-dtb.bin >> out sudo upgrade_tool db ../rkbin/rk30/RK3036MiniLoaderAll_V2.19.bin sudo upgrade_tool wl 64 out sudo upgrade_tool rd </pre> ==== RK3399 ==== <pre>cd .. ./rkbin/tools/trust_merger ./rkbin/tools/RK3399TRUST.ini cd uboot ../rkbin/tools/loaderimage --pack --uboot u-boot-dtb.bin uboot.img sudo upgrade_tool UL ../rkbin/rk33/RK3399MiniLoaderAll_V1.05.bin sudo upgrade_tool DI uboot uboot.img ../rkbin/tools/rk3399_parameter.txt sudo upgrade_tool DI trust ../trust.img ../rkbin/tools/rk3399_parameter.txt sudo upgrade_tool rd </pre> &nbsp; === &nbsp;To flash kernel and rootfs === Enter into the uboot and issue the following command on uboot: (otg should be connected) <pre>gpt write mmc 0 $partitions ums 0 mmc 0 </pre> <br/> Now the board will act as an USB-drive.<br/> In host: (assuming sdb is ur device) <pre>sudo mkfs.fat /dev/sdb6 </pre> <br/> Copy zimage and dts file to dev/sdb6 <pre>cp arch/arm/boot/zImage /media/chen/9F35-9565/ cp arch/arm/boot/dts/rk3288-fennec.dtb /media/chen/9F35-9565/rk3288-fennec.dtb </pre> Add extlinux/extlinux.conf to dev/sdb6<br/> (Please notice "mmcblk2p7" and "115200n8" is decide on your chip, Please refer to&nbsp;[http://rockchip.wikidot.com/linux-user-guide#toc1 config table]) <pre>label kernel-4.4 kernel /zImage fdt /rk3288-fennec.dtb append earlyprintk console=tty1 console=ttyS2,115200n8 rw root=/dev/mmcblk2p7 rootfstype=ext4 init=/sbin/init </pre> <br/> To flash rootfs <pre>sudo dd if=linaro-rootfs.img of=/dev/sdb7 conv=notrunc</pre> == Boot from SD/TF Card == === Creating Image === Follow&nbsp;[http://rockchip.wikidot.com/linux-user-guide linux-user-guide]&nbsp;to build kernel and U-Boot.<br/> get uboot-spl.img and u-boot-dtb.img <pre>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin uboot-spl.img </pre> === <br/> <var>build boot.img</var> === <pre>sudo dd if=/dev/zero of=boot.img bs=1M count=128 sudo mkfs.fat boot.img mkdir boot sudo mount boot.img boot sudo cp zImage boot sudo cp rk3288-fennec.dtb boot sudo mkdir boot/extlinux sudo cp extlinux.conf boot/extlinux sudo umount boot </pre> Download rootfs image and rename it <pre>mv linaro-rootfs.img rootfs.img </pre> === Making a SD Card for updating === Download&nbsp;[https://github.com/wzyy2/rk-initrd-build ramdisk source]&nbsp;and build. <pre>sh ./mk-initrd.sh </pre> Format SD card <pre>chen@chen-HP-ProDesk-680-G1-TWR:~/work/linaro-alip/ramdisk/update$ sudo gdisk /dev/sdb GPT fdisk (gdisk) version 0.8.8 Partition table scan: MBR: protective BSD: not present APM: not present GPT: present Found valid GPT with protective MBR; using GPT. Command (? for help): o This option deletes all partitions and creates a new protective MBR. Proceed? (Y/N): y Command (? for help): n Partition number (1-128, default 1): 1 First sector (34-126613470, default = 2048) or {+-}size{KMGTP}: 8192 Last sector (8192-126613470, default = 126613470) or {+-}size{KMGTP}: Current type is 'Linux filesystem' Hex code or GUID (L to show codes, Enter = 8300): Changed type of partition to 'Linux filesystem' Command (? for help): w Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING PARTITIONS!! Do you want to proceed? (Y/N): y OK; writing new GUID partition table (GPT) to /dev/sdc. Warning: The kernel is still using the old partition table. The new table will be used at the next reboot. The operation has completed successfully. </pre> <pre>sudo umount /dev/sdb1 sudo mkfs.fat /dev/sdb1 </pre> <pre>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin out&& sudo dd if=out of=/dev/sdb seek=64&&sudo dd if=u-boot-dtb.img of=/dev/sdb seek=256 </pre> Copy zimage, dts and ramdisk to /dev/sdb1 <pre>cp arch/arm/boot/zImage /media/chen/9F35-9565/ cp arch/arm/boot/dts/rk3288-fennec.dtb /media/chen/9F35-9565/rk3288-fennec.dtb cp ../rk-initrd-build/initrd.img /media/chen/9F35-9565/ </pre> Add extlinux/extlinux.conf to /dev/sdb1 <pre>label kernel-4.4 kernel /zImage fdt /rk3288-fennec.dtb initrd /initrd.img append earlyprintk console=ttyS2,115200n8 rw root=/dev/ram0 rootfstype=ext4 init=/sbin/init ramdisk_size=49152 </pre> Copy u-boot-dtb.img uboot-spl.img boot.img rootfs.img and&nbsp;[https://github.com/wzyy2/rk-initrd-build/blob/master/update/update.sh update.sh]&nbsp;to /dev/sdb1 <pre>mkdir /media/chen/9F35-9565/update cp u-boot-dtb.img /media/chen/9F35-9565/update cp uboot-spl.img /media/chen/9F35-9565/update cp boot.img /media/chen/9F35-9565/update cp rootfs.img /media/chen/9F35-9565/update cp update.sh /media/chen/9F35-9565/update </pre> === Updating the board === Boot the board and it will flash image to eMMC &nbsp; == Boot from USB-Disk == Same as&nbsp;[http://rockchip.wikidot.com/boot-from-sdcard boot-from-sdcard], but please note that U-Boot aren't allowed to boot from usb-disk because of restrict of maskrom, only kernel and rootfs can load from USB-Disk. Difference: <pre><code>label kernel-4.4 kernel /zImage fdt /rk3288-fennec.dtb append earlyprintk console=ttyS2,115200n8 rw root=/dev/sda1 rootfstype=ext4 init=/sbin/init</code> </pre> <pre><code>gpt write usb 0 $partitions ums 0 usb 0</code> </pre> = Boot from Network = &nbsp; 0f8e5e3d160d0c79abfc3e9bcd095d86e5e199a5 756 754 2017-03-17T09:49:21Z Kever 2 wikitext text/x-wiki &nbsp; = overview = <pre>+--------+----------------+----------+-----------+ | Boot | Terminology #1 | Actual | Rockchip | | stage | | program | Loader | | number | | name | Name | +--------+----------------+----------+-----------+ | 1 | Primary | ROM code | BootRom | | | Program | | | | | Loader | | | | | | | | | 2 | Secondary | u-boot | MiniLoader| | | Program | SPL | | | | Loader (SPL) | | | | | | | | | 3 | - | U-Boot | U-Boot | | | | | | | | | | | | 4 | - | kernel | kernel | | | | | | | 5 | - | rootfs | rootfs | +--------+----------------+----------+-----------+ </pre> == Boot from eMMC == === &nbsp;To get tool and firmware === [[Rkdevelptool|tools]] === Flash&nbsp;to the board by USB === In order to&nbsp;flash&nbsp;by USB,you must get your board into ROM boot mode, either by erasing<br/> your MMC or holding the maskrom button when you boot the board. &nbsp; ==== RK3288(upgrade_tool) ==== To create a suitable image and flash&nbsp;it to the board:<br/> default&nbsp;: with CONFIG_ROCKCHIP_SPL_BACK_TO_BROM <pre>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin out<br/> cat u-boot-dtb.bin >> out<br/> sudo upgrade_tool db&nbsp; ../rkbin/rk32/RK3288UbootLoader_V2.30.06.bin<br/> sudo upgrade_tool wl 64 out<br/> sudo upgrade_tool rd</pre> <br/> others&nbsp;: firefly(Recommend using sd card) &nbsp; ==== RK3036 ==== To create a suitable image and flash&nbsp;it to the board: <pre>tools/mkimage -n rk3036 -T rksd -d spl/u-boot-spl-dtb.bin out cat u-boot-dtb.bin >> out sudo upgrade_tool db ../rkbin/rk30/RK3036MiniLoaderAll_V2.19.bin sudo upgrade_tool wl 64 out sudo upgrade_tool rd </pre> ==== RK3399 ==== <pre>cd .. ./rkbin/tools/trust_merger ./rkbin/tools/RK3399TRUST.ini cd uboot ../rkbin/tools/loaderimage --pack --uboot u-boot-dtb.bin uboot.img sudo upgrade_tool UL ../rkbin/rk33/RK3399MiniLoaderAll_V1.05.bin sudo upgrade_tool DI uboot uboot.img ../rkbin/tools/rk3399_parameter.txt sudo upgrade_tool DI trust ../trust.img ../rkbin/tools/rk3399_parameter.txt sudo upgrade_tool rd </pre> &nbsp; === &nbsp;To flash kernel and rootfs === Enter into the uboot and issue the following command on uboot: (otg should be connected) <pre>gpt write mmc 0 $partitions ums 0 mmc 0 </pre> <br/> Now the board will act as an USB-drive.<br/> In host: (assuming sdb is ur device) <pre>sudo mkfs.fat /dev/sdb6 </pre> <br/> Copy zimage and dts file to dev/sdb6 <pre>cp arch/arm/boot/zImage /media/chen/9F35-9565/ cp arch/arm/boot/dts/rk3288-fennec.dtb /media/chen/9F35-9565/rk3288-fennec.dtb </pre> Add extlinux/extlinux.conf to dev/sdb6<br/> (Please notice "mmcblk2p7" and "115200n8" is decide on your chip, Please refer to&nbsp;[http://rockchip.wikidot.com/linux-user-guide#toc1 config table]) <pre>label kernel-4.4 kernel /zImage fdt /rk3288-fennec.dtb append earlyprintk console=tty1 console=ttyS2,115200n8 rw root=/dev/mmcblk2p7 rootfstype=ext4 init=/sbin/init </pre> <br/> To flash rootfs <pre>sudo dd if=linaro-rootfs.img of=/dev/sdb7 conv=notrunc</pre> == Boot from SD/TF Card == === Creating Image === Follow&nbsp;[http://rockchip.wikidot.com/linux-user-guide linux-user-guide]&nbsp;to build kernel and U-Boot.<br/> get uboot-spl.img and u-boot-dtb.img <pre>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin uboot-spl.img </pre> === <br/> <var>build boot.img</var> === <pre>sudo dd if=/dev/zero of=boot.img bs=1M count=128 sudo mkfs.fat boot.img mkdir boot sudo mount boot.img boot sudo cp zImage boot sudo cp rk3288-fennec.dtb boot sudo mkdir boot/extlinux sudo cp extlinux.conf boot/extlinux sudo umount boot </pre> Download rootfs image and rename it <pre>mv linaro-rootfs.img rootfs.img </pre> === Making a SD Card for updating === Download&nbsp;[https://github.com/wzyy2/rk-initrd-build ramdisk source]&nbsp;and build. <pre>sh ./mk-initrd.sh </pre> Format SD card <pre>chen@chen-HP-ProDesk-680-G1-TWR:~/work/linaro-alip/ramdisk/update$ sudo gdisk /dev/sdb GPT fdisk (gdisk) version 0.8.8 Partition table scan: MBR: protective BSD: not present APM: not present GPT: present Found valid GPT with protective MBR; using GPT. Command (? for help): o This option deletes all partitions and creates a new protective MBR. Proceed? (Y/N): y Command (? for help): n Partition number (1-128, default 1): 1 First sector (34-126613470, default = 2048) or {+-}size{KMGTP}: 8192 Last sector (8192-126613470, default = 126613470) or {+-}size{KMGTP}: Current type is 'Linux filesystem' Hex code or GUID (L to show codes, Enter = 8300): Changed type of partition to 'Linux filesystem' Command (? for help): w Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING PARTITIONS!! Do you want to proceed? (Y/N): y OK; writing new GUID partition table (GPT) to /dev/sdc. Warning: The kernel is still using the old partition table. The new table will be used at the next reboot. The operation has completed successfully. </pre> <pre>sudo umount /dev/sdb1 sudo mkfs.fat /dev/sdb1 </pre> <pre>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin out&& sudo dd if=out of=/dev/sdb seek=64&&sudo dd if=u-boot-dtb.img of=/dev/sdb seek=256 </pre> Copy zimage, dts and ramdisk to /dev/sdb1 <pre>cp arch/arm/boot/zImage /media/chen/9F35-9565/ cp arch/arm/boot/dts/rk3288-fennec.dtb /media/chen/9F35-9565/rk3288-fennec.dtb cp ../rk-initrd-build/initrd.img /media/chen/9F35-9565/ </pre> Add extlinux/extlinux.conf to /dev/sdb1 <pre>label kernel-4.4 kernel /zImage fdt /rk3288-fennec.dtb initrd /initrd.img append earlyprintk console=ttyS2,115200n8 rw root=/dev/ram0 rootfstype=ext4 init=/sbin/init ramdisk_size=49152 </pre> Copy u-boot-dtb.img uboot-spl.img boot.img rootfs.img and&nbsp;[https://github.com/wzyy2/rk-initrd-build/blob/master/update/update.sh update.sh]&nbsp;to /dev/sdb1 <pre>mkdir /media/chen/9F35-9565/update cp u-boot-dtb.img /media/chen/9F35-9565/update cp uboot-spl.img /media/chen/9F35-9565/update cp boot.img /media/chen/9F35-9565/update cp rootfs.img /media/chen/9F35-9565/update cp update.sh /media/chen/9F35-9565/update </pre> === Updating the board === Boot the board and it will flash image to eMMC &nbsp; == Boot from USB-Disk == Same as&nbsp;[http://rockchip.wikidot.com/boot-from-sdcard boot-from-sdcard], but please note that U-Boot aren't allowed to boot from usb-disk because of restrict of maskrom, only kernel and rootfs can load from USB-Disk. Difference: <pre><code>label kernel-4.4 kernel /zImage fdt /rk3288-fennec.dtb append earlyprintk console=ttyS2,115200n8 rw root=/dev/sda1 rootfstype=ext4 init=/sbin/init</code> </pre> <pre><code>gpt write usb 0 $partitions ums 0 usb 0</code> </pre> = Boot from Network = &nbsp; 3b4ea4c61bf5738b192f24442f7591e3d70bac07 757 756 2017-03-17T09:49:47Z Kever 2 wikitext text/x-wiki &nbsp; = overview = <pre>+--------+----------------+----------+-----------+ | Boot | Terminology #1 | Actual | Rockchip | | stage | | program | Loader | | number | | name | Name | +--------+----------------+----------+-----------+ | 1 | Primary | ROM code | BootRom | | | Program | | | | | Loader | | | | | | | | | 2 | Secondary | u-boot | MiniLoader| | | Program | SPL | | | | Loader (SPL) | | | | | | | | | 3 | - | U-Boot | U-Boot | | | | | | | | | | | | 4 | - | kernel | kernel | | | | | | | 5 | - | rootfs | rootfs | +--------+----------------+----------+-----------+ </pre> == Boot from eMMC == === &nbsp;To get tool and firmware === [[Rkdevelptool|tools]] === Flash&nbsp;to the board by USB === In order to&nbsp;flash&nbsp;by USB,you must get your board into ROM boot mode, either by erasing<br/> your MMC or holding the maskrom button when you boot the board. &nbsp; ==== RK3288(upgrade_tool) ==== To create a suitable image and flash&nbsp;it to the board:<br/> default&nbsp;: with CONFIG_ROCKCHIP_SPL_BACK_TO_BROM <pre>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin out<br/> cat u-boot-dtb.bin >> out<br/> sudo upgrade_tool db&nbsp; ../rkbin/rk32/RK3288UbootLoader_V2.30.06.bin<br/> sudo upgrade_tool wl 64 out<br/> sudo upgrade_tool rd</pre> <br/> others&nbsp;: firefly(Recommend using sd card) &nbsp; &nbsp; ==== RK3036 ==== To create a suitable image and flash&nbsp;it to the board: <pre>tools/mkimage -n rk3036 -T rksd -d spl/u-boot-spl-dtb.bin out cat u-boot-dtb.bin >> out sudo upgrade_tool db ../rkbin/rk30/RK3036MiniLoaderAll_V2.19.bin sudo upgrade_tool wl 64 out sudo upgrade_tool rd </pre> &nbsp; ==== RK3399 ==== <pre>cd .. ./rkbin/tools/trust_merger ./rkbin/tools/RK3399TRUST.ini cd uboot ../rkbin/tools/loaderimage --pack --uboot u-boot-dtb.bin uboot.img sudo upgrade_tool UL ../rkbin/rk33/RK3399MiniLoaderAll_V1.05.bin sudo upgrade_tool DI uboot uboot.img ../rkbin/tools/rk3399_parameter.txt sudo upgrade_tool DI trust ../trust.img ../rkbin/tools/rk3399_parameter.txt sudo upgrade_tool rd </pre> &nbsp; &nbsp; === &nbsp;To flash kernel and rootfs === Enter into the uboot and issue the following command on uboot: (otg should be connected) <pre>gpt write mmc 0 $partitions ums 0 mmc 0 </pre> <br/> Now the board will act as an USB-drive.<br/> In host: (assuming sdb is ur device) <pre>sudo mkfs.fat /dev/sdb6 </pre> <br/> Copy zimage and dts file to dev/sdb6 <pre>cp arch/arm/boot/zImage /media/chen/9F35-9565/ cp arch/arm/boot/dts/rk3288-fennec.dtb /media/chen/9F35-9565/rk3288-fennec.dtb </pre> Add extlinux/extlinux.conf to dev/sdb6<br/> (Please notice "mmcblk2p7" and "115200n8" is decide on your chip, Please refer to&nbsp;[http://rockchip.wikidot.com/linux-user-guide#toc1 config table]) <pre>label kernel-4.4 kernel /zImage fdt /rk3288-fennec.dtb append earlyprintk console=tty1 console=ttyS2,115200n8 rw root=/dev/mmcblk2p7 rootfstype=ext4 init=/sbin/init </pre> <br/> To flash rootfs <pre>sudo dd if=linaro-rootfs.img of=/dev/sdb7 conv=notrunc</pre> == Boot from SD/TF Card == === Creating Image === Follow&nbsp;[http://rockchip.wikidot.com/linux-user-guide linux-user-guide]&nbsp;to build kernel and U-Boot.<br/> get uboot-spl.img and u-boot-dtb.img <pre>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin uboot-spl.img </pre> === <br/> <var>build boot.img</var> === <pre>sudo dd if=/dev/zero of=boot.img bs=1M count=128 sudo mkfs.fat boot.img mkdir boot sudo mount boot.img boot sudo cp zImage boot sudo cp rk3288-fennec.dtb boot sudo mkdir boot/extlinux sudo cp extlinux.conf boot/extlinux sudo umount boot </pre> Download rootfs image and rename it <pre>mv linaro-rootfs.img rootfs.img </pre> === Making a SD Card for updating === Download&nbsp;[https://github.com/wzyy2/rk-initrd-build ramdisk source]&nbsp;and build. <pre>sh ./mk-initrd.sh </pre> Format SD card <pre>chen@chen-HP-ProDesk-680-G1-TWR:~/work/linaro-alip/ramdisk/update$ sudo gdisk /dev/sdb GPT fdisk (gdisk) version 0.8.8 Partition table scan: MBR: protective BSD: not present APM: not present GPT: present Found valid GPT with protective MBR; using GPT. Command (? for help): o This option deletes all partitions and creates a new protective MBR. Proceed? (Y/N): y Command (? for help): n Partition number (1-128, default 1): 1 First sector (34-126613470, default = 2048) or {+-}size{KMGTP}: 8192 Last sector (8192-126613470, default = 126613470) or {+-}size{KMGTP}: Current type is 'Linux filesystem' Hex code or GUID (L to show codes, Enter = 8300): Changed type of partition to 'Linux filesystem' Command (? for help): w Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING PARTITIONS!! Do you want to proceed? (Y/N): y OK; writing new GUID partition table (GPT) to /dev/sdc. Warning: The kernel is still using the old partition table. The new table will be used at the next reboot. The operation has completed successfully. </pre> <pre>sudo umount /dev/sdb1 sudo mkfs.fat /dev/sdb1 </pre> <pre>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin out&& sudo dd if=out of=/dev/sdb seek=64&&sudo dd if=u-boot-dtb.img of=/dev/sdb seek=256 </pre> Copy zimage, dts and ramdisk to /dev/sdb1 <pre>cp arch/arm/boot/zImage /media/chen/9F35-9565/ cp arch/arm/boot/dts/rk3288-fennec.dtb /media/chen/9F35-9565/rk3288-fennec.dtb cp ../rk-initrd-build/initrd.img /media/chen/9F35-9565/ </pre> Add extlinux/extlinux.conf to /dev/sdb1 <pre>label kernel-4.4 kernel /zImage fdt /rk3288-fennec.dtb initrd /initrd.img append earlyprintk console=ttyS2,115200n8 rw root=/dev/ram0 rootfstype=ext4 init=/sbin/init ramdisk_size=49152 </pre> Copy u-boot-dtb.img uboot-spl.img boot.img rootfs.img and&nbsp;[https://github.com/wzyy2/rk-initrd-build/blob/master/update/update.sh update.sh]&nbsp;to /dev/sdb1 <pre>mkdir /media/chen/9F35-9565/update cp u-boot-dtb.img /media/chen/9F35-9565/update cp uboot-spl.img /media/chen/9F35-9565/update cp boot.img /media/chen/9F35-9565/update cp rootfs.img /media/chen/9F35-9565/update cp update.sh /media/chen/9F35-9565/update </pre> === Updating the board === Boot the board and it will flash image to eMMC &nbsp; == Boot from USB-Disk == Same as&nbsp;[http://rockchip.wikidot.com/boot-from-sdcard boot-from-sdcard], but please note that U-Boot aren't allowed to boot from usb-disk because of restrict of maskrom, only kernel and rootfs can load from USB-Disk. Difference: <pre><code>label kernel-4.4 kernel /zImage fdt /rk3288-fennec.dtb append earlyprintk console=ttyS2,115200n8 rw root=/dev/sda1 rootfstype=ext4 init=/sbin/init</code> </pre> <pre><code>gpt write usb 0 $partitions ums 0 usb 0</code> </pre> = Boot from Network = &nbsp; 7b212cbb6c480dcfbc3484388bbdaf71a11fba1a 758 757 2017-03-17T09:50:25Z Kever 2 wikitext text/x-wiki &nbsp; = overview = <pre>+--------+----------------+----------+-----------+ | Boot | Terminology #1 | Actual | Rockchip | | stage | | program | Loader | | number | | name | Name | +--------+----------------+----------+-----------+ | 1 | Primary | ROM code | BootRom | | | Program | | | | | Loader | | | | | | | | | 2 | Secondary | u-boot | MiniLoader| | | Program | SPL | | | | Loader (SPL) | | | | | | | | | 3 | - | U-Boot | U-Boot | | | | | | | | | | | | 4 | - | kernel | kernel | | | | | | | 5 | - | rootfs | rootfs | +--------+----------------+----------+-----------+ </pre> &nbsp; == Boot from eMMC == === &nbsp;To get tool and firmware === [[Rkdevelptool|tools]] === Flash&nbsp;to the board by USB === In order to&nbsp;flash&nbsp;by USB,you must get your board into ROM boot mode, either by erasing<br/> your MMC or holding the maskrom button when you boot the board. &nbsp; ==== RK3288(upgrade_tool) ==== To create a suitable image and flash&nbsp;it to the board:<br/> default&nbsp;: with CONFIG_ROCKCHIP_SPL_BACK_TO_BROM <pre>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin out<br/> cat u-boot-dtb.bin >> out<br/> sudo upgrade_tool db&nbsp; ../rkbin/rk32/RK3288UbootLoader_V2.30.06.bin<br/> sudo upgrade_tool wl 64 out<br/> sudo upgrade_tool rd</pre> <br/> others&nbsp;: firefly(Recommend using sd card) &nbsp; &nbsp; ==== RK3036 ==== To create a suitable image and flash&nbsp;it to the board: <pre>tools/mkimage -n rk3036 -T rksd -d spl/u-boot-spl-dtb.bin out cat u-boot-dtb.bin >> out sudo upgrade_tool db ../rkbin/rk30/RK3036MiniLoaderAll_V2.19.bin sudo upgrade_tool wl 64 out sudo upgrade_tool rd </pre> &nbsp; ==== RK3399 ==== <pre>cd .. ./rkbin/tools/trust_merger ./rkbin/tools/RK3399TRUST.ini cd uboot ../rkbin/tools/loaderimage --pack --uboot u-boot-dtb.bin uboot.img sudo upgrade_tool UL ../rkbin/rk33/RK3399MiniLoaderAll_V1.05.bin sudo upgrade_tool DI uboot uboot.img ../rkbin/tools/rk3399_parameter.txt sudo upgrade_tool DI trust ../trust.img ../rkbin/tools/rk3399_parameter.txt sudo upgrade_tool rd </pre> &nbsp; &nbsp; === &nbsp;To flash kernel and rootfs === Enter into the uboot and issue the following command on uboot: (otg should be connected) <pre>gpt write mmc 0 $partitions ums 0 mmc 0 </pre> <br/> Now the board will act as an USB-drive.<br/> In host: (assuming sdb is ur device) <pre>sudo mkfs.fat /dev/sdb6 </pre> <br/> Copy zimage and dts file to dev/sdb6 <pre>cp arch/arm/boot/zImage /media/chen/9F35-9565/ cp arch/arm/boot/dts/rk3288-fennec.dtb /media/chen/9F35-9565/rk3288-fennec.dtb </pre> Add extlinux/extlinux.conf to dev/sdb6<br/> (Please notice "mmcblk2p7" and "115200n8" is decide on your chip, Please refer to&nbsp;[http://rockchip.wikidot.com/linux-user-guide#toc1 config table]) <pre>label kernel-4.4 kernel /zImage fdt /rk3288-fennec.dtb append earlyprintk console=tty1 console=ttyS2,115200n8 rw root=/dev/mmcblk2p7 rootfstype=ext4 init=/sbin/init </pre> <br/> To flash rootfs <pre>sudo dd if=linaro-rootfs.img of=/dev/sdb7 conv=notrunc</pre> == Boot from SD/TF Card == === Creating Image === Follow&nbsp;[http://rockchip.wikidot.com/linux-user-guide linux-user-guide]&nbsp;to build kernel and U-Boot.<br/> get uboot-spl.img and u-boot-dtb.img <pre>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin uboot-spl.img </pre> &nbsp; === <br/> <var>build boot.img</var> === <pre>sudo dd if=/dev/zero of=boot.img bs=1M count=128 sudo mkfs.fat boot.img mkdir boot sudo mount boot.img boot sudo cp zImage boot sudo cp rk3288-fennec.dtb boot sudo mkdir boot/extlinux sudo cp extlinux.conf boot/extlinux sudo umount boot </pre> Download rootfs image and rename it <pre>mv linaro-rootfs.img rootfs.img </pre> &nbsp; === Making a SD Card for updating === Download&nbsp;[https://github.com/wzyy2/rk-initrd-build ramdisk source]&nbsp;and build. <pre>sh ./mk-initrd.sh </pre> Format SD card <pre>chen@chen-HP-ProDesk-680-G1-TWR:~/work/linaro-alip/ramdisk/update$ sudo gdisk /dev/sdb GPT fdisk (gdisk) version 0.8.8 Partition table scan: MBR: protective BSD: not present APM: not present GPT: present Found valid GPT with protective MBR; using GPT. Command (? for help): o This option deletes all partitions and creates a new protective MBR. Proceed? (Y/N): y Command (? for help): n Partition number (1-128, default 1): 1 First sector (34-126613470, default = 2048) or {+-}size{KMGTP}: 8192 Last sector (8192-126613470, default = 126613470) or {+-}size{KMGTP}: Current type is 'Linux filesystem' Hex code or GUID (L to show codes, Enter = 8300): Changed type of partition to 'Linux filesystem' Command (? for help): w Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING PARTITIONS!! Do you want to proceed? (Y/N): y OK; writing new GUID partition table (GPT) to /dev/sdc. Warning: The kernel is still using the old partition table. The new table will be used at the next reboot. The operation has completed successfully. </pre> <pre>sudo umount /dev/sdb1 sudo mkfs.fat /dev/sdb1 </pre> <pre>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin out&& sudo dd if=out of=/dev/sdb seek=64&&sudo dd if=u-boot-dtb.img of=/dev/sdb seek=256 </pre> Copy zimage, dts and ramdisk to /dev/sdb1 <pre>cp arch/arm/boot/zImage /media/chen/9F35-9565/ cp arch/arm/boot/dts/rk3288-fennec.dtb /media/chen/9F35-9565/rk3288-fennec.dtb cp ../rk-initrd-build/initrd.img /media/chen/9F35-9565/ </pre> Add extlinux/extlinux.conf to /dev/sdb1 <pre>label kernel-4.4 kernel /zImage fdt /rk3288-fennec.dtb initrd /initrd.img append earlyprintk console=ttyS2,115200n8 rw root=/dev/ram0 rootfstype=ext4 init=/sbin/init ramdisk_size=49152 </pre> Copy u-boot-dtb.img uboot-spl.img boot.img rootfs.img and&nbsp;[https://github.com/wzyy2/rk-initrd-build/blob/master/update/update.sh update.sh]&nbsp;to /dev/sdb1 <pre>mkdir /media/chen/9F35-9565/update cp u-boot-dtb.img /media/chen/9F35-9565/update cp uboot-spl.img /media/chen/9F35-9565/update cp boot.img /media/chen/9F35-9565/update cp rootfs.img /media/chen/9F35-9565/update cp update.sh /media/chen/9F35-9565/update </pre> === Updating the board === Boot the board and it will flash image to eMMC &nbsp; == Boot from USB-Disk == Same as&nbsp;[http://rockchip.wikidot.com/boot-from-sdcard boot-from-sdcard], but please note that U-Boot aren't allowed to boot from usb-disk because of restrict of maskrom, only kernel and rootfs can load from USB-Disk. Difference: <pre><code>label kernel-4.4 kernel /zImage fdt /rk3288-fennec.dtb append earlyprintk console=ttyS2,115200n8 rw root=/dev/sda1 rootfstype=ext4 init=/sbin/init</code> </pre> <pre><code>gpt write usb 0 $partitions ums 0 usb 0</code> </pre> = Boot from Network = &nbsp; 5a6bf0f687188752d49a6e03e6091cd5944accbc 759 758 2017-03-17T09:56:20Z Kever 2 wikitext text/x-wiki &nbsp; = overview = <pre>+--------+----------------+----------+-----------+ | Boot | Terminology #1 | Actual | Rockchip | | stage | | program | Loader | | number | | name | Name | +--------+----------------+----------+-----------+ | 1 | Primary | ROM code | BootRom | | | Program | | | | | Loader | | | | | | | | | 2 | Secondary | u-boot | MiniLoader| | | Program | SPL | | | | Loader (SPL) | | | | | | | | | 3 | - | U-Boot | U-Boot | | | | | | | | | | | | 4 | - | kernel | kernel | | | | | | | 5 | - | rootfs | rootfs | +--------+----------------+----------+-----------+ </pre> &nbsp; == Boot from eMMC == === &nbsp;To get tool and firmware === [[Rkdevelptool|tools]] === Flash&nbsp;to the board by USB === In order to&nbsp;flash&nbsp;by USB,you must get your board into ROM boot mode, either by erasing<br/> your MMC or holding the maskrom button when you boot the board. &nbsp; ==== RK3288(upgrade_tool) ==== To create a suitable image and flash&nbsp;it to the board:<br/> default&nbsp;: with CONFIG_ROCKCHIP_SPL_BACK_TO_BROM <pre>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin out<br/> cat u-boot-dtb.bin >> out<br/> sudo upgrade_tool db&nbsp; ../rkbin/rk32/RK3288UbootLoader_V2.30.06.bin<br/> sudo upgrade_tool wl 64 out<br/> sudo upgrade_tool rd</pre> <br/> others&nbsp;: firefly(Recommend using sd card) &nbsp; &nbsp; ==== RK3036 ==== To create a suitable image and flash&nbsp;it to the board: <pre>tools/mkimage -n rk3036 -T rksd -d spl/u-boot-spl-dtb.bin out cat u-boot-dtb.bin >> out sudo upgrade_tool db ../rkbin/rk30/RK3036MiniLoaderAll_V2.19.bin sudo upgrade_tool wl 64 out sudo upgrade_tool rd </pre> &nbsp; ==== RK3399 ==== <pre>cd .. ./rkbin/tools/trust_merger ./rkbin/tools/RK3399TRUST.ini cd uboot ../rkbin/tools/loaderimage --pack --uboot u-boot-dtb.bin uboot.img sudo upgrade_tool UL ../rkbin/rk33/RK3399MiniLoaderAll_V1.05.bin sudo upgrade_tool DI uboot uboot.img ../rkbin/tools/rk3399_parameter.txt sudo upgrade_tool DI trust ../trust.img ../rkbin/tools/rk3399_parameter.txt sudo upgrade_tool rd </pre> &nbsp; &nbsp; === &nbsp;To flash kernel and rootfs === Enter into the uboot and issue the following command on uboot: (otg should be connected) <pre>gpt write mmc 0 $partitions ums 0 mmc 0 </pre> <br/> Now the board will act as an USB-drive.<br/> In host: (assuming sdb is ur device) <pre>sudo mkfs.fat /dev/sdb6 </pre> <br/> Copy zimage and dts file to dev/sdb6 <pre>cp arch/arm/boot/zImage /media/chen/9F35-9565/ cp arch/arm/boot/dts/rk3288-fennec.dtb /media/chen/9F35-9565/rk3288-fennec.dtb </pre> Add extlinux/extlinux.conf to dev/sdb6<br/> (Please notice "mmcblk2p7" and "115200n8" is decide on your chip, Please refer to&nbsp;[http://rockchip.wikidot.com/linux-user-guide#toc1 config table]) <pre>label kernel-4.4 kernel /zImage fdt /rk3288-fennec.dtb append earlyprintk console=tty1 console=ttyS2,115200n8 rw root=/dev/mmcblk2p7 rootfstype=ext4 init=/sbin/init </pre> <br/> To flash rootfs <pre>sudo dd if=linaro-rootfs.img of=/dev/sdb7 conv=notrunc</pre> == Boot from SD/TF Card == === Creating Image === Follow&nbsp;[http://rockchip.wikidot.com/linux-user-guide linux-user-guide]&nbsp;to build kernel and U-Boot.<br/> get uboot-spl.img and u-boot-dtb.img <pre>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin uboot-spl.img </pre> &nbsp; === <br/> <var>build boot.img</var> === <pre>sudo dd if=/dev/zero of=boot.img bs=1M count=128 sudo mkfs.fat boot.img mkdir boot sudo mount boot.img boot sudo cp zImage boot sudo cp rk3288-fennec.dtb boot sudo mkdir boot/extlinux sudo cp extlinux.conf boot/extlinux sudo umount boot </pre> Download rootfs image and rename it <pre>mv linaro-rootfs.img rootfs.img </pre> &nbsp; === Making a SD Card for updating === Download&nbsp;[https://github.com/wzyy2/rk-initrd-build ramdisk source]&nbsp;and build. <pre>sh ./mk-initrd.sh </pre> Format SD card <pre>chen@chen-HP-ProDesk-680-G1-TWR:~/work/linaro-alip/ramdisk/update$ sudo gdisk /dev/sdb GPT fdisk (gdisk) version 0.8.8 Partition table scan: MBR: protective BSD: not present APM: not present GPT: present Found valid GPT with protective MBR; using GPT. Command (? for help): o This option deletes all partitions and creates a new protective MBR. Proceed? (Y/N): y Command (? for help): n Partition number (1-128, default 1): 1 First sector (34-126613470, default = 2048) or {+-}size{KMGTP}: 8192 Last sector (8192-126613470, default = 126613470) or {+-}size{KMGTP}: Current type is 'Linux filesystem' Hex code or GUID (L to show codes, Enter = 8300): Changed type of partition to 'Linux filesystem' Command (? for help): w Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING PARTITIONS!! Do you want to proceed? (Y/N): y OK; writing new GUID partition table (GPT) to /dev/sdc. Warning: The kernel is still using the old partition table. The new table will be used at the next reboot. The operation has completed successfully. </pre> <pre>sudo umount /dev/sdb1 sudo mkfs.fat /dev/sdb1 </pre> <pre>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin out&& sudo dd if=out of=/dev/sdb seek=64&&sudo dd if=u-boot-dtb.img of=/dev/sdb seek=256 </pre> Copy zimage, dts and ramdisk to /dev/sdb1 <pre>cp arch/arm/boot/zImage /media/chen/9F35-9565/ cp arch/arm/boot/dts/rk3288-fennec.dtb /media/chen/9F35-9565/rk3288-fennec.dtb cp ../rk-initrd-build/initrd.img /media/chen/9F35-9565/ </pre> Add extlinux/extlinux.conf to /dev/sdb1 <pre>label kernel-4.4 kernel /zImage fdt /rk3288-fennec.dtb initrd /initrd.img append earlyprintk console=ttyS2,115200n8 rw root=/dev/ram0 rootfstype=ext4 init=/sbin/init ramdisk_size=49152 </pre> Copy u-boot-dtb.img uboot-spl.img boot.img rootfs.img and&nbsp;[https://github.com/wzyy2/rk-initrd-build/blob/master/update/update.sh update.sh]&nbsp;to /dev/sdb1 <pre>mkdir /media/chen/9F35-9565/update cp u-boot-dtb.img /media/chen/9F35-9565/update cp uboot-spl.img /media/chen/9F35-9565/update cp boot.img /media/chen/9F35-9565/update cp rootfs.img /media/chen/9F35-9565/update cp update.sh /media/chen/9F35-9565/update </pre> === Updating the board === Boot the board and it will flash image to eMMC &nbsp; == Boot from USB-Disk == Same as&nbsp;[[#Boot_from_eMMC|boot-from-sdcard]], but please note that U-Boot aren't allowed to boot from usb-disk because of restrict of maskrom, only kernel and rootfs can load from USB-Disk. Difference: <pre><code>label kernel-4.4 kernel /zImage fdt /rk3288-fennec.dtb append earlyprintk console=ttyS2,115200n8 rw root=/dev/sda1 rootfstype=ext4 init=/sbin/init</code> </pre> <pre><code>gpt write usb 0 $partitions ums 0 usb 0</code> </pre> = Boot from Network = &nbsp; 2eecb9de231bc2231ab28b17ca0b181dfc947ff3 760 759 2017-03-17T09:58:07Z Kever 2 wikitext text/x-wiki &nbsp; = overview = <pre>+--------+----------------+----------+-----------+ | Boot | Terminology #1 | Actual | Rockchip | | stage | | program | Loader | | number | | name | Name | +--------+----------------+----------+-----------+ | 1 | Primary | ROM code | BootRom | | | Program | | | | | Loader | | | | | | | | | 2 | Secondary | u-boot | MiniLoader| | | Program | SPL | | | | Loader (SPL) | | | | | | | | | 3 | - | U-Boot | U-Boot | | | | | | | | | | | | 4 | - | kernel | kernel | | | | | | | 5 | - | rootfs | rootfs | +--------+----------------+----------+-----------+ </pre> &nbsp; == Boot from eMMC == === &nbsp;To get tool and firmware === [[Rkdevelptool|tools]] === Flash&nbsp;to the board by USB === In order to&nbsp;flash&nbsp;by USB,you must get your board into ROM boot mode, either by erasing<br/> your MMC or holding the maskrom button when you boot the board. &nbsp; ==== RK3288(upgrade_tool) ==== To create a suitable image and flash&nbsp;it to the board:<br/> default&nbsp;: with CONFIG_ROCKCHIP_SPL_BACK_TO_BROM <pre>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin out<br/> cat u-boot-dtb.bin >> out<br/> sudo upgrade_tool db&nbsp; ../rkbin/rk32/RK3288UbootLoader_V2.30.06.bin<br/> sudo upgrade_tool wl 64 out<br/> sudo upgrade_tool rd</pre> <br/> others&nbsp;: firefly(Recommend using sd card) &nbsp; &nbsp; ==== RK3036 ==== To create a suitable image and flash&nbsp;it to the board: <pre>tools/mkimage -n rk3036 -T rksd -d spl/u-boot-spl-dtb.bin out cat u-boot-dtb.bin >> out sudo upgrade_tool db ../rkbin/rk30/RK3036MiniLoaderAll_V2.19.bin sudo upgrade_tool wl 64 out sudo upgrade_tool rd </pre> &nbsp; ==== RK3399 ==== <pre>cd .. ./rkbin/tools/trust_merger ./rkbin/tools/RK3399TRUST.ini cd uboot ../rkbin/tools/loaderimage --pack --uboot u-boot-dtb.bin uboot.img sudo upgrade_tool UL ../rkbin/rk33/RK3399MiniLoaderAll_V1.05.bin sudo upgrade_tool DI uboot uboot.img ../rkbin/tools/rk3399_parameter.txt sudo upgrade_tool DI trust ../trust.img ../rkbin/tools/rk3399_parameter.txt sudo upgrade_tool rd </pre> &nbsp; &nbsp; === &nbsp;To flash kernel and rootfs === Enter into the uboot and issue the following command on uboot: (otg should be connected) <pre>gpt write mmc 0 $partitions ums 0 mmc 0 </pre> <br/> Now the board will act as an USB-drive.<br/> In host: (assuming sdb is ur device) <pre>sudo mkfs.fat /dev/sdb6 </pre> <br/> Copy zimage and dts file to dev/sdb6 <pre>cp arch/arm/boot/zImage /media/chen/9F35-9565/ cp arch/arm/boot/dts/rk3288-fennec.dtb /media/chen/9F35-9565/rk3288-fennec.dtb </pre> Add extlinux/extlinux.conf to dev/sdb6<br/> (Please notice "mmcblk2p7" and "115200n8" is decide on your chip, Please refer to&nbsp;[http://rockchip.wikidot.com/linux-user-guide#toc1 config table]) <pre>label kernel-4.4 kernel /zImage fdt /rk3288-fennec.dtb append earlyprintk console=tty1 console=ttyS2,115200n8 rw root=/dev/mmcblk2p7 rootfstype=ext4 init=/sbin/init </pre> <br/> To flash rootfs <pre>sudo dd if=linaro-rootfs.img of=/dev/sdb7 conv=notrunc</pre> == Boot from SD/TF Card == === Creating Image === Follow&nbsp;[http://rockchip.wikidot.com/linux-user-guide linux-user-guide]to build kernel and U-Boot.<br/> get uboot-spl.img and u-boot-dtb.img <pre>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin uboot-spl.img </pre> &nbsp; === <br/> <var>build boot.img</var> === <pre>sudo dd if=/dev/zero of=boot.img bs=1M count=128 sudo mkfs.fat boot.img mkdir boot sudo mount boot.img boot sudo cp zImage boot sudo cp rk3288-fennec.dtb boot sudo mkdir boot/extlinux sudo cp extlinux.conf boot/extlinux sudo umount boot </pre> Download rootfs image and rename it <pre>mv linaro-rootfs.img rootfs.img </pre> &nbsp; === Making a SD Card for updating === Download&nbsp;[https://github.com/wzyy2/rk-initrd-build ramdisk source]&nbsp;and build. <pre>sh ./mk-initrd.sh </pre> Format SD card <pre>chen@chen-HP-ProDesk-680-G1-TWR:~/work/linaro-alip/ramdisk/update$ sudo gdisk /dev/sdb GPT fdisk (gdisk) version 0.8.8 Partition table scan: MBR: protective BSD: not present APM: not present GPT: present Found valid GPT with protective MBR; using GPT. Command (? for help): o This option deletes all partitions and creates a new protective MBR. Proceed? (Y/N): y Command (? for help): n Partition number (1-128, default 1): 1 First sector (34-126613470, default = 2048) or {+-}size{KMGTP}: 8192 Last sector (8192-126613470, default = 126613470) or {+-}size{KMGTP}: Current type is 'Linux filesystem' Hex code or GUID (L to show codes, Enter = 8300): Changed type of partition to 'Linux filesystem' Command (? for help): w Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING PARTITIONS!! Do you want to proceed? (Y/N): y OK; writing new GUID partition table (GPT) to /dev/sdc. Warning: The kernel is still using the old partition table. The new table will be used at the next reboot. The operation has completed successfully. </pre> <pre>sudo umount /dev/sdb1 sudo mkfs.fat /dev/sdb1 </pre> <pre>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin out&& sudo dd if=out of=/dev/sdb seek=64&&sudo dd if=u-boot-dtb.img of=/dev/sdb seek=256 </pre> Copy zimage, dts and ramdisk to /dev/sdb1 <pre>cp arch/arm/boot/zImage /media/chen/9F35-9565/ cp arch/arm/boot/dts/rk3288-fennec.dtb /media/chen/9F35-9565/rk3288-fennec.dtb cp ../rk-initrd-build/initrd.img /media/chen/9F35-9565/ </pre> Add extlinux/extlinux.conf to /dev/sdb1 <pre>label kernel-4.4 kernel /zImage fdt /rk3288-fennec.dtb initrd /initrd.img append earlyprintk console=ttyS2,115200n8 rw root=/dev/ram0 rootfstype=ext4 init=/sbin/init ramdisk_size=49152 </pre> Copy u-boot-dtb.img uboot-spl.img boot.img rootfs.img and&nbsp;[https://github.com/wzyy2/rk-initrd-build/blob/master/update/update.sh update.sh]&nbsp;to /dev/sdb1 <pre>mkdir /media/chen/9F35-9565/update cp u-boot-dtb.img /media/chen/9F35-9565/update cp uboot-spl.img /media/chen/9F35-9565/update cp boot.img /media/chen/9F35-9565/update cp rootfs.img /media/chen/9F35-9565/update cp update.sh /media/chen/9F35-9565/update </pre> === Updating the board === Boot the board and it will flash image to eMMC &nbsp; == Boot from USB-Disk == Same as&nbsp;[[#Boot_from_eMMC|boot-from-sdcard]], but please note that U-Boot aren't allowed to boot from usb-disk because of restrict of maskrom, only kernel and rootfs can load from USB-Disk. Difference: <pre><code>label kernel-4.4 kernel /zImage fdt /rk3288-fennec.dtb append earlyprintk console=ttyS2,115200n8 rw root=/dev/sda1 rootfstype=ext4 init=/sbin/init</code> </pre> <pre><code>gpt write usb 0 $partitions ums 0 usb 0</code> </pre> = Boot from Network = &nbsp; 2d1165e7e2e37ff8ed1e038653df39f1db6df8f0 761 760 2017-03-17T10:00:26Z Kever 2 wikitext text/x-wiki &nbsp; = overview = <pre>+--------+----------------+----------+-----------+ | Boot | Terminology #1 | Actual | Rockchip | | stage | | program | Loader | | number | | name | Name | +--------+----------------+----------+-----------+ | 1 | Primary | ROM code | BootRom | | | Program | | | | | Loader | | | | | | | | | 2 | Secondary | u-boot | MiniLoader| | | Program | SPL | | | | Loader (SPL) | | | | | | | | | 3 | - | U-Boot | U-Boot | | | | | | | | | | | | 4 | - | kernel | kernel | | | | | | | 5 | - | rootfs | rootfs | +--------+----------------+----------+-----------+ </pre> &nbsp; == Boot from eMMC == === &nbsp;To get tool and firmware === [[Rkdevelptool|tools]] === Flash&nbsp;to the board by USB === In order to&nbsp;flash&nbsp;by USB,you must get your board into ROM boot mode, either by erasing<br/> your MMC or holding the maskrom button when you boot the board. &nbsp; ==== RK3288(upgrade_tool) ==== To create a suitable image and flash&nbsp;it to the board:<br/> default&nbsp;: with CONFIG_ROCKCHIP_SPL_BACK_TO_BROM <pre>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin out<br/> cat u-boot-dtb.bin >> out<br/> sudo upgrade_tool db&nbsp; ../rkbin/rk32/RK3288UbootLoader_V2.30.06.bin<br/> sudo upgrade_tool wl 64 out<br/> sudo upgrade_tool rd</pre> <br/> others&nbsp;: firefly(Recommend using sd card) &nbsp; &nbsp; ==== RK3036 ==== To create a suitable image and flash&nbsp;it to the board: <pre>tools/mkimage -n rk3036 -T rksd -d spl/u-boot-spl-dtb.bin out cat u-boot-dtb.bin >> out sudo upgrade_tool db ../rkbin/rk30/RK3036MiniLoaderAll_V2.19.bin sudo upgrade_tool wl 64 out sudo upgrade_tool rd </pre> &nbsp; ==== RK3399 ==== <pre>cd .. ./rkbin/tools/trust_merger ./rkbin/tools/RK3399TRUST.ini cd uboot ../rkbin/tools/loaderimage --pack --uboot u-boot-dtb.bin uboot.img sudo upgrade_tool UL ../rkbin/rk33/RK3399MiniLoaderAll_V1.05.bin sudo upgrade_tool DI uboot uboot.img ../rkbin/tools/rk3399_parameter.txt sudo upgrade_tool DI trust ../trust.img ../rkbin/tools/rk3399_parameter.txt sudo upgrade_tool rd </pre> &nbsp; &nbsp; === &nbsp;To flash kernel and rootfs === Enter into the uboot and issue the following command on uboot: (otg should be connected) <pre>gpt write mmc 0 $partitions ums 0 mmc 0 </pre> <br/> Now the board will act as an USB-drive.<br/> In host: (assuming sdb is ur device) <pre>sudo mkfs.fat /dev/sdb6 </pre> <br/> Copy zimage and dts file to dev/sdb6 <pre>cp arch/arm/boot/zImage /media/chen/9F35-9565/ cp arch/arm/boot/dts/rk3288-fennec.dtb /media/chen/9F35-9565/rk3288-fennec.dtb </pre> Add extlinux/extlinux.conf to dev/sdb6<br/> (Please notice "mmcblk2p7" and "115200n8" is decide on your chip, Please refer to&nbsp;[http://rockchip.wikidot.com/linux-user-guide#toc1 config table]) <pre>label kernel-4.4 kernel /zImage fdt /rk3288-fennec.dtb append earlyprintk console=tty1 console=ttyS2,115200n8 rw root=/dev/mmcblk2p7 rootfstype=ext4 init=/sbin/init </pre> <br/> To flash rootfs <pre>sudo dd if=linaro-rootfs.img of=/dev/sdb7 conv=notrunc</pre> == Boot from SD/TF Card == === Creating Image === Follow&nbsp;[http://rockchip.wikidot.com/linux-user-guide linux-user-guide]to build kernel and U-Boot.<br/> get uboot-spl.img and u-boot-dtb.img <pre>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin uboot-spl.img </pre> &nbsp; === <br/> <var>build boot.img</var> === <pre>sudo dd if=/dev/zero of=boot.img bs=1M count=128 sudo mkfs.fat boot.img mkdir boot sudo mount boot.img boot sudo cp zImage boot sudo cp rk3288-fennec.dtb boot sudo mkdir boot/extlinux sudo cp extlinux.conf boot/extlinux sudo umount boot </pre> Download rootfs image and rename it <pre>mv linaro-rootfs.img rootfs.img </pre> &nbsp; === Making a SD Card for updating === Download&nbsp;[https://github.com/wzyy2/rk-initrd-build ramdisk source]&nbsp;and build. <pre>sh ./mk-initrd.sh </pre> Format SD card <pre>chen@chen-HP-ProDesk-680-G1-TWR:~/work/linaro-alip/ramdisk/update$ sudo gdisk /dev/sdb GPT fdisk (gdisk) version 0.8.8 Partition table scan: MBR: protective BSD: not present APM: not present GPT: present Found valid GPT with protective MBR; using GPT. Command (? for help): o This option deletes all partitions and creates a new protective MBR. Proceed? (Y/N): y Command (? for help): n Partition number (1-128, default 1): 1 First sector (34-126613470, default = 2048) or {+-}size{KMGTP}: 8192 Last sector (8192-126613470, default = 126613470) or {+-}size{KMGTP}: Current type is 'Linux filesystem' Hex code or GUID (L to show codes, Enter = 8300): Changed type of partition to 'Linux filesystem' Command (? for help): w Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING PARTITIONS!! Do you want to proceed? (Y/N): y OK; writing new GUID partition table (GPT) to /dev/sdc. Warning: The kernel is still using the old partition table. The new table will be used at the next reboot. The operation has completed successfully. </pre> <pre>sudo umount /dev/sdb1 sudo mkfs.fat /dev/sdb1 </pre> <pre>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin out&& sudo dd if=out of=/dev/sdb seek=64&&sudo dd if=u-boot-dtb.img of=/dev/sdb seek=256 </pre> Copy zimage, dts and ramdisk to /dev/sdb1 <pre>cp arch/arm/boot/zImage /media/chen/9F35-9565/ cp arch/arm/boot/dts/rk3288-fennec.dtb /media/chen/9F35-9565/rk3288-fennec.dtb cp ../rk-initrd-build/initrd.img /media/chen/9F35-9565/ </pre> Add extlinux/extlinux.conf to /dev/sdb1 <pre>label kernel-4.4 kernel /zImage fdt /rk3288-fennec.dtb initrd /initrd.img append earlyprintk console=ttyS2,115200n8 rw root=/dev/ram0 rootfstype=ext4 init=/sbin/init ramdisk_size=49152 </pre> Copy u-boot-dtb.img uboot-spl.img boot.img rootfs.img and&nbsp;[https://github.com/wzyy2/rk-initrd-build/blob/master/update/update.sh update.sh]&nbsp;to /dev/sdb1 <pre>mkdir /media/chen/9F35-9565/update cp u-boot-dtb.img /media/chen/9F35-9565/update cp uboot-spl.img /media/chen/9F35-9565/update cp boot.img /media/chen/9F35-9565/update cp rootfs.img /media/chen/9F35-9565/update cp update.sh /media/chen/9F35-9565/update </pre> === Updating the board === Boot the board and it will flash image to eMMC &nbsp; == Boot from USB-Disk == Same as&nbsp;[[#Boot_from_SD.2FTF_Card|boot-from-sdcard]], but please note that U-Boot aren't allowed to boot from usb-disk because of restrict of maskrom, only kernel and rootfs can load from USB-Disk. Difference: <pre><code>label kernel-4.4 kernel /zImage fdt /rk3288-fennec.dtb append earlyprintk console=ttyS2,115200n8 rw root=/dev/sda1 rootfstype=ext4 init=/sbin/init</code> </pre> <pre><code>gpt write usb 0 $partitions ums 0 usb 0</code> </pre> = Boot from Network = &nbsp; f64a2028e0ea841c4f9de9504841ff909c934cdb 763 761 2017-03-17T10:03:57Z Karen 3 wikitext text/x-wiki &nbsp; = overview = <pre>+--------+----------------+----------+-----------+ | Boot | Terminology #1 | Actual | Rockchip | | stage | | program | Loader | | number | | name | Name | +--------+----------------+----------+-----------+ | 1 | Primary | ROM code | BootRom | | | Program | | | | | Loader | | | | | | | | | 2 | Secondary | u-boot | MiniLoader| | | Program | SPL | | | | Loader (SPL) | | | | | | | | | 3 | - | U-Boot | U-Boot | | | | | | | | | | | | 4 | - | kernel | kernel | | | | | | | 5 | - | rootfs | rootfs | +--------+----------------+----------+-----------+ </pre> &nbsp; == Boot from eMMC == === &nbsp;To get tool and firmware === [[Rkdevelptool|tools]] === Flash&nbsp;to the board by USB === In order to&nbsp;flash&nbsp;by USB,you must get your board into ROM boot mode, either by erasing<br/> your MMC or holding the maskrom button when you boot the board. &nbsp; ==== RK3288(upgrade_tool) ==== To create a suitable image and flash&nbsp;it to the board:<br/> default&nbsp;: with CONFIG_ROCKCHIP_SPL_BACK_TO_BROM <pre>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin out<br/> cat u-boot-dtb.bin >> out<br/> sudo upgrade_tool db&nbsp; ../rkbin/rk32/RK3288UbootLoader_V2.30.06.bin<br/> sudo upgrade_tool wl 64 out<br/> sudo upgrade_tool rd</pre> <br/> others&nbsp;: firefly(Recommend using sd card) &nbsp; &nbsp; ==== RK3036 ==== To create a suitable image and flash&nbsp;it to the board: <pre>tools/mkimage -n rk3036 -T rksd -d spl/u-boot-spl-dtb.bin out cat u-boot-dtb.bin >> out sudo upgrade_tool db ../rkbin/rk30/RK3036MiniLoaderAll_V2.19.bin sudo upgrade_tool wl 64 out sudo upgrade_tool rd </pre> &nbsp; ==== RK3399 ==== <pre>cd .. ./rkbin/tools/trust_merger ./rkbin/tools/RK3399TRUST.ini cd uboot ../rkbin/tools/loaderimage --pack --uboot u-boot-dtb.bin uboot.img sudo upgrade_tool UL ../rkbin/rk33/RK3399MiniLoaderAll_V1.05.bin sudo upgrade_tool DI uboot uboot.img ../rkbin/tools/rk3399_parameter.txt sudo upgrade_tool DI trust ../trust.img ../rkbin/tools/rk3399_parameter.txt sudo upgrade_tool rd </pre> &nbsp; &nbsp; === &nbsp;To flash kernel and rootfs === Enter into the uboot and issue the following command on uboot: (otg should be connected) <pre>gpt write mmc 0 $partitions ums 0 mmc 0 </pre> <br/> Now the board will act as an USB-drive.<br/> In host: (assuming sdb is ur device) <pre>sudo mkfs.fat /dev/sdb6 </pre> <br/> Copy zimage and dts file to dev/sdb6 <pre>cp arch/arm/boot/zImage /media/chen/9F35-9565/ cp arch/arm/boot/dts/rk3288-fennec.dtb /media/chen/9F35-9565/rk3288-fennec.dtb </pre> Add extlinux/extlinux.conf to dev/sdb6<br/> (Please notice "mmcblk2p7" and "115200n8" is decide on your chip, Please refer to&nbsp;[http://rockchip.wikidot.com/linux-user-guide#toc1 config table]) <pre>label kernel-4.4 kernel /zImage fdt /rk3288-fennec.dtb append earlyprintk console=tty1 console=ttyS2,115200n8 rw root=/dev/mmcblk2p7 rootfstype=ext4 init=/sbin/init </pre> <br/> To flash rootfs <pre>sudo dd if=linaro-rootfs.img of=/dev/sdb7 conv=notrunc</pre> == Boot from SD/TF Card == === Creating Image === Follow&nbsp;[http://rockchip.wikidot.com/linux-user-guide linux-user-guide]to build kernel and U-Boot.<br/> get uboot-spl.img and u-boot-dtb.img <pre>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin uboot-spl.img </pre> &nbsp; === <br/> <var>build boot.img</var> === <pre>sudo dd if=/dev/zero of=boot.img bs=1M count=128 sudo mkfs.fat boot.img mkdir boot sudo mount boot.img boot sudo cp zImage boot sudo cp rk3288-fennec.dtb boot sudo mkdir boot/extlinux sudo cp extlinux.conf boot/extlinux sudo umount boot </pre> Download rootfs image and rename it <pre>mv linaro-rootfs.img rootfs.img </pre> &nbsp; === Making a SD Card for updating === Download&nbsp;[https://github.com/wzyy2/rk-initrd-build ramdisk source]&nbsp;and build. <pre>sh ./mk-initrd.sh </pre> Format SD card <pre>chen@chen-HP-ProDesk-680-G1-TWR:~/work/linaro-alip/ramdisk/update$ sudo gdisk /dev/sdb GPT fdisk (gdisk) version 0.8.8 Partition table scan: MBR: protective BSD: not present APM: not present GPT: present Found valid GPT with protective MBR; using GPT. Command (? for help): o This option deletes all partitions and creates a new protective MBR. Proceed? (Y/N): y Command (? for help): n Partition number (1-128, default 1): 1 First sector (34-126613470, default = 2048) or {+-}size{KMGTP}: 8192 Last sector (8192-126613470, default = 126613470) or {+-}size{KMGTP}: Current type is 'Linux filesystem' Hex code or GUID (L to show codes, Enter = 8300): Changed type of partition to 'Linux filesystem' Command (? for help): w Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING PARTITIONS!! Do you want to proceed? (Y/N): y OK; writing new GUID partition table (GPT) to /dev/sdc. Warning: The kernel is still using the old partition table. The new table will be used at the next reboot. The operation has completed successfully. </pre> <pre>sudo umount /dev/sdb1 sudo mkfs.fat /dev/sdb1 </pre> <pre>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin out&& sudo dd if=out of=/dev/sdb seek=64&&sudo dd if=u-boot-dtb.img of=/dev/sdb seek=256 </pre> Copy zimage, dts and ramdisk to /dev/sdb1 <pre>cp arch/arm/boot/zImage /media/chen/9F35-9565/ cp arch/arm/boot/dts/rk3288-fennec.dtb /media/chen/9F35-9565/rk3288-fennec.dtb cp ../rk-initrd-build/initrd.img /media/chen/9F35-9565/ </pre> Add extlinux/extlinux.conf to /dev/sdb1 <pre>label kernel-4.4 kernel /zImage fdt /rk3288-fennec.dtb initrd /initrd.img append earlyprintk console=ttyS2,115200n8 rw root=/dev/ram0 rootfstype=ext4 init=/sbin/init ramdisk_size=49152 </pre> Copy u-boot-dtb.img uboot-spl.img boot.img rootfs.img and&nbsp;[https://github.com/wzyy2/rk-initrd-build/blob/master/update/update.sh update.sh]&nbsp;to /dev/sdb1 <pre>mkdir /media/chen/9F35-9565/update cp u-boot-dtb.img /media/chen/9F35-9565/update cp uboot-spl.img /media/chen/9F35-9565/update cp boot.img /media/chen/9F35-9565/update cp rootfs.img /media/chen/9F35-9565/update cp update.sh /media/chen/9F35-9565/update </pre> === Updating the board === Boot the board and it will flash image to eMMC &nbsp; == Boot from USB-Disk == Same as&nbsp;[[#Boot_from_SD.2FTF_Card|boot-from-sdcard]], but please note that U-Boot aren't allowed to boot from usb-disk because of restrict of maskrom, only kernel and rootfs can load from USB-Disk. Difference: <pre>label kernel-4.4 kernel /zImage fdt /rk3288-fennec.dtb append earlyprintk console=ttyS2,115200n8 rw root=/dev/sda1 rootfstype=ext4 init=/sbin/init </pre> <pre>gpt write usb 0 $partitions ums 0 usb 0 </pre> = Boot from Network = &nbsp; 2d8a464240c40659d9e46fe0bba2de40f8278f02 768 763 2017-03-20T01:22:29Z Karen 3 wikitext text/x-wiki &nbsp; = overview = <pre>+--------+----------------+----------+-----------+ | Boot | Terminology #1 | Actual | Rockchip | | stage | | program | Loader | | number | | name | Name | +--------+----------------+----------+-----------+ | 1 | Primary | ROM code | BootRom | | | Program | | | | | Loader | | | | | | | | | 2 | Secondary | u-boot | MiniLoader| | | Program | SPL | | | | Loader (SPL) | | | | | | | | | 3 | - | U-Boot | U-Boot | | | | | | | | | | | | 4 | - | kernel | kernel | | | | | | | 5 | - | rootfs | rootfs | +--------+----------------+----------+-----------+ </pre> &nbsp; == Boot from eMMC == === &nbsp;To get tool and firmware === [[Rkdevelptool|tools]] === Flash&nbsp;to the board by USB === In order to&nbsp;flash&nbsp;by USB,you must get your board into ROM boot mode, either by erasing<br/> your MMC or holding the maskrom button when you boot the board. &nbsp; ==== RK3288(upgrade_tool) ==== To create a suitable image and flash&nbsp;it to the board:<br/> default&nbsp;: with CONFIG_ROCKCHIP_SPL_BACK_TO_BROM <pre>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin out<br/> cat u-boot-dtb.bin >> out<br/> sudo upgrade_tool db&nbsp; ../rkbin/rk32/RK3288UbootLoader_V2.30.06.bin<br/> sudo upgrade_tool wl 64 out<br/> sudo upgrade_tool rd</pre> <br/> others&nbsp;: firefly(Recommend using sd card) &nbsp; &nbsp; ==== RK3036 ==== To create a suitable image and flash&nbsp;it to the board: <pre>tools/mkimage -n rk3036 -T rksd -d spl/u-boot-spl-dtb.bin out cat u-boot-dtb.bin >> out sudo upgrade_tool db ../rkbin/rk30/RK3036MiniLoaderAll_V2.19.bin sudo upgrade_tool wl 64 out sudo upgrade_tool rd </pre> &nbsp; ==== RK3399 ==== <pre>cd .. ./rkbin/tools/trust_merger ./rkbin/tools/RK3399TRUST.ini cd uboot ../rkbin/tools/loaderimage --pack --uboot u-boot-dtb.bin uboot.img sudo upgrade_tool UL ../rkbin/rk33/RK3399MiniLoaderAll_V1.05.bin sudo upgrade_tool DI uboot uboot.img ../rkbin/tools/rk3399_parameter.txt sudo upgrade_tool DI trust ../trust.img ../rkbin/tools/rk3399_parameter.txt sudo upgrade_tool rd </pre> &nbsp; &nbsp; === &nbsp;To flash kernel and rootfs === Enter into the uboot and issue the following command on uboot: (otg should be connected) <pre>gpt write mmc 0 $partitions ums 0 mmc 0 </pre> <br/> Now the board will act as an USB-drive.<br/> In host: (assuming sdb is ur device) <pre>sudo mkfs.fat /dev/sdb6 </pre> <br/> Copy zimage and dts file to dev/sdb6 <pre>cp arch/arm/boot/zImage /media/chen/9F35-9565/ cp arch/arm/boot/dts/rk3288-fennec.dtb /media/chen/9F35-9565/rk3288-fennec.dtb </pre> Add extlinux/extlinux.conf to dev/sdb6<br/> (Please notice "mmcblk2p7" and "115200n8" is decide on your chip, Please refer to&nbsp;[[config_table|config table]]) <pre>label kernel-4.4 kernel /zImage fdt /rk3288-fennec.dtb append earlyprintk console=tty1 console=ttyS2,115200n8 rw root=/dev/mmcblk2p7 rootfstype=ext4 init=/sbin/init </pre> <br/> To flash rootfs <pre>sudo dd if=linaro-rootfs.img of=/dev/sdb7 conv=notrunc</pre> == Boot from SD/TF Card == === Creating Image === Follow&nbsp;[http://rockchip.wikidot.com/linux-user-guide linux-user-guide]to build kernel and U-Boot.<br/> get uboot-spl.img and u-boot-dtb.img <pre>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin uboot-spl.img </pre> &nbsp; === <br/> <var>build boot.img</var> === <pre>sudo dd if=/dev/zero of=boot.img bs=1M count=128 sudo mkfs.fat boot.img mkdir boot sudo mount boot.img boot sudo cp zImage boot sudo cp rk3288-fennec.dtb boot sudo mkdir boot/extlinux sudo cp extlinux.conf boot/extlinux sudo umount boot </pre> Download rootfs image and rename it <pre>mv linaro-rootfs.img rootfs.img </pre> &nbsp; === Making a SD Card for updating === Download&nbsp;[https://github.com/wzyy2/rk-initrd-build ramdisk source]&nbsp;and build. <pre>sh ./mk-initrd.sh </pre> Format SD card <pre>chen@chen-HP-ProDesk-680-G1-TWR:~/work/linaro-alip/ramdisk/update$ sudo gdisk /dev/sdb GPT fdisk (gdisk) version 0.8.8 Partition table scan: MBR: protective BSD: not present APM: not present GPT: present Found valid GPT with protective MBR; using GPT. Command (? for help): o This option deletes all partitions and creates a new protective MBR. Proceed? (Y/N): y Command (? for help): n Partition number (1-128, default 1): 1 First sector (34-126613470, default = 2048) or {+-}size{KMGTP}: 8192 Last sector (8192-126613470, default = 126613470) or {+-}size{KMGTP}: Current type is 'Linux filesystem' Hex code or GUID (L to show codes, Enter = 8300): Changed type of partition to 'Linux filesystem' Command (? for help): w Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING PARTITIONS!! Do you want to proceed? (Y/N): y OK; writing new GUID partition table (GPT) to /dev/sdc. Warning: The kernel is still using the old partition table. The new table will be used at the next reboot. The operation has completed successfully. </pre> <pre>sudo umount /dev/sdb1 sudo mkfs.fat /dev/sdb1 </pre> <pre>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin out&& sudo dd if=out of=/dev/sdb seek=64&&sudo dd if=u-boot-dtb.img of=/dev/sdb seek=256 </pre> Copy zimage, dts and ramdisk to /dev/sdb1 <pre>cp arch/arm/boot/zImage /media/chen/9F35-9565/ cp arch/arm/boot/dts/rk3288-fennec.dtb /media/chen/9F35-9565/rk3288-fennec.dtb cp ../rk-initrd-build/initrd.img /media/chen/9F35-9565/ </pre> Add extlinux/extlinux.conf to /dev/sdb1 <pre>label kernel-4.4 kernel /zImage fdt /rk3288-fennec.dtb initrd /initrd.img append earlyprintk console=ttyS2,115200n8 rw root=/dev/ram0 rootfstype=ext4 init=/sbin/init ramdisk_size=49152 </pre> Copy u-boot-dtb.img uboot-spl.img boot.img rootfs.img and&nbsp;[https://github.com/wzyy2/rk-initrd-build/blob/master/update/update.sh update.sh]&nbsp;to /dev/sdb1 <pre>mkdir /media/chen/9F35-9565/update cp u-boot-dtb.img /media/chen/9F35-9565/update cp uboot-spl.img /media/chen/9F35-9565/update cp boot.img /media/chen/9F35-9565/update cp rootfs.img /media/chen/9F35-9565/update cp update.sh /media/chen/9F35-9565/update </pre> === Updating the board === Boot the board and it will flash image to eMMC &nbsp; == Boot from USB-Disk == Same as&nbsp;[[#Boot_from_SD.2FTF_Card|boot-from-sdcard]], but please note that U-Boot aren't allowed to boot from usb-disk because of restrict of maskrom, only kernel and rootfs can load from USB-Disk. Difference: <pre>label kernel-4.4 kernel /zImage fdt /rk3288-fennec.dtb append earlyprintk console=ttyS2,115200n8 rw root=/dev/sda1 rootfstype=ext4 init=/sbin/init </pre> <pre>gpt write usb 0 $partitions ums 0 usb 0 </pre> = Boot from Network = &nbsp; a796b145a1542319df262b1817fc9dd10d3a1d1d 772 768 2017-03-20T01:33:35Z Karen 3 wikitext text/x-wiki &nbsp; = overview = <pre>+--------+----------------+----------+-----------+ | Boot | Terminology #1 | Actual | Rockchip | | stage | | program | Loader | | number | | name | Name | +--------+----------------+----------+-----------+ | 1 | Primary | ROM code | BootRom | | | Program | | | | | Loader | | | | | | | | | 2 | Secondary | u-boot | MiniLoader| | | Program | SPL | | | | Loader (SPL) | | | | | | | | | 3 | - | U-Boot | U-Boot | | | | | | | | | | | | 4 | - | kernel | kernel | | | | | | | 5 | - | rootfs | rootfs | +--------+----------------+----------+-----------+ </pre> &nbsp; == Boot from eMMC == === &nbsp;To get tool and firmware === [[Rkdevelptool|tools]] === Flash&nbsp;to the board by USB === In order to&nbsp;flash&nbsp;by USB,you must get your board into ROM boot mode, either by erasing<br/> your MMC or holding the maskrom button when you boot the board. &nbsp; ==== RK3288(upgrade_tool) ==== To create a suitable image and flash&nbsp;it to the board:<br/> default&nbsp;: with CONFIG_ROCKCHIP_SPL_BACK_TO_BROM <pre>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin out<br/> cat u-boot-dtb.bin >> out<br/> sudo upgrade_tool db&nbsp; ../rkbin/rk32/RK3288UbootLoader_V2.30.06.bin<br/> sudo upgrade_tool wl 64 out<br/> sudo upgrade_tool rd</pre> <br/> others&nbsp;: firefly(Recommend using sd card) &nbsp; &nbsp; ==== RK3036 ==== To create a suitable image and flash&nbsp;it to the board: <pre>tools/mkimage -n rk3036 -T rksd -d spl/u-boot-spl-dtb.bin out cat u-boot-dtb.bin >> out sudo upgrade_tool db ../rkbin/rk30/RK3036MiniLoaderAll_V2.19.bin sudo upgrade_tool wl 64 out sudo upgrade_tool rd </pre> &nbsp; ==== RK3399 ==== <pre>cd .. ./rkbin/tools/trust_merger ./rkbin/tools/RK3399TRUST.ini cd uboot ../rkbin/tools/loaderimage --pack --uboot u-boot-dtb.bin uboot.img sudo upgrade_tool UL ../rkbin/rk33/RK3399MiniLoaderAll_V1.05.bin sudo upgrade_tool DI uboot uboot.img ../rkbin/tools/rk3399_parameter.txt sudo upgrade_tool DI trust ../trust.img ../rkbin/tools/rk3399_parameter.txt sudo upgrade_tool rd </pre> &nbsp; &nbsp; === &nbsp;To flash kernel and rootfs === Enter into the uboot and issue the following command on uboot: (otg should be connected) <pre>gpt write mmc 0 $partitions ums 0 mmc 0 </pre> <br/> Now the board will act as an USB-drive.<br/> In host: (assuming sdb is ur device) <pre>sudo mkfs.fat /dev/sdb6 </pre> <br/> Copy zimage and dts file to dev/sdb6 <pre>cp arch/arm/boot/zImage /media/chen/9F35-9565/ cp arch/arm/boot/dts/rk3288-fennec.dtb /media/chen/9F35-9565/rk3288-fennec.dtb </pre> Add extlinux/extlinux.conf to dev/sdb6<br/> (Please notice "mmcblk2p7" and "115200n8" is decide on your chip, Please refer to SOC introduction) <pre>label kernel-4.4 kernel /zImage fdt /rk3288-fennec.dtb append earlyprintk console=tty1 console=ttyS2,115200n8 rw root=/dev/mmcblk2p7 rootfstype=ext4 init=/sbin/init </pre> <br/> To flash rootfs <pre>sudo dd if=linaro-rootfs.img of=/dev/sdb7 conv=notrunc</pre> == Boot from SD/TF Card == === Creating Image === Follow&nbsp;[http://rockchip.wikidot.com/linux-user-guide linux-user-guide]to build kernel and U-Boot.<br/> get uboot-spl.img and u-boot-dtb.img <pre>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin uboot-spl.img </pre> &nbsp; === <br/> <var>build boot.img</var> === <pre>sudo dd if=/dev/zero of=boot.img bs=1M count=128 sudo mkfs.fat boot.img mkdir boot sudo mount boot.img boot sudo cp zImage boot sudo cp rk3288-fennec.dtb boot sudo mkdir boot/extlinux sudo cp extlinux.conf boot/extlinux sudo umount boot </pre> Download rootfs image and rename it <pre>mv linaro-rootfs.img rootfs.img </pre> &nbsp; === Making a SD Card for updating === Download&nbsp;[https://github.com/wzyy2/rk-initrd-build ramdisk source]&nbsp;and build. <pre>sh ./mk-initrd.sh </pre> Format SD card <pre>chen@chen-HP-ProDesk-680-G1-TWR:~/work/linaro-alip/ramdisk/update$ sudo gdisk /dev/sdb GPT fdisk (gdisk) version 0.8.8 Partition table scan: MBR: protective BSD: not present APM: not present GPT: present Found valid GPT with protective MBR; using GPT. Command (? for help): o This option deletes all partitions and creates a new protective MBR. Proceed? (Y/N): y Command (? for help): n Partition number (1-128, default 1): 1 First sector (34-126613470, default = 2048) or {+-}size{KMGTP}: 8192 Last sector (8192-126613470, default = 126613470) or {+-}size{KMGTP}: Current type is 'Linux filesystem' Hex code or GUID (L to show codes, Enter = 8300): Changed type of partition to 'Linux filesystem' Command (? for help): w Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING PARTITIONS!! Do you want to proceed? (Y/N): y OK; writing new GUID partition table (GPT) to /dev/sdc. Warning: The kernel is still using the old partition table. The new table will be used at the next reboot. The operation has completed successfully. </pre> <pre>sudo umount /dev/sdb1 sudo mkfs.fat /dev/sdb1 </pre> <pre>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin out&& sudo dd if=out of=/dev/sdb seek=64&&sudo dd if=u-boot-dtb.img of=/dev/sdb seek=256 </pre> Copy zimage, dts and ramdisk to /dev/sdb1 <pre>cp arch/arm/boot/zImage /media/chen/9F35-9565/ cp arch/arm/boot/dts/rk3288-fennec.dtb /media/chen/9F35-9565/rk3288-fennec.dtb cp ../rk-initrd-build/initrd.img /media/chen/9F35-9565/ </pre> Add extlinux/extlinux.conf to /dev/sdb1 <pre>label kernel-4.4 kernel /zImage fdt /rk3288-fennec.dtb initrd /initrd.img append earlyprintk console=ttyS2,115200n8 rw root=/dev/ram0 rootfstype=ext4 init=/sbin/init ramdisk_size=49152 </pre> Copy u-boot-dtb.img uboot-spl.img boot.img rootfs.img and&nbsp;[https://github.com/wzyy2/rk-initrd-build/blob/master/update/update.sh update.sh]&nbsp;to /dev/sdb1 <pre>mkdir /media/chen/9F35-9565/update cp u-boot-dtb.img /media/chen/9F35-9565/update cp uboot-spl.img /media/chen/9F35-9565/update cp boot.img /media/chen/9F35-9565/update cp rootfs.img /media/chen/9F35-9565/update cp update.sh /media/chen/9F35-9565/update </pre> === Updating the board === Boot the board and it will flash image to eMMC &nbsp; == Boot from USB-Disk == Same as&nbsp;[[#Boot_from_SD.2FTF_Card|boot-from-sdcard]], but please note that U-Boot aren't allowed to boot from usb-disk because of restrict of maskrom, only kernel and rootfs can load from USB-Disk. Difference: <pre>label kernel-4.4 kernel /zImage fdt /rk3288-fennec.dtb append earlyprintk console=ttyS2,115200n8 rw root=/dev/sda1 rootfstype=ext4 init=/sbin/init </pre> <pre>gpt write usb 0 $partitions ums 0 usb 0 </pre> = Boot from Network = &nbsp; f5762df65c5c4d526f5196990a86db18dce0d6dc 773 772 2017-03-20T01:36:24Z Karen 3 wikitext text/x-wiki &nbsp; = overview = <pre>+--------+----------------+----------+-----------+ | Boot | Terminology #1 | Actual | Rockchip | | stage | | program | Loader | | number | | name | Name | +--------+----------------+----------+-----------+ | 1 | Primary | ROM code | BootRom | | | Program | | | | | Loader | | | | | | | | | 2 | Secondary | u-boot | MiniLoader| | | Program | SPL | | | | Loader (SPL) | | | | | | | | | 3 | - | U-Boot | U-Boot | | | | | | | | | | | | 4 | - | kernel | kernel | | | | | | | 5 | - | rootfs | rootfs | +--------+----------------+----------+-----------+ </pre> &nbsp; == Boot from eMMC == === &nbsp;To get tool and firmware === [[Rkdevelptool|tools]] === Flash&nbsp;to the board by USB === In order to&nbsp;flash&nbsp;by USB,you must get your board into ROM boot mode, either by erasing<br/> your MMC or holding the maskrom button when you boot the board. &nbsp; ==== RK3288(upgrade_tool) ==== To create a suitable image and flash&nbsp;it to the board:<br/> default&nbsp;: with CONFIG_ROCKCHIP_SPL_BACK_TO_BROM <pre>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin out<br/> cat u-boot-dtb.bin >> out<br/> sudo upgrade_tool db&nbsp; ../rkbin/rk32/RK3288UbootLoader_V2.30.06.bin<br/> sudo upgrade_tool wl 64 out<br/> sudo upgrade_tool rd</pre> <br/> others&nbsp;: firefly(Recommend using sd card) &nbsp; &nbsp; ==== RK3036 ==== To create a suitable image and flash&nbsp;it to the board: <pre>tools/mkimage -n rk3036 -T rksd -d spl/u-boot-spl-dtb.bin out cat u-boot-dtb.bin >> out sudo upgrade_tool db ../rkbin/rk30/RK3036MiniLoaderAll_V2.19.bin sudo upgrade_tool wl 64 out sudo upgrade_tool rd </pre> &nbsp; ==== RK3399 ==== <pre>cd .. ./rkbin/tools/trust_merger ./rkbin/tools/RK3399TRUST.ini cd uboot ../rkbin/tools/loaderimage --pack --uboot u-boot-dtb.bin uboot.img sudo upgrade_tool UL ../rkbin/rk33/RK3399MiniLoaderAll_V1.05.bin sudo upgrade_tool DI uboot uboot.img ../rkbin/tools/rk3399_parameter.txt sudo upgrade_tool DI trust ../trust.img ../rkbin/tools/rk3399_parameter.txt sudo upgrade_tool rd </pre> &nbsp; &nbsp; === &nbsp;To flash kernel and rootfs === Enter into the uboot and issue the following command on uboot: (otg should be connected) <pre>gpt write mmc 0 $partitions ums 0 mmc 0 </pre> <br/> Now the board will act as an USB-drive.<br/> In host: (assuming sdb is ur device) <pre>sudo mkfs.fat /dev/sdb6 </pre> <br/> Copy zimage and dts file to dev/sdb6 <pre>cp arch/arm/boot/zImage /media/chen/9F35-9565/ cp arch/arm/boot/dts/rk3288-fennec.dtb /media/chen/9F35-9565/rk3288-fennec.dtb </pre> Add extlinux/extlinux.conf to dev/sdb6<br/> (Please notice "mmcblk2p7" and "115200n8" is decide on your chip, Please refer to &nbsp;[http://10.10.10.12:8444/index.php?title=Devices DEVICE PAGE]) <pre>label kernel-4.4 kernel /zImage fdt /rk3288-fennec.dtb append earlyprintk console=tty1 console=ttyS2,115200n8 rw root=/dev/mmcblk2p7 rootfstype=ext4 init=/sbin/init </pre> <br/> To flash rootfs <pre>sudo dd if=linaro-rootfs.img of=/dev/sdb7 conv=notrunc</pre> == Boot from SD/TF Card == === Creating Image === Follow&nbsp;[http://rockchip.wikidot.com/linux-user-guide linux-user-guide]to build kernel and U-Boot.<br/> get uboot-spl.img and u-boot-dtb.img <pre>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin uboot-spl.img </pre> &nbsp; === <br/> <var>build boot.img</var> === <pre>sudo dd if=/dev/zero of=boot.img bs=1M count=128 sudo mkfs.fat boot.img mkdir boot sudo mount boot.img boot sudo cp zImage boot sudo cp rk3288-fennec.dtb boot sudo mkdir boot/extlinux sudo cp extlinux.conf boot/extlinux sudo umount boot </pre> Download rootfs image and rename it <pre>mv linaro-rootfs.img rootfs.img </pre> &nbsp; === Making a SD Card for updating === Download&nbsp;[https://github.com/wzyy2/rk-initrd-build ramdisk source]&nbsp;and build. <pre>sh ./mk-initrd.sh </pre> Format SD card <pre>chen@chen-HP-ProDesk-680-G1-TWR:~/work/linaro-alip/ramdisk/update$ sudo gdisk /dev/sdb GPT fdisk (gdisk) version 0.8.8 Partition table scan: MBR: protective BSD: not present APM: not present GPT: present Found valid GPT with protective MBR; using GPT. Command (? for help): o This option deletes all partitions and creates a new protective MBR. Proceed? (Y/N): y Command (? for help): n Partition number (1-128, default 1): 1 First sector (34-126613470, default = 2048) or {+-}size{KMGTP}: 8192 Last sector (8192-126613470, default = 126613470) or {+-}size{KMGTP}: Current type is 'Linux filesystem' Hex code or GUID (L to show codes, Enter = 8300): Changed type of partition to 'Linux filesystem' Command (? for help): w Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING PARTITIONS!! Do you want to proceed? (Y/N): y OK; writing new GUID partition table (GPT) to /dev/sdc. Warning: The kernel is still using the old partition table. The new table will be used at the next reboot. The operation has completed successfully. </pre> <pre>sudo umount /dev/sdb1 sudo mkfs.fat /dev/sdb1 </pre> <pre>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin out&& sudo dd if=out of=/dev/sdb seek=64&&sudo dd if=u-boot-dtb.img of=/dev/sdb seek=256 </pre> Copy zimage, dts and ramdisk to /dev/sdb1 <pre>cp arch/arm/boot/zImage /media/chen/9F35-9565/ cp arch/arm/boot/dts/rk3288-fennec.dtb /media/chen/9F35-9565/rk3288-fennec.dtb cp ../rk-initrd-build/initrd.img /media/chen/9F35-9565/ </pre> Add extlinux/extlinux.conf to /dev/sdb1 <pre>label kernel-4.4 kernel /zImage fdt /rk3288-fennec.dtb initrd /initrd.img append earlyprintk console=ttyS2,115200n8 rw root=/dev/ram0 rootfstype=ext4 init=/sbin/init ramdisk_size=49152 </pre> Copy u-boot-dtb.img uboot-spl.img boot.img rootfs.img and&nbsp;[https://github.com/wzyy2/rk-initrd-build/blob/master/update/update.sh update.sh]&nbsp;to /dev/sdb1 <pre>mkdir /media/chen/9F35-9565/update cp u-boot-dtb.img /media/chen/9F35-9565/update cp uboot-spl.img /media/chen/9F35-9565/update cp boot.img /media/chen/9F35-9565/update cp rootfs.img /media/chen/9F35-9565/update cp update.sh /media/chen/9F35-9565/update </pre> === Updating the board === Boot the board and it will flash image to eMMC &nbsp; == Boot from USB-Disk == Same as&nbsp;[[#Boot_from_SD.2FTF_Card|boot-from-sdcard]], but please note that U-Boot aren't allowed to boot from usb-disk because of restrict of maskrom, only kernel and rootfs can load from USB-Disk. Difference: <pre>label kernel-4.4 kernel /zImage fdt /rk3288-fennec.dtb append earlyprintk console=ttyS2,115200n8 rw root=/dev/sda1 rootfstype=ext4 init=/sbin/init </pre> <pre>gpt write usb 0 $partitions ums 0 usb 0 </pre> = Boot from Network = &nbsp; fb8fbf2784bd80f35fa86058c2f5b6c19a727277 774 773 2017-03-20T01:53:21Z Karen 3 wikitext text/x-wiki &nbsp; = overview = <pre>+--------+----------------+----------+-----------+ | Boot | Terminology #1 | Actual | Rockchip | | stage | | program | Loader | | number | | name | Name | +--------+----------------+----------+-----------+ | 1 | Primary | ROM code | BootRom | | | Program | | | | | Loader | | | | | | | | | 2 | Secondary | u-boot | MiniLoader| | | Program | SPL | | | | Loader (SPL) | | | | | | | | | 3 | - | U-Boot | U-Boot | | | | | | | | | | | | 4 | - | kernel | kernel | | | | | | | 5 | - | rootfs | rootfs | +--------+----------------+----------+-----------+ </pre> &nbsp; == Boot from eMMC == === &nbsp;To get tool and firmware === [[Rkdevelptool|tools]] === Flash&nbsp;to the board by USB === In order to&nbsp;flash&nbsp;by USB,you must get your board into ROM boot mode, either by erasing<br/> your MMC or holding the maskrom button when you boot the board. &nbsp; ==== RK3288(upgrade_tool) ==== To create a suitable image and flash&nbsp;it to the board:<br/> default&nbsp;: with CONFIG_ROCKCHIP_SPL_BACK_TO_BROM <pre>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin out<br/> cat u-boot-dtb.bin >> out<br/> sudo upgrade_tool db&nbsp; ../rkbin/rk32/RK3288UbootLoader_V2.30.06.bin<br/> sudo upgrade_tool wl 64 out<br/> sudo upgrade_tool rd</pre> <br/> others&nbsp;: firefly(Recommend using sd card) &nbsp; &nbsp; ==== RK3036 ==== To create a suitable image and flash&nbsp;it to the board: <pre>tools/mkimage -n rk3036 -T rksd -d spl/u-boot-spl-dtb.bin out cat u-boot-dtb.bin >> out sudo upgrade_tool db ../rkbin/rk30/RK3036MiniLoaderAll_V2.19.bin sudo upgrade_tool wl 64 out sudo upgrade_tool rd </pre> &nbsp; ==== RK3399 ==== <pre>cd .. ./rkbin/tools/trust_merger ./rkbin/tools/RK3399TRUST.ini cd uboot ../rkbin/tools/loaderimage --pack --uboot u-boot-dtb.bin uboot.img sudo upgrade_tool UL ../rkbin/rk33/RK3399MiniLoaderAll_V1.05.bin sudo upgrade_tool DI uboot uboot.img ../rkbin/tools/rk3399_parameter.txt sudo upgrade_tool DI trust ../trust.img ../rkbin/tools/rk3399_parameter.txt sudo upgrade_tool rd </pre> &nbsp; &nbsp; === &nbsp;To flash kernel and rootfs === Enter into the uboot and issue the following command on uboot: (otg should be connected) <pre>gpt write mmc 0 $partitions ums 0 mmc 0 </pre> <br/> Now the board will act as an USB-drive.<br/> In host: (assuming sdb is ur device) <pre>sudo mkfs.fat /dev/sdb6 </pre> <br/> Copy zimage and dts file to dev/sdb6 <pre>cp arch/arm/boot/zImage /media/chen/9F35-9565/ cp arch/arm/boot/dts/rk3288-fennec.dtb /media/chen/9F35-9565/rk3288-fennec.dtb </pre> Add extlinux/extlinux.conf to dev/sdb6<br/> (Please notice "mmcblk2p7" and "115200n8" is decide on your chip, Please refer to &nbsp;[http://10.10.10.12:8444/index.php?title=Devices DEVICE PAGE]) <pre>label kernel-4.4 kernel /zImage fdt /rk3288-fennec.dtb append earlyprintk console=tty1 console=ttyS2,115200n8 rw root=/dev/mmcblk2p7 rootfstype=ext4 init=/sbin/init </pre> <br/> To flash rootfs <pre>sudo dd if=linaro-rootfs.img of=/dev/sdb7 conv=notrunc</pre> == Boot from SD/TF Card == === Creating Image === Follow [[U-Boot]] and [[Rockchip_Kernel|Rockchip Kernel]] to build kernel and U-Boot.<br/> get uboot-spl.img and u-boot-dtb.img <pre>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin uboot-spl.img </pre> &nbsp; === <br/> <var>build boot.img</var> === <pre>sudo dd if=/dev/zero of=boot.img bs=1M count=128 sudo mkfs.fat boot.img mkdir boot sudo mount boot.img boot sudo cp zImage boot sudo cp rk3288-fennec.dtb boot sudo mkdir boot/extlinux sudo cp extlinux.conf boot/extlinux sudo umount boot </pre> Download rootfs image and rename it <pre>mv linaro-rootfs.img rootfs.img </pre> &nbsp; === Making a SD Card for updating === Download&nbsp;[https://github.com/wzyy2/rk-initrd-build ramdisk source]&nbsp;and build. <pre>sh ./mk-initrd.sh </pre> Format SD card <pre>chen@chen-HP-ProDesk-680-G1-TWR:~/work/linaro-alip/ramdisk/update$ sudo gdisk /dev/sdb GPT fdisk (gdisk) version 0.8.8 Partition table scan: MBR: protective BSD: not present APM: not present GPT: present Found valid GPT with protective MBR; using GPT. Command (? for help): o This option deletes all partitions and creates a new protective MBR. Proceed? (Y/N): y Command (? for help): n Partition number (1-128, default 1): 1 First sector (34-126613470, default = 2048) or {+-}size{KMGTP}: 8192 Last sector (8192-126613470, default = 126613470) or {+-}size{KMGTP}: Current type is 'Linux filesystem' Hex code or GUID (L to show codes, Enter = 8300): Changed type of partition to 'Linux filesystem' Command (? for help): w Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING PARTITIONS!! Do you want to proceed? (Y/N): y OK; writing new GUID partition table (GPT) to /dev/sdc. Warning: The kernel is still using the old partition table. The new table will be used at the next reboot. The operation has completed successfully. </pre> <pre>sudo umount /dev/sdb1 sudo mkfs.fat /dev/sdb1 </pre> <pre>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin out&& sudo dd if=out of=/dev/sdb seek=64&&sudo dd if=u-boot-dtb.img of=/dev/sdb seek=256 </pre> Copy zimage, dts and ramdisk to /dev/sdb1 <pre>cp arch/arm/boot/zImage /media/chen/9F35-9565/ cp arch/arm/boot/dts/rk3288-fennec.dtb /media/chen/9F35-9565/rk3288-fennec.dtb cp ../rk-initrd-build/initrd.img /media/chen/9F35-9565/ </pre> Add extlinux/extlinux.conf to /dev/sdb1 <pre>label kernel-4.4 kernel /zImage fdt /rk3288-fennec.dtb initrd /initrd.img append earlyprintk console=ttyS2,115200n8 rw root=/dev/ram0 rootfstype=ext4 init=/sbin/init ramdisk_size=49152 </pre> Copy u-boot-dtb.img uboot-spl.img boot.img rootfs.img and&nbsp;[https://github.com/wzyy2/rk-initrd-build/blob/master/update/update.sh update.sh]&nbsp;to /dev/sdb1 <pre>mkdir /media/chen/9F35-9565/update cp u-boot-dtb.img /media/chen/9F35-9565/update cp uboot-spl.img /media/chen/9F35-9565/update cp boot.img /media/chen/9F35-9565/update cp rootfs.img /media/chen/9F35-9565/update cp update.sh /media/chen/9F35-9565/update </pre> === Updating the board === Boot the board and it will flash image to eMMC &nbsp; == Boot from USB-Disk == Same as&nbsp;[[#Boot_from_SD.2FTF_Card|boot-from-sdcard]], but please note that U-Boot aren't allowed to boot from usb-disk because of restrict of maskrom, only kernel and rootfs can load from USB-Disk. Difference: <pre>label kernel-4.4 kernel /zImage fdt /rk3288-fennec.dtb append earlyprintk console=ttyS2,115200n8 rw root=/dev/sda1 rootfstype=ext4 init=/sbin/init </pre> <pre>gpt write usb 0 $partitions ums 0 usb 0 </pre> = Boot from Network = &nbsp; f9553830c9daf9803bfe892e4c93cbf9879aa54d 775 774 2017-03-20T02:38:38Z Karen 3 wikitext text/x-wiki &nbsp; = overview = <pre>+--------+----------------+----------+-----------+ | Boot | Terminology #1 | Actual | Rockchip | | stage | | program | Loader | | number | | name | Name | +--------+----------------+----------+-----------+ | 1 | Primary | ROM code | BootRom | | | Program | | | | | Loader | | | | | | | | | 2 | Secondary | u-boot | MiniLoader| | | Program | SPL | | | | Loader (SPL) | | | | | | | | | 3 | - | U-Boot | U-Boot | | | | | | | | | | | | 4 | - | kernel | kernel | | | | | | | 5 | - | rootfs | rootfs | +--------+----------------+----------+-----------+ </pre> &nbsp; == Boot from eMMC == === &nbsp;To get tool and firmware === [[Rkdevelptool|tools]] === Flash&nbsp;to the board by USB === In order to&nbsp;flash&nbsp;by USB,you must get your board into ROM boot mode, either by erasing<br/> your MMC or holding the maskrom button when you boot the board. &nbsp; ==== RK3288(upgrade_tool) ==== To create a suitable image and flash&nbsp;it to the board:<br/> default&nbsp;: with CONFIG_ROCKCHIP_SPL_BACK_TO_BROM <pre>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin out<br/> cat u-boot-dtb.bin >> out<br/> sudo upgrade_tool db&nbsp; ../rkbin/rk32/RK3288UbootLoader_V2.30.06.bin<br/> sudo upgrade_tool wl 64 out<br/> sudo upgrade_tool rd</pre> <br/> others&nbsp;: firefly(Recommend using sd card) &nbsp; &nbsp; ==== RK3036 ==== To create a suitable image and flash&nbsp;it to the board: <pre>tools/mkimage -n rk3036 -T rksd -d spl/u-boot-spl-dtb.bin out cat u-boot-dtb.bin >> out sudo upgrade_tool db ../rkbin/rk30/RK3036MiniLoaderAll_V2.19.bin sudo upgrade_tool wl 64 out sudo upgrade_tool rd </pre> &nbsp; ==== RK3399 ==== <pre>cd .. ./rkbin/tools/trust_merger ./rkbin/tools/RK3399TRUST.ini cd uboot ../rkbin/tools/loaderimage --pack --uboot u-boot-dtb.bin uboot.img sudo upgrade_tool UL ../rkbin/rk33/RK3399MiniLoaderAll_V1.05.bin sudo upgrade_tool DI uboot uboot.img ../rkbin/tools/rk3399_parameter.txt sudo upgrade_tool DI trust ../trust.img ../rkbin/tools/rk3399_parameter.txt sudo upgrade_tool rd </pre> &nbsp; &nbsp; === &nbsp;To flash kernel and rootfs === Enter into the uboot and issue the following command on uboot: (otg should be connected) <pre>gpt write mmc 0 $partitions ums 0 mmc 0 </pre> <br/> Now the board will act as an USB-drive.<br/> In host: (assuming sdb is ur device) <pre>sudo mkfs.fat /dev/sdb6 </pre> <br/> Copy zimage and dts file to dev/sdb6 <pre>cp arch/arm/boot/zImage /media/chen/9F35-9565/ cp arch/arm/boot/dts/rk3288-fennec.dtb /media/chen/9F35-9565/rk3288-fennec.dtb </pre> Add extlinux/extlinux.conf to dev/sdb6<br/> (Please notice "mmcblk2p7" and "115200n8" is decide on your chip, Please refer to &nbsp;[[Linux_user_guide]]) <pre>label kernel-4.4 kernel /zImage fdt /rk3288-fennec.dtb append earlyprintk console=tty1 console=ttyS2,115200n8 rw root=/dev/mmcblk2p7 rootfstype=ext4 init=/sbin/init </pre> <br/> To flash rootfs <pre>sudo dd if=linaro-rootfs.img of=/dev/sdb7 conv=notrunc</pre> == Boot from SD/TF Card == === Creating Image === Follow [[U-Boot]] and [[Rockchip_Kernel|Rockchip Kernel]] to build kernel and U-Boot.<br/> get uboot-spl.img and u-boot-dtb.img <pre>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin uboot-spl.img </pre> &nbsp; === <br/> <var>build boot.img</var> === <pre>sudo dd if=/dev/zero of=boot.img bs=1M count=128 sudo mkfs.fat boot.img mkdir boot sudo mount boot.img boot sudo cp zImage boot sudo cp rk3288-fennec.dtb boot sudo mkdir boot/extlinux sudo cp extlinux.conf boot/extlinux sudo umount boot </pre> Download rootfs image and rename it <pre>mv linaro-rootfs.img rootfs.img </pre> &nbsp; === Making a SD Card for updating === Download&nbsp;[https://github.com/wzyy2/rk-initrd-build ramdisk source]&nbsp;and build. <pre>sh ./mk-initrd.sh </pre> Format SD card <pre>chen@chen-HP-ProDesk-680-G1-TWR:~/work/linaro-alip/ramdisk/update$ sudo gdisk /dev/sdb GPT fdisk (gdisk) version 0.8.8 Partition table scan: MBR: protective BSD: not present APM: not present GPT: present Found valid GPT with protective MBR; using GPT. Command (? for help): o This option deletes all partitions and creates a new protective MBR. Proceed? (Y/N): y Command (? for help): n Partition number (1-128, default 1): 1 First sector (34-126613470, default = 2048) or {+-}size{KMGTP}: 8192 Last sector (8192-126613470, default = 126613470) or {+-}size{KMGTP}: Current type is 'Linux filesystem' Hex code or GUID (L to show codes, Enter = 8300): Changed type of partition to 'Linux filesystem' Command (? for help): w Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING PARTITIONS!! Do you want to proceed? (Y/N): y OK; writing new GUID partition table (GPT) to /dev/sdc. Warning: The kernel is still using the old partition table. The new table will be used at the next reboot. The operation has completed successfully. </pre> <pre>sudo umount /dev/sdb1 sudo mkfs.fat /dev/sdb1 </pre> <pre>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin out&& sudo dd if=out of=/dev/sdb seek=64&&sudo dd if=u-boot-dtb.img of=/dev/sdb seek=256 </pre> Copy zimage, dts and ramdisk to /dev/sdb1 <pre>cp arch/arm/boot/zImage /media/chen/9F35-9565/ cp arch/arm/boot/dts/rk3288-fennec.dtb /media/chen/9F35-9565/rk3288-fennec.dtb cp ../rk-initrd-build/initrd.img /media/chen/9F35-9565/ </pre> Add extlinux/extlinux.conf to /dev/sdb1 <pre>label kernel-4.4 kernel /zImage fdt /rk3288-fennec.dtb initrd /initrd.img append earlyprintk console=ttyS2,115200n8 rw root=/dev/ram0 rootfstype=ext4 init=/sbin/init ramdisk_size=49152 </pre> Copy u-boot-dtb.img uboot-spl.img boot.img rootfs.img and&nbsp;[https://github.com/wzyy2/rk-initrd-build/blob/master/update/update.sh update.sh]&nbsp;to /dev/sdb1 <pre>mkdir /media/chen/9F35-9565/update cp u-boot-dtb.img /media/chen/9F35-9565/update cp uboot-spl.img /media/chen/9F35-9565/update cp boot.img /media/chen/9F35-9565/update cp rootfs.img /media/chen/9F35-9565/update cp update.sh /media/chen/9F35-9565/update </pre> === Updating the board === Boot the board and it will flash image to eMMC &nbsp; == Boot from USB-Disk == Same as&nbsp;[[#Boot_from_SD.2FTF_Card|boot-from-sdcard]], but please note that U-Boot aren't allowed to boot from usb-disk because of restrict of maskrom, only kernel and rootfs can load from USB-Disk. Difference: <pre>label kernel-4.4 kernel /zImage fdt /rk3288-fennec.dtb append earlyprintk console=ttyS2,115200n8 rw root=/dev/sda1 rootfstype=ext4 init=/sbin/init </pre> <pre>gpt write usb 0 $partitions ums 0 usb 0 </pre> = Boot from Network = &nbsp; a54da14a2a5956d8661d55785cdbcde98eb265a3 776 775 2017-03-20T02:42:27Z Karen 3 wikitext text/x-wiki &nbsp; = overview = <pre>+--------+----------------+----------+-----------+ | Boot | Terminology #1 | Actual | Rockchip | | stage | | program | Loader | | number | | name | Name | +--------+----------------+----------+-----------+ | 1 | Primary | ROM code | BootRom | | | Program | | | | | Loader | | | | | | | | | 2 | Secondary | u-boot | MiniLoader| | | Program | SPL | | | | Loader (SPL) | | | | | | | | | 3 | - | U-Boot | U-Boot | | | | | | | | | | | | 4 | - | kernel | kernel | | | | | | | 5 | - | rootfs | rootfs | +--------+----------------+----------+-----------+ </pre> &nbsp; == Boot from eMMC == === &nbsp;To get tool and firmware === [[Rkdevelptool|tools]] === Flash&nbsp;to the board by USB === In order to&nbsp;flash&nbsp;by USB,you must get your board into ROM boot mode, either by erasing<br/> your MMC or holding the maskrom button when you boot the board. &nbsp; ==== RK3288(upgrade_tool) ==== To create a suitable image and flash&nbsp;it to the board:<br/> default&nbsp;: with CONFIG_ROCKCHIP_SPL_BACK_TO_BROM <pre>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin out<br/> cat u-boot-dtb.bin >> out<br/> sudo upgrade_tool db&nbsp; ../rkbin/rk32/RK3288UbootLoader_V2.30.06.bin<br/> sudo upgrade_tool wl 64 out<br/> sudo upgrade_tool rd</pre> <br/> others&nbsp;: firefly(Recommend using sd card) &nbsp; &nbsp; ==== RK3036 ==== To create a suitable image and flash&nbsp;it to the board: <pre>tools/mkimage -n rk3036 -T rksd -d spl/u-boot-spl-dtb.bin out cat u-boot-dtb.bin >> out sudo upgrade_tool db ../rkbin/rk30/RK3036MiniLoaderAll_V2.19.bin sudo upgrade_tool wl 64 out sudo upgrade_tool rd </pre> &nbsp; ==== RK3399 ==== <pre>cd .. ./rkbin/tools/trust_merger ./rkbin/tools/RK3399TRUST.ini cd uboot ../rkbin/tools/loaderimage --pack --uboot u-boot-dtb.bin uboot.img sudo upgrade_tool UL ../rkbin/rk33/RK3399MiniLoaderAll_V1.05.bin sudo upgrade_tool DI uboot uboot.img ../rkbin/tools/rk3399_parameter.txt sudo upgrade_tool DI trust ../trust.img ../rkbin/tools/rk3399_parameter.txt sudo upgrade_tool rd </pre> &nbsp; &nbsp; === &nbsp;To flash kernel and rootfs === Enter into the uboot and issue the following command on uboot: (otg should be connected) <pre>gpt write mmc 0 $partitions ums 0 mmc 0 </pre> <br/> Now the board will act as an USB-drive.<br/> In host: (assuming sdb is ur device) <pre>sudo mkfs.fat /dev/sdb6 </pre> <br/> Copy zimage and dts file to dev/sdb6 <pre>cp arch/arm/boot/zImage /media/chen/9F35-9565/ cp arch/arm/boot/dts/rk3288-fennec.dtb /media/chen/9F35-9565/rk3288-fennec.dtb </pre> Add extlinux/extlinux.conf to dev/sdb6<br/> (Please notice "mmcblk2p7" and "115200n8" is decide on your chip, Please refer to &nbsp;[[Linux_user_guide]]) <pre>label kernel-4.4 kernel /zImage fdt /rk3288-fennec.dtb append earlyprintk console=tty1 console=ttyS2,115200n8 rw root=/dev/mmcblk2p7 rootfstype=ext4 init=/sbin/init </pre> <br/> To flash rootfs <pre>sudo dd if=linaro-rootfs.img of=/dev/sdb7 conv=notrunc</pre> == Boot from SD/TF Card == === Creating Image === Follow [[Linux_user_guide|Linux user guide ]]to build kernel and U-Boot.<br/> get uboot-spl.img and u-boot-dtb.img <pre>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin uboot-spl.img </pre> &nbsp; === <br/> <var>build boot.img</var> === <pre>sudo dd if=/dev/zero of=boot.img bs=1M count=128 sudo mkfs.fat boot.img mkdir boot sudo mount boot.img boot sudo cp zImage boot sudo cp rk3288-fennec.dtb boot sudo mkdir boot/extlinux sudo cp extlinux.conf boot/extlinux sudo umount boot </pre> Download rootfs image and rename it <pre>mv linaro-rootfs.img rootfs.img </pre> &nbsp; === Making a SD Card for updating === Download&nbsp;[https://github.com/wzyy2/rk-initrd-build ramdisk source]&nbsp;and build. <pre>sh ./mk-initrd.sh </pre> Format SD card <pre>chen@chen-HP-ProDesk-680-G1-TWR:~/work/linaro-alip/ramdisk/update$ sudo gdisk /dev/sdb GPT fdisk (gdisk) version 0.8.8 Partition table scan: MBR: protective BSD: not present APM: not present GPT: present Found valid GPT with protective MBR; using GPT. Command (? for help): o This option deletes all partitions and creates a new protective MBR. Proceed? (Y/N): y Command (? for help): n Partition number (1-128, default 1): 1 First sector (34-126613470, default = 2048) or {+-}size{KMGTP}: 8192 Last sector (8192-126613470, default = 126613470) or {+-}size{KMGTP}: Current type is 'Linux filesystem' Hex code or GUID (L to show codes, Enter = 8300): Changed type of partition to 'Linux filesystem' Command (? for help): w Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING PARTITIONS!! Do you want to proceed? (Y/N): y OK; writing new GUID partition table (GPT) to /dev/sdc. Warning: The kernel is still using the old partition table. The new table will be used at the next reboot. The operation has completed successfully. </pre> <pre>sudo umount /dev/sdb1 sudo mkfs.fat /dev/sdb1 </pre> <pre>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin out&& sudo dd if=out of=/dev/sdb seek=64&&sudo dd if=u-boot-dtb.img of=/dev/sdb seek=256 </pre> Copy zimage, dts and ramdisk to /dev/sdb1 <pre>cp arch/arm/boot/zImage /media/chen/9F35-9565/ cp arch/arm/boot/dts/rk3288-fennec.dtb /media/chen/9F35-9565/rk3288-fennec.dtb cp ../rk-initrd-build/initrd.img /media/chen/9F35-9565/ </pre> Add extlinux/extlinux.conf to /dev/sdb1 <pre>label kernel-4.4 kernel /zImage fdt /rk3288-fennec.dtb initrd /initrd.img append earlyprintk console=ttyS2,115200n8 rw root=/dev/ram0 rootfstype=ext4 init=/sbin/init ramdisk_size=49152 </pre> Copy u-boot-dtb.img uboot-spl.img boot.img rootfs.img and&nbsp;[https://github.com/wzyy2/rk-initrd-build/blob/master/update/update.sh update.sh]&nbsp;to /dev/sdb1 <pre>mkdir /media/chen/9F35-9565/update cp u-boot-dtb.img /media/chen/9F35-9565/update cp uboot-spl.img /media/chen/9F35-9565/update cp boot.img /media/chen/9F35-9565/update cp rootfs.img /media/chen/9F35-9565/update cp update.sh /media/chen/9F35-9565/update </pre> === Updating the board === Boot the board and it will flash image to eMMC &nbsp; == Boot from USB-Disk == Same as&nbsp;[[#Boot_from_SD.2FTF_Card|boot-from-sdcard]], but please note that U-Boot aren't allowed to boot from usb-disk because of restrict of maskrom, only kernel and rootfs can load from USB-Disk. Difference: <pre>label kernel-4.4 kernel /zImage fdt /rk3288-fennec.dtb append earlyprintk console=ttyS2,115200n8 rw root=/dev/sda1 rootfstype=ext4 init=/sbin/init </pre> <pre>gpt write usb 0 $partitions ums 0 usb 0 </pre> = Boot from Network = &nbsp; 895c4c80ce12be4f2dd616c868c46a994b127816 777 776 2017-03-20T02:43:17Z Karen 3 wikitext text/x-wiki &nbsp; = overview = <pre>+--------+----------------+----------+-----------+ | Boot | Terminology #1 | Actual | Rockchip | | stage | | program | Loader | | number | | name | Name | +--------+----------------+----------+-----------+ | 1 | Primary | ROM code | BootRom | | | Program | | | | | Loader | | | | | | | | | 2 | Secondary | u-boot | MiniLoader| | | Program | SPL | | | | Loader (SPL) | | | | | | | | | 3 | - | U-Boot | U-Boot | | | | | | | | | | | | 4 | - | kernel | kernel | | | | | | | 5 | - | rootfs | rootfs | +--------+----------------+----------+-----------+ </pre> &nbsp; == Boot from eMMC == === &nbsp;To get tool and firmware === [[Rkdevelptool|tools]] === Flash&nbsp;to the board by USB === In order to&nbsp;flash&nbsp;by USB,you must get your board into ROM boot mode, either by erasing<br/> your MMC or holding the maskrom button when you boot the board. &nbsp; ==== RK3288(upgrade_tool) ==== To create a suitable image and flash&nbsp;it to the board:<br/> default&nbsp;: with CONFIG_ROCKCHIP_SPL_BACK_TO_BROM <pre>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin out<br/> cat u-boot-dtb.bin >> out<br/> sudo upgrade_tool db&nbsp; ../rkbin/rk32/RK3288UbootLoader_V2.30.06.bin<br/> sudo upgrade_tool wl 64 out<br/> sudo upgrade_tool rd</pre> <br/> others&nbsp;: firefly(Recommend using sd card) &nbsp; &nbsp; ==== RK3036 ==== To create a suitable image and flash&nbsp;it to the board: <pre>tools/mkimage -n rk3036 -T rksd -d spl/u-boot-spl-dtb.bin out cat u-boot-dtb.bin >> out sudo upgrade_tool db ../rkbin/rk30/RK3036MiniLoaderAll_V2.19.bin sudo upgrade_tool wl 64 out sudo upgrade_tool rd </pre> &nbsp; ==== RK3399 ==== <pre>cd .. ./rkbin/tools/trust_merger ./rkbin/tools/RK3399TRUST.ini cd uboot ../rkbin/tools/loaderimage --pack --uboot u-boot-dtb.bin uboot.img sudo upgrade_tool UL ../rkbin/rk33/RK3399MiniLoaderAll_V1.05.bin sudo upgrade_tool DI uboot uboot.img ../rkbin/tools/rk3399_parameter.txt sudo upgrade_tool DI trust ../trust.img ../rkbin/tools/rk3399_parameter.txt sudo upgrade_tool rd </pre> &nbsp; &nbsp; === &nbsp;To flash kernel and rootfs === Enter into the uboot and issue the following command on uboot: (otg should be connected) <pre>gpt write mmc 0 $partitions ums 0 mmc 0 </pre> <br/> Now the board will act as an USB-drive.<br/> In host: (assuming sdb is ur device) <pre>sudo mkfs.fat /dev/sdb6 </pre> <br/> Copy zimage and dts file to dev/sdb6 <pre>cp arch/arm/boot/zImage /media/chen/9F35-9565/ cp arch/arm/boot/dts/rk3288-fennec.dtb /media/chen/9F35-9565/rk3288-fennec.dtb </pre> Add extlinux/extlinux.conf to dev/sdb6<br/> (Please notice "mmcblk2p7" and "115200n8" is decide on your chip, Please refer to &nbsp;[[Linux_user_guide]]) <pre>label kernel-4.4 kernel /zImage fdt /rk3288-fennec.dtb append earlyprintk console=tty1 console=ttyS2,115200n8 rw root=/dev/mmcblk2p7 rootfstype=ext4 init=/sbin/init </pre> <br/> To flash rootfs <pre>sudo dd if=linaro-rootfs.img of=/dev/sdb7 conv=notrunc</pre> == Boot from SD/TF Card == === Creating Image === Follow [[Linux_user_guide|Linux user guide ]]to build kernel and U-Boot.<br/> get uboot-spl.img and u-boot-dtb.img <pre>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin uboot-spl.img </pre> &nbsp; === <br/> <var>build boot.img</var> === <pre>sudo dd if=/dev/zero of=boot.img bs=1M count=128 sudo mkfs.fat boot.img mkdir boot sudo mount boot.img boot sudo cp zImage boot sudo cp rk3288-fennec.dtb boot sudo mkdir boot/extlinux sudo cp extlinux.conf boot/extlinux sudo umount boot </pre> Download rootfs image and rename it <pre>mv linaro-rootfs.img rootfs.img </pre> &nbsp; === Making a SD Card for updating === Download&nbsp;[https://github.com/wzyy2/rk-initrd-build ramdisk source]&nbsp;and build. <pre>sh ./mk-initrd.sh </pre> Format SD card <pre>chen@chen-HP-ProDesk-680-G1-TWR:~/work/linaro-alip/ramdisk/update$ sudo gdisk /dev/sdb GPT fdisk (gdisk) version 0.8.8 Partition table scan: MBR: protective BSD: not present APM: not present GPT: present Found valid GPT with protective MBR; using GPT. Command (? for help): o This option deletes all partitions and creates a new protective MBR. Proceed? (Y/N): y Command (? for help): n Partition number (1-128, default 1): 1 First sector (34-126613470, default = 2048) or {+-}size{KMGTP}: 8192 Last sector (8192-126613470, default = 126613470) or {+-}size{KMGTP}: Current type is 'Linux filesystem' Hex code or GUID (L to show codes, Enter = 8300): Changed type of partition to 'Linux filesystem' Command (? for help): w Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING PARTITIONS!! Do you want to proceed? (Y/N): y OK; writing new GUID partition table (GPT) to /dev/sdc. Warning: The kernel is still using the old partition table. The new table will be used at the next reboot. The operation has completed successfully. </pre> <pre>sudo umount /dev/sdb1 sudo mkfs.fat /dev/sdb1 </pre> <pre>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin out&& sudo dd if=out of=/dev/sdb seek=64&&sudo dd if=u-boot-dtb.img of=/dev/sdb seek=256 </pre> Copy zimage, dts and ramdisk to /dev/sdb1 <pre>cp arch/arm/boot/zImage /media/chen/9F35-9565/ cp arch/arm/boot/dts/rk3288-fennec.dtb /media/chen/9F35-9565/rk3288-fennec.dtb cp ../rk-initrd-build/initrd.img /media/chen/9F35-9565/ </pre> Add extlinux/extlinux.conf to /dev/sdb1 <pre>label kernel-4.4 kernel /zImage fdt /rk3288-fennec.dtb initrd /initrd.img append earlyprintk console=ttyS2,115200n8 rw root=/dev/ram0 rootfstype=ext4 init=/sbin/init ramdisk_size=49152 </pre> Copy u-boot-dtb.img uboot-spl.img boot.img rootfs.img and&nbsp;[https://github.com/wzyy2/rk-initrd-build/blob/master/update/update.sh update.sh]&nbsp;to /dev/sdb1 <pre>mkdir /media/chen/9F35-9565/update cp u-boot-dtb.img /media/chen/9F35-9565/update cp uboot-spl.img /media/chen/9F35-9565/update cp boot.img /media/chen/9F35-9565/update cp rootfs.img /media/chen/9F35-9565/update cp update.sh /media/chen/9F35-9565/update </pre> === Updating the board === Boot the board and it will flash image to eMMC &nbsp; == Boot from USB-Disk == Same as&nbsp;[[#Boot_from_SD.2FTF_Card|boot-from-sdcard]], but please note that U-Boot aren't allowed to boot from usb-disk because of restrict of maskrom, only kernel and rootfs can load from USB-Disk. Difference: <pre>label kernel-4.4 kernel /zImage fdt /rk3288-fennec.dtb append earlyprintk console=ttyS2,115200n8 rw root=/dev/sda1 rootfstype=ext4 init=/sbin/init </pre> <pre>gpt write usb 0 $partitions ums 0 usb 0 </pre> = Boot from Network = &nbsp; 6df11bc527a174cfc1eccf3998cb3add7afe85c7 Rockchip Kernel 0 104 737 693 2017-03-17T08:11:43Z Karen 3 wikitext text/x-wiki = Download Kernel = You can clone the rockchip kernel repository from github which is kernel 4.4 based: <pre>git clone https://github.com/rockchip-linux/kernel.git</pre> = Supported SoCs and Devices = Rockchip kernel 4.4 supports: RK3036, RK3066, RK312X, RK3188, RK322X,[[RK3288|RK3288]], [[RK3328]], RK3368, [[RK3399]] = Configure and Build = You will need to use rockchip_linux_defconfig for Linux OS configure for armv7: <pre>make rockchip_linux_defcofig</pre> configure for aarch64: <pre>make ARCH=arm64 rockchip_linux_defconfig</pre> After configure, you need to decide which board to use, get the dts file name, and replace its postfix to img in make command, For armv7: <pre>make rk3288-firefly.img -j8</pre> For aarch64: <pre>make ARCH=arm64 rk3399-evb.img -j8</pre> Then you can get Image/zImage and dtb file. = Install Boot/kernel = We use distro boot in U-Boot, so we need to make a boot partition for U-Boot with kernel image and dtb inside. <pre>mkdir boot cp arch/arm64/boot/dts/rockchip/rockchip/rk3399-evb.dtb boot/rk3399.dtb cp arch/arm64/boot/Image boot/</pre> Add extlinux/extlinux.conf for distro boot. <pre>mkdir boot/extlinux vi boot/extlinux/extlinux.conf</pre> &nbsp; <pre>lable rockchip-kernel-4.4 kernel /Image fdt /rk3399.dtb append earlycon=uart8250,mmio,0xff1a0000 root=dev/mmcblk1p7 rootwait rootfstype=ext4 init=/sbin/init</pre> You need to change the base address of debug UART, root partition for your board. Pls reference to [[Partitions|rockchip Linux parttion definition]]&nbsp;for rootfs partition and where boot to flash. After all these file prepare complete, we write the file to the boot partition == Generate ext2fs&nbsp;boot partition == by genext2fs: <pre>genext2fs -b 32768 -B $((32*1024*1024/32768)) -d boot/ -i 8192 -U boot_rk3399.img</pre> According to Rockchip partition definition, you need to flash this image to boot partiton which offset is 0x8000. dd this image to sd card, see [[Sd_boot|sd_boot]], or write to emmc with rkdeveloptool, see [[Emmc_boot|emmc_boot]]. == generate fatfs boot partition == === Via U-Boot in target === After flash and&nbsp;boot the U-Boot, write the gpt table from default partition table <pre>gpt write mmc 1 $partitions gpt verify mmc 1 $partitions</pre> connect target to PC and start the ums in command line: <pre>ums 0 mmc 1:6</pre> We should able to see a device connect to PC, formate and copy data into the partition(dev/sdb6 for example). <pre>sudo mkfs.fat /dev/sdb6 cp -r boot/* /media/machine/9F35-9565/</pre> === Generae boot.img in fatfs === Below commands can generate a fatfs boot.img <pre>dd if=/dev/zero of=boot.img bs=1M count=32 sudo mkfs.fat boot.img mkdir tmp sudo mount boot.img tmp/ cp -r boot/* tmp/ umount tmp</pre> Done! Flash this boot.img to boot partition, which is offset 0x8000 in Rockchip partition definition. == Boot from U-Boot == If everything is OK, you should able to see the U-Boot log like this: <pre>switch to partitions #0, OK mmc0(part 0) is current device Scanning mmc 0:6... Found /extlinux/extlinux.conf Retrieving file: /extlinux/extlinux.conf 205 bytes read in 82 ms (2 KiB/s) 1: upstream-4.10 Retrieving file: /Image 13484040 bytes read in 1833 ms (7 MiB/s) append: earlycon=uart8250,mmio32,0xff1a0000 console=ttyS2,1500000n8 rw root=/dev/mmcblk0p7 rootwait rootfstype=ext4 init=/sbin/init Retrieving file: /rk3399.dtb 61714 bytes read in 54 ms (1.1 MiB/s) ## Flattened Device Tree blob at 01f00000 Booting using the fdt blob at 0x1f00000 Loading Device Tree to 000000007df14000, end 000000007df26111 ... OK Starting kernel ... </pre> c75530ada221ddd70479811f8de1d52084f960ee Template:Infobox SoC 10 43 739 524 2017-03-17T08:27:50Z Admin 1 wikitext text/x-wiki <includeonly><table class="infobox" cellspacing="5" style="width:300px;"> <tr><th colspan="2" class="" style="text-align:center; font-size:125%; font-weight:bold; background: #dedede;">{{{title}}}</th></tr> <tr class=""><td colspan="2" class="" style="text-align:center;"> {{{image}}}</td></tr> <tr class=""><th scope="row" style="text-align:left;">Manufacturer</th><td class="" style=""> {{{manufacturer}}}</td></tr> <tr class=""><th scope="row" style="text-align:left;">Process</th><td class="" style=""> {{{process}}}</td></tr> <tr class=""><th scope="row" style="text-align:left;">CPU</th><td class="" style=""> {{{cpu}}}</td></tr> <tr class=""><th scope="row" style="text-align:left;">Memory</th><td class="" style=""> {{{memory}}}</td></tr> <tr class=""><th scope="row" style="text-align:left;">GPU</th><td class="" style=""> {{{gpu}}}</td></tr> {{#if:{{{vpu|}}}|<tr class=""><th scope="row" style="text-align:left;">VPU</th><td class="" style=""> {{{vpu}}}</td></tr>}} <tr><th colspan="2" class="" style="text-align:center; background: #dedede;">Connectivity</th></tr> <tr class=""><th scope="row" style="text-align:left;">Video</th><td class="" style=""> {{{video}}}</td></tr> <tr class=""><th scope="row" style="text-align:left;">Audio</th><td class="" style=""> {{{audio}}}</td></tr> <tr class=""><th scope="row" style="text-align:left;">Storage</th><td class="" style=""> {{{storage}}}</td></tr> {{#if:{{{Connectivity|}}}|<tr class=""><th scope="row" style="text-align:left;">Connectivity</th><td class="" style=""> {{{Connectivity}}}</td></tr>}} {{#if:{{{Interface|}}}|<tr class=""><th scope="row" style="text-align:left;">Interface</th><td class="" style=""> {{{Interface}}}</td></tr>}} {{#if:{{{usb|}}}|<tr class=""><th scope="row" style="text-align:left;">USB</th><td class="" style=""> {{{usb}}}</td></tr>}} {{#if:{{{release_date|}}}|<tr class=""><th scope="row" style="text-align:left;">Release Date</th><td class="" style=""> {{{release_date}}}</td></tr>}} {{#if:{{{website|}}}|<tr class=""><th scope="row" style="text-align:left;">Website</th><td class="" style=""> [{{{website}}} Product Page]}} </td></tr> </table></includeonly> f635e22590e9a20d43cc06f5450735dda53b7b48 Distribution 0 105 741 724 2017-03-17T09:01:28Z Kever 2 wikitext text/x-wiki The release rootfs image is based on linaro-alip-jessie.If you want to use other distributions, you need to compile and install components we provide.Do not install the deb under rk-rootfs-build directly. We currently provide several components, the guide below only help you make xserver work.<br/> For more details Please refer to each package's wiki. There are also many other districbutions support by community or developers. = ARCH Linux = Here is the guide from Arch Linux to support RK3288 and RK3399 based Chromebook: [https://archlinuxarm.org/platforms/armv7/rockchip https://archlinuxarm.org/platforms/armv7/rockchip] [https://archlinuxarm.org/platforms/armv8/rockchip/ https://archlinuxarm.org/platforms/armv8/rockchip/] and source code here: [https://www.google.com/url?q=https://github.com/archlinuxarm/PKGBUILDs/tree/master/core/linux-gru&sa=D&sntz=1&usg=AFQjCNE-M4mxRkDn10G8xLOVN02TsJJKag https://github.com/archlinuxarm/PKGBUILDs/tree/master/core/linux-gru] &nbsp; = Fedora = Here is the guide from Fedora to support RK3288 chromebook: [https://fedoraproject.org/wiki/Architectures/ARM/Chromebook https://fedoraproject.org/wiki/Architectures/ARM/Chromebook] &nbsp; = Ubuntu 16.04 = download and extract ubuntu-xenial <pre>wget [http://cdimage.ubuntu.com/ubuntu-base/releases/16.04/release/ubuntu-base-16.04-core-armhf.tar.gz http://cdimage.ubuntu.com/ubuntu-base/releases/16.04/release/ubuntu-base-16.04-core-armhf.tar.gz] sudo tar -xpf ubuntu-base-16.04-core-armhf.tar.gz </pre> copy qemu <pre>sudo apt-get install qemu-user-static sudo cp /usr/bin/qemu-arm-static usr/bin/ </pre> copy host's dns to rootfs <pre>sudo cp -b /etc/resolv.conf etc/resolv.conf </pre> add the following repository to etc/apt/source.list(for compiling xserver) <pre>deb [http://ports.ubuntu.com/ubuntu-ports/ http://ports.ubuntu.com/ubuntu-ports/] xenial main universe deb-src [http://ports.ubuntu.com/ubuntu-ports/ http://ports.ubuntu.com/ubuntu-ports/] xenial main universe </pre> chroot to target rootfs<br/> [https://github.com/wzyy2/Scripts/blob/master/ch-mount.sh ch-mount.sh] <pre>ch-mount.sh -m ubuntu/ </pre> install desktop <pre>apt-get install lightdm vim git apt-get build-dep xserver-xorg-core </pre> extract libmali-rk-dev_1.4-4_armhf.deb and libmali-rk-midgard0_1.4-4_armhf.deb(only debian/ubutnu, link by yourself if you are using other distributions) and copy them to target system.<br/> delete origin egl,gles library(For insurance) <pre>rm -rf /usr/lib/arm-linux-gnueabihf/mesa-egl </pre> download xserver <pre>git clone [https://github.com/rockchip-linux/xserver.git https://github.com/rockchip-linux/xserver.git] </pre> delete those in configure.ac <pre>AC_CHECK_DECL(GBM_BO_USE_LINEAR, [AC_DEFINE(GLAMOR_HAS_GBM_LINEAR, 1, [Have GBM_BO_USE_LINEAR])], [] </pre> build xserver<br/> (You can also use 'make install DESTDIR=/opt/x-build' to get files and copy them to a clean system)<br/> (This method is easy but slow, it'better to cross compile xserver under the ubuntu/debian multiarch environment) <pre>./autogen.sh --prefix=/usr --enable-aiglx --enable-composite --enable-record --enable-xv --enable-xvmc --enable-dga --enable-screensaver --enable-xdmcp --enable-xdm-auth-1 --enable-glx --enable-dri --enable-dri2 --enable-glamor --enable-dri3 --enable-libdrm --enable-present --enable-xinerama --enable-xf86vidmode --enable-xace --enable-xselinux --enable-xfree86-utils --enable-xwayland --enable-systemd-logind --with-systemd-daemon --enable-suid-wrapper --enable-dmx --enable-xvfb --enable-xnest --enable-kdrive --enable-xephyr --enable-xmir --with-sha1=libgcrypt --enable-xcsecurity --with-log-dir=/var/log make make install </pre> set password <pre>useradd -s '/bin/bash' -m -G adm,sudo rk echo "Set password for rk:" passwd rk echo "Set password for root:" passwd root </pre> exit chroot <pre>exit ch-mount.sh -u ubuntu/ </pre> <br/> copy ttyS2.conf and udev directory to target rootfs from&nbsp;[https://github.com/rockchip-linux/rk-rootfs-build/tree/master/overlay rk-rootfs.build] make image <pre>dd if=/dev/zero of=ubuntu.img bs=1M count=3000 sudo mkfs.ext4 ubuntu.img mkdir ubuntu-mount sudo mount ubuntu.img ubuntu-mount sudo cp -rfp ubuntu ubuntu-mount sudo umount ubuntu-mount e2fsck -p -f ubuntu.img resize2fs -M ubuntu.img </pre> ==== Build from packages ==== There is a ubuntu build script in our&nbsp;[https://github.com/rockchip-linux/rk-rootfs-build rootfs-build]&nbsp;repo. It's different from the above example, it unpack the debian packages rather than compile from source.<br/> Please refer to the readme. = See also = [[Yocto|yocto]] [[Buildroot|buildroot]] bbe66b09f78af71c29d5cb2d43eabb7607ee1629 File:DRM.png 6 118 742 2017-03-17T09:02:50Z Kever 2 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 File:Mali gpu.png 6 119 743 2017-03-17T09:03:00Z Kever 2 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 File:Wayland.png 6 120 744 2017-03-17T09:03:13Z Kever 2 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 File:Xserver gpu.png 6 121 745 2017-03-17T09:03:33Z Kever 2 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 Graphics 0 108 746 709 2017-03-17T09:04:59Z Kever 2 wikitext text/x-wiki = Graphics Introduce = This article will give an overview of how graphics are generated on a rockchip platform. &nbsp; == Graphics with X11 == Xserver is the display system used on regular desktop Linux platforms. Rockchip have a custom&nbsp;[[Xserver|Xserver]]&nbsp;which have enable&nbsp;[https://www.freedesktop.org/wiki/Software/Glamor/ glamor 2D acceleration]. Xserver usually have a good compatibility, but the performance may be little less and its size is more large than other display system. Gstreamer X11 sink have DRM 4k-Video render support(though hacky). === Structure === X11 structure in Linux OS [[File:Xserver gpu.png]] === DDX(armsoc) === source code: git clone git@github.com:markyzq/xf86-video-armsoc.git<br/> maliline: [git://anongit.freedesktop.org/xorg/driver/xf86-video-armsoc git://anongit.freedesktop.org/xorg/driver/xf86-video-armsoc]<br/> The DDX support: #support common x11 display and Hwcursor #DRI2 (request by EGL X11 client) #umplock(support non-tearing on EGL x11 client) '''''/etc/X11/xorg.conf'':''' Xserver will parse this config to find DDX and configure info <pre>Section "Device" Identifier "Mali-Fbdev" Driver "armsoc" Option "UMP_LOCK" "true" EndSection Section "Screen" Identifier "Default Screen" Device "Mali-Fbdev" DefaultDepth 24 EndSection</pre> &nbsp; === UMPLOCK === source code: wget [http://malideveloper.arm.com/downloads/drivers/DX910/r6p1-01rel0/DX910-SW-99002-r6p1-01rel0.tgz http://malideveloper.arm.com/downloads/drivers/DX910/r6p1-01rel0/DX910-SW-99002-r6p1-01rel0.tgz]<br/> Patch the umplock patch to kernel, then you can find the umplock device node: <pre>/dev/umplock</pre> Don't forget enable DDX umplock option: <pre>Option "UMP_LOCK" "true"</pre> The umplock only use for x11 graphic stack, no need for wayland, because mali&nbsp;<br/> already do the wayland sync on its driver. === X11 performance test === 2D performace: <pre>x11perf</pre> 3D preformace: <pre>glmark2-es2</pre> X11perf tools can easy get from x11-apps.<br/> glmark2-es2 can get from [https://github.com/glmark2/glmark2 https://github.com/glmark2/glmark2]<br/> The glmark2-es2 source code can also build for x11, drm(gbm) and wayland. == Graphics with Wayland == Weston is the reference implementation of a Wayland compositor, and a<br/> useful compositor in its own right. === Structure === [[File:Wayland.png]] === Weston === The Weston reference implementation of a Wayland compositor. &nbsp; &nbsp; &nbsp;1. run wayland with drm and gpu renderer <pre style="margin-left: 40px;">export XDG_RUNTIME_DIR=/tmp weston --backend=drm-backend.so --idle-time=100 </pre> &nbsp; &nbsp; &nbsp; 2. run wayland with drm and cpu renderer <pre style="margin-left: 40px;">weston --backend=drm-backend.so --idle-time=100 --use-pixman</pre> <blockquote> --idle-time: how many seconds the weston got to sleep, it's usefull to test wayland&nbsp;<br/> suspend and resume.<br/> --use-pixman: it's usefull to compare gpu or non-gpu performance and behavior. </blockquote> === Wayland performance test === 3D preformance: &nbsp;''glmark2-es2-wayland''<br/> glmark2-es2 can get from [https://github.com/glmark2/glmark2 https://github.com/glmark2/glmark2] <br/> OpenVG test: ''vg_api_tests''<br/> build from mali DDK, build with make bin/vg_api_tests &nbsp; == Graphics with None == If you don't want to use X11 or wayland, there are some chooses for you. Interface:<br/> Libdrm and libmali-gbm can be used to draw UI without display systems. Framework:<br/> [[Qt|QT]]&nbsp;can work without x11 or wayland, it run Qt5 applications on top of EGL(libmali-gbm).<br/> WIth qt eglfs, video player can reach 1080-60fps. == MALI GPU driver == === Structure === [[File:Mali gpu.png]] == Mali Build option == Build for X11:<br/> VARIANT=mali450-gles20-eb-linux-sse-vg-x11-dma_buf<br/> Build for Wayland:<br/> VARIANT=mali450-gles20-eb-vg-sse-linux-wayland-drm-dma_buf<br/> X11 stack only use gpu x11 backend,&nbsp;<br/> Wayland use two gpu backend, drm(gbm) and wayland <blockquote> -x11-: x11 backend<br/> -drm-: GBM backend<br/> -wayland: wayland backend<br/> -sse-: similar with neon, Accelerate memcpy on mali, speed up some api like&nbsp;<br/> glTexSubImage2D<br/> -vg-: openVG support, tested with vg_api_tests on wayland backend<br/> -dma_buf-: support dma_buf </blockquote> == LibDRM == === Structure === [[File:DRM.png]] === Source code === mainline source code: git clone [git://anongit.freedesktop.org/mesa/drm git://anongit.freedesktop.org/mesa/drm]<br/> LIBDRM is the cross-driver middleware which allows user-space applications (such&nbsp;<br/> as Mesa and 2D drivers) to communicate with the Kernel by the means of the DRI&nbsp;<br/> protocol. === Mailing list === General developers discussions occur on the dri-devel@lists.freedesktop.org&nbsp;<br/> mailing list.<br/> Subscribe to the list at [http://lists.freedesktop.org/mailman/listinfo/dri-devel http://lists.freedesktop.org/mailman/listinfo/dri-devel].<br/> Archives are found at [http://lists.freedesktop.org/archives/dri-devel/ http://lists.freedesktop.org/archives/dri-devel/]. = Kernel Driver porting = = Others = For details of the full Linux graphics stack, please refer to online documents in&nbsp;[https://www.freedesktop.org/wiki/ Freedesktop],&nbsp;[http://www.arm.com/products/graphics-and-multimedia/mali-gpu ARM],&nbsp;[https://wiki.archlinux.org/index.php/xorg Arch wiki]….. *[http://moi.vonos.net/linux/graphics-stack/ http://moi.vonos.net/linux/graphics-stack/] *[https://en.wikipedia.org/wiki/Wayland_(display_server_protocol https://en.wikipedia.org/wiki/Wayland_(display_server_protocol]) *[https://blogs.igalia.com/itoral/2014/07/29/a-brief-introduction-to-the-linux-graphics-stack/ https://blogs.igalia.com/itoral/2014/07/29/a-brief-introduction-to-the-linux-graphics-stack/] 8673c49d954c31ee1e774f2f3e2f81524fbf8874 U-Boot 0 11 747 624 2017-03-17T09:17:39Z Kever 2 wikitext text/x-wiki U-Boot Guide = Download U-Boot = == Upstream U-Boot == You can clone the u-boot repository by running: <pre>git clone git://git.denx.de/u-boot.git</pre> Alternatively you can use u-boot-rockchip instead which may with some patches not get in mainline: <pre>git clone git://git.denx.de/u-boot-rockchip.git</pre> &nbsp; == Rockchip U-Boot == You can clone the u-boot repository by running: <pre>git clone https://github.com/rockchip-linux/u-boot.git </pre> = Supported Devices = Upstream U-Boot support Rockchip SoCs: RK3036, RK3188, [[RK3288|RK3288]], [[RK3328|RK3328]], [[RK3399|RK3399]] &nbsp; *RK3036 boards supported: <ol style="margin-left: 40px;"> <li>EVB RK3036 - use evb-rk3036 configuration</li> <li>Kylin - use kylin_rk3036 configuration</li> </ol> *RK3288 boards supported: <ol style="margin-left: 40px;"> <li>EVB RK3288 - use evb-rk3288 configuration</li> <li>Fennec RK3288 - use fennec-rk3288 configuration</li> <li>Firefly RK3288 - use firefly-rk3288 configuration</li> <li>Hisense Chromebook - use chromebook_jerry configuration</li> <li>Miniarm RK3288 - use miniarm-rk3288 configuration</li> <li>PopMetal RK3288 - use popmetal-rk3288 configuration</li> <li>Radxa Rock 2 - use rock2 configuration</li> <li>ASUS Tinker</li> </ol> *RK3188 boards&nbsp;supported: <ol style="margin-left: 40px;"> <li>Radxa Rock - use rock&nbsp;configuration</li> </ol> *RK3328 boards&nbsp;supported: <ol style="margin-left: 40px;"> <li>EVB RK3328 - use evb-rk3328 configuration</li> </ol> *RK3399 boards&nbsp;supported: <ol style="margin-left: 40px;"> <li>EVB RK3399 - use evb-rk3399 configuration</li> </ol> &nbsp; &nbsp; = Configure U-Boot = First you need to choose a correct defconfig for your board; When you have determined what <board_name> you want to build, configure: <pre>make CROSS_COMPILE=arm-linux-gnueabi-&nbsp;<board_name>_defconfig</pre> You may need to change the U-Boot function/feature support by modify the defconfig file or, there is also menuconfig to play with settings if you feel like it: <pre>make CROSS_COMPILE=arm-linux-gnueabi- menuconfig</pre> &nbsp; &nbsp; = Build U-Boot = == Get a toolchain == If you haven't done so before, get a suitable&nbsp;toolchain&nbsp;installed and add it&nbsp;to your PATH. In Ubuntu 14.04, you can use below command to install cross compiler for armv7: <pre>sudo apt-get install gcc-arm-linux-gnueabi</pre> Or for ARM64 <pre>sudo apt-get install gcc-aarch64-linux-gnu </pre> &nbsp; == Build == For armv7: <pre>make CROSS_COMPILE=arm-linux-gnueabi-</pre> or for ARM64: <pre>make ARCH=arm CROSS_COMPILE=aarch64-linux-gnu-</pre> In order to support debug in ARM DS-5, you may need add ctags in make command: <pre>CFLAGS='-gdwarf-3'</pre> &nbsp; = Istall U-Boot = Rockchip SoCs's bootrom need special format named IDBlock at special offset 0x64 block for boot, so we need to package&nbsp;SPL(or Rockchip miniloader) &nbsp;in IDB format. Rockchip bootrom supports SPL back to bootrom and bootrom load the U-Boot, so the SPL for Rockchip SoCs can option to back to bootrom, usually decided by if the IRAM is enough&nbsp;for driver to load U-Boot. &nbsp; &nbsp; == Using U-Boot SPL == After build&nbsp;complete, U-Boot with SPL support will generate a spl folder with <var>u-boot-spl.bin</var>&nbsp;inside <pre>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl.bin rk3288_idb.img</pre> '''This image is supposed to flash to offset 0x64.''' For&nbsp;<var>u-boot.bin</var>, it's different for SPL back to bootrom or not, if enable&nbsp;CONFIG_ROCKCHIP_SPL_BACK_TO_BROM, we can append the U-Boot to IDB data: <pre>cat u-boot.bin >> rk3288_idb.img</pre> <code>If&nbsp;</code>CONFIG_ROCKCHIP_SPL_BACK_TO_BROM&nbsp;not enabled, no more package operation is need for u-boot-dtb.bin, and it need to flalsh to 0x200 which is decide by&nbsp;CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR. == Support ATF with SPL FIT image == &nbsp; == Using Rockchip miniloader == Alternatively, you can use Rockchip miniloader and U-Boot instead which do not need SPL. The miniloader is package as IDBlock, and the u-boot.bin need to package with rockchip tool: <pre>loaderimage --pack --uboot u-boot.bin uboot.img</pre> According to the [[Partitions|partitions]] definition, the miniloader should write to offset 0x64 and &nbsp;this uboot.img should write to offset 0x4000. &nbsp; == Boot up == See [[Boot_option|boot option]] about how to boot from eMMC/SD card. = Boot cmd = == Distro boot == == EFI boot == = Firmware download in U-Boot = In U-Boot, there are multi way to update image for system, you can chose any of one easy use for you. == fastboot == See [[Fastboot|fastboot]] == ums == == rockusb == 6938895d8252db4938291139ec6cb54f1c9567ec 762 747 2017-03-17T10:03:29Z Kever 2 wikitext text/x-wiki U-Boot Guide = Download U-Boot = == Upstream U-Boot == You can clone the u-boot repository by running: <pre>git clone git://git.denx.de/u-boot.git</pre> Alternatively you can use u-boot-rockchip instead which may with some patches not get in mainline: <pre>git clone git://git.denx.de/u-boot-rockchip.git</pre> &nbsp; == Rockchip U-Boot == You can clone the u-boot repository by running: <pre>git clone https://github.com/rockchip-linux/u-boot.git </pre> = Supported Devices = Upstream U-Boot support Rockchip SoCs: RK3036, RK3188, [[RK3288|RK3288]], [[RK3328|RK3328]], [[RK3399|RK3399]] &nbsp; *RK3036 boards supported: <ol style="margin-left: 40px;"> <li>EVB RK3036 - use evb-rk3036 configuration</li> <li>Kylin - use kylin_rk3036 configuration</li> </ol> *RK3288 boards supported: <ol style="margin-left: 40px;"> <li>EVB RK3288 - use evb-rk3288 configuration</li> <li>Fennec RK3288 - use fennec-rk3288 configuration</li> <li>Firefly RK3288 - use firefly-rk3288 configuration</li> <li>Hisense Chromebook - use chromebook_jerry configuration</li> <li>Miniarm RK3288 - use miniarm-rk3288 configuration</li> <li>PopMetal RK3288 - use popmetal-rk3288 configuration</li> <li>Radxa Rock 2 - use rock2 configuration</li> <li>ASUS Tinker</li> </ol> *RK3188 boards&nbsp;supported: <ol style="margin-left: 40px;"> <li>Radxa Rock - use rock&nbsp;configuration</li> </ol> *RK3328 boards&nbsp;supported: <ol style="margin-left: 40px;"> <li>EVB RK3328 - use evb-rk3328 configuration</li> </ol> *RK3399 boards&nbsp;supported: <ol style="margin-left: 40px;"> <li>EVB RK3399 - use evb-rk3399 configuration</li> </ol> &nbsp; &nbsp; = Configure U-Boot = First you need to choose a correct defconfig for your board; When you have determined what <board_name> you want to build, configure: <pre>make CROSS_COMPILE=arm-linux-gnueabi-&nbsp;<board_name>_defconfig</pre> You may need to change the U-Boot function/feature support by modify the defconfig file or, there is also menuconfig to play with settings if you feel like it: <pre>make CROSS_COMPILE=arm-linux-gnueabi- menuconfig</pre> &nbsp; &nbsp; = Build U-Boot = == Get a toolchain == If you haven't done so before, get a suitable&nbsp;toolchain&nbsp;installed and add it&nbsp;to your PATH. In Ubuntu 14.04, you can use below command to install cross compiler for armv7: <pre>sudo apt-get install gcc-arm-linux-gnueabi</pre> Or for ARM64 <pre>sudo apt-get install gcc-aarch64-linux-gnu </pre> &nbsp; == Build == For armv7: <pre>make CROSS_COMPILE=arm-linux-gnueabi-</pre> or for ARM64: <pre>make ARCH=arm CROSS_COMPILE=aarch64-linux-gnu-</pre> In order to support debug in ARM DS-5, you may need add ctags in make command: <pre>CFLAGS='-gdwarf-3'</pre> &nbsp; = Istall U-Boot = Rockchip SoCs's bootrom need special format named IDBlock at special offset 0x64 block for boot, so we need to package&nbsp;SPL(or Rockchip miniloader) &nbsp;in IDB format. Rockchip bootrom supports SPL back to bootrom and bootrom load the U-Boot, so the SPL for Rockchip SoCs can option to back to bootrom, usually decided by if the IRAM is enough&nbsp;for driver to load U-Boot. &nbsp; &nbsp; == Using U-Boot SPL == After build&nbsp;complete, U-Boot with SPL support will generate a spl folder with <var>u-boot-spl.bin</var>&nbsp;inside <pre>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl.bin rk3288_idb.img</pre> '''This image is supposed to flash to offset 0x64.''' For&nbsp;<var>u-boot.bin</var>, it's different for SPL back to bootrom or not, if enable&nbsp;CONFIG_ROCKCHIP_SPL_BACK_TO_BROM, we can append the U-Boot to IDB data: <pre>cat u-boot.bin >> rk3288_idb.img</pre> <code>If&nbsp;</code>CONFIG_ROCKCHIP_SPL_BACK_TO_BROM&nbsp;not enabled, no more package operation is need for u-boot-dtb.bin, and it need to flalsh to 0x200 which is decide by&nbsp;CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR. == Support ATF with SPL FIT image == &nbsp; == Using Rockchip miniloader == Alternatively, you can use Rockchip miniloader and U-Boot instead which do not need SPL. The miniloader is package as IDBlock, and the u-boot.bin need to package with rockchip tool: <pre>loaderimage --pack --uboot u-boot.bin uboot.img</pre> According to the [[Partitions|partitions]] definition, the miniloader should write to offset 0x64 and &nbsp;this uboot.img should write to offset 0x4000. &nbsp; == Boot up == See [[Boot_option|boot option]]about how to boot from eMMC/SD card. = Boot cmd = == Distro boot == == EFI boot == = Firmware download in U-Boot = In U-Boot, there are multi way to update image for system, you can chose any of one easy use for you. == fastboot == See [[Fastboot|fastboot]] == ums == == rockusb == 7c9f86d12273e53401f3cc6063b757bbb21db19d 764 762 2017-03-17T10:04:45Z Kever 2 wikitext text/x-wiki U-Boot Guide = Download U-Boot = == Upstream U-Boot == You can clone the u-boot repository by running: <pre>git clone git://git.denx.de/u-boot.git</pre> Alternatively you can use u-boot-rockchip instead which may with some patches not get in mainline: <pre>git clone git://git.denx.de/u-boot-rockchip.git</pre> &nbsp; == Rockchip U-Boot == You can clone the u-boot repository by running: <pre>git clone https://github.com/rockchip-linux/u-boot.git </pre> = Supported Devices = Upstream U-Boot support Rockchip SoCs: RK3036, RK3188, [[RK3288|RK3288]], [[RK3328|RK3328]], [[RK3399|RK3399]] &nbsp; *RK3036 boards supported: <ol style="margin-left: 40px;"> <li>EVB RK3036 - use evb-rk3036 configuration</li> <li>Kylin - use kylin_rk3036 configuration</li> </ol> *RK3288 boards supported: <ol style="margin-left: 40px;"> <li>EVB RK3288 - use evb-rk3288 configuration</li> <li>Fennec RK3288 - use fennec-rk3288 configuration</li> <li>Firefly RK3288 - use firefly-rk3288 configuration</li> <li>Hisense Chromebook - use chromebook_jerry configuration</li> <li>Miniarm RK3288 - use miniarm-rk3288 configuration</li> <li>PopMetal RK3288 - use popmetal-rk3288 configuration</li> <li>Radxa Rock 2 - use rock2 configuration</li> <li>ASUS Tinker</li> </ol> *RK3188 boards&nbsp;supported: <ol style="margin-left: 40px;"> <li>Radxa Rock - use rock&nbsp;configuration</li> </ol> *RK3328 boards&nbsp;supported: <ol style="margin-left: 40px;"> <li>EVB RK3328 - use evb-rk3328 configuration</li> </ol> *RK3399 boards&nbsp;supported: <ol style="margin-left: 40px;"> <li>EVB RK3399 - use evb-rk3399 configuration</li> </ol> &nbsp; &nbsp; = Configure U-Boot = First you need to choose a correct defconfig for your board; When you have determined what <board_name> you want to build, configure: <pre>make CROSS_COMPILE=arm-linux-gnueabi-&nbsp;<board_name>_defconfig</pre> You may need to change the U-Boot function/feature support by modify the defconfig file or, there is also menuconfig to play with settings if you feel like it: <pre>make CROSS_COMPILE=arm-linux-gnueabi- menuconfig</pre> &nbsp; &nbsp; = Build U-Boot = == Get a toolchain == If you haven't done so before, get a suitable&nbsp;toolchain&nbsp;installed and add it&nbsp;to your PATH. In Ubuntu 14.04, you can use below command to install cross compiler for armv7: <pre>sudo apt-get install gcc-arm-linux-gnueabi</pre> Or for ARM64 <pre>sudo apt-get install gcc-aarch64-linux-gnu </pre> &nbsp; == Build == For armv7: <pre>make CROSS_COMPILE=arm-linux-gnueabi-</pre> or for ARM64: <pre>make ARCH=arm CROSS_COMPILE=aarch64-linux-gnu-</pre> In order to support debug in ARM DS-5, you may need add ctags in make command: <pre>CFLAGS='-gdwarf-3'</pre> &nbsp; = Istall U-Boot = Rockchip SoCs's bootrom need special format named IDBlock at special offset 0x64 block for boot, so we need to package&nbsp;SPL(or Rockchip miniloader) &nbsp;in IDB format. Rockchip bootrom supports SPL back to bootrom and bootrom load the U-Boot, so the SPL for Rockchip SoCs can option to back to bootrom, usually decided by if the IRAM is enough&nbsp;for driver to load U-Boot. &nbsp; &nbsp; == Using U-Boot SPL == After build&nbsp;complete, U-Boot with SPL support will generate a spl folder with <var>u-boot-spl.bin</var>&nbsp;inside <pre>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl.bin rk3288_idb.img</pre> '''This image is supposed to flash to offset 0x64.''' For&nbsp;<var>u-boot.bin</var>, it's different for SPL back to bootrom or not, if enable&nbsp;CONFIG_ROCKCHIP_SPL_BACK_TO_BROM, we can append the U-Boot to IDB data: <pre>cat u-boot.bin >> rk3288_idb.img</pre> <code>If&nbsp;</code>CONFIG_ROCKCHIP_SPL_BACK_TO_BROM&nbsp;not enabled, no more package operation is need for u-boot-dtb.bin, and it need to flalsh to 0x200 which is decide by&nbsp;CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR. == Support ATF with SPL FIT image == &nbsp; == Using Rockchip miniloader == Alternatively, you can use Rockchip miniloader and U-Boot instead which do not need SPL. The miniloader is package as IDBlock, and the u-boot.bin need to package with rockchip tool: <pre>loaderimage --pack --uboot u-boot.bin uboot.img</pre> According to the [[Partitions|partitions]] definition, the miniloader should write to offset 0x64 and &nbsp;this uboot.img should write to offset 0x4000. &nbsp; == Boot up == See [[Boot_option|boot option]]&nbsp;about how to boot from eMMC/SD card. = Boot cmd = == Distro boot == == EFI boot == = Firmware download in U-Boot = In U-Boot, there are multi way to update image for system, you can chose any of one easy use for you. == fastboot == See [[Fastboot|fastboot]] == ums == == rockusb == 082d76b760a6e7ac71e9f7bd72b72da7b4bd5b42 765 764 2017-03-17T10:07:27Z Kever 2 wikitext text/x-wiki U-Boot Guide = Download U-Boot = == Upstream U-Boot == You can clone the u-boot repository by running: <pre>git clone git://git.denx.de/u-boot.git</pre> Alternatively you can use u-boot-rockchip instead which may with some patches not get in mainline: <pre>git clone git://git.denx.de/u-boot-rockchip.git</pre> &nbsp; == Rockchip U-Boot == You can clone the u-boot repository by running: <pre>git clone https://github.com/rockchip-linux/u-boot.git </pre> = Supported Devices = Upstream U-Boot support Rockchip SoCs: RK3036, RK3188, [[RK3288|RK3288]], [[RK3328|RK3328]], [[RK3399|RK3399]] &nbsp; *RK3036 boards supported: <ol style="margin-left: 40px;"> <li>EVB RK3036 - use evb-rk3036 configuration</li> <li>Kylin - use kylin_rk3036 configuration</li> </ol> *RK3288 boards supported: <ol style="margin-left: 40px;"> <li>EVB RK3288 - use evb-rk3288 configuration</li> <li>Fennec RK3288 - use fennec-rk3288 configuration</li> <li>Firefly RK3288 - use firefly-rk3288 configuration</li> <li>Hisense Chromebook - use chromebook_jerry configuration</li> <li>Miniarm RK3288 - use miniarm-rk3288 configuration</li> <li>PopMetal RK3288 - use popmetal-rk3288 configuration</li> <li>Radxa Rock 2 - use rock2 configuration</li> <li>ASUS Tinker</li> </ol> *RK3188 boards&nbsp;supported: <ol style="margin-left: 40px;"> <li>Radxa Rock - use rock&nbsp;configuration</li> </ol> *RK3328 boards&nbsp;supported: <ol style="margin-left: 40px;"> <li>EVB RK3328 - use evb-rk3328 configuration</li> </ol> *RK3399 boards&nbsp;supported: <ol style="margin-left: 40px;"> <li>EVB RK3399 - use evb-rk3399 configuration</li> </ol> &nbsp; &nbsp; = Configure U-Boot = First you need to choose a correct defconfig for your board; When you have determined what <board_name> you want to build, configure: <pre>make CROSS_COMPILE=arm-linux-gnueabi-&nbsp;<board_name>_defconfig</pre> You may need to change the U-Boot function/feature support by modify the defconfig file or, there is also menuconfig to play with settings if you feel like it: <pre>make CROSS_COMPILE=arm-linux-gnueabi- menuconfig</pre> &nbsp; &nbsp; = Build U-Boot = == Get a toolchain == If you haven't done so before, get a suitable&nbsp;toolchain&nbsp;installed and add it&nbsp;to your PATH. In Ubuntu 14.04, you can use below command to install cross compiler for armv7: <pre>sudo apt-get install gcc-arm-linux-gnueabi</pre> Or for ARM64 <pre>sudo apt-get install gcc-aarch64-linux-gnu </pre> &nbsp; == Build == For armv7: <pre>make CROSS_COMPILE=arm-linux-gnueabi-</pre> or for ARM64: <pre>make ARCH=arm CROSS_COMPILE=aarch64-linux-gnu-</pre> In order to support debug in ARM DS-5, you may need add ctags in make command: <pre>CFLAGS='-gdwarf-3'</pre> &nbsp; = Istall U-Boot = Rockchip SoCs's bootrom need special format named IDBlock at special offset 0x64 block for boot, so we need to package&nbsp;SPL(or Rockchip miniloader) &nbsp;in IDB format. Rockchip bootrom supports SPL back to bootrom and bootrom load the U-Boot, so the SPL for Rockchip SoCs can option to back to bootrom, usually decided by if the IRAM is enough&nbsp;for driver to load U-Boot. &nbsp; &nbsp; == Using U-Boot SPL == After build&nbsp;complete, U-Boot with SPL support will generate a spl folder with <var>u-boot-spl.bin</var>&nbsp;inside <pre>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl.bin rk3288_idb.img</pre> '''This image is supposed to flash to offset 0x64.''' For&nbsp;<var>u-boot.bin</var>, it's different for SPL back to bootrom or not, if enable&nbsp;CONFIG_ROCKCHIP_SPL_BACK_TO_BROM, we can append the U-Boot to IDB data: <pre>cat u-boot.bin >> rk3288_idb.img</pre> <code>If&nbsp;</code>CONFIG_ROCKCHIP_SPL_BACK_TO_BROM&nbsp;not enabled, no more package operation is need for u-boot-dtb.bin, and it need to flalsh to 0x200 which is decide by&nbsp;CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR. == Support ATF with SPL FIT image == &nbsp; == Using Rockchip miniloader == Alternatively, you can use Rockchip miniloader and U-Boot instead which do not need SPL. The miniloader is package as IDBlock, and the u-boot.bin need to package with rockchip tool: <pre>loaderimage --pack --uboot u-boot.bin uboot.img</pre> According to the [[Partitions|partitions]] definition, the miniloader should write to offset 0x64 and &nbsp;this uboot.img should write to offset 0x4000. &nbsp; == Boot up == See [[Boot_option|boot option]]about how to boot from eMMC/SD card. = Boot cmd = == Distro boot == == EFI boot == = Firmware download in U-Boot = In U-Boot, there are multi way to update image for system, you can chose any of one easy use for you. == fastboot == See [[Fastboot|fastboot]] == ums == == rockusb == 008fe6b5dada5a7457f70cb54c0392ae1b717d40 766 765 2017-03-17T10:08:02Z Kever 2 wikitext text/x-wiki U-Boot Guide = Download U-Boot = == Upstream U-Boot == You can clone the u-boot repository by running: <pre>git clone git://git.denx.de/u-boot.git</pre> Alternatively you can use u-boot-rockchip instead which may with some patches not get in mainline: <pre>git clone git://git.denx.de/u-boot-rockchip.git</pre> &nbsp; == Rockchip U-Boot == You can clone the u-boot repository by running: <pre>git clone https://github.com/rockchip-linux/u-boot.git </pre> = Supported Devices = Upstream U-Boot support Rockchip SoCs: RK3036, RK3188, [[RK3288|RK3288]], [[RK3328|RK3328]], [[RK3399|RK3399]] &nbsp; *RK3036 boards supported: <ol style="margin-left: 40px;"> <li>EVB RK3036 - use evb-rk3036 configuration</li> <li>Kylin - use kylin_rk3036 configuration</li> </ol> *RK3288 boards supported: <ol style="margin-left: 40px;"> <li>EVB RK3288 - use evb-rk3288 configuration</li> <li>Fennec RK3288 - use fennec-rk3288 configuration</li> <li>Firefly RK3288 - use firefly-rk3288 configuration</li> <li>Hisense Chromebook - use chromebook_jerry configuration</li> <li>Miniarm RK3288 - use miniarm-rk3288 configuration</li> <li>PopMetal RK3288 - use popmetal-rk3288 configuration</li> <li>Radxa Rock 2 - use rock2 configuration</li> <li>ASUS Tinker</li> </ol> *RK3188 boards&nbsp;supported: <ol style="margin-left: 40px;"> <li>Radxa Rock - use rock&nbsp;configuration</li> </ol> *RK3328 boards&nbsp;supported: <ol style="margin-left: 40px;"> <li>EVB RK3328 - use evb-rk3328 configuration</li> </ol> *RK3399 boards&nbsp;supported: <ol style="margin-left: 40px;"> <li>EVB RK3399 - use evb-rk3399 configuration</li> </ol> &nbsp; &nbsp; = Configure U-Boot = First you need to choose a correct defconfig for your board; When you have determined what <board_name> you want to build, configure: <pre>make CROSS_COMPILE=arm-linux-gnueabi-&nbsp;<board_name>_defconfig</pre> You may need to change the U-Boot function/feature support by modify the defconfig file or, there is also menuconfig to play with settings if you feel like it: <pre>make CROSS_COMPILE=arm-linux-gnueabi- menuconfig</pre> &nbsp; &nbsp; = Build U-Boot = == Get a toolchain == If you haven't done so before, get a suitable&nbsp;toolchain&nbsp;installed and add it&nbsp;to your PATH. In Ubuntu 14.04, you can use below command to install cross compiler for armv7: <pre>sudo apt-get install gcc-arm-linux-gnueabi</pre> Or for ARM64 <pre>sudo apt-get install gcc-aarch64-linux-gnu </pre> &nbsp; == Build == For armv7: <pre>make CROSS_COMPILE=arm-linux-gnueabi-</pre> or for ARM64: <pre>make ARCH=arm CROSS_COMPILE=aarch64-linux-gnu-</pre> In order to support debug in ARM DS-5, you may need add ctags in make command: <pre>CFLAGS='-gdwarf-3'</pre> &nbsp; = Istall U-Boot = Rockchip SoCs's bootrom need special format named IDBlock at special offset 0x64 block for boot, so we need to package&nbsp;SPL(or Rockchip miniloader) &nbsp;in IDB format. Rockchip bootrom supports SPL back to bootrom and bootrom load the U-Boot, so the SPL for Rockchip SoCs can option to back to bootrom, usually decided by if the IRAM is enough&nbsp;for driver to load U-Boot. &nbsp; &nbsp; == Using U-Boot SPL == After build&nbsp;complete, U-Boot with SPL support will generate a spl folder with <var>u-boot-spl.bin</var>&nbsp;inside <pre>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl.bin rk3288_idb.img</pre> '''This image is supposed to flash to offset 0x64.''' For&nbsp;<var>u-boot.bin</var>, it's different for SPL back to bootrom or not, if enable&nbsp;CONFIG_ROCKCHIP_SPL_BACK_TO_BROM, we can append the U-Boot to IDB data: <pre>cat u-boot.bin >> rk3288_idb.img</pre> <code>If&nbsp;</code>CONFIG_ROCKCHIP_SPL_BACK_TO_BROM&nbsp;not enabled, no more package operation is need for u-boot-dtb.bin, and it need to flalsh to 0x200 which is decide by&nbsp;CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR. == Support ATF with SPL FIT image == &nbsp; == Using Rockchip miniloader == Alternatively, you can use Rockchip miniloader and U-Boot instead which do not need SPL. The miniloader is package as IDBlock, and the u-boot.bin need to package with rockchip tool: <pre>loaderimage --pack --uboot u-boot.bin uboot.img</pre> According to the [[Partitions|partitions]] definition, the miniloader should write to offset 0x64 and &nbsp;this uboot.img should write to offset 0x4000. &nbsp; == Boot up == See [[Boot_option|boot option]]&nbsp;about how to boot from eMMC/SD card. = Boot cmd = == Distro boot == == EFI boot == = Firmware download in U-Boot = In U-Boot, there are multi way to update image for system, you can chose any of one easy use for you. == fastboot == See [[Fastboot|fastboot]] == ums == == rockusb == f65be030de4281ccceb3114c6f76c70984aa02ea Main Page 0 16 767 723 2017-03-17T10:21:40Z Kever 2 wikitext text/x-wiki = '''Source code''' = Rockchip provide open source software on Github including fully support for Linux Based OS: *Github: [https://github.com/rockchip-linux rockchip-linux] You can also find software for Rockchip SoCs from Upstream: *[https://www.kernel.org/ Linux kernel] *[http://www.denx.de/wiki/U-Boot/WebHome U-Boot] *[https://github.com/ARM-software/arm-trusted-firmware ARM Truseted Firmware] If you are using a Chrombook with Rockchip SoC, you can use: *[https://chromium.googlesource.com/chromiumos/third_party/coreboot Chromium OS&nbsp;Coreboot] *[https://chromium.googlesource.com/chromiumos/third_party/kernel Chromium OS kernel] &nbsp; = '''Hardware Document''' = Here are the documents for SoCs, you can find&nbsp;Hardware device/board information on [[Devices|DEVICE PAGE]]. {| border="1" cellpadding="0" cellspacing="0" |- | style="width:92px;" | <p style="text-align: center;">SoC</p> | style="width:286px;" | <p style="text-align: center;">Description</p> | style="width:189px;" | <p style="text-align: center;">Download</p> |- | style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p> | style="width:286px;" | Quad-core Cortex-A17 CPU, MALI-T764 GPU | style="width:189px;" | [[Media:Rockchip_RK3288TRM_V1.2_Part1-20170227.pdf|TRM]], [[Media:Rockchip_RK3288_Datasheet_V2.2-20170301.pdf|Datasheet]],&nbsp; Schematic&Layout Guide |- | style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p> | style="width:286px;" | Quad-core Cortex-A53 CPU,MALI-450MP2 GPU | style="width:189px;" | TRM, [[Media:Rockchip_RK3328_Datasheet_V1.1-20170309.pdf|Datasheet]],&nbsp; [[Media:Rk3328_box_ref_v10_20170224.pdf|Schematic&Layout Guide]] |- | style="width:92px;" | <p style="text-align: center;">[[RK3399|RK3399]]</p> | style="width:286px;" | Dual-core Cortex-A72, Quad-core Cortex-A53 CPU, MALI-T864 GPU | style="width:189px;" | TRM, [[Media:Rockchip_RK3399_Datasheet_V1.6-20170301.pdf|Datasheet]],&nbsp; Schematic&Layout Guide |} &nbsp; &nbsp; = '''Software development&nbsp;''' = *'''Porting guide for Linux based OS/Distribution''' **[[Linux_user_guide|Linux_user_guide]] **[[Debian|Debian]] **[[Yocto|Yocto]] **[[Buildroot|Buildroot]] **[[Distribution|Other distribution]] *'''BSP module user guide''' **[[U-Boot|U-Boot]]&nbsp; **[[Rockchip_Kernel|Rockchip Kernel]] **[[Upstream_Kernel|Upstream Kernel]] **[[Atf|ARM Trusted&nbsp;Firmware]] *'''Graphics and Multimedia&nbsp;user guide''' **[[Graphics|Graphics and display]] **[[Multimedia|Multimedia]] *'''Tool and Firmware Upgrade''' **[[Rockusb|Rockusb]] **[[Rkdevelptool|Rkdevelptool]] **[[Boot_option|Boot_option]] '''<span style="font-size:xx-large;">Feedback</span>''' Any question about software module on github, pls ask&nbsp;your question at github project issue page. If you have any other questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website, Email-to: opensource@rock-chips.com ba4f8fc4035bbbf50cfd22f27234e20c771fc7f0 769 767 2017-03-20T01:24:08Z Kever 2 wikitext text/x-wiki = '''Source code''' = Rockchip provide open source software on Github including fully support for Linux Based OS: *Github: [https://github.com/rockchip-linux rockchip-linux] You can also find software for Rockchip SoCs from Upstream: *[https://www.kernel.org/ Linux kernel] *[http://www.denx.de/wiki/U-Boot/WebHome U-Boot] *[https://github.com/ARM-software/arm-trusted-firmware ARM Truseted Firmware] If you are using a Chrombook with Rockchip SoC, you can use: *[https://chromium.googlesource.com/chromiumos/third_party/coreboot Chromium OS&nbsp;Coreboot] *[https://chromium.googlesource.com/chromiumos/third_party/kernel Chromium OS kernel] &nbsp; = '''Hardware Document''' = Here are the documents for SoCs, you can find&nbsp;Hardware device/board information on [[Devices|DEVICE PAGE]]. {| border="1" cellpadding="0" cellspacing="0" |- | style="width:92px;" | <p style="text-align: center;">SoC</p> | style="width:286px;" | <p style="text-align: center;">Description</p> | style="width:189px;" | <p style="text-align: center;">Download</p> |- | style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p> | style="width:286px;" | Quad-core Cortex-A17 CPU, MALI-T764 GPU | style="width:189px;" | [[Media:Rockchip_RK3288TRM_V1.2_Part1-20170227.pdf|TRM]], [[Media:Rockchip_RK3288_Datasheet_V2.2-20170301.pdf|Datasheet]],&nbsp; Schematic&Layout Guide |- | style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p> | style="width:286px;" | Quad-core Cortex-A53 CPU,MALI-450MP2 GPU | style="width:189px;" | TRM, [[Media:Rockchip_RK3328_Datasheet_V1.1-20170309.pdf|Datasheet]],&nbsp; [[Media:Rk3328_box_ref_v10_20170224.pdf|Schematic&Layout Guide]] |- | style="width:92px;" | <p style="text-align: center;">[[RK3399|RK3399]]</p> | style="width:286px;" | Dual-core Cortex-A72, Quad-core Cortex-A53 CPU, MALI-T864 GPU | style="width:189px;" | TRM, [[Media:Rockchip_RK3399_Datasheet_V1.6-20170301.pdf|Datasheet]],&nbsp; Schematic&Layout Guide |} &nbsp; &nbsp; = '''Software development&nbsp;''' = *'''Porting guide for Linux based OS/Distribution''' **[[Linux_user_guide|Linux_user_guide]] **[[Debian|Debian]] **[[Yocto|Yocto]] **[[Buildroot|Buildroot]] **[[Distribution|Other distribution]] *'''BSP module user guide''' **[[U-Boot|U-Boot]]&nbsp; **[[Rockchip_Kernel|Rockchip Kernel]] **[[Upstream_Kernel|Upstream Kernel]] **[[Atf|ARM Trusted&nbsp;Firmware]] *'''Graphics and Multimedia&nbsp;user guide''' **[[Graphics|Graphics and display]] **[[Multimedia|Multimedia]] *'''Tool and Firmware Upgrade''' **[[Rockusb|Rockusb]] **[[Rkdevelptool|Rkdevelptool]] **[[Boot_option|Boot_option]] '''<span style="font-size:xx-large;">Feedback</span>''' Any question about software module on github, pls ask&nbsp;your question at issue page of github project. If you have any other questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website, Email-to: opensource@rock-chips.com 0bd46bdd7bee323dd871fa2845bbd9c3973e7c46 770 769 2017-03-20T01:25:02Z Kever 2 wikitext text/x-wiki = '''Source code''' = Rockchip provide open source software on Github including fully support for Linux Based OS: *Github: [https://github.com/rockchip-linux rockchip-linux] You can also find software for Rockchip SoCs from Upstream: *[https://www.kernel.org/ Linux kernel] *[http://www.denx.de/wiki/U-Boot/WebHome U-Boot] *[https://github.com/ARM-software/arm-trusted-firmware ARM Truseted Firmware] If you are using a Chrombook with Rockchip SoC, you can use: *[https://chromium.googlesource.com/chromiumos/third_party/coreboot Chromium OS&nbsp;Coreboot] *[https://chromium.googlesource.com/chromiumos/third_party/kernel Chromium OS kernel] &nbsp; = '''Hardware Document''' = Here are the documents for SoCs, you can find&nbsp;Hardware device/board information on [[Devices|DEVICE PAGE]]. {| border="1" cellpadding="0" cellspacing="0" |- | style="width:92px;" | <p style="text-align: center;">SoC</p> | style="width:286px;" | <p style="text-align: center;">Description</p> | style="width:189px;" | <p style="text-align: center;">Download</p> |- | style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p> | style="width:286px;" | Quad-core Cortex-A17 CPU, MALI-T764 GPU | style="width:189px;" | [[Media:Rockchip_RK3288TRM_V1.2_Part1-20170227.pdf|TRM]], [[Media:Rockchip_RK3288_Datasheet_V2.2-20170301.pdf|Datasheet]],&nbsp; Schematic&Layout Guide |- | style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p> | style="width:286px;" | Quad-core Cortex-A53 CPU,MALI-450MP2 GPU | style="width:189px;" | TRM, [[Media:Rockchip_RK3328_Datasheet_V1.1-20170309.pdf|Datasheet]],&nbsp; [[Media:Rk3328_box_ref_v10_20170224.pdf|Schematic&Layout Guide]] |- | style="width:92px;" | <p style="text-align: center;">[[RK3399|RK3399]]</p> | style="width:286px;" | Dual-core Cortex-A72, Quad-core Cortex-A53 CPU, MALI-T864 GPU | style="width:189px;" | TRM, [[Media:Rockchip_RK3399_Datasheet_V1.6-20170301.pdf|Datasheet]],&nbsp; Schematic&Layout Guide |} &nbsp; &nbsp; = '''Software development&nbsp;''' = *'''Porting guide for Linux based OS/Distribution''' **[[Linux_user_guide|Linux_user_guide]] **[[Debian|Debian]] **[[Yocto|Yocto]] **[[Buildroot|Buildroot]] **[[Distribution|Other distribution]] *'''BSP module user guide''' **[[U-Boot|U-Boot]]&nbsp; **[[Rockchip_Kernel|Rockchip Kernel]] **[[Upstream_Kernel|Upstream Kernel]] **[[Atf|ARM Trusted&nbsp;Firmware]] *'''Graphics and Multimedia&nbsp;user guide''' **[[Graphics|Graphics and display]] **[[Multimedia|Multimedia]] *'''Tool and Firmware Upgrade''' **[[Rockusb|Rockusb]] **[[Rkdevelptool|Rkdevelptool]] **[[Boot_option|Boot_option]] '''<span style="font-size:xx-large;">Feedback</span>''' Any question about software module on github, please ask&nbsp;at issue page of github project. If you have any other questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website, Email-to: opensource@rock-chips.com f3b59a5b7c37b2eeef12523d2491811eadbf6520 Upstream Kernel 0 19 778 655 2017-03-20T03:06:47Z Karen 3 wikitext text/x-wiki Rockchip is working on upstream SoC support to Mainline kernel: &nbsp; = Download Kernel = Get the source code from the upstream mainline&nbsp;repository: <pre>git clone git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git</pre> Alternatively you can use linux-rockchip instead which may with some patches not get in mainline: <pre>git clone git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip.git</pre> = Supported SoCs and Devices[[http://10.10.10.12:8444/index.php?title=Rockchip_Kernel&action=edit&section=2 edit]] = Mainline&nbsp;kernel supports: RV1108, RK3036, RK3066, RK3188, RK3228, RK3288, RK3368, RK3399 *RV1108 boards: <ol style="margin-left: 40px;"> <li>EVB RV1108- use&nbsp;rk1108-evb.dts</li> </ol> *RK3036 boards: <ol style="margin-left: 40px;"> <li>EVB RK3036 - use rk3036-evb.dts</li> <li>Kylin RK3036- use&nbsp;rk3036-kylin.dts</li> </ol> *RK3066 boards: <ol style="margin-left: 40px;"> <li>Marsboard - use&nbsp;rk3066a-marsboard.dts</li> <li>Bqcurie2 - use&nbsp;rk3066a-bqcurie2.dts</li> <li>Rayeager - use rk3066a-rayeager.dts</li> </ol> *RK3188 boards: <ol style="margin-left: 40px;"> <li>Radxa Rock - rk3188-radxarock.dts</li> </ol> *RK3288 boards: <ol style="margin-left: 40px;"> <li>EVB RK3288 - use rk3288-evb-rk808.dts or&nbsp;rk3288-evb-act8846.dts</li> <li>Fennec RK3288 - use rk3288-fennec.dts</li> <li>Firefly RK3288 - use rk3288-firefly.dts</li> <li>Firefly beta RK3288 - use rk3288-firefly-beta.dts</li> <li>Firefly reload RK3288 - use rk3288-firefly-reload.dts</li> <li>Hisense Chromebook - use rk3288-veyron-jerry.dts</li> <li>PopMetal RK3288 - use rk3288-popmetal.dts</li> <li>MiQi RK3288 - use&nbsp;rk3288-miqi.dts</li> <li>Radxa Rock 2 - use rk3288-rock2-square.dts</li> </ol> *RK3368 boards: <ol style="margin-left: 40px;"> <li>Geekbok RK3368 - use&nbsp;rk3368-geekbox.dts</li> <li>Orion r68 - use rk3368-orion-r68-meta.dts</li> </ol> *RK3399 boards: <ol style="margin-left: 40px;"> <li>EVB RK3399 - use rk3399-evb.dts</li> </ol> &nbsp; = Configure and Build[[http://10.10.10.12:8444/index.php?title=Rockchip_Kernel&action=edit&section=3 edit]] = You will need to use multi_v7_defconfig&nbsp;for armv7 SoCs: <pre>make multi_v7_defconfig</pre> configure for aarch64: <pre>make ARCH=arm64 defconfig</pre> The arm64 defconfig on upstream is more for server,&nbsp;we recommend you to use rockchip_linux_defconfig from&nbsp;Rockchip github <pre>make ARCH=arm64 rockchip_linux_defconfig</pre> After configure, build the kernel. For armv7: <pre>make CROSS_COMPILE=arm-linux-gnueabi-</pre> For aarch64: <pre>make CROSS_COMPILE=aarch64-linux-gnu- ARCH=arm64</pre> Then you can get Image/zImage and dtb files. &nbsp; = Install Boot/kernel[[http://10.10.10.12:8444/index.php?title=Rockchip_Kernel&action=edit&section=4 edit]] = We use distro boot in U-Boot, so we need to make a boot partition for U-Boot with kernel image and dtb inside. <pre>mkdir boot cp arch/arm64/boot/dts/rockchip/rockchip/rk3399-evb.dtb boot/rk3399.dtb cp arch/arm64/boot/Image boot/</pre> Add extlinux/extlinux.conf for distro boot. <pre>mkdir boot/extlinux vi boot/extlinux/extlinux.conf</pre> &nbsp; <pre>lable kernel-mainline kernel /Image fdt /rk3399.dtb append earlycon=uart8250,mmio,0xff1a0000 console=ttyS2,1500000n8 root=dev/mmcblk0p7 rootwait rootfstype=ext4 init=/sbin/init</pre> You need to change the base address of debug UART, root partition for your board. Pls reference to&nbsp;[http://10.10.10.12:8444/index.php?title=Partitions rockchip Linux parttion definition]&nbsp;for rootfs partition and where boot to flash. After all these file prepare complete, we write the file to the boot partition See [[Rockchip_Kernel|rockchip kernel]] for boot partition generate. 742641a3df30959fc465fc80f8ecb5b2cbe54d77 779 778 2017-03-20T03:07:06Z Karen 3 wikitext text/x-wiki Rockchip is working on upstream SoC support to Mainline kernel: &nbsp; = Download Kernel = Get the source code from the upstream mainline&nbsp;repository: <pre>git clone git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git</pre> Alternatively you can use linux-rockchip instead which may with some patches not get in mainline: <pre>git clone git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip.git</pre> = Supported SoCs and Devices = Mainline&nbsp;kernel supports: RV1108, RK3036, RK3066, RK3188, RK3228, RK3288, RK3368, RK3399 *RV1108 boards: <ol style="margin-left: 40px;"> <li>EVB RV1108- use&nbsp;rk1108-evb.dts</li> </ol> *RK3036 boards: <ol style="margin-left: 40px;"> <li>EVB RK3036 - use rk3036-evb.dts</li> <li>Kylin RK3036- use&nbsp;rk3036-kylin.dts</li> </ol> *RK3066 boards: <ol style="margin-left: 40px;"> <li>Marsboard - use&nbsp;rk3066a-marsboard.dts</li> <li>Bqcurie2 - use&nbsp;rk3066a-bqcurie2.dts</li> <li>Rayeager - use rk3066a-rayeager.dts</li> </ol> *RK3188 boards: <ol style="margin-left: 40px;"> <li>Radxa Rock - rk3188-radxarock.dts</li> </ol> *RK3288 boards: <ol style="margin-left: 40px;"> <li>EVB RK3288 - use rk3288-evb-rk808.dts or&nbsp;rk3288-evb-act8846.dts</li> <li>Fennec RK3288 - use rk3288-fennec.dts</li> <li>Firefly RK3288 - use rk3288-firefly.dts</li> <li>Firefly beta RK3288 - use rk3288-firefly-beta.dts</li> <li>Firefly reload RK3288 - use rk3288-firefly-reload.dts</li> <li>Hisense Chromebook - use rk3288-veyron-jerry.dts</li> <li>PopMetal RK3288 - use rk3288-popmetal.dts</li> <li>MiQi RK3288 - use&nbsp;rk3288-miqi.dts</li> <li>Radxa Rock 2 - use rk3288-rock2-square.dts</li> </ol> *RK3368 boards: <ol style="margin-left: 40px;"> <li>Geekbok RK3368 - use&nbsp;rk3368-geekbox.dts</li> <li>Orion r68 - use rk3368-orion-r68-meta.dts</li> </ol> *RK3399 boards: <ol style="margin-left: 40px;"> <li>EVB RK3399 - use rk3399-evb.dts</li> </ol> &nbsp; = Configure and Build[[http://10.10.10.12:8444/index.php?title=Rockchip_Kernel&action=edit&section=3 edit]] = You will need to use multi_v7_defconfig&nbsp;for armv7 SoCs: <pre>make multi_v7_defconfig</pre> configure for aarch64: <pre>make ARCH=arm64 defconfig</pre> The arm64 defconfig on upstream is more for server,&nbsp;we recommend you to use rockchip_linux_defconfig from&nbsp;Rockchip github <pre>make ARCH=arm64 rockchip_linux_defconfig</pre> After configure, build the kernel. For armv7: <pre>make CROSS_COMPILE=arm-linux-gnueabi-</pre> For aarch64: <pre>make CROSS_COMPILE=aarch64-linux-gnu- ARCH=arm64</pre> Then you can get Image/zImage and dtb files. &nbsp; = Install Boot/kernel[[http://10.10.10.12:8444/index.php?title=Rockchip_Kernel&action=edit&section=4 edit]] = We use distro boot in U-Boot, so we need to make a boot partition for U-Boot with kernel image and dtb inside. <pre>mkdir boot cp arch/arm64/boot/dts/rockchip/rockchip/rk3399-evb.dtb boot/rk3399.dtb cp arch/arm64/boot/Image boot/</pre> Add extlinux/extlinux.conf for distro boot. <pre>mkdir boot/extlinux vi boot/extlinux/extlinux.conf</pre> &nbsp; <pre>lable kernel-mainline kernel /Image fdt /rk3399.dtb append earlycon=uart8250,mmio,0xff1a0000 console=ttyS2,1500000n8 root=dev/mmcblk0p7 rootwait rootfstype=ext4 init=/sbin/init</pre> You need to change the base address of debug UART, root partition for your board. Pls reference to&nbsp;[http://10.10.10.12:8444/index.php?title=Partitions rockchip Linux parttion definition]&nbsp;for rootfs partition and where boot to flash. After all these file prepare complete, we write the file to the boot partition See [[Rockchip_Kernel|rockchip kernel]] for boot partition generate. ec391a46db1d3b786c91e6f26187537dc40be1c6 780 779 2017-03-20T03:07:16Z Karen 3 wikitext text/x-wiki Rockchip is working on upstream SoC support to Mainline kernel: &nbsp; = Download Kernel = Get the source code from the upstream mainline&nbsp;repository: <pre>git clone git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git</pre> Alternatively you can use linux-rockchip instead which may with some patches not get in mainline: <pre>git clone git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip.git</pre> = Supported SoCs and Devices = Mainline&nbsp;kernel supports: RV1108, RK3036, RK3066, RK3188, RK3228, RK3288, RK3368, RK3399 *RV1108 boards: <ol style="margin-left: 40px;"> <li>EVB RV1108- use&nbsp;rk1108-evb.dts</li> </ol> *RK3036 boards: <ol style="margin-left: 40px;"> <li>EVB RK3036 - use rk3036-evb.dts</li> <li>Kylin RK3036- use&nbsp;rk3036-kylin.dts</li> </ol> *RK3066 boards: <ol style="margin-left: 40px;"> <li>Marsboard - use&nbsp;rk3066a-marsboard.dts</li> <li>Bqcurie2 - use&nbsp;rk3066a-bqcurie2.dts</li> <li>Rayeager - use rk3066a-rayeager.dts</li> </ol> *RK3188 boards: <ol style="margin-left: 40px;"> <li>Radxa Rock - rk3188-radxarock.dts</li> </ol> *RK3288 boards: <ol style="margin-left: 40px;"> <li>EVB RK3288 - use rk3288-evb-rk808.dts or&nbsp;rk3288-evb-act8846.dts</li> <li>Fennec RK3288 - use rk3288-fennec.dts</li> <li>Firefly RK3288 - use rk3288-firefly.dts</li> <li>Firefly beta RK3288 - use rk3288-firefly-beta.dts</li> <li>Firefly reload RK3288 - use rk3288-firefly-reload.dts</li> <li>Hisense Chromebook - use rk3288-veyron-jerry.dts</li> <li>PopMetal RK3288 - use rk3288-popmetal.dts</li> <li>MiQi RK3288 - use&nbsp;rk3288-miqi.dts</li> <li>Radxa Rock 2 - use rk3288-rock2-square.dts</li> </ol> *RK3368 boards: <ol style="margin-left: 40px;"> <li>Geekbok RK3368 - use&nbsp;rk3368-geekbox.dts</li> <li>Orion r68 - use rk3368-orion-r68-meta.dts</li> </ol> *RK3399 boards: <ol style="margin-left: 40px;"> <li>EVB RK3399 - use rk3399-evb.dts</li> </ol> &nbsp; = Configure and Build = You will need to use multi_v7_defconfig&nbsp;for armv7 SoCs: <pre>make multi_v7_defconfig</pre> configure for aarch64: <pre>make ARCH=arm64 defconfig</pre> The arm64 defconfig on upstream is more for server,&nbsp;we recommend you to use rockchip_linux_defconfig from&nbsp;Rockchip github <pre>make ARCH=arm64 rockchip_linux_defconfig</pre> After configure, build the kernel. For armv7: <pre>make CROSS_COMPILE=arm-linux-gnueabi-</pre> For aarch64: <pre>make CROSS_COMPILE=aarch64-linux-gnu- ARCH=arm64</pre> Then you can get Image/zImage and dtb files. &nbsp; = Install Boot/kernel[[http://10.10.10.12:8444/index.php?title=Rockchip_Kernel&action=edit&section=4 edit]] = We use distro boot in U-Boot, so we need to make a boot partition for U-Boot with kernel image and dtb inside. <pre>mkdir boot cp arch/arm64/boot/dts/rockchip/rockchip/rk3399-evb.dtb boot/rk3399.dtb cp arch/arm64/boot/Image boot/</pre> Add extlinux/extlinux.conf for distro boot. <pre>mkdir boot/extlinux vi boot/extlinux/extlinux.conf</pre> &nbsp; <pre>lable kernel-mainline kernel /Image fdt /rk3399.dtb append earlycon=uart8250,mmio,0xff1a0000 console=ttyS2,1500000n8 root=dev/mmcblk0p7 rootwait rootfstype=ext4 init=/sbin/init</pre> You need to change the base address of debug UART, root partition for your board. Pls reference to&nbsp;[http://10.10.10.12:8444/index.php?title=Partitions rockchip Linux parttion definition]&nbsp;for rootfs partition and where boot to flash. After all these file prepare complete, we write the file to the boot partition See [[Rockchip_Kernel|rockchip kernel]] for boot partition generate. 58d7a863fe7393a3305d444c2e6cfd5beb76b18c 781 780 2017-03-20T03:07:25Z Karen 3 wikitext text/x-wiki Rockchip is working on upstream SoC support to Mainline kernel: &nbsp; = Download Kernel = Get the source code from the upstream mainline&nbsp;repository: <pre>git clone git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git</pre> Alternatively you can use linux-rockchip instead which may with some patches not get in mainline: <pre>git clone git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip.git</pre> = Supported SoCs and Devices = Mainline&nbsp;kernel supports: RV1108, RK3036, RK3066, RK3188, RK3228, RK3288, RK3368, RK3399 *RV1108 boards: <ol style="margin-left: 40px;"> <li>EVB RV1108- use&nbsp;rk1108-evb.dts</li> </ol> *RK3036 boards: <ol style="margin-left: 40px;"> <li>EVB RK3036 - use rk3036-evb.dts</li> <li>Kylin RK3036- use&nbsp;rk3036-kylin.dts</li> </ol> *RK3066 boards: <ol style="margin-left: 40px;"> <li>Marsboard - use&nbsp;rk3066a-marsboard.dts</li> <li>Bqcurie2 - use&nbsp;rk3066a-bqcurie2.dts</li> <li>Rayeager - use rk3066a-rayeager.dts</li> </ol> *RK3188 boards: <ol style="margin-left: 40px;"> <li>Radxa Rock - rk3188-radxarock.dts</li> </ol> *RK3288 boards: <ol style="margin-left: 40px;"> <li>EVB RK3288 - use rk3288-evb-rk808.dts or&nbsp;rk3288-evb-act8846.dts</li> <li>Fennec RK3288 - use rk3288-fennec.dts</li> <li>Firefly RK3288 - use rk3288-firefly.dts</li> <li>Firefly beta RK3288 - use rk3288-firefly-beta.dts</li> <li>Firefly reload RK3288 - use rk3288-firefly-reload.dts</li> <li>Hisense Chromebook - use rk3288-veyron-jerry.dts</li> <li>PopMetal RK3288 - use rk3288-popmetal.dts</li> <li>MiQi RK3288 - use&nbsp;rk3288-miqi.dts</li> <li>Radxa Rock 2 - use rk3288-rock2-square.dts</li> </ol> *RK3368 boards: <ol style="margin-left: 40px;"> <li>Geekbok RK3368 - use&nbsp;rk3368-geekbox.dts</li> <li>Orion r68 - use rk3368-orion-r68-meta.dts</li> </ol> *RK3399 boards: <ol style="margin-left: 40px;"> <li>EVB RK3399 - use rk3399-evb.dts</li> </ol> &nbsp; = Configure and Build = You will need to use multi_v7_defconfig&nbsp;for armv7 SoCs: <pre>make multi_v7_defconfig</pre> configure for aarch64: <pre>make ARCH=arm64 defconfig</pre> The arm64 defconfig on upstream is more for server,&nbsp;we recommend you to use rockchip_linux_defconfig from&nbsp;Rockchip github <pre>make ARCH=arm64 rockchip_linux_defconfig</pre> After configure, build the kernel. For armv7: <pre>make CROSS_COMPILE=arm-linux-gnueabi-</pre> For aarch64: <pre>make CROSS_COMPILE=aarch64-linux-gnu- ARCH=arm64</pre> Then you can get Image/zImage and dtb files. &nbsp; = Install Boot/kernel = We use distro boot in U-Boot, so we need to make a boot partition for U-Boot with kernel image and dtb inside. <pre>mkdir boot cp arch/arm64/boot/dts/rockchip/rockchip/rk3399-evb.dtb boot/rk3399.dtb cp arch/arm64/boot/Image boot/</pre> Add extlinux/extlinux.conf for distro boot. <pre>mkdir boot/extlinux vi boot/extlinux/extlinux.conf</pre> &nbsp; <pre>lable kernel-mainline kernel /Image fdt /rk3399.dtb append earlycon=uart8250,mmio,0xff1a0000 console=ttyS2,1500000n8 root=dev/mmcblk0p7 rootwait rootfstype=ext4 init=/sbin/init</pre> You need to change the base address of debug UART, root partition for your board. Pls reference to&nbsp;[http://10.10.10.12:8444/index.php?title=Partitions rockchip Linux parttion definition]&nbsp;for rootfs partition and where boot to flash. After all these file prepare complete, we write the file to the boot partition See [[Rockchip_Kernel|rockchip kernel]] for boot partition generate. bd8a7cad6d3cb4c7019b324bd2185c7b1943d47f 782 781 2017-03-20T03:10:59Z Karen 3 wikitext text/x-wiki Rockchip is working on upstream SoC support to Mainline kernel: &nbsp; = Download Kernel = Get the source code from the upstream mainline&nbsp;repository: <pre>git clone git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git</pre> Alternatively you can use linux-rockchip instead which may with some patches not get in mainline: <pre>git clone git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip.git</pre> = Supported SoCs and Devices = Mainline&nbsp;kernel supports: RV1108, RK3036, RK3066, RK3188, RK3228, [[RK3288|RK3288]], RK3368, [[RK3399]] *RV1108 boards: <ol style="margin-left: 40px;"> <li>EVB RV1108- use&nbsp;rk1108-evb.dts</li> </ol> *RK3036 boards: <ol style="margin-left: 40px;"> <li>EVB RK3036 - use rk3036-evb.dts</li> <li>Kylin RK3036- use&nbsp;rk3036-kylin.dts</li> </ol> *RK3066 boards: <ol style="margin-left: 40px;"> <li>Marsboard - use&nbsp;rk3066a-marsboard.dts</li> <li>Bqcurie2 - use&nbsp;rk3066a-bqcurie2.dts</li> <li>Rayeager - use rk3066a-rayeager.dts</li> </ol> *RK3188 boards: <ol style="margin-left: 40px;"> <li>Radxa Rock - rk3188-radxarock.dts</li> </ol> *RK3288 boards: <ol style="margin-left: 40px;"> <li>EVB RK3288 - use rk3288-evb-rk808.dts or&nbsp;rk3288-evb-act8846.dts</li> <li>Fennec RK3288 - use rk3288-fennec.dts</li> <li>Firefly RK3288 - use rk3288-firefly.dts</li> <li>Firefly beta RK3288 - use rk3288-firefly-beta.dts</li> <li>Firefly reload RK3288 - use rk3288-firefly-reload.dts</li> <li>Hisense Chromebook - use rk3288-veyron-jerry.dts</li> <li>PopMetal RK3288 - use rk3288-popmetal.dts</li> <li>MiQi RK3288 - use&nbsp;rk3288-miqi.dts</li> <li>Radxa Rock 2 - use rk3288-rock2-square.dts</li> </ol> *RK3368 boards: <ol style="margin-left: 40px;"> <li>Geekbok RK3368 - use&nbsp;rk3368-geekbox.dts</li> <li>Orion r68 - use rk3368-orion-r68-meta.dts</li> </ol> *RK3399 boards: <ol style="margin-left: 40px;"> <li>EVB RK3399 - use rk3399-evb.dts</li> </ol> &nbsp; = Configure and Build = You will need to use multi_v7_defconfig&nbsp;for armv7 SoCs: <pre>make multi_v7_defconfig</pre> configure for aarch64: <pre>make ARCH=arm64 defconfig</pre> The arm64 defconfig on upstream is more for server,&nbsp;we recommend you to use rockchip_linux_defconfig from&nbsp;Rockchip github <pre>make ARCH=arm64 rockchip_linux_defconfig</pre> After configure, build the kernel. For armv7: <pre>make CROSS_COMPILE=arm-linux-gnueabi-</pre> For aarch64: <pre>make CROSS_COMPILE=aarch64-linux-gnu- ARCH=arm64</pre> Then you can get Image/zImage and dtb files. &nbsp; = Install Boot/kernel = We use distro boot in U-Boot, so we need to make a boot partition for U-Boot with kernel image and dtb inside. <pre>mkdir boot cp arch/arm64/boot/dts/rockchip/rockchip/rk3399-evb.dtb boot/rk3399.dtb cp arch/arm64/boot/Image boot/</pre> Add extlinux/extlinux.conf for distro boot. <pre>mkdir boot/extlinux vi boot/extlinux/extlinux.conf</pre> &nbsp; <pre>lable kernel-mainline kernel /Image fdt /rk3399.dtb append earlycon=uart8250,mmio,0xff1a0000 console=ttyS2,1500000n8 root=dev/mmcblk0p7 rootwait rootfstype=ext4 init=/sbin/init</pre> You need to change the base address of debug UART, root partition for your board. Pls reference to&nbsp;[http://10.10.10.12:8444/index.php?title=Partitions rockchip Linux parttion definition]&nbsp;for rootfs partition and where boot to flash. After all these file prepare complete, we write the file to the boot partition See [[Rockchip_Kernel|rockchip kernel]] for boot partition generate. 109362cd939c87bb479733594a2343fab2e94ae1 Graphics 0 108 788 746 2017-03-20T07:35:48Z Kever 2 wikitext text/x-wiki = Graphics Introduce = This article will give an overview of how graphics are generated on a rockchip platform. &nbsp; == Graphics with X11 == Xserver is the display system used on regular desktop Linux platforms. Rockchip have a custom&nbsp;[[Xserver|Xserver]]&nbsp;which have enable&nbsp;[https://www.freedesktop.org/wiki/Software/Glamor/ glamor 2D acceleration]. Xserver usually have a good compatibility, but the performance may be little less and its size is more large than other display system. Gstreamer X11 sink have DRM 4k-Video render support(though hacky). === Structure === X11 structure in Linux OS [[File:Xserver gpu.png|RTENOTITLE]] === DDX(armsoc) === source code: git clone git@github.com:markyzq/xf86-video-armsoc.git<br/> maliline: [git://anongit.freedesktop.org/xorg/driver/xf86-video-armsoc git://anongit.freedesktop.org/xorg/driver/xf86-video-armsoc]<br/> The DDX support: #support common x11 display and Hwcursor #DRI2 (request by EGL X11 client) #umplock(support non-tearing on EGL x11 client) '''''/etc/X11/xorg.conf'':''' Xserver will parse this config to find DDX and configure info <pre>Section "Device" Identifier "Mali-Fbdev" Driver "armsoc" Option "UMP_LOCK" "true" EndSection Section "Screen" Identifier "Default Screen" Device "Mali-Fbdev" DefaultDepth 24 EndSection</pre> === UMPLOCK === source code: wget [http://malideveloper.arm.com/downloads/drivers/DX910/r6p1-01rel0/DX910-SW-99002-r6p1-01rel0.tgz http://malideveloper.arm.com/downloads/drivers/DX910/r6p1-01rel0/DX910-SW-99002-r6p1-01rel0.tgz]<br/> Patch the umplock patch to kernel, then you can find the umplock device node: <pre>/dev/umplock</pre> Don't forget enable DDX umplock option: <pre>Option "UMP_LOCK" "true"</pre> The umplock only use for x11 graphic stack, no need for wayland, because mali&nbsp;<br/> already do the wayland sync on its driver. &nbsp; === DDX(modesetting) === === &nbsp; === === X11 performance test === 2D performace: <pre>x11perf</pre> 3D preformace: <pre>glmark2-es2</pre> X11perf tools can easy get from x11-apps.<br/> glmark2-es2 can get from [https://github.com/glmark2/glmark2 https://github.com/glmark2/glmark2]<br/> The glmark2-es2 source code can also build for x11, drm(gbm) and wayland. == Graphics with Wayland == Weston is the reference implementation of a Wayland compositor, and a<br/> useful compositor in its own right. === Structure === [[File:Wayland.png]] === Weston === The Weston reference implementation of a Wayland compositor. &nbsp; &nbsp; &nbsp;1. run wayland with drm and gpu renderer <pre style="margin-left: 40px;">export XDG_RUNTIME_DIR=/tmp weston --backend=drm-backend.so --idle-time=100 </pre> &nbsp; &nbsp; &nbsp; 2. run wayland with drm and cpu renderer <pre style="margin-left: 40px;">weston --backend=drm-backend.so --idle-time=100 --use-pixman</pre> <blockquote> --idle-time: how many seconds the weston got to sleep, it's usefull to test wayland&nbsp;<br/> suspend and resume.<br/> --use-pixman: it's usefull to compare gpu or non-gpu performance and behavior. </blockquote> === Wayland performance test === 3D preformance: &nbsp;''glmark2-es2-wayland''<br/> glmark2-es2 can get from [https://github.com/glmark2/glmark2 https://github.com/glmark2/glmark2] <br/> OpenVG test: ''vg_api_tests''<br/> build from mali DDK, build with make bin/vg_api_tests &nbsp; == Graphics with None == If you don't want to use X11 or wayland, there are some chooses for you. Interface:<br/> Libdrm and libmali-gbm can be used to draw UI without display systems. Framework:<br/> [[Qt|QT]]&nbsp;can work without x11 or wayland, it run Qt5 applications on top of EGL(libmali-gbm).<br/> WIth qt eglfs, video player can reach 1080-60fps. == MALI GPU driver == === Structure === [[File:Mali gpu.png]] == Mali Build option == Build for X11:<br/> VARIANT=mali450-gles20-eb-linux-sse-vg-x11-dma_buf<br/> Build for Wayland:<br/> VARIANT=mali450-gles20-eb-vg-sse-linux-wayland-drm-dma_buf<br/> X11 stack only use gpu x11 backend,&nbsp;<br/> Wayland use two gpu backend, drm(gbm) and wayland <blockquote> -x11-: x11 backend<br/> -drm-: GBM backend<br/> -wayland: wayland backend<br/> -sse-: similar with neon, Accelerate memcpy on mali, speed up some api like&nbsp;<br/> glTexSubImage2D<br/> -vg-: openVG support, tested with vg_api_tests on wayland backend<br/> -dma_buf-: support dma_buf </blockquote> == LibDRM == === Structure === [[File:DRM.png]] === Source code === mainline source code: git clone [git://anongit.freedesktop.org/mesa/drm git://anongit.freedesktop.org/mesa/drm]<br/> LIBDRM is the cross-driver middleware which allows user-space applications (such&nbsp;<br/> as Mesa and 2D drivers) to communicate with the Kernel by the means of the DRI&nbsp;<br/> protocol. === Mailing list === General developers discussions occur on the dri-devel@lists.freedesktop.org&nbsp;<br/> mailing list.<br/> Subscribe to the list at [http://lists.freedesktop.org/mailman/listinfo/dri-devel http://lists.freedesktop.org/mailman/listinfo/dri-devel].<br/> Archives are found at [http://lists.freedesktop.org/archives/dri-devel/ http://lists.freedesktop.org/archives/dri-devel/]. = Kernel Driver porting = = Others = For details of the full Linux graphics stack, please refer to online documents in&nbsp;[https://www.freedesktop.org/wiki/ Freedesktop],&nbsp;[http://www.arm.com/products/graphics-and-multimedia/mali-gpu ARM],&nbsp;[https://wiki.archlinux.org/index.php/xorg Arch wiki]….. *[http://moi.vonos.net/linux/graphics-stack/ http://moi.vonos.net/linux/graphics-stack/] *[https://en.wikipedia.org/wiki/Wayland_(display_server_protocol https://en.wikipedia.org/wiki/Wayland_(display_server_protocol]) *[https://blogs.igalia.com/itoral/2014/07/29/a-brief-introduction-to-the-linux-graphics-stack/ https://blogs.igalia.com/itoral/2014/07/29/a-brief-introduction-to-the-linux-graphics-stack/] 3a554ea129e039e41420312f9ee34b5da7093451 Xserver 0 114 790 705 2017-03-20T07:39:44Z Kever 2 wikitext text/x-wiki = Download xserver = Download source code from Rockchip github git&nbsp;repository <pre>git clone https://github.com/rockchip-linux/xserver.git</pre> === Branch rockchip-1.8 === This branch is used for Rockchip Debian SDK, you could easily use it in your Debian. The current xserver version match the one in Debian stretch. But it would work fine with Debian Jessie if you enabled the Debian stretch repository and using x driver(likes fbdev) from it. = Performance = === Without glamor === <pre>200000 reps @ 0.0066 msec (151000.0/sec): 1x1 opaque stippled rectangle (8x8 stipple) 40000 reps @ 0.0286 msec ( 34900.0/sec): 10x10 opaque stippled rectangle (8x8 stipple) 720 reps @ 1.5920 msec ( 628.0/sec): 100x100 opaque stippled rectangle (8x8 stipple) 30 reps @ 43.3108 msec ( 23.1/sec): 500x500 opaque stippled rectangle (8x8 stipple) </pre> === With glamor === <pre>20000 reps @ 0.0634 msec ( 15800.0/sec): 1x1 tiled rectangle (4x4 tile) 20000 reps @ 0.0590 msec ( 16900.0/sec): 10x10 tiled rectangle (4x4 tile) 10800 reps @ 0.1326 msec ( 7540.0/sec): 100x100 tiled rectangle (4x4 tile) 600 reps @ 1.8001 msec ( 556.0/sec): 500x500 tiled rectangle (4x4 tile) </pre> <br/> With the linear growth in points, time-consuming didn‘t have linear growth when enable glamor. === Check whether enable GLAMOR === <pre>cat /var/log/Xorg.0.log | grep glamor </pre> If it shows "glamor initialized", it means the acceleration was enabled. === Why failed to enable === *Kernel space gpu driver is not compatible with userspace(libmali) *Conflict with mesa-egl,mesa-gles. Delete them or make sure libmali is in a high-priority. *Improper depends. Try update libepoxy to 1.31. = How to build xserver = == Cross compile in PC host == We suggestion you to use the Debian build system to build our xserver or you would be too hard to solve dependence problem. You may reference to Debian Package Maintainer Manuel for more information. (Update: now we support build xserver with docker, see&nbsp;[https://github.com/rockchip-linux/docker-rockchip here]&nbsp;) #Install all the build dependency for the xserver. #Install the library mali and development files. You must use the version comes from Rockchip. #Entry the xserver directory. #Build with the Debian build tools. == Local build == apt-get build-dep xserver-xorg &nbsp; = How to debug xserver = You should install a debugging package for xserver-core&nbsp;: xserver-xorg-core-dbg_1.18.4-1_armhf.deb. Also, the Mesa/GL libraries might be involved, installing libgl1-mesa-dri-dbg and libgl1-mesa-glx-dbg might help too. <pre>apt-get install gdb libc6-dbg gdb -p $(pidof X) (inside gdb) set logging overwrite on set logging on break xorg_backtrace continue (X server is stopped from when gdb is attached until "continue" is typed) (do whatever caused the problem) bt full set logging off quit </pre> After this, you get the gdb output in file gdb.txt in the directory where you started gdb (this is what the logging commands did, another solution is to copy-paste the output yourself). Add all this to your bug report, developers will appreciate it. If the backtrace is small, you probably miss several debugging packages, see above. More info please see&nbsp;[https://www.x.org/wiki/Development/Documentation/ServerDebugging/ here]. ==== Untrap signals ==== The X server will by default intercept signals and for instance trap its own crashes and dump a stack trace in /var/log/Xorg.0.log. However, this stack trace is modified by the signal handler itself. To disable this signal interception, add this to your /etc/X11/xorg.conf: <pre><code>Section "ServerFlags" Option "NoTrapSignals" "true" EndSection</code> </pre> and restart your X server. 8abf1269568776fddf80f3e815acb9804000bb6a Popmetal 0 29 800 526 2017-03-20T09:28:49Z Karen 3 wikitext text/x-wiki {{Infobox SoC | title = Popmetal | image = [[File:rk3288_soc.png|200px]] | manufacturer = Rockchip | process = 28nm | cpu = Quad-Core ARM Cortex-A17 | ltwo = | extensions = | memory = 2GB DDR3 | gpu = SGX544 | vpu = | apu = | video = HDMI 1.4, MIPI DSI, 2-channel LVDS, 2-channel RGB LCD | audio = I2S, PCM | network = | storage = 16GB eMMC, MicroSD (TF) Card, SATA 2.0 | usb = OTG, 2x Host | other = | Connectivity = 10/100/1000M Ethernet, 802.11a/b/g/n/ac, 2.4GHz/5GHz + Bluetooth 4.0(support BLE) | website = http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html }} &nbsp; | Connectivity | 10/100/1000M Ethernet, 802.11a/b/g/n/ac, 2.4GHz/5GHz + Bluetooth 4.0(support BLE) |- | Interface | 2*USB host, 1*USB OTG, 1*HDMI 2.0, 1*HDMI 1.4, 1*HDMI in, 1*VGA, 1*MIPI, 1*EDP, 2*LVDS, 1*Headphone, 1*line in, 1*Spdif, 1*Mic, 1*I2S, 1*MIPI-CSI, 1*DVP, 1*IR, 2*LED, 1*Serial Port |} &nbsp; = Image = = See also = #[http://10.10.10.12:8444/index.php?title=Firefly-RK3288 Firefly-RK3288] #[http://10.10.10.12:8444/index.php?title=Firefly-RK3288_reload Firefly-RK3288 reload] #[http://10.10.10.12:8444/index.php?title=Rock2_Full Rock2 Full] #[http://10.10.10.12:8444/index.php?title=MiQi MiQi] #[http://10.10.10.12:8444/index.php?title=Fennec Fennec] #[http://10.10.10.12:8444/index.php?title=PhyCORE-RK3288 phyCORE-RK3288] &nbsp; = References = 1.[http://10.10.10.12:8444/images/f/f4/PopMetal_EVB.rar PopMetal_EVB] 645d4f5255431cff411250af0cd6d1270b22161c 801 800 2017-03-20T09:30:54Z Karen 3 wikitext text/x-wiki {{Infobox SoC | title = Popmetal | image = [[File:rk3288_soc.png|200px]] | manufacturer = Rockchip | process = 28nm | cpu = Quad-Core ARM Cortex-A17 | ltwo = | extensions = | memory = 2GB DDR3 | gpu = SGX544 | vpu = | apu = | video = HDMI 1.4, MIPI DSI, 2-channel LVDS, 2-channel RGB LCD | audio = I2S, PCM | network = | storage = 16GB eMMC, MicroSD (TF) Card, SATA 2.0 | usb = OTG, 2x Host | other = | Connectivity = 10/100/1000M Ethernet, 802.11a/b/g/n/ac, 2.4GHz/5GHz + Bluetooth 4.0(support BLE) | website = http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html }} &nbsp; | Connectivity | 10/100/1000M Ethernet, 802.11a/b/g/n/ac, 2.4GHz/5GHz + Bluetooth 4.0(support BLE) |- | Interface | 2*USB host, 1*USB OTG, 1*HDMI 2.0, 1*HDMI 1.4, 1*HDMI in, 1*VGA, 1*MIPI, 1*EDP, 2*LVDS, 1*Headphone, 1*line in, 1*Spdif, 1*Mic, 1*I2S, 1*MIPI-CSI, 1*DVP, 1*IR, 2*LED, 1*Serial Port |} &nbsp; = Image = = See also = #[http://10.10.10.12:8444/index.php?title=Firefly-RK3288 Firefly-RK3288] #[http://10.10.10.12:8444/index.php?title=Firefly-RK3288_reload Firefly-RK3288 reload] #[http://10.10.10.12:8444/index.php?title=Rock2_Full Rock2 Full] #[http://10.10.10.12:8444/index.php?title=MiQi MiQi] #[http://10.10.10.12:8444/index.php?title=Fennec Fennec] #[http://10.10.10.12:8444/index.php?title=PhyCORE-RK3288 phyCORE-RK3288] &nbsp; = References = 1.[http://10.10.10.12:8444/images/f/f4/PopMetal_EVB.rar PopMetal_EVB] 27ea2f5109be06059388a83206de5c94975bdc75 802 801 2017-03-20T09:32:44Z Karen 3 wikitext text/x-wiki {{Infobox SoC | title = Popmetal | image = [[File:rk3288_soc.png|200px]] | manufacturer = Rockchip | process = 28nm | cpu = Quad-Core ARM Cortex-A17 | ltwo = | extensions = | memory = 2GB DDR3 | gpu = SGX544 | vpu = | apu = | video = HDMI 1.4, HDMI 2.0,MIPI DSI, 2-channel LVDS, 2-channel RGB LCD | audio = I2S, PCM | network = | storage = 16GB eMMC, MicroSD (TF) Card, SATA 2.0 | usb = OTG, 2x Host | other = | Connectivity = 10/100/1000M Ethernet, 802.11a/b/g/n/ac, 2.4GHz/5GHz + Bluetooth 4.0(support BLE) | website = http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html }} &nbsp; &nbsp; = Image = = See also = #[http://10.10.10.12:8444/index.php?title=Firefly-RK3288 Firefly-RK3288] #[http://10.10.10.12:8444/index.php?title=Firefly-RK3288_reload Firefly-RK3288 reload] #[http://10.10.10.12:8444/index.php?title=Rock2_Full Rock2 Full] #[http://10.10.10.12:8444/index.php?title=MiQi MiQi] #[http://10.10.10.12:8444/index.php?title=Fennec Fennec] #[http://10.10.10.12:8444/index.php?title=PhyCORE-RK3288 phyCORE-RK3288] &nbsp; = References = 1.[http://10.10.10.12:8444/images/f/f4/PopMetal_EVB.rar PopMetal_EVB] 415c1e16852b7e91b3674f2c99e7b86961a90b88 875 802 2017-03-22T01:52:54Z Karen 3 wikitext text/x-wiki {{Infobox SoC | title = Popmetal | image = [[File:rk3288_soc.png|200px]] | manufacturer = Rockchip | process = 28nm | cpu = Quad-Core ARM Cortex-A17 | ltwo = | extensions = | memory = 2GB DDR3 | gpu = SGX544 | vpu = | apu = | video = HDMI 1.4, HDMI 2.0,MIPI DSI, 2-channel LVDS, 2-channel RGB LCD | audio = I2S, PCM | network = | storage = 16GB eMMC, MicroSD (TF) Card, SATA 2.0 | usb = OTG, 2x Host | other = | Connectivity = 10/100/1000M Ethernet, 802.11a/b/g/n/ac, 2.4GHz/5GHz + Bluetooth 4.0(support BLE) | website = http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html }} &nbsp; &nbsp; = Image = = See also = #[http://10.10.10.12:8444/index.php?title=Firefly-RK3288 Firefly-RK3288] #[http://10.10.10.12:8444/index.php?title=Firefly-RK3288_reload Firefly-RK3288 reload] #[http://opensource.rock-chips.com/wiki_Rock2_Square Rock2_Square] #[http://10.10.10.12:8444/index.php?title=MiQi MiQi] #[http://10.10.10.12:8444/index.php?title=Fennec Fennec] #[http://10.10.10.12:8444/index.php?title=PhyCORE-RK3288 phyCORE-RK3288] &nbsp; = References = 1.[http://10.10.10.12:8444/images/f/f4/PopMetal_EVB.rar PopMetal_EVB] ff4cf0377a9d2658603313b2336ee2dccf1ed9f1 877 875 2017-03-22T01:55:06Z Karen 3 wikitext text/x-wiki {{Infobox SoC | title = Popmetal | image = [[File:rk3288_soc.png|200px]] | manufacturer = Rockchip | process = 28nm | cpu = Quad-Core ARM Cortex-A17 | ltwo = | extensions = | memory = 2GB DDR3 | gpu = SGX544 | vpu = | apu = | video = HDMI 1.4, HDMI 2.0,MIPI DSI, 2-channel LVDS, 2-channel RGB LCD | audio = I2S, PCM | network = | storage = 16GB eMMC, MicroSD (TF) Card, SATA 2.0 | usb = OTG, 2x Host | other = | Connectivity = 10/100/1000M Ethernet, 802.11a/b/g/n/ac, 2.4GHz/5GHz + Bluetooth 4.0(support BLE) | website = http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html }} &nbsp; &nbsp; = Image = = See also = #[http://10.10.10.12:8444/index.php?title=Firefly-RK3288 Firefly-RK3288] #[[Firefly-RK3288_reload|Firefly-RK3288_reload]] #[[Rock2_Square|Rock2_Square]] #[[Rock2_Full|Rock2_Full]] #[[MiQi|MiQi]] #[[Fennec|Fennec]] #[[PhyCORE-RK3288|phyCORE-RK328]][[PhyCORE-RK3288|8]] = References = 1.[http://10.10.10.12:8444/images/f/f4/PopMetal_EVB.rar PopMetal_EVB] aed0875cd3b6061395b132461a15fba6949d337c ATF 0 54 803 708 2017-03-20T12:46:24Z Kever 2 wikitext text/x-wiki = Download ARM Trusted Firmware = Get the source code from github: <pre>git clone https://github.com/ARM-software/arm-trusted-firmware.git</pre> = Supported Devices[[http://10.10.10.12:8444/index.php?title=U-Boot&action=edit&section=4 edit]] = Upstream ARM Trusted Firmware support Rockchip SoCs: [http://10.10.10.12:8444/index.php?title=RK3399 RK3399] = Build ATF = Here is a ''mk-atf.sh'' script to build ATF. <pre>$ cat mk-atf.sh #!/bin/bash make realclean CFLAGS='-gdwarf-2' \ CROSS_COMPILE=aarch64-linux-gnu- \ make PLAT=rk3399 DEBUG=1 ERROR_DEPRECATED=1 bl31</pre> Because there is a blob of code for cortex-M0 in rk3399 ATF, so you need a compiler for it. Install it by: <pre>sudo apt-get install gcc-arm-none-eabi</pre> We can get bl31.bin when&nbsp;build complete. &nbsp; = Install ATF = == Using U-Boot&nbsp;SPL FIT image == Upstream U-Boot SPL support for ATF still WIP. == Using Rockchip miniloader == Alternatively, you can use Rockchip miniloader and U-Boot instead which do not need SPL. The ATF is load by miniloader, so it should be package to know format for minloader <pre>trust_merger rk_tools/RKTRUST/RK3399TRUST.ini atf.img</pre> According to the&nbsp;[http://10.10.10.12:8444/index.php?title=Partitions partitions]&nbsp;definition, write to atf.img offset 0x6000. a5269add04f912f11cc9f63a916c54ba42d6b0bb Rockusb 0 122 804 2017-03-20T13:03:30Z Kever 2 Created page with " = Introduce = Rockusb is a vendor specific USB class from Rockchip, which is for firmware dowmload for Rockchip SoCs. = Get into Rockusb = There are two cases for&nbsp;Roc..." wikitext text/x-wiki = Introduce = Rockusb is a vendor specific USB class from Rockchip, which is for firmware dowmload for Rockchip SoCs. = Get into Rockusb = There are two cases for&nbsp;Rockchip SoCs to get into Rockusb. == Bootrom/Maskrom device mode == When there is no any firmware on board, the SoC will run&nbsp;Rockusb driver automaticlly, we call it Bootrom mode or Maskrom device mode. If firmware is at somewhere of the board,&nbsp;in order to get into this mode, we can do something to prevent cpu read the firmware successful: - for sd-card, unplug the sd-card; - for eMMC, short the eMMC clock to GND; - for NAND, short the data line or clock line; - for SPI, short the spi signal to GND; == Bootloader mode == If you are using miniloader, which with Rockusb driver inside, system will run rockusb driver when ''recovery'' key is pressed. = USB ID = &nbsp; = Firmware download = [[Rkdevelptool|rkdeveloptool]] is the tool to do the firmware upgrade for Rockchip SoCs which is using Rockusb protocol via USB. Please follow the steps for boot from eMMC for how to use the tool. 2f626c2f3ec3af4e012c6fe7416e8763825dff32 Main Page 0 16 818 770 2017-03-21T03:31:12Z Admin 1 wikitext text/x-wiki = '''Source code''' = Rockchip provide open source software on Github including fully support for Linux Based OS: *Github: [https://github.com/rockchip-linux rockchip-linux] You can also find software for Rockchip SoCs from Upstream: *[https://www.kernel.org/ Linux kernel] *[http://www.denx.de/wiki/U-Boot/WebHome U-Boot] *[https://github.com/ARM-software/arm-trusted-firmware ARM Truseted Firmware] If you are using a Chrombook with Rockchip SoC, you can use: *[https://chromium.googlesource.com/chromiumos/third_party/coreboot Chromium OS&nbsp;Coreboot] *[https://chromium.googlesource.com/chromiumos/third_party/kernel Chromium OS kernel] &nbsp; = '''Hardware Document''' = Here are the documents for SoCs, you can find&nbsp;Hardware device/board information on [[Devices|DEVICE PAGE]]. {| border="1" cellpadding="0" cellspacing="0" class="table_style" |- ! style="width:92px;" | <p style="text-align: center;">SoC</p> ! style="width:286px;" | <p style="text-align: center;">Description</p> ! style="width:189px;" | <p style="text-align: center;">Download</p> |- | style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p> | style="width:286px;" | Quad-core Cortex-A17 CPU, MALI-T764 GPU | style="width:189px;" | [[Media:Rockchip_RK3288TRM_V1.2_Part1-20170227.pdf|TRM]], [[Media:Rockchip_RK3288_Datasheet_V2.2-20170301.pdf|Datasheet]],&nbsp; Schematic&Layout Guide |- | style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p> | style="width:286px;" | Quad-core Cortex-A53 CPU,MALI-450MP2 GPU | style="width:189px;" | TRM, [[Media:Rockchip_RK3328_Datasheet_V1.1-20170309.pdf|Datasheet]],&nbsp; [[Media:Rk3328_box_ref_v10_20170224.pdf|Schematic&Layout Guide]] |- | style="width:92px;" | <p style="text-align: center;">[[RK3399|RK3399]]</p> | style="width:286px;" | Dual-core Cortex-A72, Quad-core Cortex-A53 CPU, MALI-T864 GPU | style="width:189px;" | TRM, [[Media:Rockchip_RK3399_Datasheet_V1.6-20170301.pdf|Datasheet]],&nbsp; Schematic&Layout Guide |} &nbsp; &nbsp; = '''Software development&nbsp;''' = *'''Porting guide for Linux based OS/Distribution''' **[[Linux_user_guide|Linux_user_guide]] **[[Debian|Debian]] **[[Yocto|Yocto]] **[[Buildroot|Buildroot]] **[[Distribution|Other distribution]] *'''BSP module user guide''' **[[U-Boot|U-Boot]]&nbsp; **[[Rockchip_Kernel|Rockchip Kernel]] **[[Upstream_Kernel|Upstream Kernel]] **[[Atf|ARM Trusted&nbsp;Firmware]] *'''Graphics and Multimedia&nbsp;user guide''' **[[Graphics|Graphics and display]] **[[Multimedia|Multimedia]] *'''Tool and Firmware Upgrade''' **[[Rockusb|Rockusb]] **[[Rkdevelptool|Rkdevelptool]] **[[Boot_option|Boot_option]] '''<span style="font-size:xx-large;">Feedback</span>''' Any question about software module on github, please ask&nbsp;at issue page of github project. If you have any other questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website, Email-to: opensource@rock-chips.com 3f84ef99c7b3345af23f5f3414297478be17f18d 842 818 2017-03-21T06:14:28Z Kever 2 wikitext text/x-wiki = '''Source code''' = Rockchip provide open source software on Github including fully support for Linux Based OS: *Github: [https://github.com/rockchip-linux rockchip-linux] You can also find software for Rockchip SoCs from Upstream: *[https://www.kernel.org/ Linux kernel] *[http://www.denx.de/wiki/U-Boot/WebHome U-Boot] *[https://github.com/ARM-software/arm-trusted-firmware ARM Truseted Firmware] If you are using a Chrombook with Rockchip SoC, you can use: *[https://chromium.googlesource.com/chromiumos/third_party/coreboot Chromium OS&nbsp;Coreboot] *[https://chromium.googlesource.com/chromiumos/third_party/kernel Chromium OS kernel] &nbsp; = '''Hardware Document''' = Here are the documents for SoCs, you can find&nbsp;Hardware device/board information on [[Devices|DEVICE PAGE]]. {| border="1" cellpadding="0" cellspacing="0" class="table_style" |- ! style="width:92px;" | <p style="text-align: center;">SoC</p> ! style="width:286px;" | <p style="text-align: center;">Description</p> ! style="width:189px;" | <p style="text-align: center;">Download</p> |- | style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p> | style="width:286px;" | Quad-core Cortex-A17 CPU, MALI-T764 GPU | style="width:189px;" | [[Media:Rockchip_RK3288TRM_V1.2_Part1-20170227.pdf|TRM]], [[Media:Rockchip_RK3288_Datasheet_V2.2-20170301.pdf|Datasheet]],&nbsp; [[Media:Rk3288_hardware_reference.zip|Schematic&Layout Guide]] |- | style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p> | style="width:286px;" | Quad-core Cortex-A53 CPU,MALI-450MP2 GPU | style="width:189px;" | TRM, [[Media:Rockchip_RK3328_Datasheet_V1.1-20170309.pdf|Datasheet]],&nbsp; [[Media:Rk3328_hardware_reference.zip|Schematic&Layout Guide]] |- | style="width:92px;" | <p style="text-align: center;">[[RK3399|RK3399]]</p> | style="width:286px;" | Dual-core Cortex-A72, Quad-core Cortex-A53 CPU, MALI-T864 GPU | style="width:189px;" | TRM, [[Media:Rockchip_RK3399_Datasheet_V1.6-20170301.pdf|Datasheet]],&nbsp; [[Rk3399_hardware_reference.zip|Schematic&Layout Guide]] |} &nbsp; &nbsp; = '''Software development&nbsp;''' = *'''Porting guide for Linux based OS/Distribution''' **[[Linux_user_guide|Linux_user_guide]] **[[Debian|Debian]] **[[Yocto|Yocto]] **[[Buildroot|Buildroot]] **[[Distribution|Other distribution]] *'''BSP module user guide''' **[[U-Boot|U-Boot]]&nbsp; **[[Rockchip_Kernel|Rockchip Kernel]] **[[Upstream_Kernel|Upstream Kernel]] **[[Atf|ARM Trusted&nbsp;Firmware]] *'''Graphics and Multimedia&nbsp;user guide''' **[[Graphics|Graphics and display]] **[[Multimedia|Multimedia]] *'''Tool and Firmware Upgrade''' **[[Rockusb|Rockusb]] **[[Rkdevelptool|Rkdevelptool]] **[[Boot_option|Boot_option]] '''<span style="font-size:xx-large;">Feedback</span>''' Any question about software module on github, please ask&nbsp;at issue page of github project. If you have any other questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website, Email-to: opensource@rock-chips.com 7341a14a5f555d9e6de5bda0b1375a6fc4a991dc 843 842 2017-03-21T06:14:41Z Kever 2 wikitext text/x-wiki = '''Source code''' = Rockchip provide open source software on Github including fully support for Linux Based OS: *Github: [https://github.com/rockchip-linux rockchip-linux] You can also find software for Rockchip SoCs from Upstream: *[https://www.kernel.org/ Linux kernel] *[http://www.denx.de/wiki/U-Boot/WebHome U-Boot] *[https://github.com/ARM-software/arm-trusted-firmware ARM Truseted Firmware] If you are using a Chrombook with Rockchip SoC, you can use: *[https://chromium.googlesource.com/chromiumos/third_party/coreboot Chromium OS&nbsp;Coreboot] *[https://chromium.googlesource.com/chromiumos/third_party/kernel Chromium OS kernel] &nbsp; = '''Hardware Document''' = Here are the documents for SoCs, you can find&nbsp;Hardware device/board information on [[Devices|DEVICE PAGE]]. {| border="1" cellpadding="0" cellspacing="0" class="table_style" |- ! style="width:92px;" | <p style="text-align: center;">SoC</p> ! style="width:286px;" | <p style="text-align: center;">Description</p> ! style="width:189px;" | <p style="text-align: center;">Download</p> |- | style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p> | style="width:286px;" | Quad-core Cortex-A17 CPU, MALI-T764 GPU | style="width:189px;" | [[Media:Rockchip_RK3288TRM_V1.2_Part1-20170227.pdf|TRM]], [[Media:Rockchip_RK3288_Datasheet_V2.2-20170301.pdf|Datasheet]],&nbsp; [[Media:Rk3288_hardware_reference.zip|Schematic&Layout Guide]] |- | style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p> | style="width:286px;" | Quad-core Cortex-A53 CPU,MALI-450MP2 GPU | style="width:189px;" | TRM, [[Media:Rockchip_RK3328_Datasheet_V1.1-20170309.pdf|Datasheet]],&nbsp; [[Media:Rk3328_hardware_reference.zip|Schematic&Layout Guide]] |- | style="width:92px;" | <p style="text-align: center;">[[RK3399|RK3399]]</p> | style="width:286px;" | Dual-core Cortex-A72, Quad-core Cortex-A53 CPU, MALI-T864 GPU | style="width:189px;" | TRM, [[Media:Rockchip_RK3399_Datasheet_V1.6-20170301.pdf|Datasheet]],&nbsp; [[Media:Rk3399_hardware_reference.zip|Schematic&Layout Guide]] |} &nbsp; &nbsp; = '''Software development&nbsp;''' = *'''Porting guide for Linux based OS/Distribution''' **[[Linux_user_guide|Linux_user_guide]] **[[Debian|Debian]] **[[Yocto|Yocto]] **[[Buildroot|Buildroot]] **[[Distribution|Other distribution]] *'''BSP module user guide''' **[[U-Boot|U-Boot]]&nbsp; **[[Rockchip_Kernel|Rockchip Kernel]] **[[Upstream_Kernel|Upstream Kernel]] **[[Atf|ARM Trusted&nbsp;Firmware]] *'''Graphics and Multimedia&nbsp;user guide''' **[[Graphics|Graphics and display]] **[[Multimedia|Multimedia]] *'''Tool and Firmware Upgrade''' **[[Rockusb|Rockusb]] **[[Rkdevelptool|Rkdevelptool]] **[[Boot_option|Boot_option]] '''<span style="font-size:xx-large;">Feedback</span>''' Any question about software module on github, please ask&nbsp;at issue page of github project. If you have any other questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website, Email-to: opensource@rock-chips.com 42d026f072491e09c703e24127e99bba40ee3cc0 850 843 2017-03-21T07:09:38Z Admin 1 wikitext text/x-wiki = '''Source code''' = Rockchip provide open source software on Github including fully support for Linux Based OS: *Github: [https://github.com/rockchip-linux rockchip-linux] You can also find software for Rockchip SoCs from Upstream: *[https://www.kernel.org/ Linux kernel] *[http://www.denx.de/wiki/U-Boot/WebHome U-Boot] *[https://github.com/ARM-software/arm-trusted-firmware ARM Truseted Firmware] If you are using a Chrombook with Rockchip SoC, you can use: *[https://chromium.googlesource.com/chromiumos/third_party/coreboot Chromium OS&nbsp;Coreboot] *[https://chromium.googlesource.com/chromiumos/third_party/kernel Chromium OS kernel] &nbsp; &nbsp; = '''Hardware Document''' = Here are the documents for SoCs, you can find&nbsp;Hardware device/board information on [[Devices|DEVICE PAGE]]. {| border="1" cellpadding="0" cellspacing="0" class="table_style" |- ! style="width:92px;" | <p style="text-align: center;">SoC</p> ! style="width:286px;" | <p style="text-align: center;">Description</p> ! style="width:189px;" | <p style="text-align: center;">Download</p> |- | style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p> | style="width:286px;" | Quad-core Cortex-A17 CPU, MALI-T764 GPU | style="width:189px;" | [[Media:Rockchip_RK3288TRM_V1.2_Part1-20170227.pdf|TRM]], [[Media:Rockchip_RK3288_Datasheet_V2.2-20170301.pdf|Datasheet]],&nbsp; [[Media:Rk3288_hardware_reference.zip|Schematic&Layout Guide]] |- | style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p> | style="width:286px;" | Quad-core Cortex-A53 CPU,MALI-450MP2 GPU | style="width:189px;" | TRM, [[Media:Rockchip_RK3328_Datasheet_V1.1-20170309.pdf|Datasheet]],&nbsp; [[Media:Rk3328_hardware_reference.zip|Schematic&Layout Guide]] |- | style="width:92px;" | <p style="text-align: center;">[[RK3399|RK3399]]</p> | style="width:286px;" | Dual-core Cortex-A72, Quad-core Cortex-A53 CPU, MALI-T864 GPU | style="width:189px;" | TRM, [[Media:Rockchip_RK3399_Datasheet_V1.6-20170301.pdf|Datasheet]],&nbsp; [[Media:Rk3399_hardware_reference.zip|Schematic&Layout Guide]] |} &nbsp; &nbsp; = '''Software development&nbsp;''' = *'''Porting guide for Linux based OS/Distribution''' **[[Linux_user_guide|Linux_user_guide]] **[[Debian|Debian]] **[[Yocto|Yocto]] **[[Buildroot|Buildroot]] **[[Distribution|Other distribution]] *'''BSP module user guide''' **[[U-Boot|U-Boot]]&nbsp; **[[Rockchip_Kernel|Rockchip Kernel]] **[[Upstream_Kernel|Upstream Kernel]] **[[Atf|ARM Trusted&nbsp;Firmware]] *'''Graphics and Multimedia&nbsp;user guide''' **[[Graphics|Graphics and display]] **[[Multimedia|Multimedia]] *'''Tool and Firmware Upgrade''' **[[Rockusb|Rockusb]] **[[Rkdevelptool|Rkdevelptool]] **[[Boot_option|Boot_option]] '''<span style="font-size:xx-large;">Feedback</span>''' Any question about software module on github, please ask&nbsp;at issue page of github project. If you have any other questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website, Email-to: opensource@rock-chips.com d99afcd4daab7ded8cd3eaad7f2ef5c919647de7 Partitions 0 50 820 357 2017-03-21T03:32:09Z Admin 1 wikitext text/x-wiki = Introduction = Rockchip use&nbsp;[https://en.wikipedia.org/wiki/GUID_Partition_Table GPT]&nbsp;as its main partition table in open source support. We store GPT at LBA0 ~ LBA63. = GPT partition table in U-boot = U-boot supports standard&nbsp;[https://github.com/rockchip-linux/u-boot/blob/android/doc/README.gpt GPT partition table format]. = Default partition map = {| class="table_style" border="1" |- ! Partition ! colspan="2" | Start Sector ! colspan="2" | Number of Sectors ! colspan="2" | Partition Size ! Mount Point ! Requirements |- | MBR | 0 | 00000000 | 1 | 00000001 | 512 | 0.5KB | &nbsp; | &nbsp; |- | Primary GPT | 1 | 00000001 | 63 | 0000003F | 32256 | 31.5KB | &nbsp; | &nbsp; |- | loader1 | 64 | 00000040 | 8000 | 00001F40 | 4096000 | 3.91MB | &nbsp; | miniloader or uboot |- | reserved1 | 8064 | 00001F80 | 128 | 00000080 | 65536 | 64KB | &nbsp; | &nbsp; |- | reserved2 | 8192 | 00002000 | 8192 | 00002000 | 4194304 | 4MB | &nbsp; | parameter or vendor data |- | loader2 | 16384 | 00004000 | 8192 | 00002000 | 4194304 | 4MB | &nbsp; | uboot when using miniloader |- | atf | 24576 | 00006000 | 8192 | 00002000 | 4194304 | 4MB | &nbsp; | arm trusted firmware, trusted-os |- | boot(bootable must be set) | 32768 | 00008000 | 229376 | 00038000 | 117440512 | 112MB | &nbsp; | kernela, kernelb, dts, extlinux.conf, ramdisk |- | rootfs | 262144 | 00040000 | - | - | - | -MB | &nbsp; | Linux system |- | Secondary GPT | 16777183 | 00FFFFDF | 33 | 00000021 | 16896 | 16.5KB | &nbsp; | &nbsp; |} &nbsp; = How to modify GPT partition table through U-boot = In u-boot console, the "gpt" command can be used to write the gpt partition table: <pre>gpt - GUID Partition Table Usage: gpt <command> <interface> <dev> <partitions_list> - GUID partition table restoration and validity check Restore or verify GPT information on a device connected to interface Example usage: gpt write mmc 0 $partitions gpt verify mmc 0 $partitions</code> </pre> for exsample: <pre><code>=> env set partitions name=rootfs,size=-,type=system => gpt write mmc 0 $partitions Writing GPT: success! </pre> <br/> NOTE: the partitions env can be set in the u-boot console(using "env set" command), or in u-boot's source code,<br/> for exsample: <pre>include/configs/kylin_rk3036.h #define PARTS_DEFAULT \ "uuid_disk=${uuid_gpt_disk};" \ ... #undef CONFIG_EXTRA_ENV_SETTINGS #define CONFIG_EXTRA_ENV_SETTINGS \ "partitions=" PARTS_DEFAULT \ </pre> &nbsp; = How to modify GPT partition table through U-boot's fastboot = The current upstream u-boot contains fastboot protocol support. And this version of fastboot supports 2 ways to modify gpt partition table: == fastboot oem format == It's the same as "gpt write mmc 0 $partitions" in u-boot console: <pre>#ifdef CONFIG_FASTBOOT_FLASH_MMC_DEV if (strncmp("format", cmd + 4, 6) == 0) { char cmdbuf[32]; sprintf(cmdbuf, "gpt write mmc&nbsp;%x $partitions", CONFIG_FASTBOOT_FLASH_MMC_DEV); if (run_command(cmdbuf, 0)) fastboot_tx_write_str("FAIL"); else fastboot_tx_write_str("OKAY"); } else #endif </pre> PC command: <pre>$ fastboot oem format -i 0x2207 ... OKAY [ 0.015s] finished. total time: 0.015s</code> </pre> == fastboot flash gpt <gpt partition image> == <pre> if (strcmp(cmd, CONFIG_FASTBOOT_GPT_NAME) == 0) { printf("%s: updating MBR, Primary and Backup GPT(s)\n", __func__); if (is_valid_gpt_buf(dev_desc, download_buffer)) { printf("%s: invalid GPT - refusing to write to flash\n", __func__); fastboot_fail(response_str, "invalid GPT partition"); return; } if (write_mbr_and_gpt_partitions(dev_desc, download_buffer)) { printf("%s: writing GPT partitions failed\n", __func__); fastboot_fail(response_str, "writing GPT partitions failed"); return; } printf("........ success\n"); fastboot_okay(response_str, ""); return; </pre> The gpt partition image can be generated by PC's gdisk tool,<br/> for exsample: <pre>$ dd if=/dev/zero of=disk.img bs=1M count=256 256+0 records in 256+0 records out 268435456 bytes (268 MB) copied, 0.151867 s, 1.8 GB/s $ gdisk disk.img GPT fdisk (gdisk) version 0.8.1 Partition table scan: MBR: not present BSD: not present APM: not present GPT: not present Creating new GPT entries. Command (? for help): n Partition number (1-128, default 1): First sector (34-524254, default = 34) or {+-}size{KMGTP}: Information: Moved requested sector from 34 to 2048 in order to align on 2048-sector boundaries. Use 'l' on the experts' menu to adjust alignment Last sector (2048-524254, default = 524254) or {+-}size{KMGTP}: Current type is 'Linux filesystem' Hex code or GUID (L to show codes, Enter = 8300): Changed type of partition to 'Linux filesystem' Command (? for help): w Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING PARTITIONS!! Do you want to proceed? (Y/N): y OK; writing new GUID partition table (GPT). Warning: The kernel is still using the old partition table. The new table will be used at the next reboot. The operation has completed successfully. $ dd if=disk.img of=gpt.img count=64 64+0 records in 64+0 records out 32768 bytes (33 kB) copied, 0.00075438 s, 43.4 MB/s </pre> PC command: <pre>$ fastboot flash gpt gpt.img target reported max download size of 117440512 bytes sending 'gpt' (32 KB)... OKAY [ 0.006s] writing 'gpt'... OKAY [ 0.025s] finished. total time: 0.030s</pre> 10f082346f8b3c73d7e2ef35d5e3995be7388636 846 820 2017-03-21T06:21:59Z Kever 2 wikitext text/x-wiki = Introduction = Rockchip use&nbsp;[https://en.wikipedia.org/wiki/GUID_Partition_Table GPT]&nbsp;as its main partition table in open source support. We store GPT at LBA0 ~ LBA63. = GPT partition table in U-boot = U-boot supports standard&nbsp;[https://github.com/rockchip-linux/u-boot/blob/android/doc/README.gpt GPT partition table format]. = Default partition map = {| class="table_style" border="1" |- ! Partition ! colspan="2" | Start Sector ! colspan="2" | Number of Sectors ! colspan="2" | Partition Size ! Mount Point ! Requirements |- | MBR | 0 | 00000000 | 1 | 00000001 | 512 | 0.5KB | &nbsp; | &nbsp; |- | Primary GPT | 1 | 00000001 | 63 | 0000003F | 32256 | 31.5KB | &nbsp; | &nbsp; |- | loader1 | 64 | 00000040 | 8000 | 00001F40 | 4096000 | 3.91MB | &nbsp; | miniloader or uboot |- | reserved1 | 8064 | 00001F80 | 128 | 00000080 | 65536 | 64KB | &nbsp; | &nbsp; |- | reserved2 | 8192 | 00002000 | 8192 | 00002000 | 4194304 | 4MB | &nbsp; | parameter or vendor data |- | loader2 | 16384 | 00004000 | 8192 | 00002000 | 4194304 | 4MB | &nbsp; | uboot when using miniloader |- | atf | 24576 | 00006000 | 8192 | 00002000 | 4194304 | 4MB | &nbsp; | arm trusted firmware, trusted-os |- | boot(bootable must be set) | 32768 | 00008000 | 229376 | 00038000 | 117440512 | 112MB | &nbsp; | kernela, kernelb, dts, extlinux.conf, ramdisk |- | rootfs | 262144 | 00040000 | - | - | - | -MB | &nbsp; | Linux system |- | Secondary GPT | 16777183 | 00FFFFDF | 33 | 00000021 | 16896 | 16.5KB | &nbsp; | &nbsp; |} &nbsp; = How to modify GPT partition table through U-boot = In u-boot console, the "gpt" command can be used to write the gpt partition table: <pre>gpt - GUID Partition Table Usage: gpt <command> <interface> <dev> <partitions_list> - GUID partition table restoration and validity check Restore or verify GPT information on a device connected to interface Example usage: gpt write mmc 0 $partitions gpt verify mmc 0 $partitions</code> </pre> for exsample: <pre><code>=> env set partitions name=rootfs,size=-,type=system => gpt write mmc 0 $partitions Writing GPT: success! </pre> <br/> NOTE: the partitions env can be set in the u-boot console(using "env set" command), or in u-boot's source code,<br/> for exsample: <pre>include/configs/kylin_rk3036.h #define PARTS_DEFAULT \ "uuid_disk=${uuid_gpt_disk};" \ ... #undef CONFIG_EXTRA_ENV_SETTINGS #define CONFIG_EXTRA_ENV_SETTINGS \ "partitions=" PARTS_DEFAULT \ </pre> &nbsp; = How to modify GPT partition table through U-boot's fastboot = The current upstream u-boot contains fastboot protocol support. And this version of fastboot supports 2 ways to modify gpt partition table: == fastboot oem format == It's the same as "gpt write mmc 0 $partitions" in u-boot console: <pre>#ifdef CONFIG_FASTBOOT_FLASH_MMC_DEV if (strncmp("format", cmd + 4, 6) == 0) { char cmdbuf[32]; sprintf(cmdbuf, "gpt write mmc&nbsp;%x $partitions", CONFIG_FASTBOOT_FLASH_MMC_DEV); if (run_command(cmdbuf, 0)) fastboot_tx_write_str("FAIL"); else fastboot_tx_write_str("OKAY"); } else #endif </pre> PC command: <pre>$ fastboot oem format -i 0x2207 ... OKAY [ 0.015s] finished. total time: 0.015s </pre> == fastboot flash gpt <gpt partition image> == <pre> if (strcmp(cmd, CONFIG_FASTBOOT_GPT_NAME) == 0) { printf("%s: updating MBR, Primary and Backup GPT(s)\n", __func__); if (is_valid_gpt_buf(dev_desc, download_buffer)) { printf("%s: invalid GPT - refusing to write to flash\n", __func__); fastboot_fail(response_str, "invalid GPT partition"); return; } if (write_mbr_and_gpt_partitions(dev_desc, download_buffer)) { printf("%s: writing GPT partitions failed\n", __func__); fastboot_fail(response_str, "writing GPT partitions failed"); return; } printf("........ success\n"); fastboot_okay(response_str, ""); return; </pre> The gpt partition image can be generated by PC's gdisk tool,<br/> for exsample: <pre>$ dd if=/dev/zero of=disk.img bs=1M count=256 256+0 records in 256+0 records out 268435456 bytes (268 MB) copied, 0.151867 s, 1.8 GB/s $ gdisk disk.img GPT fdisk (gdisk) version 0.8.1 Partition table scan: MBR: not present BSD: not present APM: not present GPT: not present Creating new GPT entries. Command (? for help): n Partition number (1-128, default 1): First sector (34-524254, default = 34) or {+-}size{KMGTP}: Information: Moved requested sector from 34 to 2048 in order to align on 2048-sector boundaries. Use 'l' on the experts' menu to adjust alignment Last sector (2048-524254, default = 524254) or {+-}size{KMGTP}: Current type is 'Linux filesystem' Hex code or GUID (L to show codes, Enter = 8300): Changed type of partition to 'Linux filesystem' Command (? for help): w Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING PARTITIONS!! Do you want to proceed? (Y/N): y OK; writing new GUID partition table (GPT). Warning: The kernel is still using the old partition table. The new table will be used at the next reboot. The operation has completed successfully. $ dd if=disk.img of=gpt.img count=64 64+0 records in 64+0 records out 32768 bytes (33 kB) copied, 0.00075438 s, 43.4 MB/s </pre> PC command: <pre>$ fastboot flash gpt gpt.img target reported max download size of 117440512 bytes sending 'gpt' (32 KB)... OKAY [ 0.006s] writing 'gpt'... OKAY [ 0.025s] finished. total time: 0.030s</pre> e6fb40b4aa0db42173dea9f3cfd7dc81c5d9ad91 847 846 2017-03-21T06:23:32Z Kever 2 wikitext text/x-wiki = Introduction = Rockchip use&nbsp;[https://en.wikipedia.org/wiki/GUID_Partition_Table GPT]&nbsp;as its main partition table in open source support. We store GPT at LBA0 ~ LBA63. = GPT partition table in U-boot = U-boot supports standard&nbsp;[https://github.com/rockchip-linux/u-boot/blob/android/doc/README.gpt GPT partition table format]. = Default partition map = {| border="1" class="table_style" |- ! Partition ! colspan="2" | Start Sector ! colspan="2" | Number of Sectors ! colspan="2" | Partition Size ! Mount Point ! Requirements |- | MBR | 0 | 00000000 | 1 | 00000001 | 512 | 0.5KB | &nbsp; | &nbsp; |- | Primary GPT | 1 | 00000001 | 63 | 0000003F | 32256 | 31.5KB | &nbsp; | &nbsp; |- | loader1 | 64 | 00000040 | 8000 | 00001F40 | 4096000 | 3.91MB | &nbsp; | miniloader or U-Boot SPL |- | reserved1 | 8064 | 00001F80 | 128 | 00000080 | 65536 | 64KB | &nbsp; | &nbsp; |- | reserved2 | 8192 | 00002000 | 8192 | 00002000 | 4194304 | 4MB | &nbsp; | parameter or vendor data |- | loader2 | 16384 | 00004000 | 8192 | 00002000 | 4194304 | 4MB | &nbsp; | U-Boot when using miniloader |- | atf | 24576 | 00006000 | 8192 | 00002000 | 4194304 | 4MB | &nbsp; | ATF, trusted-os when using miniloader |- | boot(bootable must be set) | 32768 | 00008000 | 229376 | 00038000 | 117440512 | 112MB | &nbsp; | kernela, kernelb, dts, extlinux.conf, ramdisk |- | rootfs | 262144 | 00040000 | - | - | - | -MB | &nbsp; | Linux system |- | Secondary GPT | 16777183 | 00FFFFDF | 33 | 00000021 | 16896 | 16.5KB | &nbsp; | &nbsp; |} &nbsp; = How to modify GPT partition table through U-boot = In u-boot console, the "gpt" command can be used to write the gpt partition table: <pre>gpt - GUID Partition Table Usage: gpt <command> <interface> <dev> <partitions_list> - GUID partition table restoration and validity check Restore or verify GPT information on a device connected to interface Example usage: gpt write mmc 0 $partitions gpt verify mmc 0 $partitions</code> </pre> for exsample: <pre><code>=> env set partitions name=rootfs,size=-,type=system => gpt write mmc 0 $partitions Writing GPT: success! </pre> <br/> NOTE: the partitions env can be set in the u-boot console(using "env set" command), or in u-boot's source code,<br/> for exsample: <pre>include/configs/kylin_rk3036.h #define PARTS_DEFAULT \ "uuid_disk=${uuid_gpt_disk};" \ ... #undef CONFIG_EXTRA_ENV_SETTINGS #define CONFIG_EXTRA_ENV_SETTINGS \ "partitions=" PARTS_DEFAULT \ </pre> &nbsp; = How to modify GPT partition table through U-boot's fastboot = The current upstream u-boot contains fastboot protocol support. And this version of fastboot supports 2 ways to modify gpt partition table: == fastboot oem format == It's the same as "gpt write mmc 0 $partitions" in u-boot console: <pre>#ifdef CONFIG_FASTBOOT_FLASH_MMC_DEV if (strncmp("format", cmd + 4, 6) == 0) { char cmdbuf[32]; sprintf(cmdbuf, "gpt write mmc&nbsp;%x $partitions", CONFIG_FASTBOOT_FLASH_MMC_DEV); if (run_command(cmdbuf, 0)) fastboot_tx_write_str("FAIL"); else fastboot_tx_write_str("OKAY"); } else #endif </pre> PC command: <pre>$ fastboot oem format -i 0x2207 ... OKAY [ 0.015s] finished. total time: 0.015s </pre> == fastboot flash gpt <gpt partition image> == <pre> if (strcmp(cmd, CONFIG_FASTBOOT_GPT_NAME) == 0) { printf("%s: updating MBR, Primary and Backup GPT(s)\n", __func__); if (is_valid_gpt_buf(dev_desc, download_buffer)) { printf("%s: invalid GPT - refusing to write to flash\n", __func__); fastboot_fail(response_str, "invalid GPT partition"); return; } if (write_mbr_and_gpt_partitions(dev_desc, download_buffer)) { printf("%s: writing GPT partitions failed\n", __func__); fastboot_fail(response_str, "writing GPT partitions failed"); return; } printf("........ success\n"); fastboot_okay(response_str, ""); return; </pre> The gpt partition image can be generated by PC's gdisk tool,<br/> for exsample: <pre>$ dd if=/dev/zero of=disk.img bs=1M count=256 256+0 records in 256+0 records out 268435456 bytes (268 MB) copied, 0.151867 s, 1.8 GB/s $ gdisk disk.img GPT fdisk (gdisk) version 0.8.1 Partition table scan: MBR: not present BSD: not present APM: not present GPT: not present Creating new GPT entries. Command (? for help): n Partition number (1-128, default 1): First sector (34-524254, default = 34) or {+-}size{KMGTP}: Information: Moved requested sector from 34 to 2048 in order to align on 2048-sector boundaries. Use 'l' on the experts' menu to adjust alignment Last sector (2048-524254, default = 524254) or {+-}size{KMGTP}: Current type is 'Linux filesystem' Hex code or GUID (L to show codes, Enter = 8300): Changed type of partition to 'Linux filesystem' Command (? for help): w Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING PARTITIONS!! Do you want to proceed? (Y/N): y OK; writing new GUID partition table (GPT). Warning: The kernel is still using the old partition table. The new table will be used at the next reboot. The operation has completed successfully. $ dd if=disk.img of=gpt.img count=64 64+0 records in 64+0 records out 32768 bytes (33 kB) copied, 0.00075438 s, 43.4 MB/s </pre> PC command: <pre>$ fastboot flash gpt gpt.img target reported max download size of 117440512 bytes sending 'gpt' (32 KB)... OKAY [ 0.006s] writing 'gpt'... OKAY [ 0.025s] finished. total time: 0.030s</pre> 87a5613599522c1d54761e1593f70c14eb20f100 848 847 2017-03-21T06:24:47Z Kever 2 wikitext text/x-wiki = Introduction = Rockchip use&nbsp;[https://en.wikipedia.org/wiki/GUID_Partition_Table GPT]&nbsp;as its main partition table in open source support. We store GPT at LBA0 ~ LBA63. = GPT partition table in U-boot = U-boot supports standard&nbsp;[https://github.com/rockchip-linux/u-boot/blob/android/doc/README.gpt GPT partition table format]. = Default partition map = {| border="1" class="table_style" |- ! Partition ! colspan="2" | Start Sector ! colspan="2" | Number of Sectors ! colspan="2" | Partition Size ! Mount Point ! Requirements |- | MBR | 0 | 00000000 | 1 | 00000001 | 512 | 0.5KB | &nbsp; | &nbsp; |- | Primary GPT | 1 | 00000001 | 63 | 0000003F | 32256 | 31.5KB | &nbsp; | &nbsp; |- | loader1 | 64 | 00000040 | 8000 | 00001F40 | 4096000 | 3.91MB | &nbsp; | miniloader or U-Boot SPL |- | reserved1 | 8064 | 00001F80 | 128 | 00000080 | 65536 | 64KB | &nbsp; | &nbsp; |- | reserved2 | 8192 | 00002000 | 8192 | 00002000 | 4194304 | 4MB | &nbsp; | parameter or vendor data |- | loader2 | 16384 | 00004000 | 8192 | 00002000 | 4194304 | 4MB | &nbsp; | U-Boot when using miniloader |- | atf | 24576 | 00006000 | 8192 | 00002000 | 4194304 | 4MB | &nbsp; | ATF, trusted-os when using miniloader |- | boot(bootable must be set) | 32768 | 00008000 | 229376 | 00038000 | 117440512 | 112MB | &nbsp; | kernela, kernelb, dts, extlinux.conf, ramdisk |- | rootfs | 262144 | 00040000 | - | - | - | -MB | &nbsp; | Linux system |- | Secondary GPT | 16777183 | 00FFFFDF | 33 | 00000021 | 16896 | 16.5KB | &nbsp; | &nbsp; |} &nbsp; = How to modify GPT partition table through U-boot = In u-boot console, the "gpt" command can be used to write the gpt partition table: <pre>gpt - GUID Partition Table Usage: gpt <command> <interface> <dev> <partitions_list> - GUID partition table restoration and validity check Restore or verify GPT information on a device connected to interface Example usage: gpt write mmc 0 $partitions gpt verify mmc 0 $partitions</code> </pre> for exsample: <pre>=> env set partitions name=rootfs,size=-,type=system => gpt write mmc 0 $partitions Writing GPT: success! </pre> <br/> NOTE: the partitions env can be set in the u-boot console(using "env set" command), or in u-boot's source code,<br/> for exsample: <pre>include/configs/kylin_rk3036.h #define PARTS_DEFAULT \ "uuid_disk=${uuid_gpt_disk};" \ ... #undef CONFIG_EXTRA_ENV_SETTINGS #define CONFIG_EXTRA_ENV_SETTINGS \ "partitions=" PARTS_DEFAULT \ </pre> &nbsp; = How to modify GPT partition table through U-boot's fastboot = The current upstream u-boot contains fastboot protocol support. And this version of fastboot supports 2 ways to modify gpt partition table: == fastboot oem format == It's the same as "gpt write mmc 0 $partitions" in u-boot console: <pre>#ifdef CONFIG_FASTBOOT_FLASH_MMC_DEV if (strncmp("format", cmd + 4, 6) == 0) { char cmdbuf[32]; sprintf(cmdbuf, "gpt write mmc&nbsp;%x $partitions", CONFIG_FASTBOOT_FLASH_MMC_DEV); if (run_command(cmdbuf, 0)) fastboot_tx_write_str("FAIL"); else fastboot_tx_write_str("OKAY"); } else #endif </pre> PC command: <pre>$ fastboot oem format -i 0x2207 ... OKAY [ 0.015s] finished. total time: 0.015s </pre> == fastboot flash gpt <gpt partition image> == <pre> if (strcmp(cmd, CONFIG_FASTBOOT_GPT_NAME) == 0) { printf("%s: updating MBR, Primary and Backup GPT(s)\n", __func__); if (is_valid_gpt_buf(dev_desc, download_buffer)) { printf("%s: invalid GPT - refusing to write to flash\n", __func__); fastboot_fail(response_str, "invalid GPT partition"); return; } if (write_mbr_and_gpt_partitions(dev_desc, download_buffer)) { printf("%s: writing GPT partitions failed\n", __func__); fastboot_fail(response_str, "writing GPT partitions failed"); return; } printf("........ success\n"); fastboot_okay(response_str, ""); return; </pre> The gpt partition image can be generated by PC's gdisk tool,<br/> for exsample: <pre>$ dd if=/dev/zero of=disk.img bs=1M count=256 256+0 records in 256+0 records out 268435456 bytes (268 MB) copied, 0.151867 s, 1.8 GB/s $ gdisk disk.img GPT fdisk (gdisk) version 0.8.1 Partition table scan: MBR: not present BSD: not present APM: not present GPT: not present Creating new GPT entries. Command (? for help): n Partition number (1-128, default 1): First sector (34-524254, default = 34) or {+-}size{KMGTP}: Information: Moved requested sector from 34 to 2048 in order to align on 2048-sector boundaries. Use 'l' on the experts' menu to adjust alignment Last sector (2048-524254, default = 524254) or {+-}size{KMGTP}: Current type is 'Linux filesystem' Hex code or GUID (L to show codes, Enter = 8300): Changed type of partition to 'Linux filesystem' Command (? for help): w Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING PARTITIONS!! Do you want to proceed? (Y/N): y OK; writing new GUID partition table (GPT). Warning: The kernel is still using the old partition table. The new table will be used at the next reboot. The operation has completed successfully. $ dd if=disk.img of=gpt.img count=64 64+0 records in 64+0 records out 32768 bytes (33 kB) copied, 0.00075438 s, 43.4 MB/s </pre> PC command: <pre>$ fastboot flash gpt gpt.img target reported max download size of 117440512 bytes sending 'gpt' (32 KB)... OKAY [ 0.006s] writing 'gpt'... OKAY [ 0.025s] finished. total time: 0.030s</pre> 6121a39387bb82ee33109cc2a62e3bb2d4cb9115 RK3288 0 20 822 771 2017-03-21T03:33:31Z Admin 1 wikitext text/x-wiki {{Infobox SoC | title = RK3288 | image = [[File:rk3288_soc.png|200px]] | manufacturer = Rockcihp | process = 28nm | cpu = Quad-Core ARM Cortex-A17 | ltwo = | extensions = | memory = 2-channel LPDDR3/LPDDR2/DDR3/DDR3L | gpu = ARM Mali-T764 | vpu = | apu = | video = HDMI 1.4, MIPI DSI, LVDS, RGB LCD | audio = I2S, PCM | network = | storage = 4x SD Card, eMMC, NAND | usb = OTG, 2x Host | other = | release_date = June 2014 | website = http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html }} &nbsp; &nbsp; &nbsp; Integrated with a Quad-Core [https://en.wikipedia.org/wiki/ARM_Cortex-A17 Cortex-A17]&nbsp;which up to 1.8GHz and ARMMali-T764&nbsp;which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant&nbsp;interfaces provide&nbsp;a friendly solution for product&nbsp;development. Futhermore &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; = Overview = The RK3288 offers<big><var>&nbsp;</var></big>an extensible, <big><small><tt>leading&nbsp;performance</tt></small></big>, long-standing heritage platform,ideally suited for &nbsp;set-top box solution, tablet and chromebook.The platform is integrated with a Quad-Core Cortex-A17 which up to 1.8GHz and ARM Mali-T764&nbsp;which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant&nbsp;interfaces provide&nbsp;a friendly solution for product&nbsp;development. Futhermore, the power consumption is&nbsp;optimal for applications such as imaging/video, communication and broadband infrastructure,and performance audio applications. &nbsp; &nbsp; = RK3288 SoC Features = {| border="0" cellpadding="1" cellspacing="1" style="width: 972px;" |- | style="width: 530px;" | *CPU: **Quad Core Cortex-A17&nbsp;up to 1.8GHz **32KB L1-Cache **1MB L2-Cache *Internal SRAM **96KB total **First 16KB used by Bootrom when bootup *GPU: **ARM Mali-T764 GPU, with TE, ASTC, AFBC technology **Quad core 3D Graphics engine **Dual core 2D Graphics engine **Comply with&nbsp;OpenGL ES1.1/2.0/3.0, OpenVG1.1, OpenCL, DirectX11 *Display: **4Kx2K@60fpsHDMI2.0 **Up to 3840X2160 display resolution **Support dual-channel LVDS/dual-channel MIPI-DSI/eDP1.1 *Camera: **Support up to 5M pixels **8bits/10bits/12bits raw data interface&nbsp; *Memory: **Dual channels 64-bit DRAM controller **Support DDR3/DDR3L, LPDDR2, LPDDR3 *Connectivity: **Embedded 13M ISP and MIPI-CSI2 interface *Audio: **I2S/PCM with 8 channels | style="width: 429px;" | [[File:3288.png|RTENOTITLE]] |} = Devices = Rockchip: EVB-RK3328 Firefly: [[Firefly-RK3288|Firefly-RK3288]]<br/> [[Firefly-RK3288_reload|Firefly-RK3288 reload]]<br/> [[Rock2_Square|Rock2 Square]]<br/> [[Rock2_Full|Rock2 Full]]<br/> [[MiQi|MiQi]]<br/> [[Popmetal|Popmetal]]<br/> [[Fennec|Fennec]]<br/> [[PhyCORE-RK3288|phyCORE-RK3288]] ASUS: Tinker board &nbsp; = Documentation = #[http://10.10.10.12:8444/images/4/4e/Rockchip_RK3288_Datasheet_V2.2-20170301.pdf Rockchip_RK3288_Datasheet_V2.2-20170301] #[http://10.10.10.12:8444/images/5/5a/RK3288硬件设计资料.rar RK3288硬件设计资料] &nbsp; = Software = See [[Linux_user_guide|Linux_user_guide]] setup Linux OS generally; See [[U-Boot|U-Boot]] guide to develop U-Boot; See [[Rockchip_Kernel|Rockchip kernel]] or [[Upstream_Kernel|Upstream kernel]] to develop kernel; See [[Distribution|Distribution]] to develop and custimize OS. &nbsp; == Board configuration == {| border="1" cellpadding="1" cellspacing="1" |- ! '''board''' ! '''kernel''' ! '''uboot''' ! '''dts''' |- | RK3288_MAINBOARD_V3.0 | rockchip_linux_defconfig | rk3288_linux_defconfig | rk-linux.dts |} &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" |- ! '''chip''' ! '''Kernel eMMC index''' ! '''Kernel SD index''' ! '''Uboot eMMC index''' ! '''Uboot SD index''' ! '''Baud speed''' |- | RK3288 | 1 | 0 | 0 | 1 | 115200 |} = See also = [[RK3328|RK3328]] [[RK3399|RK3399]] = References = #[https://en.wikipedia.org/wiki/ARM_Cortex-A17 https://en.wikipedia.org/wiki/ARM_Cortex-A17] #[http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html] 3d2c6e47cb2709fc00fedda2baa2f99b620d20b4 825 822 2017-03-21T03:35:19Z Admin 1 wikitext text/x-wiki {{Infobox SoC | title = RK3288 | image = [[File:rk3288_soc.png|200px]] | manufacturer = Rockcihp | process = 28nm | cpu = Quad-Core ARM Cortex-A17 | ltwo = | extensions = | memory = 2-channel LPDDR3/LPDDR2/DDR3/DDR3L | gpu = ARM Mali-T764 | vpu = | apu = | video = HDMI 1.4, MIPI DSI, LVDS, RGB LCD | audio = I2S, PCM | network = | storage = 4x SD Card, eMMC, NAND | usb = OTG, 2x Host | other = | release_date = June 2014 | website = http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html }} &nbsp; &nbsp; &nbsp; Integrated with a Quad-Core [https://en.wikipedia.org/wiki/ARM_Cortex-A17 Cortex-A17]&nbsp;which up to 1.8GHz and ARMMali-T764&nbsp;which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant&nbsp;interfaces provide&nbsp;a friendly solution for product&nbsp;development. Futhermore &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; = Overview = The RK3288 offers<big><var>&nbsp;</var></big>an extensible, <big><small><tt>leading&nbsp;performance</tt></small></big>, long-standing heritage platform,ideally suited for &nbsp;set-top box solution, tablet and chromebook.The platform is integrated with a Quad-Core Cortex-A17 which up to 1.8GHz and ARM Mali-T764&nbsp;which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant&nbsp;interfaces provide&nbsp;a friendly solution for product&nbsp;development. Futhermore, the power consumption is&nbsp;optimal for applications such as imaging/video, communication and broadband infrastructure,and performance audio applications. &nbsp; &nbsp; = RK3288 SoC Features = {| border="0" cellpadding="1" cellspacing="1" style="width: 972px;" |- | style="width: 530px;" | *CPU: **Quad Core Cortex-A17&nbsp;up to 1.8GHz **32KB L1-Cache **1MB L2-Cache *Internal SRAM **96KB total **First 16KB used by Bootrom when bootup *GPU: **ARM Mali-T764 GPU, with TE, ASTC, AFBC technology **Quad core 3D Graphics engine **Dual core 2D Graphics engine **Comply with&nbsp;OpenGL ES1.1/2.0/3.0, OpenVG1.1, OpenCL, DirectX11 *Display: **4Kx2K@60fpsHDMI2.0 **Up to 3840X2160 display resolution **Support dual-channel LVDS/dual-channel MIPI-DSI/eDP1.1 *Camera: **Support up to 5M pixels **8bits/10bits/12bits raw data interface&nbsp; *Memory: **Dual channels 64-bit DRAM controller **Support DDR3/DDR3L, LPDDR2, LPDDR3 *Connectivity: **Embedded 13M ISP and MIPI-CSI2 interface *Audio: **I2S/PCM with 8 channels | style="width: 429px;" | [[File:3288.png|RTENOTITLE]] |} = Devices = Rockchip: EVB-RK3328 Firefly: [[Firefly-RK3288|Firefly-RK3288]]<br/> [[Firefly-RK3288_reload|Firefly-RK3288 reload]]<br/> [[Rock2_Square|Rock2 Square]]<br/> [[Rock2_Full|Rock2 Full]]<br/> [[MiQi|MiQi]]<br/> [[Popmetal|Popmetal]]<br/> [[Fennec|Fennec]]<br/> [[PhyCORE-RK3288|phyCORE-RK3288]] ASUS: Tinker board &nbsp; = Documentation = #[http://10.10.10.12:8444/images/4/4e/Rockchip_RK3288_Datasheet_V2.2-20170301.pdf Rockchip_RK3288_Datasheet_V2.2-20170301] #[http://10.10.10.12:8444/images/5/5a/RK3288硬件设计资料.rar RK3288硬件设计资料] &nbsp; = Software = See [[Linux_user_guide|Linux_user_guide]] setup Linux OS generally; See [[U-Boot|U-Boot]] guide to develop U-Boot; See [[Rockchip_Kernel|Rockchip kernel]] or [[Upstream_Kernel|Upstream kernel]] to develop kernel; See [[Distribution|Distribution]] to develop and custimize OS. &nbsp; == Board configuration == {| border="1" cellpadding="1" cellspacing="1" class="table_style" |- ! '''board''' ! '''kernel''' ! '''uboot''' ! '''dts''' |- | RK3288_MAINBOARD_V3.0 | rockchip_linux_defconfig | rk3288_linux_defconfig | rk-linux.dts |} &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" class="table_style" |- ! '''chip''' ! '''Kernel eMMC index''' ! '''Kernel SD index''' ! '''Uboot eMMC index''' ! '''Uboot SD index''' ! '''Baud speed''' |- | RK3288 | 1 | 0 | 0 | 1 | 115200 |} = See also = [[RK3328|RK3328]] [[RK3399|RK3399]] = References = #[https://en.wikipedia.org/wiki/ARM_Cortex-A17 https://en.wikipedia.org/wiki/ARM_Cortex-A17] #[http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html] 697aa094498134f6adbfba2163d5ed936d1d0c05 832 825 2017-03-21T03:52:13Z Admin 1 wikitext text/x-wiki {{Infobox SoC | title = RK3288 | image = [[File:rk3288_soc.png|200px]] | manufacturer = Rockcihp | process = 28nm | cpu = Quad-Core ARM Cortex-A17 | ltwo = | extensions = | memory = 2-channel LPDDR3/LPDDR2/DDR3/DDR3L | gpu = ARM Mali-T764 | vpu = | apu = | video = HDMI 1.4, MIPI DSI, LVDS, RGB LCD | audio = I2S, PCM | network = | storage = 4x SD Card, eMMC, NAND | usb = OTG, 2x Host | other = | release_date = June 2014 | website = http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html }} &nbsp; &nbsp; &nbsp; Integrated with a Quad-Core [https://en.wikipedia.org/wiki/ARM_Cortex-A17 Cortex-A17]&nbsp;which up to 1.8GHz and ARMMali-T764&nbsp;which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant&nbsp;interfaces provide&nbsp;a friendly solution for product&nbsp;development. Futhermore &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; = Overview = The RK3288 offers<big><var>&nbsp;</var></big>an extensible, <big><small><tt>leading&nbsp;performance</tt></small></big>, long-standing heritage platform,ideally suited for &nbsp;set-top box solution, tablet and chromebook.The platform is integrated with a Quad-Core Cortex-A17 which up to 1.8GHz and ARM Mali-T764&nbsp;which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant&nbsp;interfaces provide&nbsp;a friendly solution for product&nbsp;development. Futhermore, the power consumption is&nbsp;optimal for applications such as imaging/video, communication and broadband infrastructure,and performance audio applications. &nbsp; &nbsp; = RK3288 SoC Features = {| border="0" cellpadding="1" cellspacing="1" style="width: 972px;" |- | style="width: 530px;" | *CPU: **Quad Core Cortex-A17&nbsp;up to 1.8GHz **32KB L1-Cache **1MB L2-Cache *Internal SRAM **96KB total **First 16KB used by Bootrom when bootup *GPU: **ARM Mali-T764 GPU, with TE, ASTC, AFBC technology **Quad core 3D Graphics engine **Dual core 2D Graphics engine **Comply with&nbsp;OpenGL ES1.1/2.0/3.0, OpenVG1.1, OpenCL, DirectX11 *Display: **4Kx2K@60fpsHDMI2.0 **Up to 3840X2160 display resolution **Support dual-channel LVDS/dual-channel MIPI-DSI/eDP1.1 *Camera: **Support up to 5M pixels **8bits/10bits/12bits raw data interface&nbsp; *Memory: **Dual channels 64-bit DRAM controller **Support DDR3/DDR3L, LPDDR2, LPDDR3 *Connectivity: **Embedded 13M ISP and MIPI-CSI2 interface *Audio: **I2S/PCM with 8 channels | style="width: 429px;" | [[File:3288.png|RTENOTITLE]] |} = Devices = Rockchip: EVB-RK3328 Firefly: [[Firefly-RK3288|Firefly-RK3288]]<br/> [[Firefly-RK3288_reload|Firefly-RK3288 reload]]<br/> [[Rock2_Square|Rock2 Square]]<br/> [[Rock2_Full|Rock2 Full]]<br/> [[MiQi|MiQi]]<br/> [[Popmetal|Popmetal]]<br/> [[Fennec|Fennec]]<br/> [[PhyCORE-RK3288|phyCORE-RK3288]] ASUS: Tinker board &nbsp; = Documentation = #[http://10.10.10.12:8444/images/4/4e/Rockchip_RK3288_Datasheet_V2.2-20170301.pdf Rockchip_RK3288_Datasheet_V2.2-20170301] #[http://10.10.10.12:8444/images/5/5a/RK3288硬件设计资料.rar RK3288硬件设计资料] &nbsp; = Software = See [[Linux_user_guide|Linux_user_guide]] setup Linux OS generally; See [[U-Boot|U-Boot]] guide to develop U-Boot; See [[Rockchip_Kernel|Rockchip kernel]] or [[Upstream_Kernel|Upstream kernel]] to develop kernel; See [[Distribution|Distribution]] to develop and custimize OS. &nbsp; == Board configuration == {| border="1" cellpadding="1" cellspacing="1" class="table_style" |- ! '''board''' ! '''kernel''' ! '''uboot''' ! '''dts''' |- | RK3288_MAINBOARD_V3.0 | rockchip_linux_defconfig | rk3288_linux_defconfig | rk-linux.dts |} &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" class="table_style" |- ! '''chip''' ! '''Kernel eMMC index''' ! '''Kernel SD index''' ! '''Uboot eMMC index''' ! '''Uboot SD index''' ! '''Baud speed''' |- | RK3288 | 1 | 0 | 0 | 1 | 115200 |} = See also = [[RK3328|RK3328]] [[RK3399|RK3399]] = References = #[https://en.wikipedia.org/wiki/ARM_Cortex-A17 https://en.wikipedia.org/wiki/ARM_Cortex-A17] #[http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html] b8f5fb682b8d76a7233d262919161269a5c9d779 863 832 2017-03-22T01:35:10Z Karen 3 wikitext text/x-wiki {{Infobox SoC | title = RK3288 | image = [[File:rk3288_soc.png|200px]] | manufacturer = Rockcihp | process = 28nm | cpu = Quad-Core ARM Cortex-A17 | ltwo = | extensions = | memory = 2-channel LPDDR3/LPDDR2/DDR3/DDR3L | gpu = ARM Mali-T764 | vpu = | apu = | video = HDMI 1.4, MIPI DSI, LVDS, RGB LCD | audio = I2S, PCM | network = | storage = 4x SD Card, eMMC, NAND | usb = OTG, 2x Host | other = | release_date = June 2014 | website = http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html }} &nbsp; &nbsp; &nbsp; Integrated with a Quad-Core [https://en.wikipedia.org/wiki/ARM_Cortex-A17 Cortex-A17]&nbsp;which up to 1.8GHz and ARMMali-T764&nbsp;which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant&nbsp;interfaces provide&nbsp;a friendly solution for product&nbsp;development. Futhermore &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; = Overview = The RK3288 offers<big><var>&nbsp;</var></big>an extensible, <big><small><tt>leading&nbsp;performance</tt></small></big>, long-standing heritage platform,ideally suited for &nbsp;set-top box solution, tablet and chromebook.The platform is integrated with a Quad-Core Cortex-A17 which up to 1.8GHz and ARM Mali-T764&nbsp;which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant&nbsp;interfaces provide&nbsp;a friendly solution for product&nbsp;development. Futhermore, the power consumption is&nbsp;optimal for applications such as imaging/video, communication and broadband infrastructure,and performance audio applications. &nbsp; &nbsp; = RK3288 SoC Features = {| border="0" cellpadding="1" cellspacing="1" style="width: 972px;" |- | style="width: 530px;" | *CPU: **Quad Core Cortex-A17&nbsp;up to 1.8GHz **32KB L1-Cache **1MB L2-Cache *Internal SRAM **96KB total **First 16KB used by Bootrom when bootup *GPU: **ARM Mali-T764 GPU, with TE, ASTC, AFBC technology **Quad core 3D Graphics engine **Dual core 2D Graphics engine **Comply with&nbsp;OpenGL ES1.1/2.0/3.0, OpenVG1.1, OpenCL, DirectX11 *Display: **4Kx2K@60fpsHDMI2.0 **Up to 3840X2160 display resolution **Support dual-channel LVDS/dual-channel MIPI-DSI/eDP1.1 *Camera: **Support up to 5M pixels **8bits/10bits/12bits raw data interface&nbsp; *Memory: **Dual channels 64-bit DRAM controller **Support DDR3/DDR3L, LPDDR2, LPDDR3 *Connectivity: **Embedded 13M ISP and MIPI-CSI2 interface *Audio: **I2S/PCM with 8 channels | style="width: 429px;" | [[File:3288.png|RTENOTITLE]] |} = Devices = Rockchip: EVB-RK3328 Firefly: [[Firefly-RK3288|Firefly-RK3288]]<br/> [[Firefly-RK3288_reload|Firefly-RK3288 reload]]<br/> [[Rock2_Square|Rock2 Square]]<br/> [[Rock2_Full|Rock2 Full]]<br/> [[MiQi|MiQi]]<br/> [[Popmetal|Popmetal]]<br/> [[Fennec|Fennec]]<br/> [[PhyCORE-RK3288|phyCORE-RK3288]] ASUS: Tinker board &nbsp; = Documentation = #[http://opensource.rock-chips.com/images/f/f4/Rockchip_RK3288TRM_V1.2_Part1-20170227.pdf Rockchip_RK3288TRM_V1.2_Part1-20170227.pdf] #[http://10.10.10.12:8444/images/5/5a/RK3288硬件设计资料.rar RK3288硬件设计资料] &nbsp; = Software = See [[Linux_user_guide|Linux_user_guide]] setup Linux OS generally; See [[U-Boot|U-Boot]] guide to develop U-Boot; See [[Rockchip_Kernel|Rockchip kernel]] or [[Upstream_Kernel|Upstream kernel]] to develop kernel; See [[Distribution|Distribution]] to develop and custimize OS. &nbsp; == Board configuration == {| border="1" cellpadding="1" cellspacing="1" class="table_style" |- ! '''board''' ! '''kernel''' ! '''uboot''' ! '''dts''' |- | RK3288_MAINBOARD_V3.0 | rockchip_linux_defconfig | rk3288_linux_defconfig | rk-linux.dts |} &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" class="table_style" |- ! '''chip''' ! '''Kernel eMMC index''' ! '''Kernel SD index''' ! '''Uboot eMMC index''' ! '''Uboot SD index''' ! '''Baud speed''' |- | RK3288 | 1 | 0 | 0 | 1 | 115200 |} = See also = [[RK3328|RK3328]] [[RK3399|RK3399]] = References = #[https://en.wikipedia.org/wiki/ARM_Cortex-A17 https://en.wikipedia.org/wiki/ARM_Cortex-A17] #[http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html] a34d5e376a254ed402e41d53c5fd678b82960e50 864 863 2017-03-22T01:36:53Z Karen 3 wikitext text/x-wiki {{Infobox SoC | title = RK3288 | image = [[File:rk3288_soc.png|200px]] | manufacturer = Rockcihp | process = 28nm | cpu = Quad-Core ARM Cortex-A17 | ltwo = | extensions = | memory = 2-channel LPDDR3/LPDDR2/DDR3/DDR3L | gpu = ARM Mali-T764 | vpu = | apu = | video = HDMI 1.4, MIPI DSI, LVDS, RGB LCD | audio = I2S, PCM | network = | storage = 4x SD Card, eMMC, NAND | usb = OTG, 2x Host | other = | release_date = June 2014 | website = http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html }} &nbsp; &nbsp; &nbsp; Integrated with a Quad-Core [https://en.wikipedia.org/wiki/ARM_Cortex-A17 Cortex-A17]&nbsp;which up to 1.8GHz and ARMMali-T764&nbsp;which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant&nbsp;interfaces provide&nbsp;a friendly solution for product&nbsp;development. Futhermore &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; = Overview = The RK3288 offers<big><var>&nbsp;</var></big>an extensible, <big><small><tt>leading&nbsp;performance</tt></small></big>, long-standing heritage platform,ideally suited for &nbsp;set-top box solution, tablet and chromebook.The platform is integrated with a Quad-Core Cortex-A17 which up to 1.8GHz and ARM Mali-T764&nbsp;which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant&nbsp;interfaces provide&nbsp;a friendly solution for product&nbsp;development. Futhermore, the power consumption is&nbsp;optimal for applications such as imaging/video, communication and broadband infrastructure,and performance audio applications. &nbsp; &nbsp; = RK3288 SoC Features = {| border="0" cellpadding="1" cellspacing="1" style="width: 972px;" |- | style="width: 530px;" | *CPU: **Quad Core Cortex-A17&nbsp;up to 1.8GHz **32KB L1-Cache **1MB L2-Cache *Internal SRAM **96KB total **First 16KB used by Bootrom when bootup *GPU: **ARM Mali-T764 GPU, with TE, ASTC, AFBC technology **Quad core 3D Graphics engine **Dual core 2D Graphics engine **Comply with&nbsp;OpenGL ES1.1/2.0/3.0, OpenVG1.1, OpenCL, DirectX11 *Display: **4Kx2K@60fpsHDMI2.0 **Up to 3840X2160 display resolution **Support dual-channel LVDS/dual-channel MIPI-DSI/eDP1.1 *Camera: **Support up to 5M pixels **8bits/10bits/12bits raw data interface&nbsp; *Memory: **Dual channels 64-bit DRAM controller **Support DDR3/DDR3L, LPDDR2, LPDDR3 *Connectivity: **Embedded 13M ISP and MIPI-CSI2 interface *Audio: **I2S/PCM with 8 channels | style="width: 429px;" | [[File:3288.png|RTENOTITLE]] |} = Devices = Rockchip: EVB-RK3328 Firefly: [[Firefly-RK3288|Firefly-RK3288]]<br/> [[Firefly-RK3288_reload|Firefly-RK3288 reload]]<br/> [[Rock2_Square|Rock2 Square]]<br/> [[Rock2_Full|Rock2 Full]]<br/> [[MiQi|MiQi]]<br/> [[Popmetal|Popmetal]]<br/> [[Fennec|Fennec]]<br/> [[PhyCORE-RK3288|phyCORE-RK3288]] ASUS: Tinker board &nbsp; = Documentation = #[http://opensource.rock-chips.com/images/f/f4/Rockchip_RK3288TRM_V1.2_Part1-20170227.pdf Rockchip_RK3288TRM_V1.2_Part1-20170227.pdf] #[http://opensource.rock-chips.com/images/a/ae/Rk3288_hardware_reference.zip Rk3288_hardware_reference.zip] &nbsp; = Software = See [[Linux_user_guide|Linux_user_guide]] setup Linux OS generally; See [[U-Boot|U-Boot]] guide to develop U-Boot; See [[Rockchip_Kernel|Rockchip kernel]] or [[Upstream_Kernel|Upstream kernel]] to develop kernel; See [[Distribution|Distribution]] to develop and custimize OS. &nbsp; == Board configuration == {| border="1" cellpadding="1" cellspacing="1" class="table_style" |- ! '''board''' ! '''kernel''' ! '''uboot''' ! '''dts''' |- | RK3288_MAINBOARD_V3.0 | rockchip_linux_defconfig | rk3288_linux_defconfig | rk-linux.dts |} &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" class="table_style" |- ! '''chip''' ! '''Kernel eMMC index''' ! '''Kernel SD index''' ! '''Uboot eMMC index''' ! '''Uboot SD index''' ! '''Baud speed''' |- | RK3288 | 1 | 0 | 0 | 1 | 115200 |} = See also = [[RK3328|RK3328]] [[RK3399|RK3399]] = References = #[https://en.wikipedia.org/wiki/ARM_Cortex-A17 https://en.wikipedia.org/wiki/ARM_Cortex-A17] #[http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html] f6ca53b6d40f6cab6a2cdb5963d9ea1f92699bec RK3328 0 24 823 740 2017-03-21T03:34:10Z Admin 1 wikitext text/x-wiki {{Infobox SoC | title = RK3328 | image = [[File:rk3328_soc.png|250px]] | manufacturer = Rockcihp | process = 28nm | cpu = Quad-Core ARM Cortex-A53 | ltwo = | extensions = | memory = DDR3/DDR3L/LPDDR3/DDR4 | gpu = Mali-450MP4 | vpu = 4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps | apu = | video = HDMI 2.0a, | audio = 8 channels I2S/PDM | storage = 4x SD Card, eMMC | usb = 1* USB2.0 otg, 1* USB 2.0 Host, 1* USB 3.0 Host | other = | release_date = December 2016 | website = http://www.rock-chips.com/a/en/products/RK33_Series/2017/0118/829.html | Product Page }} &nbsp; &nbsp; &nbsp; = Overview = RK3328 offers a high-integration and power efficiency&nbsp;SOC for 4K HDR OTT/IPTV. It support HDR10 ,HLG HDR ,&nbsp;4K 10bits 30fps H.264 video decoder and 4K 10bits 60fps H265 video decoder.Comply with lots of high-performance interface,such as multi-channel display with HDMI2.0a, TV Encoder, the Quad-core GPU can acheive&nbsp;high-resolution display and game. == Cortex-A53 == Quad-core Cortex-A53 is integrated with separate Neon and FPU coprocessor, also with shared L2 Cache.&nbsp; &nbsp; &nbsp; &nbsp; = RK3328 SoC Features = {| border="0" cellpadding="1" cellspacing="1" style="width: 972px;" |- | style="width: 530px;" | *CPU: **ARM Cortex-A53&nbsp;Quad-Core&nbsp; **32KB L1&nbsp;I cache and D cache for each CPU **256KB L2 cache *Internal SRAM **32KB total *GPU **&nbsp;Mali-450MP4 **Comply with Open GL ES1.1/2.0 *Multi-Media: **4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps **1080P other video decoders (VC-1, MPEG-1/2/4, VP8) **1080P video encoder for H.264 and H.265 **Support HDR10 ,HLG HDR , Support conversion between SDR and HDR *Display: **HDMI 2.0a for 4K@60Hz with HDCP 1.4/2.2 **Support conversion between Rec.2020 and Rec.709 *Memory: **LPDDR3/DDR3/DDR3L/DDR4 **eMMC 4.51,SDCard, SPI Flash *External interface **USB 2.0 x2 and USB 3.0 x1 **100M Ethernet w/ built-in PHY **Built-in CVBS and audio DAC **8 channels I2S IO and 8 chanel digital PDM input (for MIC array) | style="width: 429px;" | [[File:3328.png|RTENOTITLE]] |} &nbsp; = Devices = &nbsp; &nbsp; = Documentation = #[http://10.10.10.12:8444/images/5/54/Rk3328_box_ref_v10_20170224.pdf Rk3328_box_ref_v10_20170224] #[http://10.10.10.12:8444/images/d/d7/Rockchip_RK3328_Datasheet_V1.1-20170309.pdf Rockchip_RK3328_Datasheet_V1.1-20170309] &nbsp; &nbsp; &nbsp; = Software = See [[Linux_user_guide|Linux_user_guide]] setup LInux OS generally; See [[U-Boot|U-Boot]] guide to develop U-Boot; See [[Rockchip_Kernel|Rockchip kernel]] or [[Upstream_Kernel|Upstream kernel]] to develop kernel; See [[Distribution|Distribution]] to develop and custimize OS. == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" |- ! '''board''' ! '''kernel''' ! '''uboot''' ! '''dts''' |- | RK_EVB_RK3228H_BOX_RK805_DDR3 | rockchip_linux_defconfig | rk3328_linux_defconfig | rk3328r-linux.dts |} &nbsp; &nbsp; &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" |- ! '''chip''' ! '''Kernel eMMC index''' ! '''Kernel SD index''' ! '''Uboot eMMC index''' ! '''Uboot SD index''' ! '''Baud speed''' |- | RK3328 | 1 | 0 | 0 | 1 | 1500000 |} &nbsp; = See also = [[RK3288|RK3288]] [[RK3399|RK3399]] = References = 1.[https://en.wikipedia.org/wiki/ARM_Cortex-A53 https://en.wikipedia.org/wiki/ARM_Cortex-A53] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 00a638a619215cf48c853a3948b3da80492efdd1 826 823 2017-03-21T03:35:40Z Admin 1 wikitext text/x-wiki {{Infobox SoC | title = RK3328 | image = [[File:rk3328_soc.png|250px]] | manufacturer = Rockcihp | process = 28nm | cpu = Quad-Core ARM Cortex-A53 | ltwo = | extensions = | memory = DDR3/DDR3L/LPDDR3/DDR4 | gpu = Mali-450MP4 | vpu = 4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps | apu = | video = HDMI 2.0a, | audio = 8 channels I2S/PDM | storage = 4x SD Card, eMMC | usb = 1* USB2.0 otg, 1* USB 2.0 Host, 1* USB 3.0 Host | other = | release_date = December 2016 | website = http://www.rock-chips.com/a/en/products/RK33_Series/2017/0118/829.html | Product Page }} &nbsp; &nbsp; &nbsp; = Overview = RK3328 offers a high-integration and power efficiency&nbsp;SOC for 4K HDR OTT/IPTV. It support HDR10 ,HLG HDR ,&nbsp;4K 10bits 30fps H.264 video decoder and 4K 10bits 60fps H265 video decoder.Comply with lots of high-performance interface,such as multi-channel display with HDMI2.0a, TV Encoder, the Quad-core GPU can acheive&nbsp;high-resolution display and game. == Cortex-A53 == Quad-core Cortex-A53 is integrated with separate Neon and FPU coprocessor, also with shared L2 Cache.&nbsp; &nbsp; &nbsp; &nbsp; = RK3328 SoC Features = {| border="0" cellpadding="1" cellspacing="1" style="width: 972px;" |- | style="width: 530px;" | *CPU: **ARM Cortex-A53&nbsp;Quad-Core&nbsp; **32KB L1&nbsp;I cache and D cache for each CPU **256KB L2 cache *Internal SRAM **32KB total *GPU **&nbsp;Mali-450MP4 **Comply with Open GL ES1.1/2.0 *Multi-Media: **4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps **1080P other video decoders (VC-1, MPEG-1/2/4, VP8) **1080P video encoder for H.264 and H.265 **Support HDR10 ,HLG HDR , Support conversion between SDR and HDR *Display: **HDMI 2.0a for 4K@60Hz with HDCP 1.4/2.2 **Support conversion between Rec.2020 and Rec.709 *Memory: **LPDDR3/DDR3/DDR3L/DDR4 **eMMC 4.51,SDCard, SPI Flash *External interface **USB 2.0 x2 and USB 3.0 x1 **100M Ethernet w/ built-in PHY **Built-in CVBS and audio DAC **8 channels I2S IO and 8 chanel digital PDM input (for MIC array) | style="width: 429px;" | [[File:3328.png|RTENOTITLE]] |} &nbsp; = Devices = &nbsp; &nbsp; = Documentation = #[http://10.10.10.12:8444/images/5/54/Rk3328_box_ref_v10_20170224.pdf Rk3328_box_ref_v10_20170224] #[http://10.10.10.12:8444/images/d/d7/Rockchip_RK3328_Datasheet_V1.1-20170309.pdf Rockchip_RK3328_Datasheet_V1.1-20170309] &nbsp; &nbsp; &nbsp; = Software = See [[Linux_user_guide|Linux_user_guide]] setup LInux OS generally; See [[U-Boot|U-Boot]] guide to develop U-Boot; See [[Rockchip_Kernel|Rockchip kernel]] or [[Upstream_Kernel|Upstream kernel]] to develop kernel; See [[Distribution|Distribution]] to develop and custimize OS. == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" class="table_style" |- ! '''board''' ! '''kernel''' ! '''uboot''' ! '''dts''' |- | RK_EVB_RK3228H_BOX_RK805_DDR3 | rockchip_linux_defconfig | rk3328_linux_defconfig | rk3328r-linux.dts |} &nbsp; &nbsp; &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" class="table_style" |- ! '''chip''' ! '''Kernel eMMC index''' ! '''Kernel SD index''' ! '''Uboot eMMC index''' ! '''Uboot SD index''' ! '''Baud speed''' |- | RK3328 | 1 | 0 | 0 | 1 | 1500000 |} &nbsp; = See also = [[RK3288|RK3288]] [[RK3399|RK3399]] = References = 1.[https://en.wikipedia.org/wiki/ARM_Cortex-A53 https://en.wikipedia.org/wiki/ARM_Cortex-A53] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 915f6b88472e3860272a097aca5d720c1fc9cb47 833 826 2017-03-21T03:53:05Z Admin 1 wikitext text/x-wiki {{Infobox SoC | title = RK3328 | image = [[File:rk3328_soc.png|250px]] | manufacturer = Rockcihp | process = 28nm | cpu = Quad-Core ARM Cortex-A53 | ltwo = | extensions = | memory = DDR3/DDR3L/LPDDR3/DDR4 | gpu = Mali-450MP4 | vpu = 4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps | apu = | video = HDMI 2.0a, | audio = 8 channels I2S/PDM | storage = 4x SD Card, eMMC | usb = 1* USB2.0 otg, 1* USB 2.0 Host, 1* USB 3.0 Host | other = | release_date = December 2016 | website = http://www.rock-chips.com/a/en/products/RK33_Series/2017/0118/829.html | Product Page }} &nbsp; &nbsp; &nbsp; = Overview = RK3328 offers a high-integration and power efficiency&nbsp;SOC for 4K HDR OTT/IPTV. It support HDR10 ,HLG HDR ,&nbsp;4K 10bits 30fps H.264 video decoder and 4K 10bits 60fps H265 video decoder.Comply with lots of high-performance interface,such as multi-channel display with HDMI2.0a, TV Encoder, the Quad-core GPU can acheive&nbsp;high-resolution display and game. == Cortex-A53 == Quad-core Cortex-A53 is integrated with separate Neon and FPU coprocessor, also with shared L2 Cache.&nbsp; &nbsp; &nbsp; &nbsp; = RK3328 SoC Features = {| border="0" cellpadding="1" cellspacing="1" style="width: 972px;" |- | style="width: 530px;" | *CPU: **ARM Cortex-A53&nbsp;Quad-Core&nbsp; **32KB L1&nbsp;I cache and D cache for each CPU **256KB L2 cache *Internal SRAM **32KB total *GPU **&nbsp;Mali-450MP4 **Comply with Open GL ES1.1/2.0 *Multi-Media: **4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps **1080P other video decoders (VC-1, MPEG-1/2/4, VP8) **1080P video encoder for H.264 and H.265 **Support HDR10 ,HLG HDR , Support conversion between SDR and HDR *Display: **HDMI 2.0a for 4K@60Hz with HDCP 1.4/2.2 **Support conversion between Rec.2020 and Rec.709 *Memory: **LPDDR3/DDR3/DDR3L/DDR4 **eMMC 4.51,SDCard, SPI Flash *External interface **USB 2.0 x2 and USB 3.0 x1 **100M Ethernet w/ built-in PHY **Built-in CVBS and audio DAC **8 channels I2S IO and 8 chanel digital PDM input (for MIC array) | style="width: 429px;" | [[File:3328.png|RTENOTITLE]] |} &nbsp; = Devices = &nbsp; &nbsp; = Documentation = #[http://10.10.10.12:8444/images/5/54/Rk3328_box_ref_v10_20170224.pdf Rk3328_box_ref_v10_20170224] #[http://10.10.10.12:8444/images/d/d7/Rockchip_RK3328_Datasheet_V1.1-20170309.pdf Rockchip_RK3328_Datasheet_V1.1-20170309] &nbsp; &nbsp; &nbsp; = Software = See [[Linux_user_guide|Linux_user_guide]] setup LInux OS generally; See [[U-Boot|U-Boot]] guide to develop U-Boot; See [[Rockchip_Kernel|Rockchip kernel]] or [[Upstream_Kernel|Upstream kernel]] to develop kernel; See [[Distribution|Distribution]] to develop and custimize OS. == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" class="table_style" |- ! '''board''' ! '''kernel''' ! '''uboot''' ! '''dts''' |- | RK_EVB_RK3228H_BOX_RK805_DDR3 | rockchip_linux_defconfig | rk3328_linux_defconfig | rk3328r-linux.dts |} &nbsp; &nbsp; &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" class="table_style" |- ! '''chip''' ! '''Kernel eMMC index''' ! '''Kernel SD index''' ! '''Uboot eMMC index''' ! '''Uboot SD index''' ! '''Baud speed''' |- | RK3328 | 1 | 0 | 0 | 1 | 1500000 |} &nbsp; = See also = [[RK3288|RK3288]] [[RK3399|RK3399]] = References = 1.[https://en.wikipedia.org/wiki/ARM_Cortex-A53 https://en.wikipedia.org/wiki/ARM_Cortex-A53] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; afb6bf6a9637d0452eb9971f7f50eacd7b0157b4 859 833 2017-03-22T01:27:33Z Karen 3 wikitext text/x-wiki {{Infobox SoC | title = RK3328 | image = [[File:rk3328_soc.png|250px]] | manufacturer = Rockcihp | process = 28nm | cpu = Quad-Core ARM Cortex-A53 | ltwo = | extensions = | memory = DDR3/DDR3L/LPDDR3/DDR4 | gpu = Mali-450MP4 | vpu = 4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps | apu = | video = HDMI 2.0a, | audio = 8 channels I2S/PDM | storage = 4x SD Card, eMMC | usb = 1* USB2.0 otg, 1* USB 2.0 Host, 1* USB 3.0 Host | other = | release_date = December 2016 | website = http://www.rock-chips.com/a/en/products/RK33_Series/2017/0118/829.html | Product Page }} &nbsp; &nbsp; &nbsp; = Overview = RK3328 offers a high-integration and power efficiency&nbsp;SOC for 4K HDR OTT/IPTV. It support HDR10 ,HLG HDR ,&nbsp;4K 10bits 30fps H.264 video decoder and 4K 10bits 60fps H265 video decoder.Comply with lots of high-performance interface,such as multi-channel display with HDMI2.0a, TV Encoder, the Quad-core GPU can acheive&nbsp;high-resolution display and game. == Cortex-A53 == Quad-core Cortex-A53 is integrated with separate Neon and FPU coprocessor, also with shared L2 Cache.&nbsp; &nbsp; &nbsp; &nbsp; = RK3328 SoC Features = {| border="0" cellpadding="1" cellspacing="1" style="width: 972px;" |- | style="width: 530px;" | *CPU: **ARM Cortex-A53&nbsp;Quad-Core&nbsp; **32KB L1&nbsp;I cache and D cache for each CPU **256KB L2 cache *Internal SRAM **32KB total *GPU **&nbsp;Mali-450MP4 **Comply with Open GL ES1.1/2.0 *Multi-Media: **4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps **1080P other video decoders (VC-1, MPEG-1/2/4, VP8) **1080P video encoder for H.264 and H.265 **Support HDR10 ,HLG HDR , Support conversion between SDR and HDR *Display: **HDMI 2.0a for 4K@60Hz with HDCP 1.4/2.2 **Support conversion between Rec.2020 and Rec.709 *Memory: **LPDDR3/DDR3/DDR3L/DDR4 **eMMC 4.51,SDCard, SPI Flash *External interface **USB 2.0 x2 and USB 3.0 x1 **100M Ethernet w/ built-in PHY **Built-in CVBS and audio DAC **8 channels I2S IO and 8 chanel digital PDM input (for MIC array) | style="width: 429px;" | [[File:3328.png|RTENOTITLE]] |} &nbsp; = Devices = &nbsp; &nbsp; = Documentation = #[[Media:Rk3328_box_ref_v10_20170224.pdf|Rk3328_box_ref_v10_20170224.pdf]] #[http://10.10.10.12:8444/images/d/d7/Rockchip_RK3328_Datasheet_V1.1-20170309.pdf Rockchip_RK3328_Datasheet_V1.1-20170309] &nbsp; &nbsp; &nbsp; = Software = See [[Linux_user_guide|Linux_user_guide]] setup LInux OS generally; See [[U-Boot|U-Boot]] guide to develop U-Boot; See [[Rockchip_Kernel|Rockchip kernel]] or [[Upstream_Kernel|Upstream kernel]] to develop kernel; See [[Distribution|Distribution]] to develop and custimize OS. == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" class="table_style" |- ! '''board''' ! '''kernel''' ! '''uboot''' ! '''dts''' |- | RK_EVB_RK3228H_BOX_RK805_DDR3 | rockchip_linux_defconfig | rk3328_linux_defconfig | rk3328r-linux.dts |} &nbsp; &nbsp; &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" class="table_style" |- ! '''chip''' ! '''Kernel eMMC index''' ! '''Kernel SD index''' ! '''Uboot eMMC index''' ! '''Uboot SD index''' ! '''Baud speed''' |- | RK3328 | 1 | 0 | 0 | 1 | 1500000 |} &nbsp; = See also = [[RK3288|RK3288]] [[RK3399|RK3399]] = References = 1.[https://en.wikipedia.org/wiki/ARM_Cortex-A53 https://en.wikipedia.org/wiki/ARM_Cortex-A53] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 526109950db7c1abcc64e8a026a6e4eb2a7223dd 860 859 2017-03-22T01:30:34Z Karen 3 wikitext text/x-wiki {{Infobox SoC | title = RK3328 | image = [[File:rk3328_soc.png|250px]] | manufacturer = Rockcihp | process = 28nm | cpu = Quad-Core ARM Cortex-A53 | ltwo = | extensions = | memory = DDR3/DDR3L/LPDDR3/DDR4 | gpu = Mali-450MP4 | vpu = 4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps | apu = | video = HDMI 2.0a, | audio = 8 channels I2S/PDM | storage = 4x SD Card, eMMC | usb = 1* USB2.0 otg, 1* USB 2.0 Host, 1* USB 3.0 Host | other = | release_date = December 2016 | website = http://www.rock-chips.com/a/en/products/RK33_Series/2017/0118/829.html | Product Page }} &nbsp; &nbsp; &nbsp; = Overview = RK3328 offers a high-integration and power efficiency&nbsp;SOC for 4K HDR OTT/IPTV. It support HDR10 ,HLG HDR ,&nbsp;4K 10bits 30fps H.264 video decoder and 4K 10bits 60fps H265 video decoder.Comply with lots of high-performance interface,such as multi-channel display with HDMI2.0a, TV Encoder, the Quad-core GPU can acheive&nbsp;high-resolution display and game. == Cortex-A53 == Quad-core Cortex-A53 is integrated with separate Neon and FPU coprocessor, also with shared L2 Cache.&nbsp; &nbsp; &nbsp; &nbsp; = RK3328 SoC Features = {| border="0" cellpadding="1" cellspacing="1" style="width: 972px;" |- | style="width: 530px;" | *CPU: **ARM Cortex-A53&nbsp;Quad-Core&nbsp; **32KB L1&nbsp;I cache and D cache for each CPU **256KB L2 cache *Internal SRAM **32KB total *GPU **&nbsp;Mali-450MP4 **Comply with Open GL ES1.1/2.0 *Multi-Media: **4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps **1080P other video decoders (VC-1, MPEG-1/2/4, VP8) **1080P video encoder for H.264 and H.265 **Support HDR10 ,HLG HDR , Support conversion between SDR and HDR *Display: **HDMI 2.0a for 4K@60Hz with HDCP 1.4/2.2 **Support conversion between Rec.2020 and Rec.709 *Memory: **LPDDR3/DDR3/DDR3L/DDR4 **eMMC 4.51,SDCard, SPI Flash *External interface **USB 2.0 x2 and USB 3.0 x1 **100M Ethernet w/ built-in PHY **Built-in CVBS and audio DAC **8 channels I2S IO and 8 chanel digital PDM input (for MIC array) | style="width: 429px;" | [[File:3328.png|RTENOTITLE]] |} &nbsp; = Devices = &nbsp; &nbsp; = Documentation = #[[Media:Rk3328_box_ref_v10_20170224.pdf|Rk3328_box_ref_v10_20170224.pdf]] #[http://opensource.rock-chips.com/wiki_File:Rockchip_RK3328_Datasheet_V1.1-20170309.pdf Rockchip RK3328 Datasheet V1.1-20170309.pdf] &nbsp; &nbsp; &nbsp; = Software = See [[Linux_user_guide|Linux_user_guide]] setup LInux OS generally; See [[U-Boot|U-Boot]] guide to develop U-Boot; See [[Rockchip_Kernel|Rockchip kernel]] or [[Upstream_Kernel|Upstream kernel]] to develop kernel; See [[Distribution|Distribution]] to develop and custimize OS. == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" class="table_style" |- ! '''board''' ! '''kernel''' ! '''uboot''' ! '''dts''' |- | RK_EVB_RK3228H_BOX_RK805_DDR3 | rockchip_linux_defconfig | rk3328_linux_defconfig | rk3328r-linux.dts |} &nbsp; &nbsp; &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" class="table_style" |- ! '''chip''' ! '''Kernel eMMC index''' ! '''Kernel SD index''' ! '''Uboot eMMC index''' ! '''Uboot SD index''' ! '''Baud speed''' |- | RK3328 | 1 | 0 | 0 | 1 | 1500000 |} &nbsp; = See also = [[RK3288|RK3288]] [[RK3399|RK3399]] = References = 1.[https://en.wikipedia.org/wiki/ARM_Cortex-A53 https://en.wikipedia.org/wiki/ARM_Cortex-A53] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; c3e3d1ef8c291909c0e49a42f86a0ba6dc8b7617 861 860 2017-03-22T01:31:02Z Karen 3 wikitext text/x-wiki {{Infobox SoC | title = RK3328 | image = [[File:rk3328_soc.png|250px]] | manufacturer = Rockcihp | process = 28nm | cpu = Quad-Core ARM Cortex-A53 | ltwo = | extensions = | memory = DDR3/DDR3L/LPDDR3/DDR4 | gpu = Mali-450MP4 | vpu = 4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps | apu = | video = HDMI 2.0a, | audio = 8 channels I2S/PDM | storage = 4x SD Card, eMMC | usb = 1* USB2.0 otg, 1* USB 2.0 Host, 1* USB 3.0 Host | other = | release_date = December 2016 | website = http://www.rock-chips.com/a/en/products/RK33_Series/2017/0118/829.html | Product Page }} &nbsp; &nbsp; &nbsp; = Overview = RK3328 offers a high-integration and power efficiency&nbsp;SOC for 4K HDR OTT/IPTV. It support HDR10 ,HLG HDR ,&nbsp;4K 10bits 30fps H.264 video decoder and 4K 10bits 60fps H265 video decoder.Comply with lots of high-performance interface,such as multi-channel display with HDMI2.0a, TV Encoder, the Quad-core GPU can acheive&nbsp;high-resolution display and game. == Cortex-A53 == Quad-core Cortex-A53 is integrated with separate Neon and FPU coprocessor, also with shared L2 Cache.&nbsp; &nbsp; &nbsp; &nbsp; = RK3328 SoC Features = {| border="0" cellpadding="1" cellspacing="1" style="width: 972px;" |- | style="width: 530px;" | *CPU: **ARM Cortex-A53&nbsp;Quad-Core&nbsp; **32KB L1&nbsp;I cache and D cache for each CPU **256KB L2 cache *Internal SRAM **32KB total *GPU **&nbsp;Mali-450MP4 **Comply with Open GL ES1.1/2.0 *Multi-Media: **4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps **1080P other video decoders (VC-1, MPEG-1/2/4, VP8) **1080P video encoder for H.264 and H.265 **Support HDR10 ,HLG HDR , Support conversion between SDR and HDR *Display: **HDMI 2.0a for 4K@60Hz with HDCP 1.4/2.2 **Support conversion between Rec.2020 and Rec.709 *Memory: **LPDDR3/DDR3/DDR3L/DDR4 **eMMC 4.51,SDCard, SPI Flash *External interface **USB 2.0 x2 and USB 3.0 x1 **100M Ethernet w/ built-in PHY **Built-in CVBS and audio DAC **8 channels I2S IO and 8 chanel digital PDM input (for MIC array) | style="width: 429px;" | [[File:3328.png|RTENOTITLE]] |} &nbsp; = Devices = &nbsp; &nbsp; = Documentation = #[[Media:Rk3328_box_ref_v10_20170224.pdf|Rk3328_box_ref_v10_20170224.pdf]] #[http://opensource.rock-chips.com/images/d/d7/Rockchip_RK3328_Datasheet_V1.1-20170309.pdf Rockchip_RK3328_Datasheet_V1.1-20170309.pdf] &nbsp; &nbsp; &nbsp; = Software = See [[Linux_user_guide|Linux_user_guide]] setup LInux OS generally; See [[U-Boot|U-Boot]] guide to develop U-Boot; See [[Rockchip_Kernel|Rockchip kernel]] or [[Upstream_Kernel|Upstream kernel]] to develop kernel; See [[Distribution|Distribution]] to develop and custimize OS. == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" class="table_style" |- ! '''board''' ! '''kernel''' ! '''uboot''' ! '''dts''' |- | RK_EVB_RK3228H_BOX_RK805_DDR3 | rockchip_linux_defconfig | rk3328_linux_defconfig | rk3328r-linux.dts |} &nbsp; &nbsp; &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" class="table_style" |- ! '''chip''' ! '''Kernel eMMC index''' ! '''Kernel SD index''' ! '''Uboot eMMC index''' ! '''Uboot SD index''' ! '''Baud speed''' |- | RK3328 | 1 | 0 | 0 | 1 | 1500000 |} &nbsp; = See also = [[RK3288|RK3288]] [[RK3399|RK3399]] = References = 1.[https://en.wikipedia.org/wiki/ARM_Cortex-A53 https://en.wikipedia.org/wiki/ARM_Cortex-A53] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 71c98befb6ab61e94413d387a74f55c725b040b3 862 861 2017-03-22T01:32:13Z Karen 3 wikitext text/x-wiki {{Infobox SoC | title = RK3328 | image = [[File:rk3328_soc.png|250px]] | manufacturer = Rockcihp | process = 28nm | cpu = Quad-Core ARM Cortex-A53 | ltwo = | extensions = | memory = DDR3/DDR3L/LPDDR3/DDR4 | gpu = Mali-450MP4 | vpu = 4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps | apu = | video = HDMI 2.0a, | audio = 8 channels I2S/PDM | storage = 4x SD Card, eMMC | usb = 1* USB2.0 otg, 1* USB 2.0 Host, 1* USB 3.0 Host | other = | release_date = December 2016 | website = http://www.rock-chips.com/a/en/products/RK33_Series/2017/0118/829.html | Product Page }} &nbsp; &nbsp; &nbsp; = Overview = RK3328 offers a high-integration and power efficiency&nbsp;SOC for 4K HDR OTT/IPTV. It support HDR10 ,HLG HDR ,&nbsp;4K 10bits 30fps H.264 video decoder and 4K 10bits 60fps H265 video decoder.Comply with lots of high-performance interface,such as multi-channel display with HDMI2.0a, TV Encoder, the Quad-core GPU can acheive&nbsp;high-resolution display and game. == Cortex-A53 == Quad-core Cortex-A53 is integrated with separate Neon and FPU coprocessor, also with shared L2 Cache.&nbsp; &nbsp; &nbsp; &nbsp; = RK3328 SoC Features = {| border="0" cellpadding="1" cellspacing="1" style="width: 972px;" |- | style="width: 530px;" | *CPU: **ARM Cortex-A53&nbsp;Quad-Core&nbsp; **32KB L1&nbsp;I cache and D cache for each CPU **256KB L2 cache *Internal SRAM **32KB total *GPU **&nbsp;Mali-450MP4 **Comply with Open GL ES1.1/2.0 *Multi-Media: **4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps **1080P other video decoders (VC-1, MPEG-1/2/4, VP8) **1080P video encoder for H.264 and H.265 **Support HDR10 ,HLG HDR , Support conversion between SDR and HDR *Display: **HDMI 2.0a for 4K@60Hz with HDCP 1.4/2.2 **Support conversion between Rec.2020 and Rec.709 *Memory: **LPDDR3/DDR3/DDR3L/DDR4 **eMMC 4.51,SDCard, SPI Flash *External interface **USB 2.0 x2 and USB 3.0 x1 **100M Ethernet w/ built-in PHY **Built-in CVBS and audio DAC **8 channels I2S IO and 8 chanel digital PDM input (for MIC array) | style="width: 429px;" | [[File:3328.png|RTENOTITLE]] |} &nbsp; = Devices = &nbsp; &nbsp; = Documentation = #[http://opensource.rock-chips.com/images/d/d7/Rockchip_RK3328_Datasheet_V1.1-20170309.pdf Rockchip_RK3328_Datasheet_V1.1-20170309.pdf] &nbsp; &nbsp; &nbsp; = Software = See [[Linux_user_guide|Linux_user_guide]] setup LInux OS generally; See [[U-Boot|U-Boot]] guide to develop U-Boot; See [[Rockchip_Kernel|Rockchip kernel]] or [[Upstream_Kernel|Upstream kernel]] to develop kernel; See [[Distribution|Distribution]] to develop and custimize OS. == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" class="table_style" |- ! '''board''' ! '''kernel''' ! '''uboot''' ! '''dts''' |- | RK_EVB_RK3228H_BOX_RK805_DDR3 | rockchip_linux_defconfig | rk3328_linux_defconfig | rk3328r-linux.dts |} &nbsp; &nbsp; &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" class="table_style" |- ! '''chip''' ! '''Kernel eMMC index''' ! '''Kernel SD index''' ! '''Uboot eMMC index''' ! '''Uboot SD index''' ! '''Baud speed''' |- | RK3328 | 1 | 0 | 0 | 1 | 1500000 |} &nbsp; = See also = [[RK3288|RK3288]] [[RK3399|RK3399]] = References = 1.[https://en.wikipedia.org/wiki/ARM_Cortex-A53 https://en.wikipedia.org/wiki/ARM_Cortex-A53] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 559d4753874ecbe6a5764f6bf84fd9b83bf70357 RK3399 0 21 824 734 2017-03-21T03:34:59Z Admin 1 wikitext text/x-wiki Rockchip RK3399 SoC integrates&nbsp;dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor, and with&nbsp;ARM Mali-T864 GPU. {| border="0" cellpadding="1" cellspacing="1" class="infobox" style="width: 300px;" |- | [[File:RK3399 Soc.png|RTENOTITLE]] |} = Overview = RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications. &nbsp; = SoC Features = {| border="0" cellpadding="1" cellspacing="1" style="width: 972px;" |- | style="width: 530px;" | *CPU: **Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU **Frequency is over 1.8GHz (Big cluster) **L1 cache ***48KB Icache and 32KB Dcache for each A72 ***32KB Icache and 32KB Dcache for each A53 **L2 cache ***1024KB for big cluster ***512KB for little cluster *Internal SRAM **192KB total **4KB used by bootrom when bootup *GPU: **&nbsp;Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11 **Supports AFBC (ARM Frame Buffer Compression) *Display: **Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600 **Dual channel MIPI-DSI (4 lanes per channel) **eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR **HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2 **DisplayPort 1.2 (4 lanes, up to 4K 60Hz) **Supports Rec.2020 and conversion to Rec.709 *Camera: **&nbsp;Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels *Memory: **Dual channels 64-bit DRAM controller **Support DDR3/DDR3L, LPDDR3, LPDDR4 *Connectivity: **PCIe 2.1 (4 full-duplex lanes with 20Gbps) **Embedded low power MCU for other application **8 channels I2S supports 8 channels RX or 8 channels TX | style="width: 429px;" | [[File:RK3399 Block Diagram.png|RTENOTITLE]] |} = Documentation = #[http://10.10.10.12:8444/images/6/60/Rockchip_RK3399_Datasheet_V1.6-20170301.pdf Rockchip_RK3399_Datasheet_V1.6-20170301] #[http://10.10.10.12:8444/images/9/9e/RK_DDR_Support_List_Ver2.24.pdf RK_DDR_Support_List_Ver2.24] #[http://10.10.10.12:8444/images/2/27/RK3399_Linux_Debian_System_Development_Guide.pdf RK3399_Linux_Debian_System_Development_Guide] #[http://10.10.10.12:8444/images/7/7e/RK3399_Linux_Buildroot_System_Development_Guide.pdf RK3399_Linux_Buildroot_System_Development_Guide] #[[Media:RK3399_Multimedia_Codec_Benchmark_v1.0.pdf|RK3399 Multimedia Codec Benchmark]] = Software = == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" style="line-height: 1.6; width: 768px;" class="table_style" |- ! style="width: 119px; text-align: center;" | '''board''' ! style="width: 172px; text-align: center;" | '''kernel''' ! style="width: 124px; text-align: center;" | '''uboot''' ! style="width: 310px; text-align: center;" | '''dts''' |- | style="width: 119px; text-align: center;" | rk3399-excavator | style="width: 172px; text-align: center;" | rockchip_linux_defconfig | style="width: 124px; text-align: center;" | rk3399_linux_defconfig | style="width: 310px; text-align: center;" | rk3399-sapphire-excavator-linux.dts |} == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" style="width: 859px;" class="table_style" |- ! style="width: 68px; text-align: center;" | '''chip''' ! style="width: 181px; text-align: center;" | '''Kernel eMMC index''' ! style="width: 142px; text-align: center;" | '''Kernel SD index''' ! style="width: 158px; text-align: center;" | '''Uboot eMMC index''' ! style="width: 146px; text-align: center;" | '''Uboot SD index''' ! style="width: 132px; text-align: center;" | '''Baud speed''' |- | style="width: 68px; text-align: center;" | RK3399 | style="width: 181px; text-align: center;" | 1 | style="width: 142px; text-align: center;" | 0 | style="width: 158px; text-align: center;" | 0 | style="width: 146px; text-align: center;" | 1 | style="width: 132px; text-align: center;" | 1500000 |} == How to get the sources == The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code. RK3399 optimized Debian & Buildroot <pre>repo init -u https://github.com/rockchip-linux/manifests -m rk3399.xml repo sync </pre> == How to build the sources == === Build Environment === You need a 64-bit&nbsp;Ubuntu. Note: old versions&nbsp;Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;"><br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so</div> Install&nbsp;ARM cross-compile tool chain and compile kernel relative&nbsp;software package:&nbsp; <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">$ sudo apt-get install gcc-arm-linux-gnueabihf&nbsp;gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev</div> === Building kernel &&nbsp;resource === For RK3399&nbsp;Excavator-sapphire&nbsp;board: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd kernel && make ARCH=arm64 rockchip_linux_defconfig && make ARCH=arm64 rk3399-sapphire-excavator-linux.img -j12 && cd ..</div> For&nbsp;Firefly-RK3399 board: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd kernel && make ARCH=arm64 rockchip_linux_defconfig && make ARCH=arm64 rk3399-firefly-mini-linux.img -j12 && cd ..</div> === Building uboot === For RK3399 optimized SDK (rkproduct uboot) <pre>cd u-boot && make rk3399_linux_defconfig && make ARCHV=aarch64 -j12 && cd .. </pre> === Building rootfs === ==== Debian ==== You could refer to [[Media:RK3399_Linux_Debian_System_Development_Guide.pdf|RK3399 Linux Debian System Development Guide]]&nbsp;from Rockchip to build rootfs yourselves. ==== Buildroot ==== <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd buildroot && make rockchip_rk3399_defconfig && cd .. && ./build_all.sh -j12 && ./mkfirmware.sh&nbsp;</div> In order to get more details,you could refer to [[Media:RK3399_Linux_Buildroot_System_Development_Guide.pdf|RK3399 Linux Buildroot System Development Guide]]. &nbsp; = Devices = Rockchip: [[Excavator_sapphire_board|Excavator_sapphire_board]] Firefly: [http://wiki.t-firefly.com/index.php/Firefly-RK3399 Firefly-RK3399] If you need the rk3399-excavator&nbsp;board, please communicate through&nbsp;the following&nbsp;contact information: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">Telephone: 4007700590 &nbsp; &nbsp; &nbsp; &nbsp;Email: service@rock-chips.com</div> If you need the Firefly-RK3399 board,you can browse the following url&nbsp;for more details: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">[http://wiki.t-firefly.com/index.php/Firefly-RK3399 http://wiki.t-firefly.com/index.php/Firefly-RK3399]</div> = See also = [[RK3288|RK3288]] [[RK3328|RK3328]] &nbsp; = References = [https://en.wikipedia.org/wiki/ARM_Cortex-A72 https://en.wikipedia.org/wiki/ARM_Cortex-A72] [http://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html http://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html] [https://www.arm.com/zh/products/multimedia/mali-gpu/high-performance/mali-t860-t880.php https://www.arm.com/zh/products/multimedia/mali-gpu/high-performance/mali-t860-t880.php] 538a1f3a9fdc72c02aa9355befb95dc4a0f7aaf0 865 824 2017-03-22T01:40:48Z Karen 3 wikitext text/x-wiki Rockchip RK3399 SoC integrates&nbsp;dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor, and with&nbsp;ARM Mali-T864 GPU. {| border="0" cellpadding="1" cellspacing="1" class="infobox" style="width: 300px;" |- | [[File:RK3399 Soc.png|RTENOTITLE]] |} = Overview = RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications. &nbsp; = SoC Features = {| border="0" cellpadding="1" cellspacing="1" style="width: 972px;" |- | style="width: 530px;" | *CPU: **Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU **Frequency is over 1.8GHz (Big cluster) **L1 cache ***48KB Icache and 32KB Dcache for each A72 ***32KB Icache and 32KB Dcache for each A53 **L2 cache ***1024KB for big cluster ***512KB for little cluster *Internal SRAM **192KB total **4KB used by bootrom when bootup *GPU: **&nbsp;Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11 **Supports AFBC (ARM Frame Buffer Compression) *Display: **Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600 **Dual channel MIPI-DSI (4 lanes per channel) **eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR **HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2 **DisplayPort 1.2 (4 lanes, up to 4K 60Hz) **Supports Rec.2020 and conversion to Rec.709 *Camera: **&nbsp;Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels *Memory: **Dual channels 64-bit DRAM controller **Support DDR3/DDR3L, LPDDR3, LPDDR4 *Connectivity: **PCIe 2.1 (4 full-duplex lanes with 20Gbps) **Embedded low power MCU for other application **8 channels I2S supports 8 channels RX or 8 channels TX | style="width: 429px;" | [[File:RK3399 Block Diagram.png|RTENOTITLE]] |} = Documentation = #[http://opensource.rock-chips.com/images/6/60/Rockchip_RK3399_Datasheet_V1.6-20170301.pdf Rockchip_RK3399_Datasheet_V1.6-20170301.pdf] #[http://opensource.rock-chips.com/wiki_File:RK3399_Linux_Debian_System_Development_Guide.pdf RK3399 Linux Debian System Development Guide.pdf] #[http://10.10.10.12:8444/images/7/7e/RK3399_Linux_Buildroot_System_Development_Guide.pdf RK3399_Linux_Buildroot_System_Development_Guide] #[[Media:RK3399_Multimedia_Codec_Benchmark_v1.0.pdf|RK3399 Multimedia Codec Benchmark]] = Software = == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" style="line-height: 1.6; width: 768px;" class="table_style" |- ! style="width: 119px; text-align: center;" | '''board''' ! style="width: 172px; text-align: center;" | '''kernel''' ! style="width: 124px; text-align: center;" | '''uboot''' ! style="width: 310px; text-align: center;" | '''dts''' |- | style="width: 119px; text-align: center;" | rk3399-excavator | style="width: 172px; text-align: center;" | rockchip_linux_defconfig | style="width: 124px; text-align: center;" | rk3399_linux_defconfig | style="width: 310px; text-align: center;" | rk3399-sapphire-excavator-linux.dts |} == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" style="width: 859px;" class="table_style" |- ! style="width: 68px; text-align: center;" | '''chip''' ! style="width: 181px; text-align: center;" | '''Kernel eMMC index''' ! style="width: 142px; text-align: center;" | '''Kernel SD index''' ! style="width: 158px; text-align: center;" | '''Uboot eMMC index''' ! style="width: 146px; text-align: center;" | '''Uboot SD index''' ! style="width: 132px; text-align: center;" | '''Baud speed''' |- | style="width: 68px; text-align: center;" | RK3399 | style="width: 181px; text-align: center;" | 1 | style="width: 142px; text-align: center;" | 0 | style="width: 158px; text-align: center;" | 0 | style="width: 146px; text-align: center;" | 1 | style="width: 132px; text-align: center;" | 1500000 |} == How to get the sources == The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code. RK3399 optimized Debian & Buildroot <pre>repo init -u https://github.com/rockchip-linux/manifests -m rk3399.xml repo sync </pre> == How to build the sources == === Build Environment === You need a 64-bit&nbsp;Ubuntu. Note: old versions&nbsp;Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;"><br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so</div> Install&nbsp;ARM cross-compile tool chain and compile kernel relative&nbsp;software package:&nbsp; <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">$ sudo apt-get install gcc-arm-linux-gnueabihf&nbsp;gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev</div> === Building kernel &&nbsp;resource === For RK3399&nbsp;Excavator-sapphire&nbsp;board: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd kernel && make ARCH=arm64 rockchip_linux_defconfig && make ARCH=arm64 rk3399-sapphire-excavator-linux.img -j12 && cd ..</div> For&nbsp;Firefly-RK3399 board: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd kernel && make ARCH=arm64 rockchip_linux_defconfig && make ARCH=arm64 rk3399-firefly-mini-linux.img -j12 && cd ..</div> === Building uboot === For RK3399 optimized SDK (rkproduct uboot) <pre>cd u-boot && make rk3399_linux_defconfig && make ARCHV=aarch64 -j12 && cd .. </pre> === Building rootfs === ==== Debian ==== You could refer to [[Media:RK3399_Linux_Debian_System_Development_Guide.pdf|RK3399 Linux Debian System Development Guide]]&nbsp;from Rockchip to build rootfs yourselves. ==== Buildroot ==== <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd buildroot && make rockchip_rk3399_defconfig && cd .. && ./build_all.sh -j12 && ./mkfirmware.sh&nbsp;</div> In order to get more details,you could refer to [[Media:RK3399_Linux_Buildroot_System_Development_Guide.pdf|RK3399 Linux Buildroot System Development Guide]]. &nbsp; = Devices = Rockchip: [[Excavator_sapphire_board|Excavator_sapphire_board]] Firefly: [http://wiki.t-firefly.com/index.php/Firefly-RK3399 Firefly-RK3399] If you need the rk3399-excavator&nbsp;board, please communicate through&nbsp;the following&nbsp;contact information: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">Telephone: 4007700590 &nbsp; &nbsp; &nbsp; &nbsp;Email: service@rock-chips.com</div> If you need the Firefly-RK3399 board,you can browse the following url&nbsp;for more details: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">[http://wiki.t-firefly.com/index.php/Firefly-RK3399 http://wiki.t-firefly.com/index.php/Firefly-RK3399]</div> = See also = [[RK3288|RK3288]] [[RK3328|RK3328]] &nbsp; = References = [https://en.wikipedia.org/wiki/ARM_Cortex-A72 https://en.wikipedia.org/wiki/ARM_Cortex-A72] [http://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html http://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html] [https://www.arm.com/zh/products/multimedia/mali-gpu/high-performance/mali-t860-t880.php https://www.arm.com/zh/products/multimedia/mali-gpu/high-performance/mali-t860-t880.php] c2a5c2c0adef8f698a84669b99d342b6aba1b576 866 865 2017-03-22T01:41:27Z Karen 3 wikitext text/x-wiki Rockchip RK3399 SoC integrates&nbsp;dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor, and with&nbsp;ARM Mali-T864 GPU. {| border="0" cellpadding="1" cellspacing="1" class="infobox" style="width: 300px;" |- | [[File:RK3399 Soc.png|RTENOTITLE]] |} = Overview = RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications. &nbsp; = SoC Features = {| border="0" cellpadding="1" cellspacing="1" style="width: 972px;" |- | style="width: 530px;" | *CPU: **Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU **Frequency is over 1.8GHz (Big cluster) **L1 cache ***48KB Icache and 32KB Dcache for each A72 ***32KB Icache and 32KB Dcache for each A53 **L2 cache ***1024KB for big cluster ***512KB for little cluster *Internal SRAM **192KB total **4KB used by bootrom when bootup *GPU: **&nbsp;Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11 **Supports AFBC (ARM Frame Buffer Compression) *Display: **Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600 **Dual channel MIPI-DSI (4 lanes per channel) **eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR **HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2 **DisplayPort 1.2 (4 lanes, up to 4K 60Hz) **Supports Rec.2020 and conversion to Rec.709 *Camera: **&nbsp;Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels *Memory: **Dual channels 64-bit DRAM controller **Support DDR3/DDR3L, LPDDR3, LPDDR4 *Connectivity: **PCIe 2.1 (4 full-duplex lanes with 20Gbps) **Embedded low power MCU for other application **8 channels I2S supports 8 channels RX or 8 channels TX | style="width: 429px;" | [[File:RK3399 Block Diagram.png|RTENOTITLE]] |} = Documentation = #[http://opensource.rock-chips.com/images/6/60/Rockchip_RK3399_Datasheet_V1.6-20170301.pdf Rockchip_RK3399_Datasheet_V1.6-20170301.pdf] #[http://opensource.rock-chips.com/wiki_File:RK3399_Linux_Debian_System_Development_Guide.pdf RK3399 Linux Debian System Development Guide.pdf] #[http://opensource.rock-chips.com/wiki_File:RK3399_Linux_Buildroot_System_Development_Guide.pdf RK3399 Linux Buildroot System Development Guide.pdf] #[[Media:RK3399_Multimedia_Codec_Benchmark_v1.0.pdf|RK3399 Multimedia Codec Benchmark]] = Software = == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" style="line-height: 1.6; width: 768px;" class="table_style" |- ! style="width: 119px; text-align: center;" | '''board''' ! style="width: 172px; text-align: center;" | '''kernel''' ! style="width: 124px; text-align: center;" | '''uboot''' ! style="width: 310px; text-align: center;" | '''dts''' |- | style="width: 119px; text-align: center;" | rk3399-excavator | style="width: 172px; text-align: center;" | rockchip_linux_defconfig | style="width: 124px; text-align: center;" | rk3399_linux_defconfig | style="width: 310px; text-align: center;" | rk3399-sapphire-excavator-linux.dts |} == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" style="width: 859px;" class="table_style" |- ! style="width: 68px; text-align: center;" | '''chip''' ! style="width: 181px; text-align: center;" | '''Kernel eMMC index''' ! style="width: 142px; text-align: center;" | '''Kernel SD index''' ! style="width: 158px; text-align: center;" | '''Uboot eMMC index''' ! style="width: 146px; text-align: center;" | '''Uboot SD index''' ! style="width: 132px; text-align: center;" | '''Baud speed''' |- | style="width: 68px; text-align: center;" | RK3399 | style="width: 181px; text-align: center;" | 1 | style="width: 142px; text-align: center;" | 0 | style="width: 158px; text-align: center;" | 0 | style="width: 146px; text-align: center;" | 1 | style="width: 132px; text-align: center;" | 1500000 |} == How to get the sources == The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code. RK3399 optimized Debian & Buildroot <pre>repo init -u https://github.com/rockchip-linux/manifests -m rk3399.xml repo sync </pre> == How to build the sources == === Build Environment === You need a 64-bit&nbsp;Ubuntu. Note: old versions&nbsp;Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;"><br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so</div> Install&nbsp;ARM cross-compile tool chain and compile kernel relative&nbsp;software package:&nbsp; <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">$ sudo apt-get install gcc-arm-linux-gnueabihf&nbsp;gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev</div> === Building kernel &&nbsp;resource === For RK3399&nbsp;Excavator-sapphire&nbsp;board: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd kernel && make ARCH=arm64 rockchip_linux_defconfig && make ARCH=arm64 rk3399-sapphire-excavator-linux.img -j12 && cd ..</div> For&nbsp;Firefly-RK3399 board: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd kernel && make ARCH=arm64 rockchip_linux_defconfig && make ARCH=arm64 rk3399-firefly-mini-linux.img -j12 && cd ..</div> === Building uboot === For RK3399 optimized SDK (rkproduct uboot) <pre>cd u-boot && make rk3399_linux_defconfig && make ARCHV=aarch64 -j12 && cd .. </pre> === Building rootfs === ==== Debian ==== You could refer to [[Media:RK3399_Linux_Debian_System_Development_Guide.pdf|RK3399 Linux Debian System Development Guide]]&nbsp;from Rockchip to build rootfs yourselves. ==== Buildroot ==== <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd buildroot && make rockchip_rk3399_defconfig && cd .. && ./build_all.sh -j12 && ./mkfirmware.sh&nbsp;</div> In order to get more details,you could refer to [[Media:RK3399_Linux_Buildroot_System_Development_Guide.pdf|RK3399 Linux Buildroot System Development Guide]]. &nbsp; = Devices = Rockchip: [[Excavator_sapphire_board|Excavator_sapphire_board]] Firefly: [http://wiki.t-firefly.com/index.php/Firefly-RK3399 Firefly-RK3399] If you need the rk3399-excavator&nbsp;board, please communicate through&nbsp;the following&nbsp;contact information: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">Telephone: 4007700590 &nbsp; &nbsp; &nbsp; &nbsp;Email: service@rock-chips.com</div> If you need the Firefly-RK3399 board,you can browse the following url&nbsp;for more details: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">[http://wiki.t-firefly.com/index.php/Firefly-RK3399 http://wiki.t-firefly.com/index.php/Firefly-RK3399]</div> = See also = [[RK3288|RK3288]] [[RK3328|RK3328]] &nbsp; = References = [https://en.wikipedia.org/wiki/ARM_Cortex-A72 https://en.wikipedia.org/wiki/ARM_Cortex-A72] [http://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html http://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html] [https://www.arm.com/zh/products/multimedia/mali-gpu/high-performance/mali-t860-t880.php https://www.arm.com/zh/products/multimedia/mali-gpu/high-performance/mali-t860-t880.php] 1aaa601899e4c4ae27002d13122419142661400e 867 866 2017-03-22T01:42:16Z Karen 3 wikitext text/x-wiki Rockchip RK3399 SoC integrates&nbsp;dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor, and with&nbsp;ARM Mali-T864 GPU. {| border="0" cellpadding="1" cellspacing="1" class="infobox" style="width: 300px;" |- | [[File:RK3399 Soc.png|RTENOTITLE]] |} = Overview = RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications. &nbsp; = SoC Features = {| border="0" cellpadding="1" cellspacing="1" style="width: 972px;" |- | style="width: 530px;" | *CPU: **Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU **Frequency is over 1.8GHz (Big cluster) **L1 cache ***48KB Icache and 32KB Dcache for each A72 ***32KB Icache and 32KB Dcache for each A53 **L2 cache ***1024KB for big cluster ***512KB for little cluster *Internal SRAM **192KB total **4KB used by bootrom when bootup *GPU: **&nbsp;Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11 **Supports AFBC (ARM Frame Buffer Compression) *Display: **Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600 **Dual channel MIPI-DSI (4 lanes per channel) **eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR **HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2 **DisplayPort 1.2 (4 lanes, up to 4K 60Hz) **Supports Rec.2020 and conversion to Rec.709 *Camera: **&nbsp;Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels *Memory: **Dual channels 64-bit DRAM controller **Support DDR3/DDR3L, LPDDR3, LPDDR4 *Connectivity: **PCIe 2.1 (4 full-duplex lanes with 20Gbps) **Embedded low power MCU for other application **8 channels I2S supports 8 channels RX or 8 channels TX | style="width: 429px;" | [[File:RK3399 Block Diagram.png|RTENOTITLE]] |} = Documentation = #[http://opensource.rock-chips.com/images/6/60/Rockchip_RK3399_Datasheet_V1.6-20170301.pdf Rockchip_RK3399_Datasheet_V1.6-20170301.pdf] #[http://opensource.rock-chips.com/wiki_File:RK3399_Linux_Debian_System_Development_Guide.pdf RK3399 Linux Debian System Development Guide.pdf] #[http://opensource.rock-chips.com/images/7/7e/RK3399_Linux_Buildroot_System_Development_Guide.pdf RK3399_Linux_Buildroot_System_Development_Guide.pdf] #[http://opensource.rock-chips.com/images/2/20/RK3399_Multimedia_Codec_Benchmark_v1.0.pdf RK3399_Multimedia_Codec_Benchmark_v1.0.pdf] = Software = == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" style="line-height: 1.6; width: 768px;" class="table_style" |- ! style="width: 119px; text-align: center;" | '''board''' ! style="width: 172px; text-align: center;" | '''kernel''' ! style="width: 124px; text-align: center;" | '''uboot''' ! style="width: 310px; text-align: center;" | '''dts''' |- | style="width: 119px; text-align: center;" | rk3399-excavator | style="width: 172px; text-align: center;" | rockchip_linux_defconfig | style="width: 124px; text-align: center;" | rk3399_linux_defconfig | style="width: 310px; text-align: center;" | rk3399-sapphire-excavator-linux.dts |} == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" style="width: 859px;" class="table_style" |- ! style="width: 68px; text-align: center;" | '''chip''' ! style="width: 181px; text-align: center;" | '''Kernel eMMC index''' ! style="width: 142px; text-align: center;" | '''Kernel SD index''' ! style="width: 158px; text-align: center;" | '''Uboot eMMC index''' ! style="width: 146px; text-align: center;" | '''Uboot SD index''' ! style="width: 132px; text-align: center;" | '''Baud speed''' |- | style="width: 68px; text-align: center;" | RK3399 | style="width: 181px; text-align: center;" | 1 | style="width: 142px; text-align: center;" | 0 | style="width: 158px; text-align: center;" | 0 | style="width: 146px; text-align: center;" | 1 | style="width: 132px; text-align: center;" | 1500000 |} == How to get the sources == The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code. RK3399 optimized Debian & Buildroot <pre>repo init -u https://github.com/rockchip-linux/manifests -m rk3399.xml repo sync </pre> == How to build the sources == === Build Environment === You need a 64-bit&nbsp;Ubuntu. Note: old versions&nbsp;Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;"><br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so</div> Install&nbsp;ARM cross-compile tool chain and compile kernel relative&nbsp;software package:&nbsp; <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">$ sudo apt-get install gcc-arm-linux-gnueabihf&nbsp;gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev</div> === Building kernel &&nbsp;resource === For RK3399&nbsp;Excavator-sapphire&nbsp;board: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd kernel && make ARCH=arm64 rockchip_linux_defconfig && make ARCH=arm64 rk3399-sapphire-excavator-linux.img -j12 && cd ..</div> For&nbsp;Firefly-RK3399 board: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd kernel && make ARCH=arm64 rockchip_linux_defconfig && make ARCH=arm64 rk3399-firefly-mini-linux.img -j12 && cd ..</div> === Building uboot === For RK3399 optimized SDK (rkproduct uboot) <pre>cd u-boot && make rk3399_linux_defconfig && make ARCHV=aarch64 -j12 && cd .. </pre> === Building rootfs === ==== Debian ==== You could refer to [[Media:RK3399_Linux_Debian_System_Development_Guide.pdf|RK3399 Linux Debian System Development Guide]]&nbsp;from Rockchip to build rootfs yourselves. ==== Buildroot ==== <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd buildroot && make rockchip_rk3399_defconfig && cd .. && ./build_all.sh -j12 && ./mkfirmware.sh&nbsp;</div> In order to get more details,you could refer to [[Media:RK3399_Linux_Buildroot_System_Development_Guide.pdf|RK3399 Linux Buildroot System Development Guide]]. &nbsp; = Devices = Rockchip: [[Excavator_sapphire_board|Excavator_sapphire_board]] Firefly: [http://wiki.t-firefly.com/index.php/Firefly-RK3399 Firefly-RK3399] If you need the rk3399-excavator&nbsp;board, please communicate through&nbsp;the following&nbsp;contact information: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">Telephone: 4007700590 &nbsp; &nbsp; &nbsp; &nbsp;Email: service@rock-chips.com</div> If you need the Firefly-RK3399 board,you can browse the following url&nbsp;for more details: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">[http://wiki.t-firefly.com/index.php/Firefly-RK3399 http://wiki.t-firefly.com/index.php/Firefly-RK3399]</div> = See also = [[RK3288|RK3288]] [[RK3328|RK3328]] &nbsp; = References = [https://en.wikipedia.org/wiki/ARM_Cortex-A72 https://en.wikipedia.org/wiki/ARM_Cortex-A72] [http://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html http://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html] [https://www.arm.com/zh/products/multimedia/mali-gpu/high-performance/mali-t860-t880.php https://www.arm.com/zh/products/multimedia/mali-gpu/high-performance/mali-t860-t880.php] 0e77c71560dfeb94c9178d563b3cfbdca1dc8590 Template:Infobox SoC 10 43 831 739 2017-03-21T03:52:00Z Admin 1 wikitext text/x-wiki <includeonly><table class="infobox" cellspacing="5" style="width:300px;"> <tr><th colspan="2" class="" style="text-align:center; font-size:125%; font-weight:bold; background: #c1d7ea;">{{{title}}}</th></tr> <tr class=""><td colspan="2" class="" style="text-align:center;"> {{{image}}}</td></tr> <tr class=""><th scope="row" style="text-align:left;">Manufacturer</th><td class="" style=""> {{{manufacturer}}}</td></tr> <tr class=""><th scope="row" style="text-align:left;">Process</th><td class="" style=""> {{{process}}}</td></tr> <tr class=""><th scope="row" style="text-align:left;">CPU</th><td class="" style=""> {{{cpu}}}</td></tr> <tr class=""><th scope="row" style="text-align:left;">Memory</th><td class="" style=""> {{{memory}}}</td></tr> <tr class=""><th scope="row" style="text-align:left;">GPU</th><td class="" style=""> {{{gpu}}}</td></tr> {{#if:{{{vpu|}}}|<tr class=""><th scope="row" style="text-align:left;">VPU</th><td class="" style=""> {{{vpu}}}</td></tr>}} <tr><th colspan="2" class="" style="text-align:center; background: #c1d7ea;">Connectivity</th></tr> <tr class=""><th scope="row" style="text-align:left;">Video</th><td class="" style=""> {{{video}}}</td></tr> <tr class=""><th scope="row" style="text-align:left;">Audio</th><td class="" style=""> {{{audio}}}</td></tr> <tr class=""><th scope="row" style="text-align:left;">Storage</th><td class="" style=""> {{{storage}}}</td></tr> {{#if:{{{Connectivity|}}}|<tr class=""><th scope="row" style="text-align:left;">Connectivity</th><td class="" style=""> {{{Connectivity}}}</td></tr>}} {{#if:{{{Interface|}}}|<tr class=""><th scope="row" style="text-align:left;">Interface</th><td class="" style=""> {{{Interface}}}</td></tr>}} {{#if:{{{usb|}}}|<tr class=""><th scope="row" style="text-align:left;">USB</th><td class="" style=""> {{{usb}}}</td></tr>}} {{#if:{{{release_date|}}}|<tr class=""><th scope="row" style="text-align:left;">Release Date</th><td class="" style=""> {{{release_date}}}</td></tr>}} {{#if:{{{website|}}}|<tr class=""><th scope="row" style="text-align:left;">Website</th><td class="" style=""> [{{{website}}} Product Page]}} </td></tr> </table></includeonly> abde088a3f3d2bc64fd64a62d17493a107bfdb1f Rockchip Kernel 0 104 836 737 2017-03-21T03:57:57Z Admin 1 wikitext text/x-wiki = Download Kernel = You can clone the rockchip kernel repository from github which is kernel 4.4 based: <pre>git clone https://github.com/rockchip-linux/kernel.git</pre> = Supported SoCs and Devices = Rockchip kernel 4.4 supports: RK3036, RK3066, RK312X, RK3188, RK322X,[[RK3288|RK3288]], [[RK3328]], RK3368, [[RK3399]] = Configure and Build = You will need to use rockchip_linux_defconfig for Linux OS For ARM v7 <pre>make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- rockchip_linux_defconfig make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- -j4 </pre> For ARM V8 <pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- -j4</pre> Then you can get Image/zImage and dtb file. = Install Boot/kernel = We use distro boot in U-Boot, so we need to make a boot partition for U-Boot with kernel image and dtb inside. <pre>mkdir boot cp arch/arm64/boot/dts/rockchip/rockchip/rk3399-evb.dtb boot/rk3399.dtb cp arch/arm64/boot/Image boot/</pre> Add extlinux/extlinux.conf for distro boot. <pre>mkdir boot/extlinux vi boot/extlinux/extlinux.conf</pre> &nbsp; <pre>lable rockchip-kernel-4.4 kernel /Image fdt /rk3399.dtb append earlycon=uart8250,mmio,0xff1a0000 root=dev/mmcblk1p7 rootwait rootfstype=ext4 init=/sbin/init</pre> You need to change the base address of debug UART, root partition for your board. Pls reference to [[Partitions|rockchip Linux parttion definition]]&nbsp;for rootfs partition and where boot to flash. After all these file prepare complete, we write the file to the boot partition == Generate ext2fs&nbsp;boot partition == by genext2fs: <pre>genext2fs -b 32768 -B $((32*1024*1024/32768)) -d boot/ -i 8192 -U boot_rk3399.img</pre> According to Rockchip partition definition, you need to flash this image to boot partiton which offset is 0x8000. dd this image to sd card, see [[Sd_boot|sd_boot]], or write to emmc with rkdeveloptool, see [[Emmc_boot|emmc_boot]]. == generate fatfs boot partition == === Via U-Boot in target === After flash and&nbsp;boot the U-Boot, write the gpt table from default partition table <pre>gpt write mmc 1 $partitions gpt verify mmc 1 $partitions</pre> connect target to PC and start the ums in command line: <pre>ums 0 mmc 1:6</pre> We should able to see a device connect to PC, formate and copy data into the partition(dev/sdb6 for example). <pre>sudo mkfs.fat /dev/sdb6 cp -r boot/* /media/machine/9F35-9565/</pre> === Generae boot.img in fatfs === Below commands can generate a fatfs boot.img <pre>dd if=/dev/zero of=boot.img bs=1M count=32 sudo mkfs.fat boot.img mkdir tmp sudo mount boot.img tmp/ cp -r boot/* tmp/ umount tmp</pre> Done! Flash this boot.img to boot partition, which is offset 0x8000 in Rockchip partition definition. == Boot from U-Boot == If everything is OK, you should able to see the U-Boot log like this: <pre>switch to partitions #0, OK mmc0(part 0) is current device Scanning mmc 0:6... Found /extlinux/extlinux.conf Retrieving file: /extlinux/extlinux.conf 205 bytes read in 82 ms (2 KiB/s) 1: upstream-4.10 Retrieving file: /Image 13484040 bytes read in 1833 ms (7 MiB/s) append: earlycon=uart8250,mmio32,0xff1a0000 console=ttyS2,1500000n8 rw root=/dev/mmcblk0p7 rootwait rootfstype=ext4 init=/sbin/init Retrieving file: /rk3399.dtb 61714 bytes read in 54 ms (1.1 MiB/s) ## Flattened Device Tree blob at 01f00000 Booting using the fdt blob at 0x1f00000 Loading Device Tree to 000000007df14000, end 000000007df26111 ... OK Starting kernel ... </pre> 87310eac6b31a3d5edbb172fcdf7900c8678e446 837 836 2017-03-21T04:00:11Z Admin 1 wikitext text/x-wiki = Download Kernel = You can clone the rockchip kernel repository from github which is kernel 4.4 based: <pre>git clone https://github.com/rockchip-linux/kernel.git</pre> = Supported SoCs and Devices = Rockchip kernel 4.4 supports: RK3036, RK3066, RK312X, RK3188, RK322X,[[RK3288|RK3288]], [[RK3328]], RK3368, [[RK3399]] = Configure and Build = You will need to use rockchip_linux_defconfig for Linux OS For ARM v7 <pre>make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- rockchip_linux_defconfig make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- -j4 </pre> For ARM V8 <pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- -j4</pre> Then you can get Image/zImage and dtb file. = Install Boot/kernel = We use distro boot in U-Boot, so we need to make a boot partition for U-Boot with kernel image and dtb inside. <pre>mkdir boot cp arch/arm64/boot/dts/rockchip/rockchip/rk3399-evb.dtb boot/rk3399.dtb cp arch/arm64/boot/Image boot/</pre> Add extlinux/extlinux.conf for distro boot. <pre>mkdir boot/extlinux vi boot/extlinux/extlinux.conf</pre> &nbsp; <pre>lable rockchip-kernel-4.4 kernel /Image fdt /rk3399.dtb append earlycon=uart8250,mmio,0xff1a0000 root=dev/mmcblk1p7 rootwait rootfstype=ext4 init=/sbin/init</pre> You need to change the base address of debug UART, root partition for your board. Pls reference to [[Partitions|rockchip Linux parttion definition]]&nbsp;for rootfs partition and where boot to flash. After all these file prepare complete, we write the file to the boot partition == Generate ext2fs&nbsp;boot partition == by genext2fs: <pre>genext2fs -b 32768 -B $((32*1024*1024/32768)) -d boot/ -i 8192 -U boot_rk3399.img</pre> According to Rockchip partition definition, you need to flash this image to boot partiton which offset is 0x8000. dd this image to sd card, see [[Sd_boot|sd_boot]], or write to emmc with rkdeveloptool, see [[Emmc_boot|emmc_boot]]. == generate fatfs boot partition == === Via U-Boot in target === After flash and&nbsp;boot the U-Boot, write the gpt table from default partition table <pre>gpt write mmc 1 $partitions gpt verify mmc 1 $partitions</pre> connect target to PC and start the ums in command line: <pre>ums 0 mmc 1:6</pre> We should able to see a device connect to PC, formate and copy data into the partition(dev/sdb6 for example). <pre>sudo mkfs.fat /dev/sdb6 cp -r boot/* /media/machine/9F35-9565/</pre> === Generae boot.img in fatfs === Below commands can generate a fatfs boot.img <pre>dd if=/dev/zero of=boot.img bs=1M count=32 sudo mkfs.fat boot.img mkdir tmp sudo mount boot.img tmp/ cp -r boot/* tmp/ umount tmp</pre> Done! Flash this boot.img to boot partition, which is offset 0x8000 in Rockchip partition definition. == Boot from U-Boot == If you are using genext2fs to genarate the boot.img, you need write the gpt table in U-Boot command line: <pre>gpt write mmc 1 $partitions</pre> Then boot from eMMC or reset: <pre>boot</pre> If everything is OK, you should able to see the U-Boot log like this: <pre>switch to partitions #0, OK mmc0(part 0) is current device Scanning mmc 0:6... Found /extlinux/extlinux.conf Retrieving file: /extlinux/extlinux.conf 205 bytes read in 82 ms (2 KiB/s) 1: upstream-4.10 Retrieving file: /Image 13484040 bytes read in 1833 ms (7 MiB/s) append: earlycon=uart8250,mmio32,0xff1a0000 console=ttyS2,1500000n8 rw root=/dev/mmcblk0p7 rootwait rootfstype=ext4 init=/sbin/init Retrieving file: /rk3399.dtb 61714 bytes read in 54 ms (1.1 MiB/s) ## Flattened Device Tree blob at 01f00000 Booting using the fdt blob at 0x1f00000 Loading Device Tree to 000000007df14000, end 000000007df26111 ... OK Starting kernel ... </pre> 4238d59ff9887972234a5ed1537b467d60392c1e 857 837 2017-03-21T14:15:35Z Kever 2 wikitext text/x-wiki = Download Kernel = You can clone the rockchip kernel repository from github which is kernel 4.4 based: <pre>git clone https://github.com/rockchip-linux/kernel.git</pre> = Supported SoCs and Devices = Rockchip kernel 4.4 supports: RK3036, RK3066, RK312X, RK3188, RK322X,[[RK3288|RK3288]], [[RK3328]], RK3368, [[RK3399]] = Configure and Build = You will need to use rockchip_linux_defconfig for Linux OS For ARM v7 <pre>make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- rockchip_linux_defconfig make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- -j4 </pre> For ARM V8 <pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- -j4</pre> Then you can get Image/zImage and dtb file. = Install Boot/kernel = We use distro boot in U-Boot, so we need to make a boot partition for U-Boot with kernel image and dtb inside. <pre>mkdir boot cp arch/arm64/boot/dts/rockchip/rockchip/rk3399-evb.dtb boot/rk3399.dtb cp arch/arm64/boot/Image boot/</pre> Add extlinux/extlinux.conf for distro boot. <pre>mkdir boot/extlinux vi boot/extlinux/extlinux.conf</pre> &nbsp; <pre>lable rockchip-kernel-4.4 kernel /Image fdt /rk3399.dtb append earlycon=uart8250,mmio,0xff1a0000 root=dev/mmcblk1p7 rootwait rootfstype=ext4 init=/sbin/init</pre> You need to change the base address of debug UART, root partition for your board. Pls reference to [[Partitions|rockchip Linux parttion definition]]&nbsp;for rootfs partition and where boot to flash. After all these file prepare complete, we write the file to the boot partition == Generate ext2fs&nbsp;boot partition == by genext2fs: <pre>genext2fs -b 32768 -B $((32*1024*1024/32768)) -d boot/ -i 8192 -U boot_rk3399.img</pre> According to Rockchip partition definition, you need to flash this image to boot partiton which offset is 0x8000. == generate fatfs boot partition == === Via U-Boot in target === After flash and&nbsp;boot the U-Boot, write the gpt table from default partition table <pre>gpt write mmc 1 $partitions gpt verify mmc 1 $partitions</pre> connect target to PC and start the ums in command line: <pre>ums 0 mmc 1:6</pre> We should able to see a device connect to PC, formate and copy data into the partition(dev/sdb6 for example). <pre>sudo mkfs.fat /dev/sdb6 cp -r boot/* /media/machine/9F35-9565/</pre> === Generae boot.img in fatfs === Below commands can generate a fatfs boot.img <pre>dd if=/dev/zero of=boot.img bs=1M count=32 sudo mkfs.fat boot.img mkdir tmp sudo mount boot.img tmp/ cp -r boot/* tmp/ umount tmp</pre> Done! Flash this boot.img to boot partition, which is offset 0x8000 in Rockchip partition definition. == Boot from U-Boot == If you are using genext2fs to genarate the boot.img, you need write the gpt table in U-Boot command line: <pre>gpt write mmc 1 $partitions</pre> Then boot from eMMC or reset: <pre>boot</pre> If everything is OK, you should able to see the U-Boot log like this: <pre>switch to partitions #0, OK mmc0(part 0) is current device Scanning mmc 0:6... Found /extlinux/extlinux.conf Retrieving file: /extlinux/extlinux.conf 205 bytes read in 82 ms (2 KiB/s) 1: upstream-4.10 Retrieving file: /Image 13484040 bytes read in 1833 ms (7 MiB/s) append: earlycon=uart8250,mmio32,0xff1a0000 console=ttyS2,1500000n8 rw root=/dev/mmcblk0p7 rootwait rootfstype=ext4 init=/sbin/init Retrieving file: /rk3399.dtb 61714 bytes read in 54 ms (1.1 MiB/s) ## Flattened Device Tree blob at 01f00000 Booting using the fdt blob at 0x1f00000 Loading Device Tree to 000000007df14000, end 000000007df26111 ... OK Starting kernel ... </pre> 9d7b06b12d5c3d02394170c76d5a8a339fe86f6c File:Rk3288 hardware reference.zip 6 123 839 2017-03-21T06:12:40Z Kever 2 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 File:Rk3328 hardware reference.zip 6 124 840 2017-03-21T06:12:54Z Kever 2 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 Excavator sapphire board 0 59 844 637 2017-03-21T06:16:18Z Kever 2 wikitext text/x-wiki {{Infobox | image = [[File:RK3399 Excavator Board.jpg |500px]] }} = Rockchip github = You can download code from github: <!--StartFragment --> repo&nbsp;init&nbsp;-u&nbsp;[https://github.com/rockchip-linux/manifests https://github.com/rockchip-linux/manifests]&nbsp;-m&nbsp;rk3399.xml<br/> repo&nbsp;sync = Upstream&nbsp; &nbsp; = WIP... = Documentation = [[Media:RK3399_EVB_User_Guide-20160920.pdf|RK3399 EVB User Guide]] [[Media:Design_documents.rar|Design documents]] [[Media:Component_datasheet.rar|Component datasheet]] == RK3399 Excavator EVB == [[Media:RK_Excavator_MainBoard.rar|RK_Excavator_MainBoard]] [[Media:RK_Excavator_ExtBoard_MipiDisplay.rar|RK_Excavator_ExtBoard_MipiDisplay]] [[Media:RK_Sapphire_RK3399.rar|RK_Sapphire_RK3399]] = Image = &nbsp;You can download image directly from below link if available. &nbsp; = See also = Firefly: [http://wiki.t-firefly.com/index.php/Firefly-RK3399 Firefly-RK3399] = References = &nbsp;&nbsp;http://www.rock-chips.com/a/en/News/Press_Releases/2017/0224/832.html e252f4a78c6a00b32b7a39669a4db765139f3a5e Boot option 0 116 852 777 2017-03-21T12:43:59Z Kever 2 wikitext text/x-wiki &nbsp; = overview = First, let's make the concept clear, there are many boot stages when we boot up a Linux OS. Here is a table show the detail what we may use in Rockchip platform, for 2 boot stage: - optionally&nbsp;can use U-Boot SPL; - &nbsp;or use Rockchp idbLoader which is combinded by Rockchip ddr init bin and miniloader bin; <pre>+--------+----------------+----------+-----------+ | Boot | Terminology #1 | Actual | Rockchip | | stage | | program | Loader | | number | | name | Name | +--------+----------------+----------+-----------+ | 1 | Primary | ROM code | BootRom | | | Program | | | | | Loader | | | | | | | | | 2 | Secondary | U-Boot | idbLoader | | | Program | SPL | | | | Loader (SPL) | | | | | | | | | 3 | - | U-Boot | U-Boot | | | | | | | | | | | | 4 | - | kernel | kernel | | | | | | | 5 | - | rootfs | rootfs | +--------+----------------+----------+-----------+ </pre> Then when we talking about boot from eMMC/SD/U-Disk/net, they are in different concept: *Stage 1 is always in boot rom, it loads stage 2 and may load stage 3(when SPL_BACK_TO_BROM option enabled). *Boot from SPI flash means firmware for stage 2 and 3(SPL and U-Boot only) in SPI flash and stage 4/5 in other place; *Boot from eMMC means all the firmware(including stage 2, 3, 4, 5) in eMMC; *Boot from SD card means all the firmware(including stage 2, 3, 4, 5) in SD card; *Boot from U-Disk means firmware for stage 4 and 5(not including SPL and U-Boot) in Disk, optionally only including stage 5; *Boot from net/tftp means firmeware for stage 4 and 5(not including SPL and U-Boot) on the network; == Boot from eMMC == === &nbsp;To get tool and firmware === [[Rkdevelptool|tools]] === Flash&nbsp;to the board by USB === In order to&nbsp;flash&nbsp;by USB,you must get your board into ROM boot mode, either by erasing<br/> your MMC or holding the maskrom button when you boot the board. &nbsp; ==== RK3288(upgrade_tool) ==== To create a suitable image and flash&nbsp;it to the board:<br/> default&nbsp;: with CONFIG_ROCKCHIP_SPL_BACK_TO_BROM <pre>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin out<br/> cat u-boot-dtb.bin >> out<br/> sudo upgrade_tool db&nbsp; ../rkbin/rk32/RK3288UbootLoader_V2.30.06.bin<br/> sudo upgrade_tool wl 64 out<br/> sudo upgrade_tool rd</pre> <br/> others&nbsp;: firefly(Recommend using sd card) &nbsp; &nbsp; ==== RK3036 ==== To create a suitable image and flash&nbsp;it to the board: <pre>tools/mkimage -n rk3036 -T rksd -d spl/u-boot-spl-dtb.bin out cat u-boot-dtb.bin >> out sudo upgrade_tool db ../rkbin/rk30/RK3036MiniLoaderAll_V2.19.bin sudo upgrade_tool wl 64 out sudo upgrade_tool rd </pre> &nbsp; ==== RK3399 ==== <pre>cd .. ./rkbin/tools/trust_merger ./rkbin/tools/RK3399TRUST.ini cd uboot ../rkbin/tools/loaderimage --pack --uboot u-boot-dtb.bin uboot.img sudo upgrade_tool UL ../rkbin/rk33/RK3399MiniLoaderAll_V1.05.bin sudo upgrade_tool DI uboot uboot.img ../rkbin/tools/rk3399_parameter.txt sudo upgrade_tool DI trust ../trust.img ../rkbin/tools/rk3399_parameter.txt sudo upgrade_tool rd </pre> &nbsp; &nbsp; &nbsp; &nbsp; === &nbsp;To flash kernel and rootfs === Enter into the uboot and issue the following command on uboot: (otg should be connected) <pre>gpt write mmc 0 $partitions ums 0 mmc 0 </pre> <br/> Now the board will act as an USB-drive.<br/> In host: (assuming sdb is ur device) <pre>sudo mkfs.fat /dev/sdb6 </pre> <br/> Copy zimage and dts file to dev/sdb6 <pre>cp arch/arm/boot/zImage /media/chen/9F35-9565/ cp arch/arm/boot/dts/rk3288-fennec.dtb /media/chen/9F35-9565/rk3288-fennec.dtb </pre> Add extlinux/extlinux.conf to dev/sdb6<br/> (Please notice "mmcblk2p7" and "115200n8" is decide on your chip, Please refer to &nbsp;[[Linux_user_guide|Linux_user_guide]]) <pre>label kernel-4.4 kernel /zImage fdt /rk3288-fennec.dtb append earlyprintk console=tty1 console=ttyS2,115200n8 rw root=/dev/mmcblk2p7 rootfstype=ext4 init=/sbin/init </pre> <br/> To flash rootfs <pre>sudo dd if=linaro-rootfs.img of=/dev/sdb7 conv=notrunc</pre> &nbsp; == Boot from SD/TF Card == === Creating Image === Follow [[Linux_user_guide|Linux user guide to]] build kernel and U-Boot.<br/> get uboot-spl.img and u-boot-dtb.img <pre>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin uboot-spl.img </pre> &nbsp; === <br/> <var>build boot.img</var> === <pre>sudo dd if=/dev/zero of=boot.img bs=1M count=128 sudo mkfs.fat boot.img mkdir boot sudo mount boot.img boot sudo cp zImage boot sudo cp rk3288-fennec.dtb boot sudo mkdir boot/extlinux sudo cp extlinux.conf boot/extlinux sudo umount boot </pre> Download rootfs image and rename it <pre>mv linaro-rootfs.img rootfs.img </pre> &nbsp; === Making a SD Card for updating === Download&nbsp;[https://github.com/wzyy2/rk-initrd-build ramdisk source]&nbsp;and build. <pre>sh ./mk-initrd.sh </pre> Format SD card <pre>chen@chen-HP-ProDesk-680-G1-TWR:~/work/linaro-alip/ramdisk/update$ sudo gdisk /dev/sdb GPT fdisk (gdisk) version 0.8.8 Partition table scan: MBR: protective BSD: not present APM: not present GPT: present Found valid GPT with protective MBR; using GPT. Command (? for help): o This option deletes all partitions and creates a new protective MBR. Proceed? (Y/N): y Command (? for help): n Partition number (1-128, default 1): 1 First sector (34-126613470, default = 2048) or {+-}size{KMGTP}: 8192 Last sector (8192-126613470, default = 126613470) or {+-}size{KMGTP}: Current type is 'Linux filesystem' Hex code or GUID (L to show codes, Enter = 8300): Changed type of partition to 'Linux filesystem' Command (? for help): w Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING PARTITIONS!! Do you want to proceed? (Y/N): y OK; writing new GUID partition table (GPT) to /dev/sdc. Warning: The kernel is still using the old partition table. The new table will be used at the next reboot. The operation has completed successfully. </pre> <pre>sudo umount /dev/sdb1 sudo mkfs.fat /dev/sdb1 </pre> <pre>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin out&& sudo dd if=out of=/dev/sdb seek=64&&sudo dd if=u-boot-dtb.img of=/dev/sdb seek=256 </pre> Copy zimage, dts and ramdisk to /dev/sdb1 <pre>cp arch/arm/boot/zImage /media/chen/9F35-9565/ cp arch/arm/boot/dts/rk3288-fennec.dtb /media/chen/9F35-9565/rk3288-fennec.dtb cp ../rk-initrd-build/initrd.img /media/chen/9F35-9565/ </pre> Add extlinux/extlinux.conf to /dev/sdb1 <pre>label kernel-4.4 kernel /zImage fdt /rk3288-fennec.dtb initrd /initrd.img append earlyprintk console=ttyS2,115200n8 rw root=/dev/ram0 rootfstype=ext4 init=/sbin/init ramdisk_size=49152 </pre> Copy u-boot-dtb.img uboot-spl.img boot.img rootfs.img and&nbsp;[https://github.com/wzyy2/rk-initrd-build/blob/master/update/update.sh update.sh]&nbsp;to /dev/sdb1 <pre>mkdir /media/chen/9F35-9565/update cp u-boot-dtb.img /media/chen/9F35-9565/update cp uboot-spl.img /media/chen/9F35-9565/update cp boot.img /media/chen/9F35-9565/update cp rootfs.img /media/chen/9F35-9565/update cp update.sh /media/chen/9F35-9565/update </pre> === Updating the board === Boot the board and it will flash image to eMMC &nbsp; == Boot from USB-Disk == Same as&nbsp;[[#Boot_from_SD.2FTF_Card|boot-from-sdcard]], but please note that U-Boot aren't allowed to boot from usb-disk because of restrict of maskrom, only kernel and rootfs can load from USB-Disk. Difference: <pre>label kernel-4.4 kernel /zImage fdt /rk3288-fennec.dtb append earlyprintk console=ttyS2,115200n8 rw root=/dev/sda1 rootfstype=ext4 init=/sbin/init </pre> <pre>gpt write usb 0 $partitions ums 0 usb 0 </pre> = Boot from Network = &nbsp; 3be3497fd0ad3b2f703174eef85280bf70e0b4be 853 852 2017-03-21T13:41:29Z Kever 2 wikitext text/x-wiki &nbsp; = overview = First, let's make the concept clear, there are many boot stages when we boot up a Linux OS. Here is a table show the detail what we may use in Rockchip platform, for 2 boot stage: - optionally&nbsp;can use U-Boot SPL; - &nbsp;or use Rockchp idbLoader which is combinded by Rockchip ddr init bin and miniloader bin; <pre>+--------+----------------+----------+-----------+ | Boot | Terminology #1 | Actual | Rockchip | | stage | | program | Loader | | number | | name | Name | +--------+----------------+----------+-----------+ | 1 | Primary | ROM code | BootRom | | | Program | | | | | Loader | | | | | | | | | 2 | Secondary | U-Boot | idbLoader | 0x40 | | Program | SPL | | | | Loader (SPL) | | | | | | | | | 3 | - | U-Boot | U-Boot | 0x4000 | | | | | | | | | | | 4 | - | kernel | kernel | 0x8000 | | | | | | 5 | - | rootfs | rootfs | 0x40000 +--------+----------------+----------+-----------+ </pre> Then when we talking about boot from eMMC/SD/U-Disk/net, they are in different concept: *Stage 1 is always in boot rom, it loads stage 2 and may load stage 3(when SPL_BACK_TO_BROM option enabled). *Boot from SPI flash means firmware for stage 2 and 3(SPL and U-Boot only) in SPI flash and stage 4/5 in other place; *Boot from eMMC means all the firmware(including stage 2, 3, 4, 5) in eMMC; *Boot from SD card means all the firmware(including stage 2, 3, 4, 5) in SD card; *Boot from U-Disk means firmware for stage 4 and 5(not including SPL and U-Boot) in Disk, optionally only including stage 5; *Boot from net/tftp means firmeware for stage 4 and 5(not including SPL and U-Boot) on the network; == Package option == After we know about the boot stages, then we need to know about how the image should packaged, where and how the image write to media. Here are the file list before package for stage 2~4: From source code: u-boot-spl.bin, u-boot.bin(may use u-boot-nodtb.bin and u-boot.dtb instead), kernel Image/zImage file, kernel dtb, bl31.bin; From Rockchip binary: prefix wich chip rkxx_ and postfix with version _x.xx.bin, ddr, usbplug, miniloader, bl31; After package: === idbspl.img === <pre>mkimage -n rkxxxx -T rksd -d spl/u-boot-spl.bin idbspl.img</pre> Flash the idbspl.img to offset 0x40 which only including stage 2, and need flash stage 3 &nbsp;image to 0x200(which is defineded by CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR), the stage 3 image may be&nbsp;u-boot.bin directly(when there no ATF requirement), or FIT image bl3.itb(for ATF load from SPL, including bl31.bin, u-boot-nodtb.bin and u-boot.dtb). === idbloader.img === Package the image from U-Boot source: <pre>tools/mkimage -n rkxxxx -T rksd -d spl/u-boot-spl.bin idbloader.img cat u-boot.bin >> idbloader.img</pre> Flash the idbloader.img to offset 0x40 which including boot stage 2 and 3. &nbsp; Package the image from Rockchip binary: <pre>tools/mkimage -n rkxxxx -T rksd -d rkxx_ddr_vx.xx.bin idbloader.img cat rkxx_miniloader_vx.xx.bin >> idbloader.img</pre> Flash the idbloader.img to offset 0x40 which including stage 2, and you will need a uboot.img for boot stage 3. === bl3.itb === <pre>tools/mkimage -f fit4spl.its -E bl3.itb </pre> Flash the bl3.itb to offset 0x200 when using SPL to load the ATF. === uboot.img === <pre>tools/loaderimage --pack --uboot u-boot.bin uboot.img</pre> Flash the uboot.img to offset 0x4000 which is stage 3 for using Rockchip miniloader; === trust.img === <pre>tools/trustmerge tools/rk_tools/RKTRUST_RKXXXXTRUST.ini</pre> Flash the trust.img to offset 0x6000 which is for using Rockchip miniloader === rkxx_loader_vx.xx.xxx.bin === This is provide by Rockchip in binary mode, which is used for firmware upgrade and also including idbloader inside. == Boot from eMMC == === &nbsp;To get tool and firmware === [[Rkdevelptool|tools]] === Flash&nbsp;to the board by USB === In order to&nbsp;flash&nbsp;by USB,you must get your board into ROM boot mode, either by erasing<br/> your MMC or holding the maskrom button when you boot the board. &nbsp; ==== RK3288(upgrade_tool) ==== To create a suitable image and flash&nbsp;it to the board:<br/> default&nbsp;: with CONFIG_ROCKCHIP_SPL_BACK_TO_BROM <pre>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin out<br/> cat u-boot-dtb.bin >> out<br/> sudo upgrade_tool db&nbsp; ../rkbin/rk32/RK3288UbootLoader_V2.30.06.bin<br/> sudo upgrade_tool wl 64 out<br/> sudo upgrade_tool rd</pre> <br/> others&nbsp;: firefly(Recommend using sd card) &nbsp; &nbsp; ==== RK3036 ==== To create a suitable image and flash&nbsp;it to the board: <pre>tools/mkimage -n rk3036 -T rksd -d spl/u-boot-spl-dtb.bin out cat u-boot-dtb.bin >> out sudo upgrade_tool db ../rkbin/rk30/RK3036MiniLoaderAll_V2.19.bin sudo upgrade_tool wl 64 out sudo upgrade_tool rd </pre> &nbsp; ==== RK3399 ==== <pre>cd .. ./rkbin/tools/trust_merger ./rkbin/tools/RK3399TRUST.ini cd uboot ../rkbin/tools/loaderimage --pack --uboot u-boot-dtb.bin uboot.img sudo upgrade_tool UL ../rkbin/rk33/RK3399MiniLoaderAll_V1.05.bin sudo upgrade_tool DI uboot uboot.img ../rkbin/tools/rk3399_parameter.txt sudo upgrade_tool DI trust ../trust.img ../rkbin/tools/rk3399_parameter.txt sudo upgrade_tool rd </pre> &nbsp; &nbsp; &nbsp; &nbsp; === &nbsp;To flash kernel and rootfs === Enter into the uboot and issue the following command on uboot: (otg should be connected) <pre>gpt write mmc 0 $partitions ums 0 mmc 0 </pre> <br/> Now the board will act as an USB-drive.<br/> In host: (assuming sdb is ur device) <pre>sudo mkfs.fat /dev/sdb6 </pre> <br/> Copy zimage and dts file to dev/sdb6 <pre>cp arch/arm/boot/zImage /media/chen/9F35-9565/ cp arch/arm/boot/dts/rk3288-fennec.dtb /media/chen/9F35-9565/rk3288-fennec.dtb </pre> Add extlinux/extlinux.conf to dev/sdb6<br/> (Please notice "mmcblk2p7" and "115200n8" is decide on your chip, Please refer to &nbsp;[[Linux_user_guide|Linux_user_guide]]) <pre>label kernel-4.4 kernel /zImage fdt /rk3288-fennec.dtb append earlyprintk console=tty1 console=ttyS2,115200n8 rw root=/dev/mmcblk2p7 rootfstype=ext4 init=/sbin/init </pre> <br/> To flash rootfs <pre>sudo dd if=linaro-rootfs.img of=/dev/sdb7 conv=notrunc</pre> &nbsp; == Boot from SD/TF Card == === Creating Image === Follow [[Linux_user_guide|Linux user guide to]] build kernel and U-Boot.<br/> get uboot-spl.img and u-boot-dtb.img <pre>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin uboot-spl.img </pre> &nbsp; === <br/> <var>build boot.img</var> === <pre>sudo dd if=/dev/zero of=boot.img bs=1M count=128 sudo mkfs.fat boot.img mkdir boot sudo mount boot.img boot sudo cp zImage boot sudo cp rk3288-fennec.dtb boot sudo mkdir boot/extlinux sudo cp extlinux.conf boot/extlinux sudo umount boot </pre> Download rootfs image and rename it <pre>mv linaro-rootfs.img rootfs.img </pre> &nbsp; === Making a SD Card for updating === Download&nbsp;[https://github.com/wzyy2/rk-initrd-build ramdisk source]&nbsp;and build. <pre>sh ./mk-initrd.sh </pre> Format SD card <pre>chen@chen-HP-ProDesk-680-G1-TWR:~/work/linaro-alip/ramdisk/update$ sudo gdisk /dev/sdb GPT fdisk (gdisk) version 0.8.8 Partition table scan: MBR: protective BSD: not present APM: not present GPT: present Found valid GPT with protective MBR; using GPT. Command (? for help): o This option deletes all partitions and creates a new protective MBR. Proceed? (Y/N): y Command (? for help): n Partition number (1-128, default 1): 1 First sector (34-126613470, default = 2048) or {+-}size{KMGTP}: 8192 Last sector (8192-126613470, default = 126613470) or {+-}size{KMGTP}: Current type is 'Linux filesystem' Hex code or GUID (L to show codes, Enter = 8300): Changed type of partition to 'Linux filesystem' Command (? for help): w Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING PARTITIONS!! Do you want to proceed? (Y/N): y OK; writing new GUID partition table (GPT) to /dev/sdc. Warning: The kernel is still using the old partition table. The new table will be used at the next reboot. The operation has completed successfully. </pre> <pre>sudo umount /dev/sdb1 sudo mkfs.fat /dev/sdb1 </pre> <pre>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin out&& sudo dd if=out of=/dev/sdb seek=64&&sudo dd if=u-boot-dtb.img of=/dev/sdb seek=256 </pre> Copy zimage, dts and ramdisk to /dev/sdb1 <pre>cp arch/arm/boot/zImage /media/chen/9F35-9565/ cp arch/arm/boot/dts/rk3288-fennec.dtb /media/chen/9F35-9565/rk3288-fennec.dtb cp ../rk-initrd-build/initrd.img /media/chen/9F35-9565/ </pre> Add extlinux/extlinux.conf to /dev/sdb1 <pre>label kernel-4.4 kernel /zImage fdt /rk3288-fennec.dtb initrd /initrd.img append earlyprintk console=ttyS2,115200n8 rw root=/dev/ram0 rootfstype=ext4 init=/sbin/init ramdisk_size=49152 </pre> Copy u-boot-dtb.img uboot-spl.img boot.img rootfs.img and&nbsp;[https://github.com/wzyy2/rk-initrd-build/blob/master/update/update.sh update.sh]&nbsp;to /dev/sdb1 <pre>mkdir /media/chen/9F35-9565/update cp u-boot-dtb.img /media/chen/9F35-9565/update cp uboot-spl.img /media/chen/9F35-9565/update cp boot.img /media/chen/9F35-9565/update cp rootfs.img /media/chen/9F35-9565/update cp update.sh /media/chen/9F35-9565/update </pre> === Updating the board === Boot the board and it will flash image to eMMC &nbsp; == Boot from USB-Disk == Same as&nbsp;[[#Boot_from_SD.2FTF_Card|boot-from-sdcard]], but please note that U-Boot aren't allowed to boot from usb-disk because of restrict of maskrom, only kernel and rootfs can load from USB-Disk. Difference: <pre>label kernel-4.4 kernel /zImage fdt /rk3288-fennec.dtb append earlyprintk console=ttyS2,115200n8 rw root=/dev/sda1 rootfstype=ext4 init=/sbin/init </pre> <pre>gpt write usb 0 $partitions ums 0 usb 0 </pre> = Boot from Network = &nbsp; 348832da5b48f06391f79bd3d2aa607db5951e6a 854 853 2017-03-21T14:02:40Z Kever 2 wikitext text/x-wiki &nbsp; &nbsp; = Boot introduce = &nbsp; First, let's make the concept clear, there are many boot stages when we boot up a Linux OS; Then we need to know about how the image should packaged, where&nbsp;the image locate; At lase, we will explain how to write to different&nbsp;media and boot from there. == Boot stage == Here is a table show the detail what we may use in Rockchip platform, for 2 boot stage: - optionally&nbsp;can use U-Boot SPL; - &nbsp;or use Rockchp idbLoader which is combinded by Rockchip ddr init bin and miniloader bin; <pre>+--------+----------------+----------+-----------+ | Boot | Terminology #1 | Actual | Rockchip | | stage | | program | Loader | | number | | name | Name | +--------+----------------+----------+-----------+ | 1 | Primary | ROM code | BootRom | | | Program | | | | | Loader | | | | | | | | | 2 | Secondary | U-Boot | idbLoader | 0x40 | | Program | SPL | | | | Loader (SPL) | | | | | | | | | 3 | - | U-Boot | U-Boot | 0x4000 | | | | | | | | | | | 4 | - | kernel | kernel | 0x8000 | | | | | | 5 | - | rootfs | rootfs | 0x40000 +--------+----------------+----------+-----------+ </pre> Then when we talking about boot from eMMC/SD/U-Disk/net, they are in different concept: *Stage 1 is always in boot rom, it loads stage 2 and may load stage 3(when SPL_BACK_TO_BROM option enabled). *Boot from SPI flash means firmware for stage 2 and 3(SPL and U-Boot only) in SPI flash and stage 4/5 in other place; *Boot from eMMC means all the firmware(including stage 2, 3, 4, 5) in eMMC; *Boot from SD card means all the firmware(including stage 2, 3, 4, 5) in SD card; *Boot from U-Disk means firmware for stage 4 and 5(not including SPL and U-Boot) in Disk, optionally only including stage 5; *Boot from net/tftp means firmeware for stage 4 and 5(not including SPL and U-Boot) on the network; == Package option == After we know about the boot stages, Here are the file list before package for stage 2~4: *From source code: **From U-Boot: u-boot-spl.bin, u-boot.bin(may use u-boot-nodtb.bin and u-boot.dtb instead), **From kernel: kernel Image/zImage file, kernel dtb, **From ATF: bl31.bin; *From Rockchip binary: **ddr, usbplug, miniloader, bl31, (all with&nbsp;chip 'rkxx_'&nbsp; prefix and with version '_x.xx.bin' postfix); Here are the types to&nbsp;package image from those files: === idbspl.img === U-Boot SPL, with&nbsp;SPL_BACK_TO_BROM option '''disabled'''. <pre>mkimage -n rkxxxx -T rksd -d spl/u-boot-spl.bin idbspl.img</pre> Flash the idbspl.img to offset 0x40 which only including stage 2, and need flash stage 3 &nbsp;image to 0x200(which is defineded by CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR), the stage 3 image may be&nbsp;u-boot.bin directly(when there no ATF requirement), or FIT image bl3.itb(for ATF load from SPL, including bl31.bin, u-boot-nodtb.bin and u-boot.dtb). === idbloader.img === U-Boot SPL, with&nbsp;SPL_BACK_TO_BROM option '''enabled''': <pre>tools/mkimage -n rkxxxx -T rksd -d spl/u-boot-spl.bin idbloader.img cat u-boot.bin >> idbloader.img</pre> Flash the idbloader.img to offset 0x40 which including boot stage 2 and 3. Package the image from Rockchip binary: <pre>tools/mkimage -n rkxxxx -T rksd -d rkxx_ddr_vx.xx.bin idbloader.img cat rkxx_miniloader_vx.xx.bin >> idbloader.img</pre> Flash the idbloader.img to offset 0x40 which including stage 2, and you will need a uboot.img for boot stage 3. === bl3.itb === When using SPL to load the ATF, package the bl31.bin, u-boot-nodtb.bin and uboot.dtb into one FIT image. <pre>tools/mkimage -f fit4spl.its -E bl3.itb </pre> Flash the bl3.itb to offset 0x200, while&nbsp;need idbspl.img flasht to offset 0x40. === uboot.img === When using idbLoader from&nbsp;Rockchip miniloader, need package u-boot.bin into miniloader loadable format by Rockchip tool loaderimage. <pre>tools/loaderimage --pack --uboot u-boot.bin uboot.img</pre> Flash the uboot.img to offset 0x4000 which is stage 3; === trust.img === When using idbLoader from&nbsp;Rockchip miniloader, need package bl31.bin into miniloader loadable format by Rockchip tool trustmerge. <pre>tools/trustmerge tools/rk_tools/RKTRUST_RKXXXXTRUST.ini</pre> Flash the trust.img to offset 0x6000 which is for using Rockchip miniloader === rkxx_loader_vx.xx.xxx.bin === This is provide by Rockchip in binary mode, which is used for firmware upgrade to eMMC with [[Rkdevelptool|rkdeveloptool]]. = Flash and boot from Media device = Here we introduce how to write image to different Medeia device. == Boot from eMMC == === &nbsp;To get tool&nbsp; === [[Rkdevelptool|tools]] === Flash&nbsp;to the board by USB === In order to&nbsp;flash&nbsp;by USB,you must get your board into ROM boot mode, either by erasing<br/> your MMC or holding the maskrom button when you boot the board. &nbsp; ==== RK3288(upgrade_tool) ==== To create a suitable image and flash&nbsp;it to the board:<br/> default&nbsp;: with CONFIG_ROCKCHIP_SPL_BACK_TO_BROM <pre>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin out<br/> cat u-boot-dtb.bin >> out<br/> sudo upgrade_tool db&nbsp; ../rkbin/rk32/RK3288UbootLoader_V2.30.06.bin<br/> sudo upgrade_tool wl 64 out<br/> sudo upgrade_tool rd</pre> <br/> others&nbsp;: firefly(Recommend using sd card) &nbsp; &nbsp; ==== RK3036 ==== To create a suitable image and flash&nbsp;it to the board: <pre>tools/mkimage -n rk3036 -T rksd -d spl/u-boot-spl-dtb.bin out cat u-boot-dtb.bin >> out sudo upgrade_tool db ../rkbin/rk30/RK3036MiniLoaderAll_V2.19.bin sudo upgrade_tool wl 64 out sudo upgrade_tool rd </pre> &nbsp; ==== RK3399 ==== <pre>cd .. ./rkbin/tools/trust_merger ./rkbin/tools/RK3399TRUST.ini cd uboot ../rkbin/tools/loaderimage --pack --uboot u-boot-dtb.bin uboot.img sudo upgrade_tool UL ../rkbin/rk33/RK3399MiniLoaderAll_V1.05.bin sudo upgrade_tool DI uboot uboot.img ../rkbin/tools/rk3399_parameter.txt sudo upgrade_tool DI trust ../trust.img ../rkbin/tools/rk3399_parameter.txt sudo upgrade_tool rd </pre> &nbsp; &nbsp; &nbsp; &nbsp; === &nbsp;To flash kernel and rootfs === Enter into the uboot and issue the following command on uboot: (otg should be connected) <pre>gpt write mmc 0 $partitions ums 0 mmc 0 </pre> <br/> Now the board will act as an USB-drive.<br/> In host: (assuming sdb is ur device) <pre>sudo mkfs.fat /dev/sdb6 </pre> <br/> Copy zimage and dts file to dev/sdb6 <pre>cp arch/arm/boot/zImage /media/chen/9F35-9565/ cp arch/arm/boot/dts/rk3288-fennec.dtb /media/chen/9F35-9565/rk3288-fennec.dtb </pre> Add extlinux/extlinux.conf to dev/sdb6<br/> (Please notice "mmcblk2p7" and "115200n8" is decide on your chip, Please refer to &nbsp;[[Linux_user_guide|Linux_user_guide]]) <pre>label kernel-4.4 kernel /zImage fdt /rk3288-fennec.dtb append earlyprintk console=tty1 console=ttyS2,115200n8 rw root=/dev/mmcblk2p7 rootfstype=ext4 init=/sbin/init </pre> <br/> To flash rootfs <pre>sudo dd if=linaro-rootfs.img of=/dev/sdb7 conv=notrunc</pre> &nbsp; == Boot from SD/TF Card == === Creating Image === Follow [[Linux_user_guide|Linux user guide to]] build kernel and U-Boot.<br/> get uboot-spl.img and u-boot-dtb.img <pre>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin uboot-spl.img </pre> &nbsp; === <br/> <var>build boot.img</var> === <pre>sudo dd if=/dev/zero of=boot.img bs=1M count=128 sudo mkfs.fat boot.img mkdir boot sudo mount boot.img boot sudo cp zImage boot sudo cp rk3288-fennec.dtb boot sudo mkdir boot/extlinux sudo cp extlinux.conf boot/extlinux sudo umount boot </pre> Download rootfs image and rename it <pre>mv linaro-rootfs.img rootfs.img </pre> &nbsp; === Making a SD Card for updating === Download&nbsp;[https://github.com/wzyy2/rk-initrd-build ramdisk source]&nbsp;and build. <pre>sh ./mk-initrd.sh </pre> Format SD card <pre>chen@chen-HP-ProDesk-680-G1-TWR:~/work/linaro-alip/ramdisk/update$ sudo gdisk /dev/sdb GPT fdisk (gdisk) version 0.8.8 Partition table scan: MBR: protective BSD: not present APM: not present GPT: present Found valid GPT with protective MBR; using GPT. Command (? for help): o This option deletes all partitions and creates a new protective MBR. Proceed? (Y/N): y Command (? for help): n Partition number (1-128, default 1): 1 First sector (34-126613470, default = 2048) or {+-}size{KMGTP}: 8192 Last sector (8192-126613470, default = 126613470) or {+-}size{KMGTP}: Current type is 'Linux filesystem' Hex code or GUID (L to show codes, Enter = 8300): Changed type of partition to 'Linux filesystem' Command (? for help): w Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING PARTITIONS!! Do you want to proceed? (Y/N): y OK; writing new GUID partition table (GPT) to /dev/sdc. Warning: The kernel is still using the old partition table. The new table will be used at the next reboot. The operation has completed successfully. </pre> <pre>sudo umount /dev/sdb1 sudo mkfs.fat /dev/sdb1 </pre> <pre>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin out&& sudo dd if=out of=/dev/sdb seek=64&&sudo dd if=u-boot-dtb.img of=/dev/sdb seek=256 </pre> Copy zimage, dts and ramdisk to /dev/sdb1 <pre>cp arch/arm/boot/zImage /media/chen/9F35-9565/ cp arch/arm/boot/dts/rk3288-fennec.dtb /media/chen/9F35-9565/rk3288-fennec.dtb cp ../rk-initrd-build/initrd.img /media/chen/9F35-9565/ </pre> Add extlinux/extlinux.conf to /dev/sdb1 <pre>label kernel-4.4 kernel /zImage fdt /rk3288-fennec.dtb initrd /initrd.img append earlyprintk console=ttyS2,115200n8 rw root=/dev/ram0 rootfstype=ext4 init=/sbin/init ramdisk_size=49152 </pre> Copy u-boot-dtb.img uboot-spl.img boot.img rootfs.img and&nbsp;[https://github.com/wzyy2/rk-initrd-build/blob/master/update/update.sh update.sh]&nbsp;to /dev/sdb1 <pre>mkdir /media/chen/9F35-9565/update cp u-boot-dtb.img /media/chen/9F35-9565/update cp uboot-spl.img /media/chen/9F35-9565/update cp boot.img /media/chen/9F35-9565/update cp rootfs.img /media/chen/9F35-9565/update cp update.sh /media/chen/9F35-9565/update </pre> === Updating the board === Boot the board and it will flash image to eMMC &nbsp; == Boot from USB-Disk == Same as&nbsp;[[#Boot_from_SD.2FTF_Card|boot-from-sdcard]], but please note that U-Boot aren't allowed to boot from usb-disk because of restrict of maskrom, only kernel and rootfs can load from USB-Disk. Difference: <pre>label kernel-4.4 kernel /zImage fdt /rk3288-fennec.dtb append earlyprintk console=ttyS2,115200n8 rw root=/dev/sda1 rootfstype=ext4 init=/sbin/init </pre> <pre>gpt write usb 0 $partitions ums 0 usb 0 </pre> = Boot from Network = &nbsp; 968b529a8584d993882b4b25d3f3b76341b0379c 856 854 2017-03-21T14:13:27Z Kever 2 wikitext text/x-wiki &nbsp; &nbsp; = Boot introduce = &nbsp; First, let's make the concept clear, there are many boot stages when we boot up a Linux OS; Then we need to know about how the image should packaged, where&nbsp;the image locate; At lase, we will explain how to write to different&nbsp;media and boot from there. == Boot stage == Here is a table show the detail what we may use in Rockchip platform, for 2 boot stage: - optionally&nbsp;can use U-Boot SPL; - &nbsp;or use Rockchp idbLoader which is combinded by Rockchip ddr init bin and miniloader bin; <pre>+--------+----------------+----------+-----------+ | Boot | Terminology #1 | Actual | Rockchip | | stage | | program | Loader | | number | | name | Name | +--------+----------------+----------+-----------+ | 1 | Primary | ROM code | BootRom | | | Program | | | | | Loader | | | | | | | | | 2 | Secondary | U-Boot | idbLoader | 0x40 | | Program | SPL | | | | Loader (SPL) | | | | | | | | | 3 | - | U-Boot | U-Boot | 0x4000 | | | | | | | | | | | 4 | - | kernel | kernel | 0x8000 | | | | | | 5 | - | rootfs | rootfs | 0x40000 +--------+----------------+----------+-----------+ </pre> Then when we talking about boot from eMMC/SD/U-Disk/net, they are in different concept: *Stage 1 is always in boot rom, it loads stage 2 and may load stage 3(when SPL_BACK_TO_BROM option enabled). *Boot from SPI flash means firmware for stage 2 and 3(SPL and U-Boot only) in SPI flash and stage 4/5 in other place; *Boot from eMMC means all the firmware(including stage 2, 3, 4, 5) in eMMC; *Boot from SD card means all the firmware(including stage 2, 3, 4, 5) in SD card; *Boot from U-Disk means firmware for stage 4 and 5(not including SPL and U-Boot) in Disk, optionally only including stage 5; *Boot from net/tftp means firmeware for stage 4 and 5(not including SPL and U-Boot) on the network; == Package option == After we know about the boot stages, Here are the file list before package for stage 2~4: *From source code: **From U-Boot: u-boot-spl.bin, u-boot.bin(may use u-boot-nodtb.bin and u-boot.dtb instead), **From kernel: kernel Image/zImage file, kernel dtb, **From ATF: bl31.bin; *From Rockchip binary: **ddr, usbplug, miniloader, bl31, (all with&nbsp;chip 'rkxx_'&nbsp; prefix and with version '_x.xx.bin' postfix); Here are the types to&nbsp;package image from those files: === idbspl.img === U-Boot SPL, with&nbsp;SPL_BACK_TO_BROM option '''disabled'''. <pre>mkimage -n rkxxxx -T rksd -d spl/u-boot-spl.bin idbspl.img</pre> Flash the idbspl.img to offset 0x40 which only including stage 2, and need flash stage 3 &nbsp;image to 0x200(which is defineded by CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR), the stage 3 image may be&nbsp;u-boot.bin directly(when there no ATF requirement), or FIT image bl3.itb(for ATF load from SPL, including bl31.bin, u-boot-nodtb.bin and u-boot.dtb). === idbloader.img === U-Boot SPL, with&nbsp;SPL_BACK_TO_BROM option '''enabled''': <pre>tools/mkimage -n rkxxxx -T rksd -d spl/u-boot-spl.bin idbloader.img cat u-boot.bin >> idbloader.img</pre> Flash the idbloader.img to offset 0x40 which including boot stage 2 and 3. Package the image from Rockchip binary: <pre>tools/mkimage -n rkxxxx -T rksd -d rkxx_ddr_vx.xx.bin idbloader.img cat rkxx_miniloader_vx.xx.bin >> idbloader.img</pre> Flash the idbloader.img to offset 0x40 which including stage 2, and you will need a uboot.img for boot stage 3. === bl3.itb === When using SPL to load the ATF, package the bl31.bin, u-boot-nodtb.bin and uboot.dtb into one FIT image. <pre>tools/mkimage -f fit4spl.its -E bl3.itb </pre> Flash the bl3.itb to offset 0x200, while&nbsp;need idbspl.img flasht to offset 0x40. === uboot.img === When using idbLoader from&nbsp;Rockchip miniloader, need package u-boot.bin into miniloader loadable format by Rockchip tool loaderimage. <pre>tools/loaderimage --pack --uboot u-boot.bin uboot.img</pre> Flash the uboot.img to offset 0x4000 which is stage 3; === trust.img === When using idbLoader from&nbsp;Rockchip miniloader, need package bl31.bin into miniloader loadable format by Rockchip tool trustmerge. <pre>tools/trustmerge tools/rk_tools/RKTRUST_RKXXXXTRUST.ini</pre> Flash the trust.img to offset 0x6000 which is for using Rockchip miniloader === rkxx_loader_vx.xx.xxx.bin === This is provide by Rockchip in binary mode, which is used for firmware upgrade to eMMC with [[Rkdevelptool|rkdeveloptool]]. === boot.img === This image is package the kernel Image and dtb file into a know filesystem(FAT or EXT2) image for distro boot. See [[Rockchip_Kernel#Install_Boot.2Fkernel|Install kernel]] for detail about generate boot.img from kernel zImage/Image, dtb. Flash the boot.img to offset 0x8000 which is stage 4. === rootfs.img === Flash the rootfs.img to offset 0x40000 which is stage 5. = Flash and boot from Media device = Here we introduce how to write image to different Medeia device. == Boot from eMMC == === &nbsp;To get tool&nbsp; === [[Rkdevelptool|tools]] === Flash&nbsp;to the board by USB === In order to&nbsp;flash&nbsp;by USB,you must get your board into ROM boot mode, either by erasing<br/> your MMC or holding the maskrom button when you boot the board. &nbsp; ==== RK3288(upgrade_tool) ==== To create a suitable image and flash&nbsp;it to the board:<br/> default&nbsp;: with CONFIG_ROCKCHIP_SPL_BACK_TO_BROM <pre>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin out<br/> cat u-boot-dtb.bin >> out<br/> sudo upgrade_tool db&nbsp; ../rkbin/rk32/RK3288UbootLoader_V2.30.06.bin<br/> sudo upgrade_tool wl 64 out<br/> sudo upgrade_tool rd</pre> <br/> others&nbsp;: firefly(Recommend using sd card) &nbsp; &nbsp; ==== RK3036 ==== To create a suitable image and flash&nbsp;it to the board: <pre>tools/mkimage -n rk3036 -T rksd -d spl/u-boot-spl-dtb.bin out cat u-boot-dtb.bin >> out sudo upgrade_tool db ../rkbin/rk30/RK3036MiniLoaderAll_V2.19.bin sudo upgrade_tool wl 64 out sudo upgrade_tool rd </pre> &nbsp; ==== RK3399 ==== <pre>cd .. ./rkbin/tools/trust_merger ./rkbin/tools/RK3399TRUST.ini cd uboot ../rkbin/tools/loaderimage --pack --uboot u-boot-dtb.bin uboot.img sudo upgrade_tool UL ../rkbin/rk33/RK3399MiniLoaderAll_V1.05.bin sudo upgrade_tool DI uboot uboot.img ../rkbin/tools/rk3399_parameter.txt sudo upgrade_tool DI trust ../trust.img ../rkbin/tools/rk3399_parameter.txt sudo upgrade_tool rd </pre> &nbsp; &nbsp; &nbsp; &nbsp; === &nbsp;To flash kernel and rootfs === Enter into the uboot and issue the following command on uboot: (otg should be connected) <pre>gpt write mmc 0 $partitions ums 0 mmc 0 </pre> <br/> Now the board will act as an USB-drive.<br/> In host: (assuming sdb is ur device) <pre>sudo mkfs.fat /dev/sdb6 </pre> <br/> Copy zimage and dts file to dev/sdb6 <pre>cp arch/arm/boot/zImage /media/chen/9F35-9565/ cp arch/arm/boot/dts/rk3288-fennec.dtb /media/chen/9F35-9565/rk3288-fennec.dtb </pre> Add extlinux/extlinux.conf to dev/sdb6<br/> (Please notice "mmcblk2p7" and "115200n8" is decide on your chip, Please refer to &nbsp;[[Linux_user_guide|Linux_user_guide]]) <pre>label kernel-4.4 kernel /zImage fdt /rk3288-fennec.dtb append earlyprintk console=tty1 console=ttyS2,115200n8 rw root=/dev/mmcblk2p7 rootfstype=ext4 init=/sbin/init </pre> <br/> To flash rootfs <pre>sudo dd if=linaro-rootfs.img of=/dev/sdb7 conv=notrunc</pre> &nbsp; == Boot from SD/TF Card == === Creating Image === Follow [[Linux_user_guide|Linux user guide to]] build kernel and U-Boot.<br/> get uboot-spl.img and u-boot-dtb.img <pre>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin uboot-spl.img </pre> &nbsp; === <br/> <var>build boot.img</var> === <pre>sudo dd if=/dev/zero of=boot.img bs=1M count=128 sudo mkfs.fat boot.img mkdir boot sudo mount boot.img boot sudo cp zImage boot sudo cp rk3288-fennec.dtb boot sudo mkdir boot/extlinux sudo cp extlinux.conf boot/extlinux sudo umount boot </pre> Download rootfs image and rename it <pre>mv linaro-rootfs.img rootfs.img </pre> &nbsp; === Making a SD Card for updating === Download&nbsp;[https://github.com/wzyy2/rk-initrd-build ramdisk source]&nbsp;and build. <pre>sh ./mk-initrd.sh </pre> Format SD card <pre>chen@chen-HP-ProDesk-680-G1-TWR:~/work/linaro-alip/ramdisk/update$ sudo gdisk /dev/sdb GPT fdisk (gdisk) version 0.8.8 Partition table scan: MBR: protective BSD: not present APM: not present GPT: present Found valid GPT with protective MBR; using GPT. Command (? for help): o This option deletes all partitions and creates a new protective MBR. Proceed? (Y/N): y Command (? for help): n Partition number (1-128, default 1): 1 First sector (34-126613470, default = 2048) or {+-}size{KMGTP}: 8192 Last sector (8192-126613470, default = 126613470) or {+-}size{KMGTP}: Current type is 'Linux filesystem' Hex code or GUID (L to show codes, Enter = 8300): Changed type of partition to 'Linux filesystem' Command (? for help): w Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING PARTITIONS!! Do you want to proceed? (Y/N): y OK; writing new GUID partition table (GPT) to /dev/sdc. Warning: The kernel is still using the old partition table. The new table will be used at the next reboot. The operation has completed successfully. </pre> <pre>sudo umount /dev/sdb1 sudo mkfs.fat /dev/sdb1 </pre> <pre>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin out&& sudo dd if=out of=/dev/sdb seek=64&&sudo dd if=u-boot-dtb.img of=/dev/sdb seek=256 </pre> Copy zimage, dts and ramdisk to /dev/sdb1 <pre>cp arch/arm/boot/zImage /media/chen/9F35-9565/ cp arch/arm/boot/dts/rk3288-fennec.dtb /media/chen/9F35-9565/rk3288-fennec.dtb cp ../rk-initrd-build/initrd.img /media/chen/9F35-9565/ </pre> Add extlinux/extlinux.conf to /dev/sdb1 <pre>label kernel-4.4 kernel /zImage fdt /rk3288-fennec.dtb initrd /initrd.img append earlyprintk console=ttyS2,115200n8 rw root=/dev/ram0 rootfstype=ext4 init=/sbin/init ramdisk_size=49152 </pre> Copy u-boot-dtb.img uboot-spl.img boot.img rootfs.img and&nbsp;[https://github.com/wzyy2/rk-initrd-build/blob/master/update/update.sh update.sh]&nbsp;to /dev/sdb1 <pre>mkdir /media/chen/9F35-9565/update cp u-boot-dtb.img /media/chen/9F35-9565/update cp uboot-spl.img /media/chen/9F35-9565/update cp boot.img /media/chen/9F35-9565/update cp rootfs.img /media/chen/9F35-9565/update cp update.sh /media/chen/9F35-9565/update </pre> === Updating the board === Boot the board and it will flash image to eMMC &nbsp; == Boot from USB-Disk == Same as&nbsp;[[#Boot_from_SD.2FTF_Card|boot-from-sdcard]], but please note that U-Boot aren't allowed to boot from usb-disk because of restrict of maskrom, only kernel and rootfs can load from USB-Disk. Difference: <pre>label kernel-4.4 kernel /zImage fdt /rk3288-fennec.dtb append earlyprintk console=ttyS2,115200n8 rw root=/dev/sda1 rootfstype=ext4 init=/sbin/init </pre> <pre>gpt write usb 0 $partitions ums 0 usb 0 </pre> = Boot from Network = &nbsp; 436a3b194290b533070111a1d4a3666c0ea46993 858 856 2017-03-21T14:27:42Z Kever 2 wikitext text/x-wiki &nbsp; &nbsp; = Boot introduce = &nbsp; First, let's make the concept clear, there are many boot stages when we boot up a Linux OS; Then we need to know about how the image should packaged, where&nbsp;the image locate; At lase, we will explain how to write to different&nbsp;media and boot from there. == Boot stage == Here is a table show the detail what we may use in Rockchip platform, for 2 boot stage: - optionally&nbsp;can use U-Boot SPL; - &nbsp;or use Rockchp idbLoader which is combinded by Rockchip ddr init bin and miniloader bin; <pre>+--------+----------------+----------+-----------+ | Boot | Terminology #1 | Actual | Rockchip | | stage | | program | Loader | | number | | name | Name | +--------+----------------+----------+-----------+ | 1 | Primary | ROM code | BootRom | | | Program | | | | | Loader | | | | | | | | | 2 | Secondary | U-Boot | idbLoader | 0x40 | | Program | SPL | | | | Loader (SPL) | | | | | | | | | 3 | - | U-Boot | U-Boot | 0x4000 | | | | | | | | | | | 4 | - | kernel | kernel | 0x8000 | | | | | | 5 | - | rootfs | rootfs | 0x40000 +--------+----------------+----------+-----------+ </pre> Then when we talking about boot from eMMC/SD/U-Disk/net, they are in different concept: *Stage 1 is always in boot rom, it loads stage 2 and may load stage 3(when SPL_BACK_TO_BROM option enabled). *Boot from SPI flash means firmware for stage 2 and 3(SPL and U-Boot only) in SPI flash and stage 4/5 in other place; *Boot from eMMC means all the firmware(including stage 2, 3, 4, 5) in eMMC; *Boot from SD card means all the firmware(including stage 2, 3, 4, 5) in SD card; *Boot from U-Disk means firmware for stage 4 and 5(not including SPL and U-Boot) in Disk, optionally only including stage 5; *Boot from net/tftp means firmeware for stage 4 and 5(not including SPL and U-Boot) on the network; == Package option == After we know about the boot stages, Here are the file list before package for stage 2~4: *From source code: **From U-Boot: u-boot-spl.bin, u-boot.bin(may use u-boot-nodtb.bin and u-boot.dtb instead), **From kernel: kernel Image/zImage file, kernel dtb, **From ATF: bl31.bin; *From Rockchip binary: **ddr, usbplug, miniloader, bl31, (all with&nbsp;chip 'rkxx_'&nbsp; prefix and with version '_x.xx.bin' postfix); Here are the types to&nbsp;package image from those files: === idbspl.img === U-Boot SPL, with&nbsp;SPL_BACK_TO_BROM option '''disabled'''. <pre>mkimage -n rkxxxx -T rksd -d spl/u-boot-spl.bin idbspl.img</pre> Flash the idbspl.img to offset 0x40 which only including stage 2, and need flash stage 3 &nbsp;image to 0x200(which is defineded by CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR), the stage 3 image may be&nbsp;u-boot.bin directly(when there no ATF requirement), or FIT image bl3.itb(for ATF load from SPL, including bl31.bin, u-boot-nodtb.bin and u-boot.dtb). === idbloader.img === U-Boot SPL, with&nbsp;SPL_BACK_TO_BROM option '''enabled''': <pre>tools/mkimage -n rkxxxx -T rksd -d spl/u-boot-spl.bin idbloader.img cat u-boot.bin >> idbloader.img</pre> Flash the idbloader.img to offset 0x40 which including boot stage 2 and 3. Package the image from Rockchip binary: <pre>tools/mkimage -n rkxxxx -T rksd -d rkxx_ddr_vx.xx.bin idbloader.img cat rkxx_miniloader_vx.xx.bin >> idbloader.img</pre> Flash the idbloader.img to offset 0x40 which including stage 2, and you will need a uboot.img for boot stage 3. === bl3.itb === When using SPL to load the ATF, package the bl31.bin, u-boot-nodtb.bin and uboot.dtb into one FIT image. <pre>tools/mkimage -f fit4spl.its -E bl3.itb </pre> Flash the bl3.itb to offset 0x200, while&nbsp;need idbspl.img flasht to offset 0x40. === uboot.img === When using idbLoader from&nbsp;Rockchip miniloader, need package u-boot.bin into miniloader loadable format by Rockchip tool loaderimage. <pre>tools/loaderimage --pack --uboot u-boot.bin uboot.img</pre> Flash the uboot.img to offset 0x4000 which is stage 3; === trust.img === When using idbLoader from&nbsp;Rockchip miniloader, need package bl31.bin into miniloader loadable format by Rockchip tool trustmerge. <pre>tools/trustmerge tools/rk_tools/RKTRUST_RKXXXXTRUST.ini</pre> Flash the trust.img to offset 0x6000 which is for using Rockchip miniloader === rkxx_loader_vx.xx.xxx.bin === This is provide by Rockchip in binary mode, which is used for firmware upgrade to eMMC with [[Rkdevelptool|rkdeveloptool]]. === boot.img === This image is package the kernel Image and dtb file into a know filesystem(FAT or EXT2) image for distro boot. See [[Rockchip_Kernel#Install_Boot.2Fkernel|Install kernel]] for detail about generate boot.img from kernel zImage/Image, dtb. Flash the boot.img to offset 0x8000 which is stage 4. === rootfs.img === Flash the rootfs.img to offset 0x40000 which is stage 5. = Flash and boot from Media device = Here we introduce how to write image to different Medeia device. Get image Ready: *For armv7 with SPL with SPL_BACK_TO_BROM option enabled: **idbLoader.img **boot.img or boot folder with zImage, dtb and exitlinulx inside **rootfs.img *For armv7 with SPL with SPL_BACK_TO_BROM option disabled: **idbspl.img **uboot.bin **boot.img or boot folder with zImage, dtb and exitlinulx inside **rootfs.img *For armv7 with miniloader **idbLoader.img **uboot.img **boot.img or&nbsp;boot folder with zImage, dtb and exitlinulx inside **rootfs.img *For armv8 with SPL: **idbspl.img **bl3.itb **boot.img or&nbsp;boot folder with zImage, dtb and exitlinulx inside **rootfs.img *For armv8 with miniloader **idbLoader.img **uboot.img **trust.img **boot.img or&nbsp;boot folder with zImage, dtb and exitlinulx inside **rootfs.img == Boot from eMMC == === &nbsp;To get tool&nbsp; === [[Rkdevelptool|tools]] === Flash&nbsp;to the board by USB === In order to&nbsp;flash&nbsp;by USB,you must get your board into ROM boot mode, either by erasing<br/> your MMC or holding the maskrom button when you boot the board. &nbsp; ==== RK3288(upgrade_tool) ==== To create a suitable image and flash&nbsp;it to the board:<br/> default&nbsp;: with CONFIG_ROCKCHIP_SPL_BACK_TO_BROM <pre>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin out<br/> cat u-boot-dtb.bin >> out<br/> sudo upgrade_tool db&nbsp; ../rkbin/rk32/RK3288UbootLoader_V2.30.06.bin<br/> sudo upgrade_tool wl 64 out<br/> sudo upgrade_tool rd</pre> <br/> others&nbsp;: firefly(Recommend using sd card) &nbsp; &nbsp; ==== RK3036 ==== To create a suitable image and flash&nbsp;it to the board: <pre>tools/mkimage -n rk3036 -T rksd -d spl/u-boot-spl-dtb.bin out cat u-boot-dtb.bin >> out sudo upgrade_tool db ../rkbin/rk30/RK3036MiniLoaderAll_V2.19.bin sudo upgrade_tool wl 64 out sudo upgrade_tool rd </pre> &nbsp; ==== RK3399 ==== <pre>cd .. ./rkbin/tools/trust_merger ./rkbin/tools/RK3399TRUST.ini cd uboot ../rkbin/tools/loaderimage --pack --uboot u-boot-dtb.bin uboot.img sudo upgrade_tool UL ../rkbin/rk33/RK3399MiniLoaderAll_V1.05.bin sudo upgrade_tool DI uboot uboot.img ../rkbin/tools/rk3399_parameter.txt sudo upgrade_tool DI trust ../trust.img ../rkbin/tools/rk3399_parameter.txt sudo upgrade_tool rd </pre> &nbsp; &nbsp; &nbsp; &nbsp; === &nbsp;To flash kernel and rootfs === Enter into the uboot and issue the following command on uboot: (otg should be connected) <pre>gpt write mmc 0 $partitions ums 0 mmc 0 </pre> <br/> Now the board will act as an USB-drive.<br/> In host: (assuming sdb is ur device) <pre>sudo mkfs.fat /dev/sdb6 </pre> <br/> Copy zimage and dts file to dev/sdb6 <pre>cp arch/arm/boot/zImage /media/chen/9F35-9565/ cp arch/arm/boot/dts/rk3288-fennec.dtb /media/chen/9F35-9565/rk3288-fennec.dtb </pre> Add extlinux/extlinux.conf to dev/sdb6<br/> (Please notice "mmcblk2p7" and "115200n8" is decide on your chip, Please refer to &nbsp;[[Linux_user_guide|Linux_user_guide]]) <pre>label kernel-4.4 kernel /zImage fdt /rk3288-fennec.dtb append earlyprintk console=tty1 console=ttyS2,115200n8 rw root=/dev/mmcblk2p7 rootfstype=ext4 init=/sbin/init </pre> <br/> To flash rootfs <pre>sudo dd if=linaro-rootfs.img of=/dev/sdb7 conv=notrunc</pre> &nbsp; == Boot from SD/TF Card == === Creating Image === Follow [[Linux_user_guide|Linux user guide to]] build kernel and U-Boot.<br/> get uboot-spl.img and u-boot-dtb.img <pre>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin uboot-spl.img </pre> &nbsp; === <br/> <var>build boot.img</var> === <pre>sudo dd if=/dev/zero of=boot.img bs=1M count=128 sudo mkfs.fat boot.img mkdir boot sudo mount boot.img boot sudo cp zImage boot sudo cp rk3288-fennec.dtb boot sudo mkdir boot/extlinux sudo cp extlinux.conf boot/extlinux sudo umount boot </pre> Download rootfs image and rename it <pre>mv linaro-rootfs.img rootfs.img </pre> &nbsp; === Making a SD Card for updating === Download&nbsp;[https://github.com/wzyy2/rk-initrd-build ramdisk source]&nbsp;and build. <pre>sh ./mk-initrd.sh </pre> Format SD card <pre>chen@chen-HP-ProDesk-680-G1-TWR:~/work/linaro-alip/ramdisk/update$ sudo gdisk /dev/sdb GPT fdisk (gdisk) version 0.8.8 Partition table scan: MBR: protective BSD: not present APM: not present GPT: present Found valid GPT with protective MBR; using GPT. Command (? for help): o This option deletes all partitions and creates a new protective MBR. Proceed? (Y/N): y Command (? for help): n Partition number (1-128, default 1): 1 First sector (34-126613470, default = 2048) or {+-}size{KMGTP}: 8192 Last sector (8192-126613470, default = 126613470) or {+-}size{KMGTP}: Current type is 'Linux filesystem' Hex code or GUID (L to show codes, Enter = 8300): Changed type of partition to 'Linux filesystem' Command (? for help): w Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING PARTITIONS!! Do you want to proceed? (Y/N): y OK; writing new GUID partition table (GPT) to /dev/sdc. Warning: The kernel is still using the old partition table. The new table will be used at the next reboot. The operation has completed successfully. </pre> <pre>sudo umount /dev/sdb1 sudo mkfs.fat /dev/sdb1 </pre> <pre>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin out&& sudo dd if=out of=/dev/sdb seek=64&&sudo dd if=u-boot-dtb.img of=/dev/sdb seek=256 </pre> Copy zimage, dts and ramdisk to /dev/sdb1 <pre>cp arch/arm/boot/zImage /media/chen/9F35-9565/ cp arch/arm/boot/dts/rk3288-fennec.dtb /media/chen/9F35-9565/rk3288-fennec.dtb cp ../rk-initrd-build/initrd.img /media/chen/9F35-9565/ </pre> Add extlinux/extlinux.conf to /dev/sdb1 <pre>label kernel-4.4 kernel /zImage fdt /rk3288-fennec.dtb initrd /initrd.img append earlyprintk console=ttyS2,115200n8 rw root=/dev/ram0 rootfstype=ext4 init=/sbin/init ramdisk_size=49152 </pre> Copy u-boot-dtb.img uboot-spl.img boot.img rootfs.img and&nbsp;[https://github.com/wzyy2/rk-initrd-build/blob/master/update/update.sh update.sh]&nbsp;to /dev/sdb1 <pre>mkdir /media/chen/9F35-9565/update cp u-boot-dtb.img /media/chen/9F35-9565/update cp uboot-spl.img /media/chen/9F35-9565/update cp boot.img /media/chen/9F35-9565/update cp rootfs.img /media/chen/9F35-9565/update cp update.sh /media/chen/9F35-9565/update </pre> === Updating the board === Boot the board and it will flash image to eMMC &nbsp; == Boot from USB-Disk == Same as&nbsp;[[#Boot_from_SD.2FTF_Card|boot-from-sdcard]], but please note that U-Boot aren't allowed to boot from usb-disk because of restrict of maskrom, only kernel and rootfs can load from USB-Disk. Difference: <pre>label kernel-4.4 kernel /zImage fdt /rk3288-fennec.dtb append earlyprintk console=ttyS2,115200n8 rw root=/dev/sda1 rootfstype=ext4 init=/sbin/init </pre> <pre>gpt write usb 0 $partitions ums 0 usb 0 </pre> = Boot from Network = &nbsp; 09f6c738520302084ce0cc45a2502d24a945809a Main Page 0 16 883 850 2017-03-22T02:38:38Z Kever 2 wikitext text/x-wiki = '''Source code''' = Rockchip provide open source software on Github including fully support for Linux Based OS: *Github: [https://github.com/rockchip-linux rockchip-linux] You can also find software for Rockchip SoCs from Upstream: *[https://www.kernel.org/ Linux kernel] *[http://www.denx.de/wiki/U-Boot/WebHome U-Boot] *[https://github.com/ARM-software/arm-trusted-firmware ARM Truseted Firmware] If you are using a Chrombook with Rockchip SoC, you can use: *[https://chromium.googlesource.com/chromiumos/third_party/coreboot Chromium OS&nbsp;Coreboot] *[https://chromium.googlesource.com/chromiumos/third_party/kernel Chromium OS kernel] &nbsp; &nbsp; = '''Hardware Document''' = Here are the documents for SoCs, you can find&nbsp;Hardware device/board information on [[Devices|DEVICE PAGE]]. {| border="1" cellpadding="0" cellspacing="0" class="table_style" |- ! style="width:92px;" | <p style="text-align: center;">SoC</p> ! style="width:286px;" | <p style="text-align: center;">Description</p> ! style="width:189px;" | <p style="text-align: center;">Download</p> |- | style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p> | style="width:286px;" | Quad-core Cortex-A17 CPU, MALI-T764 GPU | style="width:189px;" | TRM, [[Media:Rockchip_RK3288_Datasheet_V2.2-20170301.pdf|Datasheet]],&nbsp; [[Media:Rk3288_hardware_reference.zip|Schematic&Layout Guide]] |- | style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p> | style="width:286px;" | Quad-core Cortex-A53 CPU,MALI-450MP2 GPU | style="width:189px;" | TRM, [[Media:Rockchip_RK3328_Datasheet_V1.1-20170309.pdf|Datasheet]],&nbsp; [[Media:Rk3328_hardware_reference.zip|Schematic&Layout Guide]] |- | style="width:92px;" | <p style="text-align: center;">[[RK3399|RK3399]]</p> | style="width:286px;" | Dual-core Cortex-A72, Quad-core Cortex-A53 CPU, MALI-T864 GPU | style="width:189px;" | TRM, [[Media:Rockchip_RK3399_Datasheet_V1.6-20170301.pdf|Datasheet]],&nbsp; [[Media:Rk3399_hardware_reference.zip|Schematic&Layout Guide]] |} &nbsp; &nbsp; = '''Software development&nbsp;''' = *'''Porting guide for Linux based OS/Distribution''' **[[Linux_user_guide|Linux_user_guide]] **[[Debian|Debian]] **[[Yocto|Yocto]] **[[Buildroot|Buildroot]] **[[Distribution|Other distribution]] *'''BSP module user guide''' **[[U-Boot|U-Boot]]&nbsp; **[[Rockchip_Kernel|Rockchip Kernel]] **[[Upstream_Kernel|Upstream Kernel]] **[[Atf|ARM Trusted&nbsp;Firmware]] *'''Graphics and Multimedia&nbsp;user guide''' **[[Graphics|Graphics and display]] **[[Multimedia|Multimedia]] *'''Tool and Firmware Upgrade''' **[[Rockusb|Rockusb]] **[[Rkdevelptool|Rkdevelptool]] **[[Boot_option|Boot_option]] '''<span style="font-size:xx-large;">Feedback</span>''' Any question about software module on github, please ask&nbsp;at issue page of github project. If you have any other questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website, Email-to: opensource@rock-chips.com 9ebd60e41026565bd176de9171c83b3ab6b7f132 912 883 2017-03-24T03:56:06Z Kever 2 wikitext text/x-wiki = '''Source code''' = Rockchip provide open source software on Github including fully support for Linux Based OS: *Github: [https://github.com/rockchip-linux rockchip-linux] You can also find software for Rockchip SoCs from Upstream: *[https://www.kernel.org/ Linux kernel] *[http://www.denx.de/wiki/U-Boot/WebHome U-Boot] *[https://github.com/ARM-software/arm-trusted-firmware ARM Truseted Firmware] If you are using a Chrombook with Rockchip SoC, you can use: *[https://chromium.googlesource.com/chromiumos/third_party/coreboot Chromium OS&nbsp;Coreboot] *[https://chromium.googlesource.com/chromiumos/third_party/kernel Chromium OS kernel] &nbsp; &nbsp; = '''Hardware Document''' = Here are the documents for SoCs, you can find&nbsp;Hardware device/board information on [[Devices|DEVICE PAGE]]. {| border="1" cellpadding="0" cellspacing="0" class="table_style" |- ! style="width:92px;" | <p style="text-align: center;">SoC</p> ! style="width:286px;" | <p style="text-align: center;">Description</p> ! style="width:189px;" | <p style="text-align: center;">Download</p> |- | style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p> | style="width:286px;" | Quad-core Cortex-A17 CPU, MALI-T764 GPU | style="width:189px;" | [[Media:Rockchip_RK3288_TRM_V1.2_Part1-20170321.pdf|TRM]], [[Media:Rockchip_RK3288_Datasheet_V2.2-20170301.pdf|Datasheet]],&nbsp; [[Media:Rk3288_hardware_reference.zip|Schematic&Layout Guide]] |- | style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p> | style="width:286px;" | Quad-core Cortex-A53 CPU,MALI-450MP2 GPU | style="width:189px;" | TRM, [[Media:Rockchip_RK3328_Datasheet_V1.1-20170309.pdf|Datasheet]],&nbsp; [[Media:Rk3328_hardware_reference.zip|Schematic&Layout Guide]] |- | style="width:92px;" | <p style="text-align: center;">[[RK3399|RK3399]]</p> | style="width:286px;" | Dual-core Cortex-A72, Quad-core Cortex-A53 CPU, MALI-T864 GPU | style="width:189px;" | TRM, [[Media:Rockchip_RK3399_Datasheet_V1.6-20170301.pdf|Datasheet]],&nbsp; [[Media:Rk3399_hardware_reference.zip|Schematic&Layout Guide]] |} &nbsp; &nbsp; = '''Software development&nbsp;''' = *'''Porting guide for Linux based OS/Distribution''' **[[Linux_user_guide|Linux_user_guide]] **[[Debian|Debian]] **[[Yocto|Yocto]] **[[Buildroot|Buildroot]] **[[Distribution|Other distribution]] *'''BSP module user guide''' **[[U-Boot|U-Boot]]&nbsp; **[[Rockchip_Kernel|Rockchip Kernel]] **[[Upstream_Kernel|Upstream Kernel]] **[[Atf|ARM Trusted&nbsp;Firmware]] *'''Graphics and Multimedia&nbsp;user guide''' **[[Graphics|Graphics and display]] **[[Multimedia|Multimedia]] *'''Tool and Firmware Upgrade''' **[[Rockusb|Rockusb]] **[[Rkdevelptool|Rkdevelptool]] **[[Boot_option|Boot_option]] '''<span style="font-size:xx-large;">Feedback</span>''' Any question about software module on github, please ask&nbsp;at issue page of github project. If you have any other questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website, Email-to: opensource@rock-chips.com 98aaf0155d9a693e59634b3adab458d41b5996cc 915 912 2017-03-24T04:03:35Z Kever 2 wikitext text/x-wiki = '''Source code''' = Rockchip provide open source software on Github including fully support for Linux Based OS: *Github: [https://github.com/rockchip-linux rockchip-linux] You can also find software for Rockchip SoCs from Upstream: *[https://www.kernel.org/ Linux kernel] *[http://www.denx.de/wiki/U-Boot/WebHome U-Boot] *[https://github.com/ARM-software/arm-trusted-firmware ARM Truseted Firmware] If you are using a Chrombook with Rockchip SoC, you can use: *[https://chromium.googlesource.com/chromiumos/third_party/coreboot Chromium OS&nbsp;Coreboot] *[https://chromium.googlesource.com/chromiumos/third_party/kernel Chromium OS kernel] &nbsp; = '''Hardware Document''' = Here are the documents for SoCs, you can find&nbsp;Hardware device/board information on [[Devices|DEVICE PAGE]]. {| border="1" cellpadding="0" cellspacing="0" class="table_style" |- ! style="width:92px;" | <p style="text-align: center;">SoC</p> ! style="width:286px;" | <p style="text-align: center;">Description</p> ! style="width:189px;" | <p style="text-align: center;">Download</p> |- | style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p> | style="width:286px;" | Quad-core Cortex-A17 CPU, MALI-T764 GPU | style="width:189px;" | [[Media:Rockchip_RK3288_TRM_V1.2_Part1-20170321.pdf|TRM]], [[Media:Rockchip_RK3288_Datasheet_V2.2-20170301.pdf|Datasheet]],&nbsp; [[Media:Rk3288_hardware_reference.zip|Schematic&Layout Guide]] |- | style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p> | style="width:286px;" | Quad-core Cortex-A53 CPU,MALI-450MP2 GPU | style="width:189px;" | TRM, [[Media:Rockchip_RK3328_Datasheet_V1.1-20170309.pdf|Datasheet]],&nbsp; [[Media:Rk3328_hardware_reference.zip|Schematic&Layout Guide]] |- | style="width:92px;" | <p style="text-align: center;">[[RK3399|RK3399]]</p> | style="width:286px;" | Dual-core Cortex-A72, Quad-core Cortex-A53 CPU, MALI-T864 GPU | style="width:189px;" | TRM, [[Media:Rockchip_RK3399_Datasheet_V1.6-20170301.pdf|Datasheet]],&nbsp; [[Media:Rk3399_hardware_reference.zip|Schematic&Layout Guide]] |} &nbsp; = '''Software development&nbsp;''' = *'''Porting guide for Linux based OS/Distribution''' **[[Linux_user_guide|Linux_user_guide]] **[[Debian|Debian]] **[[Yocto|Yocto]] **[[Buildroot|Buildroot]] **[[Distribution|Other distribution]] *'''BSP module user guide''' **[[U-Boot|U-Boot]]&nbsp; **[[Rockchip_Kernel|Rockchip Kernel]] **[[Upstream_Kernel|Upstream Kernel]] **[[Atf|ARM Trusted&nbsp;Firmware]] *'''Graphics and Multimedia&nbsp;user guide''' **[[Graphics|Graphics and display]] **[[Multimedia|Multimedia]] *'''Tool and Firmware Upgrade''' **[[Rockusb|Rockusb]] **[[Rkdevelptool|Rkdevelptool]] **[[Boot_option|Boot_option]] '''<span style="font-size:xx-large;">Feedback</span>''' Any question about software module on github, please ask&nbsp;at issue page of github project. If you have any other questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website, Email-to: opensource@rock-chips.com 1b3ba430c57ff4377e8c798783b57550582a217b 924 915 2017-03-29T09:55:44Z Chery 9 wikitext text/x-wiki = '''Source code''' = Rockchip provide open source software on Github including fully support for Linux Based OS: *Github: [https://github.com/rockchip-linux rockchip-linux] You can also find software for Rockchip SoCs from Upstream: *[https://www.kernel.org/ Linux kernel] *[http://www.denx.de/wiki/U-Boot/WebHome U-Boot] *[https://github.com/ARM-software/arm-trusted-firmware ARM Trusted Firmware] If you are using a Chrombook with Rockchip SoC, you can use: *[https://chromium.googlesource.com/chromiumos/third_party/coreboot Chromium OS&nbsp;Coreboot] *[https://chromium.googlesource.com/chromiumos/third_party/kernel Chromium OS kernel] &nbsp; = '''Hardware Document''' = Here are the documents for SoCs, you can find&nbsp;Hardware device/board information on [[Devices|DEVICE PAGE]]. {| border="1" cellpadding="0" cellspacing="0" class="table_style" |- ! style="width:92px;" | <p style="text-align: center;">SoC</p> ! style="width:286px;" | <p style="text-align: center;">Description</p> ! style="width:189px;" | <p style="text-align: center;">Download</p> |- | style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p> | style="width:286px;" | Quad-core Cortex-A17 CPU, MALI-T764 GPU | style="width:189px;" | [[Media:Rockchip_RK3288_TRM_V1.2_Part1-20170321.pdf|TRM]], [[Media:Rockchip_RK3288_Datasheet_V2.2-20170301.pdf|Datasheet]],&nbsp; [[Media:Rk3288_hardware_reference.zip|Schematic&Layout Guide]] |- | style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p> | style="width:286px;" | Quad-core Cortex-A53 CPU,MALI-450MP2 GPU | style="width:189px;" | TRM, [[Media:Rockchip_RK3328_Datasheet_V1.1-20170309.pdf|Datasheet]],&nbsp; [[Media:Rk3328_hardware_reference.zip|Schematic&Layout Guide]] |- | style="width:92px;" | <p style="text-align: center;">[[RK3399|RK3399]]</p> | style="width:286px;" | Dual-core Cortex-A72, Quad-core Cortex-A53 CPU, MALI-T864 GPU | style="width:189px;" | TRM, [[Media:Rockchip_RK3399_Datasheet_V1.6-20170301.pdf|Datasheet]],&nbsp; [[Media:Rk3399_hardware_reference.zip|Schematic&Layout Guide]] |} &nbsp; = '''Software development&nbsp;''' = *'''Porting guide for Linux based OS/Distribution''' **[[Linux_user_guide|Linux_user_guide]] **[[Debian|Debian]] **[[Yocto|Yocto]] **[[Buildroot|Buildroot]] **[[Distribution|Other distribution]] *'''BSP module user guide''' **[[U-Boot|U-Boot]]&nbsp; **[[Rockchip_Kernel|Rockchip Kernel]] **[[Upstream_Kernel|Upstream Kernel]] **[[Atf|ARM Trusted&nbsp;Firmware]] *'''Graphics and Multimedia&nbsp;user guide''' **[[Graphics|Graphics and display]] **[[Multimedia|Multimedia]] *'''Tool and Firmware Upgrade''' **[[Rockusb|Rockusb]] **[[Rkdevelptool|Rkdevelptool]] **[[Boot_option|Boot_option]] '''<span style="font-size:xx-large;">Feedback</span>''' Any question about software module on github, please ask&nbsp;at issue page of github project. If you have any other questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website, Email-to: opensource@rock-chips.com f51acec902c686fee81c0af8bceec0ceb1a2ee59 927 924 2017-03-31T00:44:44Z Admin 1 Protected "[[Main Page]]" ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite)) wikitext text/x-wiki = '''Source code''' = Rockchip provide open source software on Github including fully support for Linux Based OS: *Github: [https://github.com/rockchip-linux rockchip-linux] You can also find software for Rockchip SoCs from Upstream: *[https://www.kernel.org/ Linux kernel] *[http://www.denx.de/wiki/U-Boot/WebHome U-Boot] *[https://github.com/ARM-software/arm-trusted-firmware ARM Trusted Firmware] If you are using a Chrombook with Rockchip SoC, you can use: *[https://chromium.googlesource.com/chromiumos/third_party/coreboot Chromium OS&nbsp;Coreboot] *[https://chromium.googlesource.com/chromiumos/third_party/kernel Chromium OS kernel] &nbsp; = '''Hardware Document''' = Here are the documents for SoCs, you can find&nbsp;Hardware device/board information on [[Devices|DEVICE PAGE]]. {| border="1" cellpadding="0" cellspacing="0" class="table_style" |- ! style="width:92px;" | <p style="text-align: center;">SoC</p> ! style="width:286px;" | <p style="text-align: center;">Description</p> ! style="width:189px;" | <p style="text-align: center;">Download</p> |- | style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p> | style="width:286px;" | Quad-core Cortex-A17 CPU, MALI-T764 GPU | style="width:189px;" | [[Media:Rockchip_RK3288_TRM_V1.2_Part1-20170321.pdf|TRM]], [[Media:Rockchip_RK3288_Datasheet_V2.2-20170301.pdf|Datasheet]],&nbsp; [[Media:Rk3288_hardware_reference.zip|Schematic&Layout Guide]] |- | style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p> | style="width:286px;" | Quad-core Cortex-A53 CPU,MALI-450MP2 GPU | style="width:189px;" | TRM, [[Media:Rockchip_RK3328_Datasheet_V1.1-20170309.pdf|Datasheet]],&nbsp; [[Media:Rk3328_hardware_reference.zip|Schematic&Layout Guide]] |- | style="width:92px;" | <p style="text-align: center;">[[RK3399|RK3399]]</p> | style="width:286px;" | Dual-core Cortex-A72, Quad-core Cortex-A53 CPU, MALI-T864 GPU | style="width:189px;" | TRM, [[Media:Rockchip_RK3399_Datasheet_V1.6-20170301.pdf|Datasheet]],&nbsp; [[Media:Rk3399_hardware_reference.zip|Schematic&Layout Guide]] |} &nbsp; = '''Software development&nbsp;''' = *'''Porting guide for Linux based OS/Distribution''' **[[Linux_user_guide|Linux_user_guide]] **[[Debian|Debian]] **[[Yocto|Yocto]] **[[Buildroot|Buildroot]] **[[Distribution|Other distribution]] *'''BSP module user guide''' **[[U-Boot|U-Boot]]&nbsp; **[[Rockchip_Kernel|Rockchip Kernel]] **[[Upstream_Kernel|Upstream Kernel]] **[[Atf|ARM Trusted&nbsp;Firmware]] *'''Graphics and Multimedia&nbsp;user guide''' **[[Graphics|Graphics and display]] **[[Multimedia|Multimedia]] *'''Tool and Firmware Upgrade''' **[[Rockusb|Rockusb]] **[[Rkdevelptool|Rkdevelptool]] **[[Boot_option|Boot_option]] '''<span style="font-size:xx-large;">Feedback</span>''' Any question about software module on github, please ask&nbsp;at issue page of github project. If you have any other questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website, Email-to: opensource@rock-chips.com f51acec902c686fee81c0af8bceec0ceb1a2ee59 Partitions 0 50 884 848 2017-03-22T02:54:27Z Kever 2 wikitext text/x-wiki = Introduction = Rockchip use&nbsp;[https://en.wikipedia.org/wiki/GUID_Partition_Table GPT]&nbsp;as its main partition table in open source support. We store GPT at LBA0 ~ LBA63. = GPT partition table in U-boot = U-boot supports standard&nbsp;[https://github.com/rockchip-linux/u-boot/blob/android/doc/README.gpt GPT partition table format]. &nbsp; = Default partition map = {| border="1" class="table_style" |- ! Partition ! colspan="2" | Start Sector ! colspan="2" | Number of Sectors ! colspan="2" | Partition Size ! Mount Point ! Requirements |- | MBR | 0 | 00000000 | 1 | 00000001 | 512 | 0.5KB | &nbsp; | &nbsp; |- | Primary GPT | 1 | 00000001 | 63 | 0000003F | 32256 | 31.5KB | &nbsp; | &nbsp; |- | loader1 | 64 | 00000040 | 8000 | 00001F40 | 4096000 | 3.91MB | &nbsp; | miniloader or U-Boot SPL |- | reserved1 | 8064 | 00001F80 | 128 | 00000080 | 65536 | 64KB | &nbsp; | &nbsp; |- | reserved2 | 8192 | 00002000 | 8192 | 00002000 | 4194304 | 4MB | &nbsp; | parameter or vendor data |- | loader2 | 16384 | 00004000 | 8192 | 00002000 | 4194304 | 4MB | &nbsp; | U-Boot when using miniloader |- | atf | 24576 | 00006000 | 8192 | 00002000 | 4194304 | 4MB | &nbsp; | ATF, trusted-os when using miniloader |- | boot(bootable must be set) | 32768 | 00008000 | 229376 | 00038000 | 117440512 | 112MB | &nbsp; | kernela, kernelb, dts, extlinux.conf, ramdisk |- | rootfs | 262144 | 00040000 | - | - | - | -MB | &nbsp; | Linux system |- | Secondary GPT | 16777183 | 00FFFFDF | 33 | 00000021 | 16896 | 16.5KB | &nbsp; | &nbsp; |} &nbsp; = Write GPT partition table through Rockchip rkdeveloptool = WIP = Write GPT partition table through U-boot = In u-boot console, the "gpt" command can be used to write the gpt partition table: <pre>gpt - GUID Partition Table Usage: gpt <command> <interface> <dev> <partitions_list> - GUID partition table restoration and validity check Restore or verify GPT information on a device connected to interface Example usage: gpt write mmc 0 $partitions gpt verify mmc 0 $partitions</code> </pre> for exsample: <pre>=> env set partitions name=rootfs,size=-,type=system => gpt write mmc 0 $partitions Writing GPT: success! </pre> <br/> NOTE: the partitions env can be set in the u-boot console(using "env set" command), or in u-boot's source code,<br/> for exsample: <pre>include/configs/kylin_rk3036.h #define PARTS_DEFAULT \ "uuid_disk=${uuid_gpt_disk};" \ ... #undef CONFIG_EXTRA_ENV_SETTINGS #define CONFIG_EXTRA_ENV_SETTINGS \ "partitions=" PARTS_DEFAULT \ </pre> &nbsp; = Write GPT partition table through U-Boot's fastboot = The current upstream u-boot contains fastboot protocol support. And this version of fastboot supports 2 ways to modify gpt partition table: &nbsp; == fastboot oem format == It's the same as "gpt write mmc 0 $partitions" in u-boot console: <pre>#ifdef CONFIG_FASTBOOT_FLASH_MMC_DEV if (strncmp("format", cmd + 4, 6) == 0) { char cmdbuf[32]; sprintf(cmdbuf, "gpt write mmc&nbsp;%x $partitions", CONFIG_FASTBOOT_FLASH_MMC_DEV); if (run_command(cmdbuf, 0)) fastboot_tx_write_str("FAIL"); else fastboot_tx_write_str("OKAY"); } else #endif </pre> PC command: <pre>$ fastboot oem format -i 0x2207 ... OKAY [ 0.015s] finished. total time: 0.015s </pre> == fastboot flash gpt <gpt partition image> == <pre> if (strcmp(cmd, CONFIG_FASTBOOT_GPT_NAME) == 0) { printf("%s: updating MBR, Primary and Backup GPT(s)\n", __func__); if (is_valid_gpt_buf(dev_desc, download_buffer)) { printf("%s: invalid GPT - refusing to write to flash\n", __func__); fastboot_fail(response_str, "invalid GPT partition"); return; } if (write_mbr_and_gpt_partitions(dev_desc, download_buffer)) { printf("%s: writing GPT partitions failed\n", __func__); fastboot_fail(response_str, "writing GPT partitions failed"); return; } printf("........ success\n"); fastboot_okay(response_str, ""); return; </pre> The gpt partition image can be generated by PC's gdisk tool,<br/> for exsample: <pre>$ dd if=/dev/zero of=disk.img bs=1M count=256 256+0 records in 256+0 records out 268435456 bytes (268 MB) copied, 0.151867 s, 1.8 GB/s $ gdisk disk.img GPT fdisk (gdisk) version 0.8.1 Partition table scan: MBR: not present BSD: not present APM: not present GPT: not present Creating new GPT entries. Command (? for help): n Partition number (1-128, default 1): First sector (34-524254, default = 34) or {+-}size{KMGTP}: Information: Moved requested sector from 34 to 2048 in order to align on 2048-sector boundaries. Use 'l' on the experts' menu to adjust alignment Last sector (2048-524254, default = 524254) or {+-}size{KMGTP}: Current type is 'Linux filesystem' Hex code or GUID (L to show codes, Enter = 8300): Changed type of partition to 'Linux filesystem' Command (? for help): w Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING PARTITIONS!! Do you want to proceed? (Y/N): y OK; writing new GUID partition table (GPT). Warning: The kernel is still using the old partition table. The new table will be used at the next reboot. The operation has completed successfully. $ dd if=disk.img of=gpt.img count=64 64+0 records in 64+0 records out 32768 bytes (33 kB) copied, 0.00075438 s, 43.4 MB/s </pre> PC command: <pre>$ fastboot flash gpt gpt.img target reported max download size of 117440512 bytes sending 'gpt' (32 KB)... OKAY [ 0.006s] writing 'gpt'... OKAY [ 0.025s] finished. total time: 0.030s</pre> c8360a6def11ba005885eb4dd43faf5cefb3da7b Graphics 0 108 885 788 2017-03-22T03:11:08Z Kever 2 wikitext text/x-wiki = Graphics Introduce = This article will give an overview of how graphics are generated on a rockchip platform. &nbsp; &nbsp; == Graphics with X11 == Xserver is the display system used on regular desktop Linux platforms. Rockchip have a custom&nbsp;[[Xserver|Xserver]]&nbsp;which have enable&nbsp;[https://www.freedesktop.org/wiki/Software/Glamor/ glamor 2D acceleration]. Xserver usually have a good compatibility, but the performance may be little less and its size is more large than other display system. Gstreamer X11 sink have DRM 4k-Video render support(though hacky). === Structure === X11 structure in Linux OS [[File:Xserver gpu.png|RTENOTITLE]] === DDX(armsoc) === source code: git clone git@github.com:markyzq/xf86-video-armsoc.git<br/> maliline: [git://anongit.freedesktop.org/xorg/driver/xf86-video-armsoc git://anongit.freedesktop.org/xorg/driver/xf86-video-armsoc]<br/> The DDX support: #support common x11 display and Hwcursor #DRI2 (request by EGL X11 client) #umplock(support non-tearing on EGL x11 client) '''''/etc/X11/xorg.conf'':''' Xserver will parse this config to find DDX and configure info <pre>Section "Device" Identifier "Mali-Fbdev" Driver "armsoc" Option "UMP_LOCK" "true" EndSection Section "Screen" Identifier "Default Screen" Device "Mali-Fbdev" DefaultDepth 24 EndSection</pre> === UMPLOCK === source code: wget [http://malideveloper.arm.com/downloads/drivers/DX910/r6p1-01rel0/DX910-SW-99002-r6p1-01rel0.tgz http://malideveloper.arm.com/downloads/drivers/DX910/r6p1-01rel0/DX910-SW-99002-r6p1-01rel0.tgz]<br/> Patch the umplock patch to kernel, then you can find the umplock device node: <pre>/dev/umplock</pre> Don't forget enable DDX umplock option: <pre>Option "UMP_LOCK" "true"</pre> The umplock only use for x11 graphic stack, no need for wayland, because mali&nbsp;<br/> already do the wayland sync on its driver. &nbsp; === DDX(modesetting) === See [https://www.x.org/wiki/ModeSetting/ ModeSetting ]for detail introduce. &nbsp; === X11 performance test === 2D performace: <pre>x11perf</pre> 3D preformace: <pre>glmark2-es2</pre> X11perf tools can easy get from x11-apps.<br/> glmark2-es2 can get from [https://github.com/glmark2/glmark2 https://github.com/glmark2/glmark2]<br/> The glmark2-es2 source code can also build for x11, drm(gbm) and wayland. == Graphics with Wayland == Weston is the reference implementation of a Wayland compositor, and a<br/> useful compositor in its own right. === Structure === [[File:Wayland.png|RTENOTITLE]] === Weston === The Weston reference implementation of a Wayland compositor. &nbsp; &nbsp; &nbsp;1. run wayland with drm and gpu renderer <pre style="margin-left: 40px;">export XDG_RUNTIME_DIR=/tmp weston --backend=drm-backend.so --idle-time=100 </pre> &nbsp; &nbsp; &nbsp; 2. run wayland with drm and cpu renderer <pre style="margin-left: 40px;">weston --backend=drm-backend.so --idle-time=100 --use-pixman</pre> <blockquote> --idle-time: how many seconds the weston got to sleep, it's usefull to test wayland&nbsp;<br/> suspend and resume.<br/> --use-pixman: it's usefull to compare gpu or non-gpu performance and behavior. </blockquote> === Wayland performance test === 3D preformance: &nbsp;''glmark2-es2-wayland''<br/> glmark2-es2 can get from [https://github.com/glmark2/glmark2 https://github.com/glmark2/glmark2] <br/> OpenVG test: ''vg_api_tests''<br/> build from mali DDK, build with make bin/vg_api_tests &nbsp; == Graphics with None == If you don't want to use X11 or wayland, there are some chooses for you. Interface:<br/> Libdrm and libmali-gbm can be used to draw UI without display systems. Framework:<br/> [[Qt|QT]]&nbsp;can work without x11 or wayland, it run Qt5 applications on top of EGL(libmali-gbm).<br/> WIth qt eglfs, video player can reach 1080-60fps. == MALI GPU driver == === Structure === [[File:Mali gpu.png|RTENOTITLE]] == Mali Build option == Build for X11:<br/> VARIANT=mali450-gles20-eb-linux-sse-vg-x11-dma_buf<br/> Build for Wayland:<br/> VARIANT=mali450-gles20-eb-vg-sse-linux-wayland-drm-dma_buf<br/> X11 stack only use gpu x11 backend,&nbsp;<br/> Wayland use two gpu backend, drm(gbm) and wayland <blockquote> -x11-: x11 backend<br/> -drm-: GBM backend<br/> -wayland: wayland backend<br/> -sse-: similar with neon, Accelerate memcpy on mali, speed up some api like&nbsp;<br/> glTexSubImage2D<br/> -vg-: openVG support, tested with vg_api_tests on wayland backend<br/> -dma_buf-: support dma_buf </blockquote> == LibDRM == === Structure === [[File:DRM.png|RTENOTITLE]] === Source code === mainline source code: git clone [git://anongit.freedesktop.org/mesa/drm git://anongit.freedesktop.org/mesa/drm]<br/> LIBDRM is the cross-driver middleware which allows user-space applications (such&nbsp;<br/> as Mesa and 2D drivers) to communicate with the Kernel by the means of the DRI&nbsp;<br/> protocol. === Mailing list === General developers discussions occur on the dri-devel@lists.freedesktop.org&nbsp;<br/> mailing list.<br/> Subscribe to the list at [http://lists.freedesktop.org/mailman/listinfo/dri-devel http://lists.freedesktop.org/mailman/listinfo/dri-devel].<br/> Archives are found at [http://lists.freedesktop.org/archives/dri-devel/ http://lists.freedesktop.org/archives/dri-devel/]. = Kernel Driver porting = = Others = For details of the full Linux graphics stack, please refer to online documents in&nbsp;[https://www.freedesktop.org/wiki/ Freedesktop],&nbsp;[http://www.arm.com/products/graphics-and-multimedia/mali-gpu ARM],&nbsp;[https://wiki.archlinux.org/index.php/xorg Arch wiki]….. *[http://moi.vonos.net/linux/graphics-stack/ http://moi.vonos.net/linux/graphics-stack/] *[https://en.wikipedia.org/wiki/Wayland_(display_server_protocol https://en.wikipedia.org/wiki/Wayland_(display_server_protocol]) *[https://blogs.igalia.com/itoral/2014/07/29/a-brief-introduction-to-the-linux-graphics-stack/ https://blogs.igalia.com/itoral/2014/07/29/a-brief-introduction-to-the-linux-graphics-stack/] 5619e4dec62dda5140da828eea9d9c1325ed91c2 Rockusb 0 122 887 804 2017-03-22T03:45:03Z Kever 2 wikitext text/x-wiki = Introduce = Rockusb is a vendor specific USB class from Rockchip, which is for firmware dowmload for Rockchip SoCs. = Get into Rockusb = There are two cases for&nbsp;Rockchip SoCs to get into Rockusb. == Maskrom mode == When there is no any firmware on board, the SoC will run&nbsp;Rockusb driver automaticlly, we call it Bootrom mode or Maskrom device mode. If firmware is at somewhere of the board,&nbsp;in order to get into this mode, we can do something to prevent cpu read the firmware successful: - for sd-card, unplug the sd-card; - for eMMC, short the eMMC clock to GND; - for NAND, short the data line or clock line; - for SPI, short the spi signal to GND; == Bootloader mode == If you are using miniloader, which with Rockusb driver inside, system will run rockusb driver when ''recovery'' key is pressed. = USB ID = &nbsp; = Firmware download = [[Rkdevelptool|rkdeveloptool]] is the tool to do the firmware upgrade for Rockchip SoCs which is using Rockusb protocol via USB. Please follow the steps for boot from eMMC for how to use the tool. bfb38341be3980d870d4f8deb0cd20b2b62fb8f4 888 887 2017-03-22T03:50:10Z Kever 2 wikitext text/x-wiki = Introduce = Rockusb is a vendor specific USB class from Rockchip, which is for firmware dowmload for Rockchip SoCs. = Get into Rockusb = There are two cases for&nbsp;Rockchip SoCs to get into Rockusb. == Maskrom mode == When there is no any firmware found on board, the SoC will run&nbsp;Rockusb driver automaticlly, we call it Bootrom mode or Maskrom mode. If firmware is at somewhere of the board,&nbsp;in order to get into this mode, we can do something to prevent cpu read the firmware successful: - for sd-card, unplug the sd-card; - for eMMC, short the eMMC clock to GND; - for NAND, short the data line or clock line; - for SPI, short the spi signal to GND; == Bootloader mode == If you are using miniloader, which with Rockusb driver inside, system will run rockusb driver when ''recovery'' key is pressed. = USB ID = &nbsp; = Firmware download = [[Rkdevelptool|rkdeveloptool]] is the tool to do the firmware upgrade for Rockchip SoCs which is using Rockusb protocol via USB. Please follow the steps for boot from eMMC for how to use the tool. 0b50f3f39f8deb0952b6a6b68d1f3c32a45be6f1 894 888 2017-03-22T08:32:36Z Kever 2 wikitext text/x-wiki = Introduce = Rockusb is a vendor specific USB class from Rockchip, which is for firmware dowmload for Rockchip SoCs. = Get into Rockusb = There are two cases for&nbsp;Rockchip SoCs to get into Rockusb. == Maskrom mode == When there is no any firmware found on board, the SoC will run&nbsp;Rockusb driver automaticlly, we call it Bootrom mode or Maskrom mode. If firmware is at somewhere of the board,&nbsp;in order to get into this mode, we can do something to prevent cpu read the firmware successful: - for sd-card, unplug the sd-card; - for eMMC, short the eMMC clock to GND; - for NAND, short the data line or clock line; - for SPI, short the spi signal to GND; == Bootloader mode == If you are using miniloader, which with Rockusb driver inside, system will run rockusb driver when ''recovery'' key is pressed. = USB ID = Rockchip Vendor ID is 0x2207, and the product ID for different SoCs are different. Rockusb product ID: RK3288: 0x320a RK3328: 0x320c RK3399: 0x330a = Firmware download = [[Rkdevelptool|rkdeveloptool]] is the tool to do the firmware upgrade for Rockchip SoCs which is using Rockusb protocol via USB. Please follow the steps for boot from eMMC for how to use the tool. ec8967ff924e199538f2446c23e610eefb30a8fb 895 894 2017-03-22T08:34:22Z Kever 2 wikitext text/x-wiki = Introduce = Rockusb is a vendor specific USB class from Rockchip, which is for firmware dowmload for Rockchip SoCs. = Get into Rockusb = There are two cases for&nbsp;Rockchip SoCs to get into Rockusb. == Maskrom mode == When there is no any firmware found on board, the SoC will run&nbsp;Rockusb driver automaticlly, we call it Bootrom mode or Maskrom mode. If firmware is at somewhere of the board,&nbsp;in order to get into this mode, we can do something to prevent cpu read the firmware successful: - for sd-card, unplug the sd-card; - for eMMC, short the eMMC clock to GND; - for NAND, short the data line or clock line; - for SPI, short the spi signal to GND; == Bootloader mode == If you are using miniloader, which with Rockusb driver inside, system will run rockusb driver when ''recovery'' key is pressed. = USB ID = Rockchip Vendor ID is 0x2207, and the product ID for different SoCs are different. Rockusb product ID: RK3288: 0x320a RK3328: 0x320c RK3399: 0x330a Please use ''lsusb ''command in Linux PC to check if there is a Rockusb device connect. = Firmware download = [[Rkdevelptool|rkdeveloptool]] is the tool to do the firmware upgrade for Rockchip SoCs which is using Rockusb protocol via USB. Please follow the steps for boot from eMMC for how to use the tool. ca502717af044f130705a9b924ecdb12e2b55d99 896 895 2017-03-22T08:34:36Z Kever 2 wikitext text/x-wiki = Introduce = Rockusb is a vendor specific USB class from Rockchip, which is for firmware dowmload for Rockchip SoCs. = Get into Rockusb = There are two cases for&nbsp;Rockchip SoCs to get into Rockusb. == Maskrom mode == When there is no any firmware found on board, the SoC will run&nbsp;Rockusb driver automaticlly, we call it Bootrom mode or Maskrom mode. If firmware is at somewhere of the board,&nbsp;in order to get into this mode, we can do something to prevent cpu read the firmware successful: - for sd-card, unplug the sd-card; - for eMMC, short the eMMC clock to GND; - for NAND, short the data line or clock line; - for SPI, short the spi signal to GND; == Bootloader mode == If you are using miniloader, which with Rockusb driver inside, system will run rockusb driver when ''recovery'' key is pressed. = USB ID = Rockchip Vendor ID is 0x2207, and the product ID for different SoCs are different. Rockusb product ID: *RK3288: 0x320a *RK3328: 0x320c *RK3399: 0x330a Please use ''lsusb ''command in Linux PC to check if there is a Rockusb device connect. = Firmware download = [[Rkdevelptool|rkdeveloptool]] is the tool to do the firmware upgrade for Rockchip SoCs which is using Rockusb protocol via USB. Please follow the steps for boot from eMMC for how to use the tool. c629b85a5c13c4620aac5a048e6bd5f798bc00e2 897 896 2017-03-22T08:44:31Z Kever 2 wikitext text/x-wiki = Introduce = Rockusb is a vendor specific USB class from Rockchip, which is for firmware dowmload for Rockchip SoCs. = Get into Rockusb = There are two cases for&nbsp;Rockchip SoCs to get into Rockusb. == Maskrom mode == When there is no any firmware found on board, the SoC will run&nbsp;Rockusb driver automaticlly, we call it Bootrom mode or Maskrom mode. If firmware is at somewhere of the board,&nbsp;in order to get into this mode, we can do something to prevent cpu read the firmware successful: - for sd-card, unplug the sd-card; - for eMMC, short the eMMC clock to GND; - for NAND, short the data line or clock line; - for SPI, short the spi signal to GND; == Bootloader mode == If you are using miniloader, which with Rockusb driver inside, system will run rockusb driver when ''recovery'' key is pressed. = USB ID = Rockchip Vendor ID is 0x2207, and the product ID for different SoCs are different. Rockusb product ID: *RK3288: 0x320a *RK3328: 0x320c *RK3399: 0x330c Please use ''lsusb ''command in Linux PC to check if there is a Rockusb device connect. = Firmware download = [[Rkdevelptool|rkdeveloptool]] is the tool to do the firmware upgrade for Rockchip SoCs which is using Rockusb protocol via USB. Please follow the steps for boot from eMMC for how to use the tool. 72b14e93a8e7968613b993e931dd817fe8ba1f86 900 897 2017-03-23T03:34:56Z Kever 2 wikitext text/x-wiki = Introduce = Rockusb is a vendor specific USB class from Rockchip, which is for firmware dowmload for Rockchip SoCs. = Get into Rockusb = There are two cases for&nbsp;Rockchip SoCs to get into Rockusb. &nbsp; == Maskrom mode == When there is no any firmware found on board, the SoC will run&nbsp;Rockusb driver automaticlly, we call it Bootrom mode or Maskrom mode. If firmware is at somewhere of the board,&nbsp;in order to get into this mode, we can do something to prevent cpu read the firmware successful: *for sd-card, unplug the sd-card; *for eMMC, short the eMMC clock to GND; *for NAND, short the data line or clock line; *for SPI, short the spi signal to GND; In Maskrom mode, the DRAM is not available, so the download size is limit by the internal memory size. Use db command in rkdeveloptool, system will init the DRAM and run into usbplug(with rockusb driver) which have no size limitation in download size. == Bootloader mode == If you are using miniloader, which with Rockusb driver inside, system will run rockusb driver after power on if&nbsp;''recovery'' key is pressed, or there is no next stage firmware found. Rockusb driver support in U-Boot is WIP, if done, we can also enter bootloader mode with U-Boot. == usbplug mode == The usbplug is a firmware used for USB download with rkdeveloptool db command, with rockusb driver inside, the DRAM already initialized in this mode. = USB ID = Rockchip Vendor ID is 0x2207, and the product ID for different SoCs are different. Rockusb product ID: *RK3288: 0x320a *RK3328: 0x320c *RK3399: 0x330c Please use ''lsusb ''command in Linux PC to check if there is a Rockusb device connect. = Firmware download = [[Rkdevelptool|rkdeveloptool]] is the tool to do the firmware upgrade for Rockchip SoCs which is using Rockusb protocol via USB. Please follow the steps for boot from eMMC for how to use the tool. eb173a35438a9b83a93879ce496f7999ff2f05f0 901 900 2017-03-23T03:37:23Z Kever 2 wikitext text/x-wiki = Introduce = Rockusb is a vendor specific USB class from Rockchip, which is for firmware dowmload for Rockchip SoCs. = Get into Rockusb = There are two cases for&nbsp;Rockchip SoCs to get into Rockusb. *maskrom mode, no firmware found on chip, target run maskrom rockusb driver; *Loader mode, target run bootloader rockusb driver. == Maskrom mode == When there is no any firmware found on board, the SoC will run&nbsp;Rockusb driver automaticlly, we call it Bootrom mode or Maskrom mode. If firmware is at somewhere of the board,&nbsp;in order to get into this mode, we can do something to prevent cpu read the firmware successful: *for sd-card, unplug the sd-card; *for eMMC, short the eMMC clock to GND; *for NAND, short the data line or clock line; *for SPI, short the spi signal to GND; In Maskrom mode, the DRAM is not available, so the download size is limit by the internal memory size. Use db command in rkdeveloptool, system will init the DRAM and run into usbplug(with rockusb driver) which have no size limitation in download size. == Bootloader mode == If you are using miniloader, which with Rockusb driver inside, system will run rockusb driver after power on if&nbsp;''recovery'' key is pressed, or there is no next stage firmware found. Rockusb driver support in U-Boot is WIP, if done, we can also enter bootloader mode with U-Boot. == usbplug mode == The usbplug is a firmware used for USB download with rkdeveloptool db command, with rockusb driver inside, the DRAM already initialized in this mode. = USB ID = Rockchip Vendor ID is 0x2207, and the product ID for different SoCs are different. Rockusb product ID: *RK3288: 0x320a *RK3328: 0x320c *RK3399: 0x330c Please use ''lsusb ''command in Linux PC to check if there is a Rockusb device connect. = Firmware download = [[Rkdevelptool|rkdeveloptool]] is the tool to do the firmware upgrade for Rockchip SoCs which is using Rockusb protocol via USB. Please follow the steps for boot from eMMC for how to use the tool. fa05b200a111b9ae0b20589eb958f73261bc4c16 964 901 2017-04-11T10:06:36Z Karen 3 wikitext text/x-wiki = Introduce = Rockusb is a vendor specific USB class from Rockchip, which is for firmware dowmload for Rockchip SoCs. = Get into Rockusb = There are two cases for&nbsp;Rockchip SoCs to get into Rockusb. *maskrom mode, no firmware found on chip, target run maskrom rockusb driver; *Loader mode, target run bootloader rockusb driver. == Maskrom mode == If&nbsp;there is no&nbsp;firmware found on board, the SoC will run&nbsp;Rockusb driver&nbsp;automatically, we call it Bootrom mode or Maskrom mode. If firmware is at somewhere of the board,&nbsp;in order to get into this mode, we can do something to prevent cpu read the firmware successful: *for sd-card, unplug the sd-card; *for eMMC, short the eMMC clock to GND; *for NAND, short the data line or clock line; *for SPI, short the spi signal to GND; In Maskrom mode, the DRAM is not available, so the download size is limit by the internal memory size. Use db command in rkdeveloptool, system will init the DRAM and run into usbplug(with rockusb driver) which have no size limitation in download size. == Bootloader mode == If you are using miniloader, which with Rockusb driver inside, system will run rockusb driver after power on if&nbsp;''recovery'' key is pressed, or there is no next stage firmware found. Rockusb driver support in U-Boot is WIP, if done, we can also enter bootloader mode with U-Boot. == usbplug mode == The usbplug is a firmware used for USB download with rkdeveloptool db command, with rockusb driver inside, the DRAM already initialized in this mode. = USB ID = Rockchip Vendor ID is 0x2207, and the product ID for different SoCs are different. Rockusb product ID: *RK3288: 0x320a *RK3328: 0x320c *RK3399: 0x330c Please use ''lsusb ''command in Linux PC to check if there is a Rockusb device connect. = Firmware download = [[Rkdevelptool|rkdeveloptool]] is the tool to do the firmware upgrade for Rockchip SoCs which is using Rockusb protocol via USB. Please follow the steps for boot from eMMC for how to use the tool. 679a4d449eb7f33cbd636fd1b5a2b016ac8b4a88 965 964 2017-04-11T10:10:29Z Karen 3 wikitext text/x-wiki = Introduce = Rockusb is a vendor specific USB class from Rockchip, which is for firmware dowmload for Rockchip SoCs. = Get into Rockusb = There are two cases for&nbsp;Rockchip SoCs to get into Rockusb. *maskrom mode, no firmware found on chip, target run maskrom rockusb driver; *Loader mode, target run bootloader rockusb driver. == Maskrom mode == If&nbsp;there is no&nbsp;firmware found on board, the SoC will run&nbsp;Rockusb driver&nbsp;automatically, we call it Bootrom mode or Maskrom mode. If firmware is at somewhere of the board,&nbsp;in order to get into this mode, we can do something to prevent cpu read the firmware successful: *for sd-card, unplug the sd-card; *for eMMC, short the eMMC clock to GND; *for NAND, short the data line or clock line; *for SPI, short the spi signal to GND; In Maskrom mode, the DRAM is not available, so the download size is limit by the internal memory size. Use db command in rkdeveloptool, system will init the DRAM and run into usbplug(with rockusb driver) which have no size limitation in download size. == Bootloader mode == If you are using miniloader, which with Rockusb driver inside, system will run rockusb driver after power on if&nbsp;''recovery'' key is pressed, or there is no next stage firmware found. Rockusb driver support in U-Boot is WIP, if done, we can also enter bootloader mode with U-Boot. == Usbplug mode == The usbplug is a firmware used for USB download with rkdeveloptool db command, with rockusb driver inside, the DRAM already initialized in this mode. = USB ID = Rockchip Vendor ID is 0x2207, and the product ID for different SoCs are different. Rockusb product ID: *RK3288: 0x320a *RK3328: 0x320c *RK3399: 0x330c Please use ''lsusb ''command in Linux PC to check if there is a Rockusb device connect. = Firmware download = [[Rkdevelptool|rkdeveloptool]] is the tool to do the firmware upgrade for Rockchip SoCs which is using Rockusb protocol via USB. Please follow the steps for boot from eMMC for how to use the tool. 991a9741c0bfb70a02f7b53f425829c9dfaa3263 Boot option 0 116 889 858 2017-03-22T04:05:24Z Kever 2 wikitext text/x-wiki &nbsp; &nbsp; = Boot introduce = &nbsp; First, let's make the concept clear, there are many boot stages when we boot up a Linux OS; Then we need to know about how the image should packaged, where&nbsp;the image locate; At lase, we will explain how to write to different&nbsp;media and boot from there. == Boot stage == Here is a table show the detail what we may use in Rockchip platform, for 2 boot stage: - optionally&nbsp;can use U-Boot SPL; - &nbsp;or use Rockchp idbLoader which is combinded by Rockchip ddr init bin and miniloader bin; <pre>+--------+----------------+----------+-----------+ | Boot | Terminology #1 | Actual | Rockchip | | stage | | program | Loader | | number | | name | Name | +--------+----------------+----------+-----------+ | 1 | Primary | ROM code | BootRom | | | Program | | | | | Loader | | | | | | | | | 2 | Secondary | U-Boot | idbLoader | 0x40 | | Program | SPL | | | | Loader (SPL) | | | | | | | | | 3 | - | U-Boot | U-Boot | 0x4000 | | | | | | | | | | | 4 | - | kernel | kernel | 0x8000 | | | | | | 5 | - | rootfs | rootfs | 0x40000 +--------+----------------+----------+-----------+ </pre> Then when we talking about boot from eMMC/SD/U-Disk/net, they are in different concept: *Stage 1 is always in boot rom, it loads stage 2 and may load stage 3(when SPL_BACK_TO_BROM option enabled). *Boot from SPI flash means firmware for stage 2 and 3(SPL and U-Boot only) in SPI flash and stage 4/5 in other place; *Boot from eMMC means all the firmware(including stage 2, 3, 4, 5) in eMMC; *Boot from SD card means all the firmware(including stage 2, 3, 4, 5) in SD card; *Boot from U-Disk means firmware for stage 4 and 5(not including SPL and U-Boot) in Disk, optionally only including stage 5; *Boot from net/tftp means firmeware for stage 4 and 5(not including SPL and U-Boot) on the network; == Package option == After we know about the boot stages, Here are the file list before package for stage 2~4: *From source code: **From U-Boot: u-boot-spl.bin, u-boot.bin(may use u-boot-nodtb.bin and u-boot.dtb instead), **From kernel: kernel Image/zImage file, kernel dtb, **From ATF: bl31.bin; *From Rockchip binary: **ddr, usbplug, miniloader, bl31, (all with&nbsp;chip 'rkxx_'&nbsp; prefix and with version '_x.xx.bin' postfix); Here are the types to&nbsp;package image from those files: === idbspl.img === U-Boot SPL, with&nbsp;SPL_BACK_TO_BROM option '''disabled'''. <pre>mkimage -n rkxxxx -T rksd -d spl/u-boot-spl.bin idbspl.img</pre> Flash the idbspl.img to offset 0x40 which only including stage 2, and need flash stage 3 &nbsp;image to 0x200(which is defineded by CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR), the stage 3 image may be&nbsp;u-boot.bin directly(when there no ATF requirement), or FIT image bl3.itb(for ATF load from SPL, including bl31.bin, u-boot-nodtb.bin and u-boot.dtb). === idbloader.img === U-Boot SPL, with&nbsp;SPL_BACK_TO_BROM option '''enabled''': <pre>tools/mkimage -n rkxxxx -T rksd -d spl/u-boot-spl.bin idbloader.img cat u-boot.bin >> idbloader.img</pre> Flash the idbloader.img to offset 0x40 which including boot stage 2 and 3. Package the image from Rockchip binary: <pre>tools/mkimage -n rkxxxx -T rksd -d rkxx_ddr_vx.xx.bin idbloader.img cat rkxx_miniloader_vx.xx.bin >> idbloader.img</pre> Flash the idbloader.img to offset 0x40 which including stage 2, and you will need a uboot.img for boot stage 3. === bl3.itb === When using SPL to load the ATF, package the bl31.bin, u-boot-nodtb.bin and uboot.dtb into one FIT image. <pre>tools/mkimage -f fit4spl.its -E bl3.itb </pre> Flash the bl3.itb to offset 0x200, while&nbsp;need idbspl.img flasht to offset 0x40. === uboot.img === When using idbLoader from&nbsp;Rockchip miniloader, need package u-boot.bin into miniloader loadable format by Rockchip tool loaderimage. <pre>tools/loaderimage --pack --uboot u-boot.bin uboot.img</pre> Flash the uboot.img to offset 0x4000 which is stage 3; === trust.img === When using idbLoader from&nbsp;Rockchip miniloader, need package bl31.bin into miniloader loadable format by Rockchip tool trustmerge. <pre>tools/trustmerge tools/rk_tools/RKTRUST_RKXXXXTRUST.ini</pre> Flash the trust.img to offset 0x6000 which is for using Rockchip miniloader === rkxx_loader_vx.xx.xxx.bin === This is provide by Rockchip in binary mode, which is used for firmware upgrade to eMMC with [[Rkdevelptool|rkdeveloptool]]. === boot.img === This image is package the kernel Image and dtb file into a know filesystem(FAT or EXT2) image for distro boot. See [[Rockchip_Kernel#Install_Boot.2Fkernel|Install kernel]] for detail about generate boot.img from kernel zImage/Image, dtb. Flash the boot.img to offset 0x8000 which is stage 4. === rootfs.img === Flash the rootfs.img to offset 0x40000 which is stage 5. = Flash and boot from Media device = Here we introduce how to write image to different Medeia device. Get image Ready: *For armv7 with SPL with SPL_BACK_TO_BROM option enabled: **idbLoader.img **boot.img or boot folder with zImage, dtb and exitlinulx inside **rootfs.img *For armv7 with SPL with SPL_BACK_TO_BROM option disabled: **idbspl.img **uboot.bin **boot.img or boot folder with zImage, dtb and exitlinulx inside **rootfs.img *For armv7 with miniloader **idbLoader.img **uboot.img **boot.img or&nbsp;boot folder with zImage, dtb and exitlinulx inside **rootfs.img *For armv8 with SPL: **idbspl.img **bl3.itb **boot.img or&nbsp;boot folder with zImage, dtb and exitlinulx inside **rootfs.img *For armv8 with miniloader **idbLoader.img **uboot.img **trust.img **boot.img or&nbsp;boot folder with zImage, dtb and exitlinulx inside **rootfs.img == Boot from eMMC == The eMMC is on the hardware board, so we need: *Get the board into [[Rockusb#Maskrom_mode|maskrom mode]]; *Connect the target to PC with USB cable; *Flash the image to eMMC with [[Rkdevelptool|rkdeveloptool]] Example commands for flash image to target. *For armv7 with SPL with SPL_BACK_TO_BROM option enabled: <pre style="margin-left: 40px;">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbLoader.img rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> *For armv7 with SPL with SPL_BACK_TO_BROM option disabled: <pre style="margin-left: 40px;">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbspl.img rkdeveloptool wl 0x200 uboot.bin rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> *For armv7 with miniloader <pre style="margin-left: 40px;">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbLoader.img rkdeveloptool wl 0x4000 uboot.img rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> &nbsp; *For armv8 with SPL: <pre style="margin-left: 40px;">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbspl.img rkdeveloptool wl 0x200 bl3.itb rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> *For armv8 with miniloader <pre style="margin-left: 40px;">rkdeveloptool db rkdeveloptool wl 0x40 idbLoader.img rkdeveloptool wl 0x4000 uboot.img rkdeveloptool wl 0x6000 trust.img rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool r</pre> == Boot from SD/TF Card == === Creating Image === Follow [[Linux_user_guide|Linux user guide to]] build kernel and U-Boot.<br/> get uboot-spl.img and u-boot-dtb.img <pre>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin uboot-spl.img </pre> &nbsp; === <br/> <var>build boot.img</var> === <pre>sudo dd if=/dev/zero of=boot.img bs=1M count=128 sudo mkfs.fat boot.img mkdir boot sudo mount boot.img boot sudo cp zImage boot sudo cp rk3288-fennec.dtb boot sudo mkdir boot/extlinux sudo cp extlinux.conf boot/extlinux sudo umount boot </pre> Download rootfs image and rename it <pre>mv linaro-rootfs.img rootfs.img </pre> &nbsp; === Making a SD Card for updating === Download&nbsp;[https://github.com/wzyy2/rk-initrd-build ramdisk source]&nbsp;and build. <pre>sh ./mk-initrd.sh </pre> Format SD card <pre>chen@chen-HP-ProDesk-680-G1-TWR:~/work/linaro-alip/ramdisk/update$ sudo gdisk /dev/sdb GPT fdisk (gdisk) version 0.8.8 Partition table scan: MBR: protective BSD: not present APM: not present GPT: present Found valid GPT with protective MBR; using GPT. Command (? for help): o This option deletes all partitions and creates a new protective MBR. Proceed? (Y/N): y Command (? for help): n Partition number (1-128, default 1): 1 First sector (34-126613470, default = 2048) or {+-}size{KMGTP}: 8192 Last sector (8192-126613470, default = 126613470) or {+-}size{KMGTP}: Current type is 'Linux filesystem' Hex code or GUID (L to show codes, Enter = 8300): Changed type of partition to 'Linux filesystem' Command (? for help): w Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING PARTITIONS!! Do you want to proceed? (Y/N): y OK; writing new GUID partition table (GPT) to /dev/sdc. Warning: The kernel is still using the old partition table. The new table will be used at the next reboot. The operation has completed successfully. </pre> <pre>sudo umount /dev/sdb1 sudo mkfs.fat /dev/sdb1 </pre> <pre>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin out&& sudo dd if=out of=/dev/sdb seek=64&&sudo dd if=u-boot-dtb.img of=/dev/sdb seek=256 </pre> Copy zimage, dts and ramdisk to /dev/sdb1 <pre>cp arch/arm/boot/zImage /media/chen/9F35-9565/ cp arch/arm/boot/dts/rk3288-fennec.dtb /media/chen/9F35-9565/rk3288-fennec.dtb cp ../rk-initrd-build/initrd.img /media/chen/9F35-9565/ </pre> Add extlinux/extlinux.conf to /dev/sdb1 <pre>label kernel-4.4 kernel /zImage fdt /rk3288-fennec.dtb initrd /initrd.img append earlyprintk console=ttyS2,115200n8 rw root=/dev/ram0 rootfstype=ext4 init=/sbin/init ramdisk_size=49152 </pre> Copy u-boot-dtb.img uboot-spl.img boot.img rootfs.img and&nbsp;[https://github.com/wzyy2/rk-initrd-build/blob/master/update/update.sh update.sh]&nbsp;to /dev/sdb1 <pre>mkdir /media/chen/9F35-9565/update cp u-boot-dtb.img /media/chen/9F35-9565/update cp uboot-spl.img /media/chen/9F35-9565/update cp boot.img /media/chen/9F35-9565/update cp rootfs.img /media/chen/9F35-9565/update cp update.sh /media/chen/9F35-9565/update </pre> === Updating the board === Boot the board and it will flash image to eMMC &nbsp; == Boot from USB-Disk == Same as&nbsp;[[#Boot_from_SD.2FTF_Card|boot-from-sdcard]], but please note that U-Boot aren't allowed to boot from usb-disk because of restrict of maskrom, only kernel and rootfs can load from USB-Disk. Difference: <pre>label kernel-4.4 kernel /zImage fdt /rk3288-fennec.dtb append earlyprintk console=ttyS2,115200n8 rw root=/dev/sda1 rootfstype=ext4 init=/sbin/init </pre> <pre>gpt write usb 0 $partitions ums 0 usb 0 </pre> = Boot from Network = &nbsp; 1fb3fc65d872456b1c22db92d1032138d4ca6eee 890 889 2017-03-22T04:07:13Z Kever 2 wikitext text/x-wiki &nbsp; &nbsp; = Boot introduce = &nbsp; First, let's make the concept clear, there are many boot stages when we boot up a Linux OS; Then we need to know about how the image should packaged, where&nbsp;the image locate; At lase, we will explain how to write to different&nbsp;media and boot from there. == Boot stage == Here is a table show the detail what we may use in Rockchip platform, for 2 boot stage: - optionally&nbsp;can use U-Boot SPL; - &nbsp;or use Rockchp idbLoader which is combinded by Rockchip ddr init bin and miniloader bin; <pre>+--------+----------------+----------+-----------+ | Boot | Terminology #1 | Actual | Rockchip | | stage | | program | Loader | | number | | name | Name | +--------+----------------+----------+-----------+ | 1 | Primary | ROM code | BootRom | | | Program | | | | | Loader | | | | | | | | | 2 | Secondary | U-Boot | idbLoader | 0x40 | | Program | SPL | | | | Loader (SPL) | | | | | | | | | 3 | - | U-Boot | U-Boot | 0x4000 | | | | | | | | | | | 4 | - | kernel | kernel | 0x8000 | | | | | | 5 | - | rootfs | rootfs | 0x40000 +--------+----------------+----------+-----------+ </pre> Then when we talking about boot from eMMC/SD/U-Disk/net, they are in different concept: *Stage 1 is always in boot rom, it loads stage 2 and may load stage 3(when SPL_BACK_TO_BROM option enabled). *Boot from SPI flash means firmware for stage 2 and 3(SPL and U-Boot only) in SPI flash and stage 4/5 in other place; *Boot from eMMC means all the firmware(including stage 2, 3, 4, 5) in eMMC; *Boot from SD card means all the firmware(including stage 2, 3, 4, 5) in SD card; *Boot from U-Disk means firmware for stage 4 and 5(not including SPL and U-Boot) in Disk, optionally only including stage 5; *Boot from net/tftp means firmeware for stage 4 and 5(not including SPL and U-Boot) on the network; == Package option == After we know about the boot stages, Here are the file list before package for stage 2~4: *From source code: **From U-Boot: u-boot-spl.bin, u-boot.bin(may use u-boot-nodtb.bin and u-boot.dtb instead), **From kernel: kernel Image/zImage file, kernel dtb, **From ATF: bl31.bin; *From Rockchip binary: **ddr, usbplug, miniloader, bl31, (all with&nbsp;chip 'rkxx_'&nbsp; prefix and with version '_x.xx.bin' postfix); Here are the types to&nbsp;package image from those files: === idbspl.img === U-Boot SPL, with&nbsp;SPL_BACK_TO_BROM option '''disabled'''. <pre>mkimage -n rkxxxx -T rksd -d spl/u-boot-spl.bin idbspl.img</pre> Flash the idbspl.img to offset 0x40 which only including stage 2, and need flash stage 3 &nbsp;image to 0x200(which is defineded by CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR), the stage 3 image may be&nbsp;u-boot.bin directly(when there no ATF requirement), or FIT image bl3.itb(for ATF load from SPL, including bl31.bin, u-boot-nodtb.bin and u-boot.dtb). === idbloader.img === U-Boot SPL, with&nbsp;SPL_BACK_TO_BROM option '''enabled''': <pre>tools/mkimage -n rkxxxx -T rksd -d spl/u-boot-spl.bin idbloader.img cat u-boot.bin >> idbloader.img</pre> Flash the idbloader.img to offset 0x40 which including boot stage 2 and 3. Package the image from Rockchip binary: <pre>tools/mkimage -n rkxxxx -T rksd -d rkxx_ddr_vx.xx.bin idbloader.img cat rkxx_miniloader_vx.xx.bin >> idbloader.img</pre> Flash the idbloader.img to offset 0x40 which including stage 2, and you will need a uboot.img for boot stage 3. === bl3.itb === When using SPL to load the ATF, package the bl31.bin, u-boot-nodtb.bin and uboot.dtb into one FIT image. <pre>tools/mkimage -f fit4spl.its -E bl3.itb </pre> Flash the bl3.itb to offset 0x200, while&nbsp;need idbspl.img flasht to offset 0x40. === uboot.img === When using idbLoader from&nbsp;Rockchip miniloader, need package u-boot.bin into miniloader loadable format by Rockchip tool loaderimage. <pre>tools/loaderimage --pack --uboot u-boot.bin uboot.img</pre> Flash the uboot.img to offset 0x4000 which is stage 3; === trust.img === When using idbLoader from&nbsp;Rockchip miniloader, need package bl31.bin into miniloader loadable format by Rockchip tool trustmerge. <pre>tools/trustmerge tools/rk_tools/RKTRUST_RKXXXXTRUST.ini</pre> Flash the trust.img to offset 0x6000 which is for using Rockchip miniloader === rkxx_loader_vx.xx.xxx.bin === This is provide by Rockchip in binary mode, which is used for firmware upgrade to eMMC with [[Rkdevelptool|rkdeveloptool]]. === boot.img === This image is package the kernel Image and dtb file into a know filesystem(FAT or EXT2) image for distro boot. See [[Rockchip_Kernel#Install_Boot.2Fkernel|Install kernel]] for detail about generate boot.img from kernel zImage/Image, dtb. Flash the boot.img to offset 0x8000 which is stage 4. === rootfs.img === Flash the rootfs.img to offset 0x40000 which is stage 5. = Flash and boot from Media device = Here we introduce how to write image to different Medeia device. Get image Ready: *For armv7 with SPL with SPL_BACK_TO_BROM option enabled: **idbLoader.img **boot.img or boot folder with zImage, dtb and exitlinulx inside **rootfs.img *For armv7 with SPL with SPL_BACK_TO_BROM option disabled: **idbspl.img **uboot.bin **boot.img or boot folder with zImage, dtb and exitlinulx inside **rootfs.img *For armv7 with miniloader **idbLoader.img **uboot.img **boot.img or&nbsp;boot folder with zImage, dtb and exitlinulx inside **rootfs.img *For armv8 with SPL: **idbspl.img **bl3.itb **boot.img or&nbsp;boot folder with zImage, dtb and exitlinulx inside **rootfs.img *For armv8 with miniloader **idbLoader.img **uboot.img **trust.img **boot.img or&nbsp;boot folder with zImage, dtb and exitlinulx inside **rootfs.img == Boot from eMMC == The eMMC is on the hardware board, so we need: *Get the board into [[Rockusb#Maskrom_mode|maskrom mode]]; *Connect the target to PC with USB cable; *Flash the image to eMMC with [[Rkdevelptool|rkdeveloptool]] Example commands for flash image to target. *For armv7 with SPL with SPL_BACK_TO_BROM option enabled(rk3036, rk3188, rk3288): <pre style="margin-left: 40px;">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbLoader.img rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> *For armv7 with SPL with SPL_BACK_TO_BROM option disabled(rk3288): <pre style="margin-left: 40px;">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbspl.img rkdeveloptool wl 0x200 uboot.bin rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> *For armv7 with miniloader(rk3036, rk3188, rk3288) <pre style="margin-left: 40px;">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbLoader.img rkdeveloptool wl 0x4000 uboot.img rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> &nbsp; *For armv8 with SPL(rk3399): <pre style="margin-left: 40px;">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbspl.img rkdeveloptool wl 0x200 bl3.itb rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> *For armv8 with miniloader(rk3399, rk3328) <pre style="margin-left: 40px;">rkdeveloptool db rkdeveloptool wl 0x40 idbLoader.img rkdeveloptool wl 0x4000 uboot.img rkdeveloptool wl 0x6000 trust.img rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool r</pre> == Boot from SD/TF Card == === Creating Image === Follow [[Linux_user_guide|Linux user guide to]] build kernel and U-Boot.<br/> get uboot-spl.img and u-boot-dtb.img <pre>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin uboot-spl.img </pre> &nbsp; === <br/> <var>build boot.img</var> === <pre>sudo dd if=/dev/zero of=boot.img bs=1M count=128 sudo mkfs.fat boot.img mkdir boot sudo mount boot.img boot sudo cp zImage boot sudo cp rk3288-fennec.dtb boot sudo mkdir boot/extlinux sudo cp extlinux.conf boot/extlinux sudo umount boot </pre> Download rootfs image and rename it <pre>mv linaro-rootfs.img rootfs.img </pre> &nbsp; === Making a SD Card for updating === Download&nbsp;[https://github.com/wzyy2/rk-initrd-build ramdisk source]&nbsp;and build. <pre>sh ./mk-initrd.sh </pre> Format SD card <pre>chen@chen-HP-ProDesk-680-G1-TWR:~/work/linaro-alip/ramdisk/update$ sudo gdisk /dev/sdb GPT fdisk (gdisk) version 0.8.8 Partition table scan: MBR: protective BSD: not present APM: not present GPT: present Found valid GPT with protective MBR; using GPT. Command (? for help): o This option deletes all partitions and creates a new protective MBR. Proceed? (Y/N): y Command (? for help): n Partition number (1-128, default 1): 1 First sector (34-126613470, default = 2048) or {+-}size{KMGTP}: 8192 Last sector (8192-126613470, default = 126613470) or {+-}size{KMGTP}: Current type is 'Linux filesystem' Hex code or GUID (L to show codes, Enter = 8300): Changed type of partition to 'Linux filesystem' Command (? for help): w Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING PARTITIONS!! Do you want to proceed? (Y/N): y OK; writing new GUID partition table (GPT) to /dev/sdc. Warning: The kernel is still using the old partition table. The new table will be used at the next reboot. The operation has completed successfully. </pre> <pre>sudo umount /dev/sdb1 sudo mkfs.fat /dev/sdb1 </pre> <pre>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin out&& sudo dd if=out of=/dev/sdb seek=64&&sudo dd if=u-boot-dtb.img of=/dev/sdb seek=256 </pre> Copy zimage, dts and ramdisk to /dev/sdb1 <pre>cp arch/arm/boot/zImage /media/chen/9F35-9565/ cp arch/arm/boot/dts/rk3288-fennec.dtb /media/chen/9F35-9565/rk3288-fennec.dtb cp ../rk-initrd-build/initrd.img /media/chen/9F35-9565/ </pre> Add extlinux/extlinux.conf to /dev/sdb1 <pre>label kernel-4.4 kernel /zImage fdt /rk3288-fennec.dtb initrd /initrd.img append earlyprintk console=ttyS2,115200n8 rw root=/dev/ram0 rootfstype=ext4 init=/sbin/init ramdisk_size=49152 </pre> Copy u-boot-dtb.img uboot-spl.img boot.img rootfs.img and&nbsp;[https://github.com/wzyy2/rk-initrd-build/blob/master/update/update.sh update.sh]&nbsp;to /dev/sdb1 <pre>mkdir /media/chen/9F35-9565/update cp u-boot-dtb.img /media/chen/9F35-9565/update cp uboot-spl.img /media/chen/9F35-9565/update cp boot.img /media/chen/9F35-9565/update cp rootfs.img /media/chen/9F35-9565/update cp update.sh /media/chen/9F35-9565/update </pre> === Updating the board === Boot the board and it will flash image to eMMC &nbsp; == Boot from USB-Disk == Same as&nbsp;[[#Boot_from_SD.2FTF_Card|boot-from-sdcard]], but please note that U-Boot aren't allowed to boot from usb-disk because of restrict of maskrom, only kernel and rootfs can load from USB-Disk. Difference: <pre>label kernel-4.4 kernel /zImage fdt /rk3288-fennec.dtb append earlyprintk console=ttyS2,115200n8 rw root=/dev/sda1 rootfstype=ext4 init=/sbin/init </pre> <pre>gpt write usb 0 $partitions ums 0 usb 0 </pre> = Boot from Network = &nbsp; d144411148b93b6ffc3c81487e1c2707b2e27afc 891 890 2017-03-22T08:13:28Z Kever 2 wikitext text/x-wiki &nbsp; &nbsp; = Boot introduce = &nbsp; First, let's make the concept clear, there are many boot stages when we boot up a Linux OS; Then we need to know about how the image should packaged, where&nbsp;the image locate; At lase, we will explain how to write to different&nbsp;media and boot from there. == Boot stage == Here is a table show the detail what we may use in Rockchip platform, for 2 boot stage: - optionally&nbsp;can use U-Boot SPL; - &nbsp;or use Rockchp idbLoader which is combinded by Rockchip ddr init bin and miniloader bin; <pre>+--------+----------------+----------+-----------+ | Boot | Terminology #1 | Actual | Rockchip | | stage | | program | Loader | | number | | name | Name | +--------+----------------+----------+-----------+ | 1 | Primary | ROM code | BootRom | | | Program | | | | | Loader | | | | | | | | | 2 | Secondary | U-Boot | idbLoader | 0x40 | | Program | SPL | | | | Loader (SPL) | | | | | | | | | 3 | - | U-Boot | U-Boot | 0x4000 | | | | | | | | | | | 4 | - | kernel | kernel | 0x8000 | | | | | | 5 | - | rootfs | rootfs | 0x40000 +--------+----------------+----------+-----------+ </pre> Then when we talking about boot from eMMC/SD/U-Disk/net, they are in different concept: *Stage 1 is always in boot rom, it loads stage 2 and may load stage 3(when SPL_BACK_TO_BROM option enabled). *Boot from SPI flash means firmware for stage 2 and 3(SPL and U-Boot only) in SPI flash and stage 4/5 in other place; *Boot from eMMC means all the firmware(including stage 2, 3, 4, 5) in eMMC; *Boot from SD card means all the firmware(including stage 2, 3, 4, 5) in SD card; *Boot from U-Disk means firmware for stage 4 and 5(not including SPL and U-Boot) in Disk, optionally only including stage 5; *Boot from net/tftp means firmeware for stage 4 and 5(not including SPL and U-Boot) on the network; == Package option == After we know about the boot stages, Here are the file list before package for stage 2~4: *From source code: **From U-Boot: u-boot-spl.bin, u-boot.bin(may use u-boot-nodtb.bin and u-boot.dtb instead), **From kernel: kernel Image/zImage file, kernel dtb, **From ATF: bl31.bin; *From Rockchip binary: **ddr, usbplug, miniloader, bl31, (all with&nbsp;chip 'rkxx_'&nbsp; prefix and with version '_x.xx.bin' postfix); Here are the types to&nbsp;package image from those files: === idbspl.img === U-Boot SPL, with&nbsp;SPL_BACK_TO_BROM option '''disabled'''. <pre>mkimage -n rkxxxx -T rksd -d spl/u-boot-spl.bin idbspl.img</pre> Flash the idbspl.img to offset 0x40 which only including stage 2, and need flash stage 3 &nbsp;image to 0x200(which is defineded by CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR), the stage 3 image may be&nbsp;u-boot.bin directly(when there no ATF requirement), or FIT image bl3.itb(for ATF load from SPL, including bl31.bin, u-boot-nodtb.bin and u-boot.dtb). === idbloader.img === U-Boot SPL, with&nbsp;SPL_BACK_TO_BROM option '''enabled''': <pre>tools/mkimage -n rkxxxx -T rksd -d spl/u-boot-spl.bin idbloader.img cat u-boot.bin >> idbloader.img</pre> Flash the idbloader.img to offset 0x40 which including boot stage 2 and 3. Package the image from Rockchip binary: <pre>tools/mkimage -n rkxxxx -T rksd -d rkxx_ddr_vx.xx.bin idbloader.img cat rkxx_miniloader_vx.xx.bin >> idbloader.img</pre> Flash the idbloader.img to offset 0x40 which including stage 2, and you will need a uboot.img for boot stage 3. === bl3.itb === When using SPL to load the ATF, package the bl31.bin, u-boot-nodtb.bin and uboot.dtb into one FIT image. <pre>tools/mkimage -f fit4spl.its -E bl3.itb </pre> Flash the bl3.itb to offset 0x200, while&nbsp;need idbspl.img flasht to offset 0x40. === uboot.img === When using idbLoader from&nbsp;Rockchip miniloader, need package u-boot.bin into miniloader loadable format by Rockchip tool loaderimage. <pre>tools/loaderimage --pack --uboot u-boot.bin uboot.img</pre> Flash the uboot.img to offset 0x4000 which is stage 3; === trust.img === When using idbLoader from&nbsp;Rockchip miniloader, need package bl31.bin into miniloader loadable format by Rockchip tool trustmerge. <pre>tools/trustmerge tools/rk_tools/RKTRUST_RKXXXXTRUST.ini</pre> Flash the trust.img to offset 0x6000 which is for using Rockchip miniloader === rkxx_loader_vx.xx.xxx.bin === This is provide by Rockchip in binary mode, which is used for firmware upgrade to eMMC with [[Rkdevelptool|rkdeveloptool]]. === boot.img === This image is package the kernel Image and dtb file into a know filesystem(FAT or EXT2) image for distro boot. See [[Rockchip_Kernel#Install_Boot.2Fkernel|Install kernel]] for detail about generate boot.img from kernel zImage/Image, dtb. Flash the boot.img to offset 0x8000 which is stage 4. === rootfs.img === Flash the rootfs.img to offset 0x40000 which is stage 5. = Flash and boot from Media device = Here we introduce how to write image to different Medeia device. Get image Ready: *For armv7 with SPL with SPL_BACK_TO_BROM option enabled: **idbLoader.img **boot.img or boot folder with zImage, dtb and exitlinulx inside **rootfs.img *For armv7 with SPL with SPL_BACK_TO_BROM option disabled: **idbspl.img **u-boot.bin **boot.img or boot folder with zImage, dtb and exitlinulx inside **rootfs.img *For armv7 with miniloader **idbLoader.img **uboot.img **boot.img or&nbsp;boot folder with zImage, dtb and exitlinulx inside **rootfs.img *For armv8 with SPL: **idbspl.img **bl3.itb **boot.img or&nbsp;boot folder with zImage, dtb and exitlinulx inside **rootfs.img *For armv8 with miniloader **idbLoader.img **uboot.img **trust.img **boot.img or&nbsp;boot folder with zImage, dtb and exitlinulx inside **rootfs.img &nbsp; == Boot from eMMC == The eMMC is on the hardware board, so we need: *Get the board into [[Rockusb#Maskrom_mode|maskrom mode]]; *Connect the target to PC with USB cable; *Flash the image to eMMC with [[Rkdevelptool|rkdeveloptool]] Example commands for flash image to target. *For armv7 with SPL with SPL_BACK_TO_BROM option enabled(rk3036, rk3188, rk3288): <pre style="margin-left: 40px;">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbloader.img rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> *For armv7 with SPL with SPL_BACK_TO_BROM option disabled(rk3288): <pre style="margin-left: 40px;">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbspl.img rkdeveloptool wl 0x200 u-boot.bin rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> *For armv7 with miniloader(rk3036, rk3188, rk3288) <pre style="margin-left: 40px;">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbloader.img rkdeveloptool wl 0x4000 uboot.img rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> *For armv8 with SPL(rk3399): <pre style="margin-left: 40px;">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbspl.img rkdeveloptool wl 0x200 bl3.itb rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> *For armv8 with miniloader(rk3399, rk3328) <pre style="margin-left: 40px;">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbloader.img rkdeveloptool wl 0x4000 uboot.img rkdeveloptool wl 0x6000 trust.img rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool r</pre> == Boot from SD/TF Card == We can write SD/TF card with Linux PC ''dd'' command very easily. Insert SD card to PC and we assume the /dev/sdb is the SD card device. *For armv7 with SPL with SPL_BACK_TO_BROM option enabled(rk3036, rk3188, rk3288): <pre style="margin-left: 40px;">dd if=idbloader.img of=sdb seek=0x40 dd if=boot.img of=sdb seek=0x8000 dd if=rootfs.img of=sdb seek=0x40000 </pre> *For armv7 with SPL with SPL_BACK_TO_BROM option disabled(rk3288): <pre style="margin-left: 40px;">dd if=idbspl.img of=sdb seek=0x40 dd if=u-boot.bin of=sdb seek=0x200 dd if=boot.img of=sdb seek=0x8000 dd if=rootfs.img of=sdb seek=0x40000 </pre> *For armv7 with miniloader(rk3036, rk3188, rk3288) <pre style="margin-left: 40px;">dd if=idbloader.img of=sdb seek=0x40 dd if=uboot.img of=sdb seek=0x4000 dd if=boot.img of=sdb seek=0x8000 dd if=rootfs.img of=sdb seek=0x40000 </pre> *For armv8 with SPL(rk3399): <pre style="margin-left: 40px;">dd if=idbspl.img of=sdb seek=0x40 dd if=bl3.itb of=sdb seek=0x200 dd if=boot.img of=sdb seek=0x8000 dd if=rootfs.img of=sdb seek=0x40000 </pre> *For armv8 with miniloader(rk3399, rk3328) <pre style="margin-left: 40px;">dd if=idbloader.img of=sdb seek=0x40 dd if=uboot.img of=sdb seek=0x4000 dd if=trust.img of=sdb seek=0x6000 dd if=boot.img of=sdb seek=0x8000 dd if=rootfs.img of=sdb seek=0x40000</pre> In order to make sure everything has write to SD card before unpluged, recommand to run below command: <pre style="margin-left: 40px;">sync</pre> Note, when using boot from SD card, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value. <pre>append earlyprintk console=ttyS2,115200n8 rw '''root=/dev/mmcblk1p7''' rootwait rootfstype=ext4 init=/sbin/init </pre> Write GPT partition table to SD card&nbsp;in U-Boot, and then U-Boot can find the boot partition and run into kernel. <pre>gpt write mmc 0 $partitions</pre> == Boot from U-Disk == Same as&nbsp;[[#Boot_from_SD.2FTF_Card|boot-from-sdcard]], but please note that U-Disk&nbsp;only support stage 4 and 5, see [[#Boot_Stage|Boot Stage]] for detail. If U-Disk used for stage 4 and 5, format the U-Disk in gpt format and at least 2 partitions, write ''boot.img'' and ''rootfs.img'' in those partitions; if U-Dist is only used for stage 5, we can ''dd ''the ''rootfs.img'' to U-Disk device directly. Note, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value. <pre> append earlyprintk console=ttyS2,115200n8 rw '''root=/dev/sda1''' rootwait rootfstype=ext4 init=/sbin/init </pre> = Boot from Network = &nbsp; 49e8a6397565cb3048da6ee52591546cfefa4bba 892 891 2017-03-22T08:17:49Z Kever 2 wikitext text/x-wiki &nbsp; &nbsp; = Boot introduce = &nbsp; First, let's make the concept clear, there are many boot stages when we boot up a Linux OS; Then we need to know about how the image should packaged, where&nbsp;the image locate; At lase, we will explain how to write to different&nbsp;media and boot from there. == Boot stage == Here is a table show the detail what we may use in Rockchip platform, for 2 boot stage: - optionally&nbsp;can use U-Boot SPL; - &nbsp;or use Rockchp idbLoader which is combinded by Rockchip ddr init bin and miniloader bin; <pre>+--------+----------------+----------+-----------+ | Boot | Terminology #1 | Actual | Rockchip | | stage | | program | Loader | | number | | name | Name | +--------+----------------+----------+-----------+ | 1 | Primary | ROM code | BootRom | | | Program | | | | | Loader | | | | | | | | | 2 | Secondary | U-Boot | idbLoader | 0x40 | | Program | SPL | | | | Loader (SPL) | | | | | | | | | 3 | - | U-Boot | U-Boot | 0x4000 | | | | | | | | | | | 4 | - | kernel | kernel | 0x8000 | | | | | | 5 | - | rootfs | rootfs | 0x40000 +--------+----------------+----------+-----------+ </pre> Then when we talking about boot from eMMC/SD/U-Disk/net, they are in different concept: *Stage 1 is always in boot rom, it loads stage 2 and may load stage 3(when SPL_BACK_TO_BROM option enabled). *Boot from SPI flash means firmware for stage 2 and 3(SPL and U-Boot only) in SPI flash and stage 4/5 in other place; *Boot from eMMC means all the firmware(including stage 2, 3, 4, 5) in eMMC; *Boot from SD card means all the firmware(including stage 2, 3, 4, 5) in SD card; *Boot from U-Disk means firmware for stage 4 and 5(not including SPL and U-Boot) in Disk, optionally only including stage 5; *Boot from net/tftp means firmeware for stage 4 and 5(not including SPL and U-Boot) on the network; == Package option == After we know about the boot stages, Here are the file list before package for stage 2~4: *From source code: **From U-Boot: u-boot-spl.bin, u-boot.bin(may use u-boot-nodtb.bin and u-boot.dtb instead), **From kernel: kernel Image/zImage file, kernel dtb, **From ATF: bl31.bin; *From Rockchip binary: **ddr, usbplug, miniloader, bl31, (all with&nbsp;chip 'rkxx_'&nbsp; prefix and with version '_x.xx.bin' postfix); Here are the types to&nbsp;package image from those files: === idbspl.img === U-Boot SPL, with&nbsp;SPL_BACK_TO_BROM option '''disabled'''. <pre>mkimage -n rkxxxx -T rksd -d spl/u-boot-spl.bin idbspl.img</pre> Flash the idbspl.img to offset 0x40 which only including stage 2, and need flash stage 3 &nbsp;image to 0x200(which is defineded by CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR), the stage 3 image may be&nbsp;u-boot.bin directly(when there no ATF requirement), or FIT image bl3.itb(for ATF load from SPL, including bl31.bin, u-boot-nodtb.bin and u-boot.dtb). === idbloader.img === U-Boot SPL, with&nbsp;SPL_BACK_TO_BROM option '''enabled''': <pre>tools/mkimage -n rkxxxx -T rksd -d spl/u-boot-spl.bin idbloader.img cat u-boot.bin >> idbloader.img</pre> Flash the idbloader.img to offset 0x40 which including boot stage 2 and 3. Package the image from Rockchip binary: <pre>tools/mkimage -n rkxxxx -T rksd -d rkxx_ddr_vx.xx.bin idbloader.img cat rkxx_miniloader_vx.xx.bin >> idbloader.img</pre> Flash the idbloader.img to offset 0x40 which including stage 2, and you will need a uboot.img for boot stage 3. === bl3.itb === When using SPL to load the ATF, package the bl31.bin, u-boot-nodtb.bin and uboot.dtb into one FIT image. <pre>tools/mkimage -f fit4spl.its -E bl3.itb </pre> Flash the bl3.itb to offset 0x200, while&nbsp;need idbspl.img flasht to offset 0x40. === uboot.img === When using idbLoader from&nbsp;Rockchip miniloader, need package u-boot.bin into miniloader loadable format by Rockchip tool loaderimage. <pre>tools/loaderimage --pack --uboot u-boot.bin uboot.img</pre> Flash the uboot.img to offset 0x4000 which is stage 3; === trust.img === When using idbLoader from&nbsp;Rockchip miniloader, need package bl31.bin into miniloader loadable format by Rockchip tool trustmerge. <pre>tools/trustmerge tools/rk_tools/RKTRUST_RKXXXXTRUST.ini</pre> Flash the trust.img to offset 0x6000 which is for using Rockchip miniloader === rkxx_loader_vx.xx.xxx.bin === This is provide by Rockchip in binary mode, which is used for firmware upgrade to eMMC with [[Rkdevelptool|rkdeveloptool]], can not be wirte to media device directly. This is a package from ddr.bin, usbplug.bin, miniloader.bin, Rockchip tool ''DB ''command will make usbplug.bin running in target which perform as a Rockusb device. === boot.img === This image is package the kernel Image and dtb file into a know filesystem(FAT or EXT2) image for distro boot. See [[Rockchip_Kernel#Install_Boot.2Fkernel|Install kernel]] for detail about generate boot.img from kernel zImage/Image, dtb. Flash the boot.img to offset 0x8000 which is stage 4. === rootfs.img === Flash the rootfs.img to offset 0x40000 which is stage 5. = Flash and boot from Media device = Here we introduce how to write image to different Medeia device. Get image Ready: *For armv7 with SPL with SPL_BACK_TO_BROM option enabled: **idbLoader.img **boot.img or boot folder with zImage, dtb and exitlinulx inside **rootfs.img *For armv7 with SPL with SPL_BACK_TO_BROM option disabled: **idbspl.img **u-boot.bin **boot.img or boot folder with zImage, dtb and exitlinulx inside **rootfs.img *For armv7 with miniloader **idbLoader.img **uboot.img **boot.img or&nbsp;boot folder with zImage, dtb and exitlinulx inside **rootfs.img *For armv8 with SPL: **idbspl.img **bl3.itb **boot.img or&nbsp;boot folder with zImage, dtb and exitlinulx inside **rootfs.img *For armv8 with miniloader **idbLoader.img **uboot.img **trust.img **boot.img or&nbsp;boot folder with zImage, dtb and exitlinulx inside **rootfs.img &nbsp; == Boot from eMMC == The eMMC is on the hardware board, so we need: *Get the board into [[Rockusb#Maskrom_mode|maskrom mode]]; *Connect the target to PC with USB cable; *Flash the image to eMMC with [[Rkdevelptool|rkdeveloptool]] Example commands for flash image to target. *For armv7 with SPL with SPL_BACK_TO_BROM option enabled(rk3036, rk3188, rk3288): <pre style="margin-left: 40px;">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbloader.img rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> *For armv7 with SPL with SPL_BACK_TO_BROM option disabled(rk3288): <pre style="margin-left: 40px;">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbspl.img rkdeveloptool wl 0x200 u-boot.bin rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> *For armv7 with miniloader(rk3036, rk3188, rk3288) <pre style="margin-left: 40px;">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbloader.img rkdeveloptool wl 0x4000 uboot.img rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> *For armv8 with SPL(rk3399): <pre style="margin-left: 40px;">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbspl.img rkdeveloptool wl 0x200 bl3.itb rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> *For armv8 with miniloader(rk3399, rk3328) <pre style="margin-left: 40px;">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbloader.img rkdeveloptool wl 0x4000 uboot.img rkdeveloptool wl 0x6000 trust.img rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool r</pre> == Boot from SD/TF Card == We can write SD/TF card with Linux PC ''dd'' command very easily. Insert SD card to PC and we assume the /dev/sdb is the SD card device. *For armv7 with SPL with SPL_BACK_TO_BROM option enabled(rk3036, rk3188, rk3288): <pre style="margin-left: 40px;">dd if=idbloader.img of=sdb seek=0x40 dd if=boot.img of=sdb seek=0x8000 dd if=rootfs.img of=sdb seek=0x40000 </pre> *For armv7 with SPL with SPL_BACK_TO_BROM option disabled(rk3288): <pre style="margin-left: 40px;">dd if=idbspl.img of=sdb seek=0x40 dd if=u-boot.bin of=sdb seek=0x200 dd if=boot.img of=sdb seek=0x8000 dd if=rootfs.img of=sdb seek=0x40000 </pre> *For armv7 with miniloader(rk3036, rk3188, rk3288) <pre style="margin-left: 40px;">dd if=idbloader.img of=sdb seek=0x40 dd if=uboot.img of=sdb seek=0x4000 dd if=boot.img of=sdb seek=0x8000 dd if=rootfs.img of=sdb seek=0x40000 </pre> *For armv8 with SPL(rk3399): <pre style="margin-left: 40px;">dd if=idbspl.img of=sdb seek=0x40 dd if=bl3.itb of=sdb seek=0x200 dd if=boot.img of=sdb seek=0x8000 dd if=rootfs.img of=sdb seek=0x40000 </pre> *For armv8 with miniloader(rk3399, rk3328) <pre style="margin-left: 40px;">dd if=idbloader.img of=sdb seek=0x40 dd if=uboot.img of=sdb seek=0x4000 dd if=trust.img of=sdb seek=0x6000 dd if=boot.img of=sdb seek=0x8000 dd if=rootfs.img of=sdb seek=0x40000</pre> In order to make sure everything has write to SD card before unpluged, recommand to run below command: <pre style="margin-left: 40px;">sync</pre> Note, when using boot from SD card, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value. <pre>append earlyprintk console=ttyS2,115200n8 rw '''root=/dev/mmcblk1p7''' rootwait rootfstype=ext4 init=/sbin/init </pre> Write GPT partition table to SD card&nbsp;in U-Boot, and then U-Boot can find the boot partition and run into kernel. <pre>gpt write mmc 0 $partitions</pre> == Boot from U-Disk == Same as&nbsp;[[#Boot_from_SD.2FTF_Card|boot-from-sdcard]], but please note that U-Disk&nbsp;only support stage 4 and 5, see [[#Boot_Stage|Boot Stage]] for detail. If U-Disk used for stage 4 and 5, format the U-Disk in gpt format and at least 2 partitions, write ''boot.img'' and ''rootfs.img'' in those partitions; if U-Dist is only used for stage 5, we can ''dd ''the ''rootfs.img'' to U-Disk device directly. Note, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value. <pre> append earlyprintk console=ttyS2,115200n8 rw '''root=/dev/sda1''' rootwait rootfstype=ext4 init=/sbin/init </pre> = Boot from Network = &nbsp; b51d0896b17a4aedfee211bc3d898045af99a65c 904 892 2017-03-23T06:52:46Z Kever 2 wikitext text/x-wiki &nbsp; &nbsp; = Boot introduce = &nbsp; First, let's make the concept clear, there are many boot stages when we boot up a Linux OS; Then we need to know about how the image should packaged, where&nbsp;the image locate; At lase, we will explain how to write to different&nbsp;media and boot from there. == Boot stage == Here is a table show the detail what we may use in Rockchip platform, for 2 boot stage: - optionally&nbsp;can use U-Boot SPL; - &nbsp;or use Rockchp idbLoader which is combinded by Rockchip ddr init bin and miniloader bin; <pre>+--------+----------------+----------+-----------+ | Boot | Terminology #1 | Actual | Rockchip | | stage | | program | Loader | | number | | name | Name | +--------+----------------+----------+-----------+ | 1 | Primary | ROM code | BootRom | | | Program | | | | | Loader | | | | | | | | | 2 | Secondary | U-Boot | idbLoader | 0x40 | | Program | SPL | | | | Loader (SPL) | | | | | | | | | 3 | - | U-Boot | U-Boot | 0x4000 | | | | | | | | | | | 4 | - | kernel | kernel | 0x8000 | | | | | | 5 | - | rootfs | rootfs | 0x40000 +--------+----------------+----------+-----------+ </pre> Then when we talking about boot from eMMC/SD/U-Disk/net, they are in different concept: *Stage 1 is always in boot rom, it loads stage 2 and may load stage 3(when SPL_BACK_TO_BROM option enabled). *Boot from SPI flash means firmware for stage 2 and 3(SPL and U-Boot only) in SPI flash and stage 4/5 in other place; *Boot from eMMC means all the firmware(including stage 2, 3, 4, 5) in eMMC; *Boot from SD card means all the firmware(including stage 2, 3, 4, 5) in SD card; *Boot from U-Disk means firmware for stage 4 and 5(not including SPL and U-Boot) in Disk, optionally only including stage 5; *Boot from net/tftp means firmeware for stage 4 and 5(not including SPL and U-Boot) on the network; == Package option == After we know about the boot stages, Here are the file list before package for stage 2~4: *From source code: **From U-Boot: u-boot-spl.bin, u-boot.bin(may use u-boot-nodtb.bin and u-boot.dtb instead), **From kernel: kernel Image/zImage file, kernel dtb, **From ATF: bl31.bin; *From Rockchip binary: **ddr, usbplug, miniloader, bl31, (all with&nbsp;chip 'rkxx_'&nbsp; prefix and with version '_x.xx.bin' postfix); Here are the types to&nbsp;package image from those files: === idbspl.img === U-Boot SPL, with&nbsp;SPL_BACK_TO_BROM option '''disabled'''. <pre>mkimage -n rkxxxx -T rksd -d spl/u-boot-spl.bin idbspl.img</pre> Flash the idbspl.img to offset 0x40 which only including stage 2, and need flash stage 3 &nbsp;image to 0x200(which is defineded by CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR), the stage 3 image may be&nbsp;u-boot.bin directly(when there no ATF requirement), or FIT image bl3.itb(for ATF load from SPL, including bl31.bin, u-boot-nodtb.bin and u-boot.dtb). === idbloader.img === U-Boot SPL, with&nbsp;SPL_BACK_TO_BROM option '''enabled''': <pre>tools/mkimage -n rkxxxx -T rksd -d spl/u-boot-spl.bin idbloader.img cat u-boot.bin >> idbloader.img</pre> Flash the idbloader.img to offset 0x40 which including boot stage 2 and 3. Package the image from Rockchip binary: <pre>tools/mkimage -n rkxxxx -T rksd -d rkxx_ddr_vx.xx.bin idbloader.img cat rkxx_miniloader_vx.xx.bin >> idbloader.img</pre> Flash the idbloader.img to offset 0x40 which including stage 2, and you will need a uboot.img for boot stage 3. === bl3.itb === When using SPL to load the ATF, package the bl31.bin, u-boot-nodtb.bin and uboot.dtb into one FIT image. <pre>tools/mkimage -f fit4spl.its -E bl3.itb </pre> Flash the bl3.itb to offset 0x200, while&nbsp;need idbspl.img flasht to offset 0x40. === uboot.img === When using idbLoader from&nbsp;Rockchip miniloader, need package u-boot.bin into miniloader loadable format by Rockchip tool loaderimage. <pre>tools/loaderimage --pack --uboot u-boot.bin uboot.img</pre> Flash the uboot.img to offset 0x4000 which is stage 3; === trust.img === When using idbLoader from&nbsp;Rockchip miniloader, need package bl31.bin into miniloader loadable format by Rockchip tool trustmerge. <pre>tools/trustmerge tools/rk_tools/RKTRUST_RKXXXXTRUST.ini</pre> Flash the trust.img to offset 0x6000 which is for using Rockchip miniloader === rkxx_loader_vx.xx.xxx.bin === This is provide by Rockchip in binary mode, which is used for firmware upgrade to eMMC with [[Rkdevelptool|rkdeveloptool]], can not be wirte to media device directly. This is a package from ddr.bin, usbplug.bin, miniloader.bin, Rockchip tool ''DB ''command will make usbplug.bin running in target which perform as a Rockusb device. === boot.img === This image is package the kernel Image and dtb file into a know filesystem(FAT or EXT2) image for distro boot. See [[Rockchip_Kernel#Install_Boot.2Fkernel|Install kernel]] for detail about generate boot.img from kernel zImage/Image, dtb. Flash the boot.img to offset 0x8000 which is stage 4. === rootfs.img === Flash the rootfs.img to offset 0x40000 which is stage 5. = Flash and boot from Media device = Here we introduce how to write image to different Medeia device. Get image Ready: *For armv7 with SPL with SPL_BACK_TO_BROM option enabled: **idbLoader.img **boot.img or boot folder with zImage, dtb and exitlinulx inside **rootfs.img *For armv7 with SPL with SPL_BACK_TO_BROM option disabled: **idbspl.img **u-boot.bin **boot.img or boot folder with zImage, dtb and exitlinulx inside **rootfs.img *For armv7 with miniloader **idbLoader.img **uboot.img **boot.img or&nbsp;boot folder with zImage, dtb and exitlinulx inside **rootfs.img *For armv8 with SPL: **idbspl.img **bl3.itb **boot.img or&nbsp;boot folder with zImage, dtb and exitlinulx inside **rootfs.img *For armv8 with miniloader **idbLoader.img **uboot.img **trust.img **boot.img or&nbsp;boot folder with zImage, dtb and exitlinulx inside **rootfs.img &nbsp; == Boot from eMMC == The eMMC is on the hardware board, so we need: *Get the board into [[Rockusb#Maskrom_mode|maskrom mode]]; *Connect the target to PC with USB cable; *Flash the image to eMMC with [[Rkdevelptool|rkdeveloptool]] Example commands for flash image to target. *For armv7 with SPL with SPL_BACK_TO_BROM option enabled(rk3036, rk3188, rk3288): <pre style="margin-left: 40px;">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbloader.img rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> *For armv7 with SPL with SPL_BACK_TO_BROM option disabled(rk3288): <pre style="margin-left: 40px;">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbspl.img rkdeveloptool wl 0x200 u-boot.bin rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> *For armv7 with miniloader(rk3036, rk3188, rk3288) <pre style="margin-left: 40px;">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbloader.img rkdeveloptool wl 0x4000 uboot.img rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> *For armv8 with SPL(rk3399): <pre style="margin-left: 40px;">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbspl.img rkdeveloptool wl 0x200 bl3.itb rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> *For armv8 with miniloader(rk3399, rk3328) <pre style="margin-left: 40px;">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbloader.img rkdeveloptool wl 0x4000 uboot.img rkdeveloptool wl 0x6000 trust.img rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool r</pre> == Boot from SD/TF Card == We can write SD/TF card with Linux PC ''dd'' command very easily. Insert SD card to PC and we assume the /dev/sdb is the SD card device. *For armv7 with SPL with SPL_BACK_TO_BROM option enabled(rk3036, rk3188, rk3288): <pre style="margin-left: 40px;">dd if=idbloader.img of=sdb seek=0x40 dd if=boot.img of=sdb seek=0x8000 dd if=rootfs.img of=sdb seek=0x40000 </pre> *For armv7 with SPL with SPL_BACK_TO_BROM option disabled(rk3288): <pre style="margin-left: 40px;">dd if=idbspl.img of=sdb seek=0x40 dd if=u-boot.bin of=sdb seek=0x200 dd if=boot.img of=sdb seek=0x8000 dd if=rootfs.img of=sdb seek=0x40000 </pre> *For armv7 with miniloader(rk3036, rk3188, rk3288) <pre style="margin-left: 40px;">dd if=idbloader.img of=sdb seek=0x40 dd if=uboot.img of=sdb seek=0x4000 dd if=boot.img of=sdb seek=0x8000 dd if=rootfs.img of=sdb seek=0x40000 </pre> *For armv8 with SPL(rk3399): <pre style="margin-left: 40px;">dd if=idbspl.img of=sdb seek=0x40 dd if=bl3.itb of=sdb seek=0x200 dd if=boot.img of=sdb seek=0x8000 dd if=rootfs.img of=sdb seek=0x40000 </pre> *For armv8 with miniloader(rk3399, rk3328) <pre style="margin-left: 40px;">dd if=idbloader.img of=sdb seek=0x40 dd if=uboot.img of=sdb seek=0x4000 dd if=trust.img of=sdb seek=0x6000 dd if=boot.img of=sdb seek=0x8000 dd if=rootfs.img of=sdb seek=0x40000</pre> In order to make sure everything has write to SD card before unpluged, recommand to run below command: <pre style="margin-left: 40px;">sync</pre> Note, when using boot from SD card, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value. <pre>append earlyprintk console=ttyS2,115200n8 rw root=/dev/mmcblk1p7 rootwait rootfstype=ext4 init=/sbin/init </pre> Write GPT partition table to SD card&nbsp;in U-Boot, and then U-Boot can find the boot partition and run into kernel. <pre>gpt write mmc 0 $partitions</pre> == Boot from U-Disk == Same as&nbsp;[[#Boot_from_SD.2FTF_Card|boot-from-sdcard]], but please note that U-Disk&nbsp;only support stage 4 and 5, see [[#Boot_Stage|Boot Stage]] for detail. If U-Disk used for stage 4 and 5, format the U-Disk in gpt format and at least 2 partitions, write ''boot.img'' and ''rootfs.img'' in those partitions; if U-Dist is only used for stage 5, we can ''dd ''the ''rootfs.img'' to U-Disk device directly. Note, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value. <pre> append earlyprintk console=ttyS2,115200n8 rw '''root=/dev/sda1''' rootwait rootfstype=ext4 init=/sbin/init </pre> = Boot from Network = &nbsp; 980164de1a9b2617b236e62c7c6cfe7a15ab044d 905 904 2017-03-23T06:53:11Z Kever 2 wikitext text/x-wiki &nbsp; &nbsp; = Boot introduce = &nbsp; First, let's make the concept clear, there are many boot stages when we boot up a Linux OS; Then we need to know about how the image should packaged, where&nbsp;the image locate; At lase, we will explain how to write to different&nbsp;media and boot from there. == Boot stage == Here is a table show the detail what we may use in Rockchip platform, for 2 boot stage: - optionally&nbsp;can use U-Boot SPL; - &nbsp;or use Rockchp idbLoader which is combinded by Rockchip ddr init bin and miniloader bin; <pre>+--------+----------------+----------+-----------+ | Boot | Terminology #1 | Actual | Rockchip | | stage | | program | Loader | | number | | name | Name | +--------+----------------+----------+-----------+ | 1 | Primary | ROM code | BootRom | | | Program | | | | | Loader | | | | | | | | | 2 | Secondary | U-Boot | idbLoader | 0x40 | | Program | SPL | | | | Loader (SPL) | | | | | | | | | 3 | - | U-Boot | U-Boot | 0x4000 | | | | | | | | | | | 4 | - | kernel | kernel | 0x8000 | | | | | | 5 | - | rootfs | rootfs | 0x40000 +--------+----------------+----------+-----------+ </pre> Then when we talking about boot from eMMC/SD/U-Disk/net, they are in different concept: *Stage 1 is always in boot rom, it loads stage 2 and may load stage 3(when SPL_BACK_TO_BROM option enabled). *Boot from SPI flash means firmware for stage 2 and 3(SPL and U-Boot only) in SPI flash and stage 4/5 in other place; *Boot from eMMC means all the firmware(including stage 2, 3, 4, 5) in eMMC; *Boot from SD card means all the firmware(including stage 2, 3, 4, 5) in SD card; *Boot from U-Disk means firmware for stage 4 and 5(not including SPL and U-Boot) in Disk, optionally only including stage 5; *Boot from net/tftp means firmeware for stage 4 and 5(not including SPL and U-Boot) on the network; == Package option == After we know about the boot stages, Here are the file list before package for stage 2~4: *From source code: **From U-Boot: u-boot-spl.bin, u-boot.bin(may use u-boot-nodtb.bin and u-boot.dtb instead), **From kernel: kernel Image/zImage file, kernel dtb, **From ATF: bl31.bin; *From Rockchip binary: **ddr, usbplug, miniloader, bl31, (all with&nbsp;chip 'rkxx_'&nbsp; prefix and with version '_x.xx.bin' postfix); Here are the types to&nbsp;package image from those files: === idbspl.img === U-Boot SPL, with&nbsp;SPL_BACK_TO_BROM option '''disabled'''. <pre>mkimage -n rkxxxx -T rksd -d spl/u-boot-spl.bin idbspl.img</pre> Flash the idbspl.img to offset 0x40 which only including stage 2, and need flash stage 3 &nbsp;image to 0x200(which is defineded by CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR), the stage 3 image may be&nbsp;u-boot.bin directly(when there no ATF requirement), or FIT image bl3.itb(for ATF load from SPL, including bl31.bin, u-boot-nodtb.bin and u-boot.dtb). === idbloader.img === U-Boot SPL, with&nbsp;SPL_BACK_TO_BROM option '''enabled''': <pre>tools/mkimage -n rkxxxx -T rksd -d spl/u-boot-spl.bin idbloader.img cat u-boot.bin >> idbloader.img</pre> Flash the idbloader.img to offset 0x40 which including boot stage 2 and 3. Package the image from Rockchip binary: <pre>tools/mkimage -n rkxxxx -T rksd -d rkxx_ddr_vx.xx.bin idbloader.img cat rkxx_miniloader_vx.xx.bin >> idbloader.img</pre> Flash the idbloader.img to offset 0x40 which including stage 2, and you will need a uboot.img for boot stage 3. === bl3.itb === When using SPL to load the ATF, package the bl31.bin, u-boot-nodtb.bin and uboot.dtb into one FIT image. <pre>tools/mkimage -f fit4spl.its -E bl3.itb </pre> Flash the bl3.itb to offset 0x200, while&nbsp;need idbspl.img flasht to offset 0x40. === uboot.img === When using idbLoader from&nbsp;Rockchip miniloader, need package u-boot.bin into miniloader loadable format by Rockchip tool loaderimage. <pre>tools/loaderimage --pack --uboot u-boot.bin uboot.img</pre> Flash the uboot.img to offset 0x4000 which is stage 3; === trust.img === When using idbLoader from&nbsp;Rockchip miniloader, need package bl31.bin into miniloader loadable format by Rockchip tool trustmerge. <pre>tools/trustmerge tools/rk_tools/RKTRUST_RKXXXXTRUST.ini</pre> Flash the trust.img to offset 0x6000 which is for using Rockchip miniloader === rkxx_loader_vx.xx.xxx.bin === This is provide by Rockchip in binary mode, which is used for firmware upgrade to eMMC with [[Rkdevelptool|rkdeveloptool]], can not be wirte to media device directly. This is a package from ddr.bin, usbplug.bin, miniloader.bin, Rockchip tool ''DB ''command will make usbplug.bin running in target which perform as a Rockusb device. === boot.img === This image is package the kernel Image and dtb file into a know filesystem(FAT or EXT2) image for distro boot. See [[Rockchip_Kernel#Install_Boot.2Fkernel|Install kernel]] for detail about generate boot.img from kernel zImage/Image, dtb. Flash the boot.img to offset 0x8000 which is stage 4. === rootfs.img === Flash the rootfs.img to offset 0x40000 which is stage 5. = Flash and boot from Media device = Here we introduce how to write image to different Medeia device. Get image Ready: *For armv7 with SPL with SPL_BACK_TO_BROM option enabled: **idbLoader.img **boot.img or boot folder with zImage, dtb and exitlinulx inside **rootfs.img *For armv7 with SPL with SPL_BACK_TO_BROM option disabled: **idbspl.img **u-boot.bin **boot.img or boot folder with zImage, dtb and exitlinulx inside **rootfs.img *For armv7 with miniloader **idbLoader.img **uboot.img **boot.img or&nbsp;boot folder with zImage, dtb and exitlinulx inside **rootfs.img *For armv8 with SPL: **idbspl.img **bl3.itb **boot.img or&nbsp;boot folder with zImage, dtb and exitlinulx inside **rootfs.img *For armv8 with miniloader **idbLoader.img **uboot.img **trust.img **boot.img or&nbsp;boot folder with zImage, dtb and exitlinulx inside **rootfs.img &nbsp; == Boot from eMMC == The eMMC is on the hardware board, so we need: *Get the board into [[Rockusb#Maskrom_mode|maskrom mode]]; *Connect the target to PC with USB cable; *Flash the image to eMMC with [[Rkdevelptool|rkdeveloptool]] Example commands for flash image to target. *For armv7 with SPL with SPL_BACK_TO_BROM option enabled(rk3036, rk3188, rk3288): <pre style="margin-left: 40px;">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbloader.img rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> *For armv7 with SPL with SPL_BACK_TO_BROM option disabled(rk3288): <pre style="margin-left: 40px;">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbspl.img rkdeveloptool wl 0x200 u-boot.bin rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> *For armv7 with miniloader(rk3036, rk3188, rk3288) <pre style="margin-left: 40px;">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbloader.img rkdeveloptool wl 0x4000 uboot.img rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> *For armv8 with SPL(rk3399): <pre style="margin-left: 40px;">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbspl.img rkdeveloptool wl 0x200 bl3.itb rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> *For armv8 with miniloader(rk3399, rk3328) <pre style="margin-left: 40px;">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbloader.img rkdeveloptool wl 0x4000 uboot.img rkdeveloptool wl 0x6000 trust.img rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool r</pre> == Boot from SD/TF Card == We can write SD/TF card with Linux PC ''dd'' command very easily. Insert SD card to PC and we assume the /dev/sdb is the SD card device. *For armv7 with SPL with SPL_BACK_TO_BROM option enabled(rk3036, rk3188, rk3288): <pre style="margin-left: 40px;">dd if=idbloader.img of=sdb seek=0x40 dd if=boot.img of=sdb seek=0x8000 dd if=rootfs.img of=sdb seek=0x40000 </pre> *For armv7 with SPL with SPL_BACK_TO_BROM option disabled(rk3288): <pre style="margin-left: 40px;">dd if=idbspl.img of=sdb seek=0x40 dd if=u-boot.bin of=sdb seek=0x200 dd if=boot.img of=sdb seek=0x8000 dd if=rootfs.img of=sdb seek=0x40000 </pre> *For armv7 with miniloader(rk3036, rk3188, rk3288) <pre style="margin-left: 40px;">dd if=idbloader.img of=sdb seek=0x40 dd if=uboot.img of=sdb seek=0x4000 dd if=boot.img of=sdb seek=0x8000 dd if=rootfs.img of=sdb seek=0x40000 </pre> *For armv8 with SPL(rk3399): <pre style="margin-left: 40px;">dd if=idbspl.img of=sdb seek=0x40 dd if=bl3.itb of=sdb seek=0x200 dd if=boot.img of=sdb seek=0x8000 dd if=rootfs.img of=sdb seek=0x40000 </pre> *For armv8 with miniloader(rk3399, rk3328) <pre style="margin-left: 40px;">dd if=idbloader.img of=sdb seek=0x40 dd if=uboot.img of=sdb seek=0x4000 dd if=trust.img of=sdb seek=0x6000 dd if=boot.img of=sdb seek=0x8000 dd if=rootfs.img of=sdb seek=0x40000</pre> In order to make sure everything has write to SD card before unpluged, recommand to run below command: <pre style="margin-left: 40px;">sync</pre> Note, when using boot from SD card, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value. <pre>append earlyprintk console=ttyS2,115200n8 rw root=/dev/mmcblk1p7 rootwait rootfstype=ext4 init=/sbin/init </pre> Write GPT partition table to SD card&nbsp;in U-Boot, and then U-Boot can find the boot partition and run into kernel. <pre>gpt write mmc 0 $partitions</pre> == Boot from U-Disk == Same as&nbsp;[[#Boot_from_SD.2FTF_Card|boot-from-sdcard]], but please note that U-Disk&nbsp;only support stage 4 and 5, see [[#Boot_Stage|Boot Stage]] for detail. If U-Disk used for stage 4 and 5, format the U-Disk in gpt format and at least 2 partitions, write ''boot.img'' and ''rootfs.img'' in those partitions; if U-Dist is only used for stage 5, we can ''dd ''the ''rootfs.img'' to U-Disk device directly. Note, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value. <pre> append earlyprintk console=ttyS2,115200n8 rw root=/dev/sda1 rootwait rootfstype=ext4 init=/sbin/init </pre> = Boot from Network = &nbsp; 2c58189adb60dfc48baa2d6a0bc7780ad1a276b6 926 905 2017-03-30T10:50:53Z Kever 2 wikitext text/x-wiki &nbsp; &nbsp; = Boot introduce = &nbsp; First, let's make the concept clear, there are many boot stages when we boot up a Linux OS; Then we need to know about how the image should packaged, where&nbsp;the image locate; At lase, we will explain how to write to different&nbsp;media and boot from there. == Boot stage == Here is a table show the detail what we may use in Rockchip platform, for 2 boot stage: - optionally&nbsp;can use U-Boot SPL; - &nbsp;or use Rockchp idbLoader which is combinded by Rockchip ddr init bin and miniloader bin; <pre>+--------+----------------+----------+-----------+ | Boot | Terminology #1 | Actual | Rockchip | | stage | | program | Loader | | number | | name | Name | +--------+----------------+----------+-----------+ | 1 | Primary | ROM code | BootRom | | | Program | | | | | Loader | | | | | | | | | 2 | Secondary | U-Boot | idbLoader | 0x40 | | Program | SPL | | | | Loader (SPL) | | | | | | | | | 3 | - | U-Boot | U-Boot | 0x4000 | | | | | | | | | | | 4 | - | kernel | kernel | 0x8000 | | | | | | 5 | - | rootfs | rootfs | 0x40000 +--------+----------------+----------+-----------+ </pre> Then when we talking about boot from eMMC/SD/U-Disk/net, they are in different concept: *Stage 1 is always in boot rom, it loads stage 2 and may load stage 3(when SPL_BACK_TO_BROM option enabled). *Boot from SPI flash means firmware for stage 2 and 3(SPL and U-Boot only) in SPI flash and stage 4/5 in other place; *Boot from eMMC means all the firmware(including stage 2, 3, 4, 5) in eMMC; *Boot from SD card means all the firmware(including stage 2, 3, 4, 5) in SD card; *Boot from U-Disk means firmware for stage 4 and 5(not including SPL and U-Boot) in Disk, optionally only including stage 5; *Boot from net/tftp means firmeware for stage 4 and 5(not including SPL and U-Boot) on the network; == Package option == After we know about the boot stages, Here are the file list before package for stage 2~4: *From source code: **From U-Boot: u-boot-spl.bin, u-boot.bin(may use u-boot-nodtb.bin and u-boot.dtb instead), **From kernel: kernel Image/zImage file, kernel dtb, **From ATF: bl31.bin; *From Rockchip binary: **ddr, usbplug, miniloader, bl31, (all with&nbsp;chip 'rkxx_'&nbsp; prefix and with version '_x.xx.bin' postfix); Here are the types to&nbsp;package image from those files: === idbspl.img === U-Boot SPL, with&nbsp;SPL_BACK_TO_BROM option '''disabled'''. <pre>mkimage -n rkxxxx -T rksd -d spl/u-boot-spl.bin idbspl.img</pre> Flash the idbspl.img to offset 0x40 which only including stage 2, and need flash stage 3 &nbsp;image to 0x200(which is defineded by CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR), the stage 3 image may be&nbsp;u-boot.bin directly(when there no ATF requirement), or FIT image bl3.itb(for ATF load from SPL, including bl31.bin, u-boot-nodtb.bin and u-boot.dtb). === idbloader.img === U-Boot SPL, with&nbsp;SPL_BACK_TO_BROM option '''enabled''': <pre>tools/mkimage -n rkxxxx -T rksd -d spl/u-boot-spl.bin idbloader.img cat u-boot.bin >> idbloader.img</pre> Flash the idbloader.img to offset 0x40 which including boot stage 2 and 3. Package the image from Rockchip binary: <pre>tools/mkimage -n rkxxxx -T rksd -d rkxx_ddr_vx.xx.bin idbloader.img cat rkxx_miniloader_vx.xx.bin >> idbloader.img</pre> Flash the idbloader.img to offset 0x40 which including stage 2, and you will need a uboot.img for boot stage 3. === bl3.itb === When using SPL to load the ATF, package the bl31.bin, u-boot-nodtb.bin and uboot.dtb into one FIT image. <pre>tools/mkimage -f fit4spl.its -E bl3.itb </pre> Flash the bl3.itb to offset 0x200, while&nbsp;need idbspl.img flasht to offset 0x40. === uboot.img === When using idbLoader from&nbsp;Rockchip miniloader, need package u-boot.bin into miniloader loadable format by Rockchip tool loaderimage. <pre>tools/loaderimage --pack --uboot u-boot.bin uboot.img</pre> Flash the uboot.img to offset 0x4000 which is stage 3; === trust.img === When using idbLoader from&nbsp;Rockchip miniloader, need package bl31.bin into miniloader loadable format by Rockchip tool trustmerge. <pre>tools/trustmerge tools/rk_tools/RKTRUST_RKXXXXTRUST.ini</pre> Flash the trust.img to offset 0x6000 which is for using Rockchip miniloader === rkxx_loader_vx.xx.xxx.bin === This is provide by Rockchip in binary mode, which is used for firmware upgrade to eMMC with [[Rkdevelptool|rkdeveloptool]], can not be wirte to media device directly. This is a package from ddr.bin, usbplug.bin, miniloader.bin, Rockchip tool ''DB ''command will make usbplug.bin running in target which perform as a Rockusb device. === boot.img === This image is package the kernel Image and dtb file into a know filesystem(FAT or EXT2) image for distro boot. See [[Rockchip_Kernel#Install_Boot.2Fkernel|Install kernel]] for detail about generate boot.img from kernel zImage/Image, dtb. Flash the boot.img to offset 0x8000 which is stage 4. === rootfs.img === Flash the rootfs.img to offset 0x40000 which is stage 5. = Flash and boot from Media device = Here we introduce how to write image to different Medeia device. Get image Ready: *For armv7 with SPL with SPL_BACK_TO_BROM option enabled: **idbLoader.img **boot.img or boot folder with zImage, dtb and exitlinulx inside **rootfs.img *For armv7 with SPL with SPL_BACK_TO_BROM option disabled: **idbspl.img **u-boot.bin **boot.img or boot folder with zImage, dtb and exitlinulx inside **rootfs.img *For armv7 with miniloader **idbLoader.img **uboot.img **boot.img or&nbsp;boot folder with zImage, dtb and exitlinulx inside **rootfs.img *For armv8 with SPL: **idbspl.img **bl3.itb **boot.img or&nbsp;boot folder with Image, dtb and exitlinulx inside **rootfs.img *For armv8 with miniloader **idbLoader.img **uboot.img **trust.img **boot.img or&nbsp;boot folder with Image, dtb and exitlinulx inside **rootfs.img &nbsp; == Boot from eMMC == The eMMC is on the hardware board, so we need: *Get the board into [[Rockusb#Maskrom_mode|maskrom mode]]; *Connect the target to PC with USB cable; *Flash the image to eMMC with [[Rkdevelptool|rkdeveloptool]] Example commands for flash image to target. *For armv7 with SPL with SPL_BACK_TO_BROM option enabled(rk3036, rk3188, rk3288): <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbloader.img rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> *For armv7 with SPL with SPL_BACK_TO_BROM option disabled(rk3288): <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbspl.img rkdeveloptool wl 0x200 u-boot.bin rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> *For armv7 with miniloader(rk3036, rk3188, rk3288) <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbloader.img rkdeveloptool wl 0x4000 uboot.img rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> *For armv8 with SPL(rk3399): <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbspl.img rkdeveloptool wl 0x200 bl3.itb rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> *For armv8 with miniloader(rk3399, rk3328) <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbloader.img rkdeveloptool wl 0x4000 uboot.img rkdeveloptool wl 0x6000 trust.img rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool r</pre> &nbsp; == Boot from SD/TF Card == We can write SD/TF card with Linux PC ''dd'' command very easily. Insert SD card to PC and we assume the /dev/sdb is the SD card device. *For armv7 with SPL with SPL_BACK_TO_BROM option enabled(rk3036, rk3188, rk3288): <pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=0x40 dd if=boot.img of=sdb seek=0x8000 dd if=rootfs.img of=sdb seek=0x40000 </pre> *For armv7 with SPL with SPL_BACK_TO_BROM option disabled(rk3288): <pre style="margin-left: 40px">dd if=idbspl.img of=sdb seek=0x40 dd if=u-boot.bin of=sdb seek=0x200 dd if=boot.img of=sdb seek=0x8000 dd if=rootfs.img of=sdb seek=0x40000 </pre> *For armv7 with miniloader(rk3036, rk3188, rk3288) <pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=0x40 dd if=uboot.img of=sdb seek=0x4000 dd if=boot.img of=sdb seek=0x8000 dd if=rootfs.img of=sdb seek=0x40000 </pre> *For armv8 with SPL(rk3399): <pre style="margin-left: 40px">dd if=idbspl.img of=sdb seek=0x40 dd if=bl3.itb of=sdb seek=0x200 dd if=boot.img of=sdb seek=0x8000 dd if=rootfs.img of=sdb seek=0x40000 </pre> *For armv8 with miniloader(rk3399, rk3328) <pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=0x40 dd if=uboot.img of=sdb seek=0x4000 dd if=trust.img of=sdb seek=0x6000 dd if=boot.img of=sdb seek=0x8000 dd if=rootfs.img of=sdb seek=0x40000</pre> In order to make sure everything has write to SD card before unpluged, recommand to run below command: <pre style="margin-left: 40px">sync</pre> Note, when using boot from SD card, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value. <pre>append earlyprintk console=ttyS2,115200n8 rw root=/dev/mmcblk1p7 rootwait rootfstype=ext4 init=/sbin/init </pre> Write GPT partition table to SD card&nbsp;in U-Boot, and then U-Boot can find the boot partition and run into kernel. <pre>gpt write mmc 0 $partitions</pre> &nbsp; == Boot from U-Disk == Same as&nbsp;[[#Boot_from_SD.2FTF_Card|boot-from-sdcard]], but please note that U-Disk&nbsp;only support stage 4 and 5, see [[#Boot_Stage|Boot Stage]] for detail. If U-Disk used for stage 4 and 5, format the U-Disk in gpt format and at least 2 partitions, write ''boot.img'' and ''rootfs.img'' in those partitions; if U-Dist is only used for stage 5, we can ''dd ''the ''rootfs.img'' to U-Disk device directly. Note, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value. <pre> append earlyprintk console=ttyS2,115200n8 rw root=/dev/sda1 rootwait rootfstype=ext4 init=/sbin/init </pre> = Boot from Network = &nbsp; 4b049f0ea7e2b9421892d235d109de26420cffa4 934 926 2017-04-05T02:42:57Z Kever 2 wikitext text/x-wiki &nbsp; &nbsp; = Boot introduce = &nbsp; First, let's make the concept clear, there are many boot stages when we boot up a Linux OS; Then we need to know about how the image should packaged, where&nbsp;the image locate; At lase, we will explain how to write to different&nbsp;media and boot from there. == Boot stage == Here is a table show the detail what we may use in Rockchip platform, for 2 boot stage: - use U-Boot SPL; - &nbsp;use Rockchp idbLoader which is combinded by Rockchip ddr init bin and miniloader bin; <pre>+--------+----------------+----------+-----------+ | Boot | Terminology #1 | Actual | Rockchip | | stage | | program | Loader | | number | | name | Name | +--------+----------------+----------+-----------+ | 1 | Primary | ROM code | BootRom | | | Program | | | | | Loader | | | | | | | | | 2 | Secondary | U-Boot | idbLoader | 0x40 | | Program | SPL | | | | Loader (SPL) | | | | | | | | | 3 | - | U-Boot | U-Boot | 0x4000 | | | | | | | | | | | 4 | - | kernel | kernel | 0x8000 | | | | | | 5 | - | rootfs | rootfs | 0x40000 +--------+----------------+----------+-----------+ </pre> Then when we talking about boot from eMMC/SD/U-Disk/net, they are in different concept: *Stage 1 is always in boot rom, it loads stage 2 and may load stage 3(when SPL_BACK_TO_BROM option enabled). *Boot from SPI flash means firmware for stage 2 and 3(SPL and U-Boot only) in SPI flash and stage 4/5 in other place; *Boot from eMMC means all the firmware(including stage 2, 3, 4, 5) in eMMC; *Boot from SD card means all the firmware(including stage 2, 3, 4, 5) in SD card; *Boot from U-Disk means firmware for stage 4 and 5(not including SPL and U-Boot) in Disk, optionally only including stage 5; *Boot from net/tftp means firmeware for stage 4 and 5(not including SPL and U-Boot) on the network; == Package option == After we know about the boot stages, Here are the file list before package for stage 2~4: *From source code: **From U-Boot: u-boot-spl.bin, u-boot.bin(may use u-boot-nodtb.bin and u-boot.dtb instead), **From kernel: kernel Image/zImage file, kernel dtb, **From ATF: bl31.bin; *From Rockchip binary: **ddr, usbplug, miniloader, bl31, (all with&nbsp;chip 'rkxx_'&nbsp; prefix and with version '_x.xx.bin' postfix); Here are the types to&nbsp;package image from those files: === idbspl.img === U-Boot SPL, with&nbsp;SPL_BACK_TO_BROM option '''disabled'''. <pre>mkimage -n rkxxxx -T rksd -d spl/u-boot-spl.bin idbspl.img</pre> Flash the idbspl.img to offset 0x40 which only including stage 2, and need flash stage 3 &nbsp;image to 0x200(which is defineded by CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR), the stage 3 image may be&nbsp;u-boot.bin directly(when there no ATF requirement), or FIT image bl3.itb(for ATF load from SPL, including bl31.bin, u-boot-nodtb.bin and u-boot.dtb). === idbloader.img === U-Boot SPL, with&nbsp;SPL_BACK_TO_BROM option '''enabled''': <pre>tools/mkimage -n rkxxxx -T rksd -d spl/u-boot-spl.bin idbloader.img cat u-boot.bin >> idbloader.img</pre> Flash the idbloader.img to offset 0x40 which including boot stage 2 and 3. Package the image from Rockchip binary: <pre>tools/mkimage -n rkxxxx -T rksd -d rkxx_ddr_vx.xx.bin idbloader.img cat rkxx_miniloader_vx.xx.bin >> idbloader.img</pre> Flash the idbloader.img to offset 0x40 which including stage 2, and you will need a uboot.img for boot stage 3. === bl3.itb === When using SPL to load the ATF, package the bl31.bin, u-boot-nodtb.bin and uboot.dtb into one FIT image. <pre>tools/mkimage -f fit4spl.its -E bl3.itb </pre> Flash the bl3.itb to offset 0x200, while&nbsp;need idbspl.img flasht to offset 0x40. === uboot.img === When using idbLoader from&nbsp;Rockchip miniloader, need package u-boot.bin into miniloader loadable format by Rockchip tool loaderimage. <pre>tools/loaderimage --pack --uboot u-boot.bin uboot.img</pre> Flash the uboot.img to offset 0x4000 which is stage 3; === trust.img === When using idbLoader from&nbsp;Rockchip miniloader, need package bl31.bin into miniloader loadable format by Rockchip tool trustmerge. <pre>tools/trustmerge tools/rk_tools/RKTRUST_RKXXXXTRUST.ini</pre> Flash the trust.img to offset 0x6000 which is for using Rockchip miniloader === rkxx_loader_vx.xx.xxx.bin === This is provide by Rockchip in binary mode, which is used for firmware upgrade to eMMC with [[Rkdevelptool|rkdeveloptool]], can not be wirte to media device directly. This is a package from ddr.bin, usbplug.bin, miniloader.bin, Rockchip tool ''DB ''command will make usbplug.bin running in target which perform as a Rockusb device. === boot.img === This image is package the kernel Image and dtb file into a know filesystem(FAT or EXT2) image for distro boot. See [[Rockchip_Kernel#Install_Boot.2Fkernel|Install kernel]] for detail about generate boot.img from kernel zImage/Image, dtb. Flash the boot.img to offset 0x8000 which is stage 4. === rootfs.img === Flash the rootfs.img to offset 0x40000 which is stage 5. = Flash and boot from Media device = Here we introduce how to write image to different Medeia device. Get image Ready: *For armv7 with SPL with SPL_BACK_TO_BROM option enabled: **idbLoader.img **boot.img or boot folder with zImage, dtb and exitlinulx inside **rootfs.img *For armv7 with SPL with SPL_BACK_TO_BROM option disabled: **idbspl.img **u-boot.bin **boot.img or boot folder with zImage, dtb and exitlinulx inside **rootfs.img *For armv7 with miniloader **idbLoader.img **uboot.img **boot.img or&nbsp;boot folder with zImage, dtb and exitlinulx inside **rootfs.img *For armv8 with SPL: **idbspl.img **bl3.itb **boot.img or&nbsp;boot folder with Image, dtb and exitlinulx inside **rootfs.img *For armv8 with miniloader **idbLoader.img **uboot.img **trust.img **boot.img or&nbsp;boot folder with Image, dtb and exitlinulx inside **rootfs.img &nbsp; == Boot from eMMC == The eMMC is on the hardware board, so we need: *Get the board into [[Rockusb#Maskrom_mode|maskrom mode]]; *Connect the target to PC with USB cable; *Flash the image to eMMC with [[Rkdevelptool|rkdeveloptool]] Example commands for flash image to target. *For armv7 with SPL with SPL_BACK_TO_BROM option enabled(rk3036, rk3188, rk3288): <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbloader.img rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> *For armv7 with SPL with SPL_BACK_TO_BROM option disabled(rk3288): <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbspl.img rkdeveloptool wl 0x200 u-boot.bin rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> *For armv7 with miniloader(rk3036, rk3188, rk3288) <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbloader.img rkdeveloptool wl 0x4000 uboot.img rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> *For armv8 with SPL(rk3399): <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbspl.img rkdeveloptool wl 0x200 bl3.itb rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> *For armv8 with miniloader(rk3399, rk3328) <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbloader.img rkdeveloptool wl 0x4000 uboot.img rkdeveloptool wl 0x6000 trust.img rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool r</pre> &nbsp; == Boot from SD/TF Card == We can write SD/TF card with Linux PC ''dd'' command very easily. Insert SD card to PC and we assume the /dev/sdb is the SD card device. *For armv7 with SPL with SPL_BACK_TO_BROM option enabled(rk3036, rk3188, rk3288): <pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=0x40 dd if=boot.img of=sdb seek=0x8000 dd if=rootfs.img of=sdb seek=0x40000 </pre> *For armv7 with SPL with SPL_BACK_TO_BROM option disabled(rk3288): <pre style="margin-left: 40px">dd if=idbspl.img of=sdb seek=0x40 dd if=u-boot.bin of=sdb seek=0x200 dd if=boot.img of=sdb seek=0x8000 dd if=rootfs.img of=sdb seek=0x40000 </pre> *For armv7 with miniloader(rk3036, rk3188, rk3288) <pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=0x40 dd if=uboot.img of=sdb seek=0x4000 dd if=boot.img of=sdb seek=0x8000 dd if=rootfs.img of=sdb seek=0x40000 </pre> *For armv8 with SPL(rk3399): <pre style="margin-left: 40px">dd if=idbspl.img of=sdb seek=0x40 dd if=bl3.itb of=sdb seek=0x200 dd if=boot.img of=sdb seek=0x8000 dd if=rootfs.img of=sdb seek=0x40000 </pre> *For armv8 with miniloader(rk3399, rk3328) <pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=0x40 dd if=uboot.img of=sdb seek=0x4000 dd if=trust.img of=sdb seek=0x6000 dd if=boot.img of=sdb seek=0x8000 dd if=rootfs.img of=sdb seek=0x40000</pre> In order to make sure everything has write to SD card before unpluged, recommand to run below command: <pre style="margin-left: 40px">sync</pre> Note, when using boot from SD card, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value. <pre>append earlyprintk console=ttyS2,115200n8 rw root=/dev/mmcblk1p7 rootwait rootfstype=ext4 init=/sbin/init </pre> Write GPT partition table to SD card&nbsp;in U-Boot, and then U-Boot can find the boot partition and run into kernel. <pre>gpt write mmc 0 $partitions</pre> &nbsp; == Boot from U-Disk == Same as&nbsp;[[#Boot_from_SD.2FTF_Card|boot-from-sdcard]], but please note that U-Disk&nbsp;only support stage 4 and 5, see [[#Boot_Stage|Boot Stage]] for detail. If U-Disk used for stage 4 and 5, format the U-Disk in gpt format and at least 2 partitions, write ''boot.img'' and ''rootfs.img'' in those partitions; if U-Dist is only used for stage 5, we can ''dd ''the ''rootfs.img'' to U-Disk device directly. Note, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value. <pre> append earlyprintk console=ttyS2,115200n8 rw root=/dev/sda1 rootwait rootfstype=ext4 init=/sbin/init </pre> = Boot from Network = &nbsp; 897969084cecbbd93a4c02de3824cbbcb757806d 935 934 2017-04-05T07:33:02Z Kever 2 wikitext text/x-wiki &nbsp; &nbsp; = Boot introduce = &nbsp; First, let's make the concept clear, there are many boot stages when we boot up a Linux OS; Then we need to know about how the image should packaged, where&nbsp;the image locate; At lase, we will explain how to write to different&nbsp;media and boot from there. &nbsp; == Boot stage == Here is a table show the detail what we may use in Rockchip platform, for 2 boot stage: - use U-Boot SPL; - &nbsp;use Rockchp idbLoader which is combinded by Rockchip ddr init bin and miniloader bin; <pre>+--------+----------------+----------+-------------+---------+ | Boot | Terminology #1 | Actual | Rockchip | | | stage | | program | Image | | | number | | name | Name | | +--------+----------------+----------+-------------+---------+ | 1 | Primary | ROM code | BootRom | | | | Program | | | | | | Loader | | | | | | | | | | | 2 | Secondary | U-Boot |idbloader.img| 0x40 | | | Program | SPL |idbspl.img | | | | Loader (SPL) | | | | | | | | | | | 3 | - | U-Boot | bl3.itb | 0x200 | including bl31 and u-boot | | | | u-boot.bin | 0x200 | | | | | uboot.img | 0x4000 | only used with rk miniloader | | | | | | | | | atf | trust.img | 0x6000 | only used with rk miniloader for armv8 | | | | | | | 4 | - | kernel | boot.img | 0x8000 | | | | | | | | 5 | - | rootfs | rootfs.img | 0x40000 | +--------+----------------+----------+-------------+---------+ </pre> Then when we talking about boot from eMMC/SD/U-Disk/net, they are in different concept: *Stage 1 is always in boot rom, it loads stage 2 and may load stage 3(when SPL_BACK_TO_BROM option enabled). *Boot from SPI flash means firmware for stage 2 and 3(SPL and U-Boot only) in SPI flash and stage 4/5 in other place; *Boot from eMMC means all the firmware(including stage 2, 3, 4, 5) in eMMC; *Boot from SD card means all the firmware(including stage 2, 3, 4, 5) in SD card; *Boot from U-Disk means firmware for stage 4 and 5(not including SPL and U-Boot) in Disk, optionally only including stage 5; *Boot from net/tftp means firmeware for stage 4 and 5(not including SPL and U-Boot) on the network; == Package option == After we know about the boot stages, Here are the file list before package for stage 2~4: *From source code: **From U-Boot: u-boot-spl.bin, u-boot.bin(may use u-boot-nodtb.bin and u-boot.dtb instead), **From kernel: kernel Image/zImage file, kernel dtb, **From ATF: bl31.bin; *From Rockchip binary: **ddr, usbplug, miniloader, bl31, (all with&nbsp;chip 'rkxx_'&nbsp; prefix and with version '_x.xx.bin' postfix); Here are the types to&nbsp;package image from those files: === idbspl.img === U-Boot SPL, with&nbsp;SPL_BACK_TO_BROM option '''disabled'''. <pre>mkimage -n rkxxxx -T rksd -d spl/u-boot-spl.bin idbspl.img</pre> Flash the idbspl.img to offset 0x40 which only including stage 2, and need flash stage 3 &nbsp;image to 0x200(which is defineded by CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR), the stage 3 image may be&nbsp;u-boot.bin directly(when there no ATF requirement), or FIT image bl3.itb(for ATF load from SPL, including bl31.bin, u-boot-nodtb.bin and u-boot.dtb). === idbloader.img === U-Boot SPL, with&nbsp;SPL_BACK_TO_BROM option '''enabled''': <pre>tools/mkimage -n rkxxxx -T rksd -d spl/u-boot-spl.bin idbloader.img cat u-boot.bin >> idbloader.img</pre> Flash the idbloader.img to offset 0x40 which including boot stage 2 and 3. Package the image from Rockchip binary: <pre>tools/mkimage -n rkxxxx -T rksd -d rkxx_ddr_vx.xx.bin idbloader.img cat rkxx_miniloader_vx.xx.bin >> idbloader.img</pre> Flash the idbloader.img to offset 0x40 which including stage 2, and you will need a uboot.img for boot stage 3. === bl3.itb === When using SPL to load the ATF, package the bl31.bin, u-boot-nodtb.bin and uboot.dtb into one FIT image. <pre>tools/mkimage -f fit4spl.its -E bl3.itb </pre> Flash the bl3.itb to offset 0x200, while&nbsp;need idbspl.img flasht to offset 0x40. === uboot.img === When using idbLoader from&nbsp;Rockchip miniloader, need package u-boot.bin into miniloader loadable format by Rockchip tool loaderimage. <pre>tools/loaderimage --pack --uboot u-boot.bin uboot.img</pre> Flash the uboot.img to offset 0x4000 which is stage 3; === trust.img === When using idbLoader from&nbsp;Rockchip miniloader, need package bl31.bin into miniloader loadable format by Rockchip tool trustmerge. <pre>tools/trustmerge tools/rk_tools/RKTRUST_RKXXXXTRUST.ini</pre> Flash the trust.img to offset 0x6000 which is for using Rockchip miniloader &nbsp; === rkxx_loader_vx.xx.xxx.bin === This is provide by Rockchip in binary mode, which is used for firmware upgrade to eMMC with [[Rkdevelptool|rkdeveloptool]], can not be wirte to media device directly. This is a package from ddr.bin, usbplug.bin, miniloader.bin, Rockchip tool ''DB ''command will make usbplug.bin running in target which perform as a Rockusb device. === boot.img === This image is package the kernel Image and dtb file into a know filesystem(FAT or EXT2) image for distro boot. See [[Rockchip_Kernel#Install_Boot.2Fkernel|Install kernel]] for detail about generate boot.img from kernel zImage/Image, dtb. Flash the boot.img to offset 0x8000 which is stage 4. === rootfs.img === Flash the rootfs.img to offset 0x40000 which is stage 5. &nbsp; = Flash and boot from Media device = Here we introduce how to write image to different Medeia device. Get image Ready: *For armv7 with SPL with SPL_BACK_TO_BROM option enabled: **idbLoader.img **boot.img or boot folder with zImage, dtb and exitlinulx inside **rootfs.img *For armv7 with SPL with SPL_BACK_TO_BROM option disabled: **idbspl.img **u-boot.bin **boot.img or boot folder with zImage, dtb and exitlinulx inside **rootfs.img *For armv7 with miniloader **idbLoader.img **uboot.img **boot.img or&nbsp;boot folder with zImage, dtb and exitlinulx inside **rootfs.img *For armv8 with SPL: **idbspl.img **bl3.itb **boot.img or&nbsp;boot folder with Image, dtb and exitlinulx inside **rootfs.img *For armv8 with miniloader **idbLoader.img **uboot.img **trust.img **boot.img or&nbsp;boot folder with Image, dtb and exitlinulx inside **rootfs.img &nbsp; == Boot from eMMC == The eMMC is on the hardware board, so we need: *Get the board into [[Rockusb#Maskrom_mode|maskrom mode]]; *Connect the target to PC with USB cable; *Flash the image to eMMC with [[Rkdevelptool|rkdeveloptool]] Example commands for flash image to target. *For armv7 with SPL with SPL_BACK_TO_BROM option enabled(rk3036, rk3188, rk3288): <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbloader.img rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> *For armv7 with SPL with SPL_BACK_TO_BROM option disabled(rk3288): <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbspl.img rkdeveloptool wl 0x200 u-boot.bin rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> *For armv7 with miniloader(rk3036, rk3188, rk3288) <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbloader.img rkdeveloptool wl 0x4000 uboot.img rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> *For armv8 with SPL(rk3399): <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbspl.img rkdeveloptool wl 0x200 bl3.itb rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> *For armv8 with miniloader(rk3399, rk3328) <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbloader.img rkdeveloptool wl 0x4000 uboot.img rkdeveloptool wl 0x6000 trust.img rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool r</pre> &nbsp; == Boot from SD/TF Card == We can write SD/TF card with Linux PC ''dd'' command very easily. Insert SD card to PC and we assume the /dev/sdb is the SD card device. *For armv7 with SPL with SPL_BACK_TO_BROM option enabled(rk3036, rk3188, rk3288): <pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=0x40 dd if=boot.img of=sdb seek=0x8000 dd if=rootfs.img of=sdb seek=0x40000 </pre> *For armv7 with SPL with SPL_BACK_TO_BROM option disabled(rk3288): <pre style="margin-left: 40px">dd if=idbspl.img of=sdb seek=0x40 dd if=u-boot.bin of=sdb seek=0x200 dd if=boot.img of=sdb seek=0x8000 dd if=rootfs.img of=sdb seek=0x40000 </pre> *For armv7 with miniloader(rk3036, rk3188, rk3288) <pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=0x40 dd if=uboot.img of=sdb seek=0x4000 dd if=boot.img of=sdb seek=0x8000 dd if=rootfs.img of=sdb seek=0x40000 </pre> *For armv8 with SPL(rk3399): <pre style="margin-left: 40px">dd if=idbspl.img of=sdb seek=0x40 dd if=bl3.itb of=sdb seek=0x200 dd if=boot.img of=sdb seek=0x8000 dd if=rootfs.img of=sdb seek=0x40000 </pre> *For armv8 with miniloader(rk3399, rk3328) <pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=0x40 dd if=uboot.img of=sdb seek=0x4000 dd if=trust.img of=sdb seek=0x6000 dd if=boot.img of=sdb seek=0x8000 dd if=rootfs.img of=sdb seek=0x40000</pre> In order to make sure everything has write to SD card before unpluged, recommand to run below command: <pre style="margin-left: 40px">sync</pre> Note, when using boot from SD card, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value. <pre>append earlyprintk console=ttyS2,115200n8 rw root=/dev/mmcblk1p7 rootwait rootfstype=ext4 init=/sbin/init </pre> Write GPT partition table to SD card&nbsp;in U-Boot, and then U-Boot can find the boot partition and run into kernel. <pre>gpt write mmc 0 $partitions</pre> &nbsp; == Boot from U-Disk == Same as&nbsp;[[#Boot_from_SD.2FTF_Card|boot-from-sdcard]], but please note that U-Disk&nbsp;only support stage 4 and 5, see [[#Boot_Stage|Boot Stage]] for detail. If U-Disk used for stage 4 and 5, format the U-Disk in gpt format and at least 2 partitions, write ''boot.img'' and ''rootfs.img'' in those partitions; if U-Dist is only used for stage 5, we can ''dd ''the ''rootfs.img'' to U-Disk device directly. Note, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value. <pre> append earlyprintk console=ttyS2,115200n8 rw root=/dev/sda1 rootwait rootfstype=ext4 init=/sbin/init </pre> = Boot from Network = &nbsp; 413d81bba5cea95932943e06aea9f6c052aafffa 936 935 2017-04-05T07:35:29Z Kever 2 wikitext text/x-wiki &nbsp; &nbsp; = Boot introduce = &nbsp; First, let's make the concept clear, there are many boot stages when we boot up a Linux OS; Then we need to know about how the image should packaged, where&nbsp;the image locate; At lase, we will explain how to write to different&nbsp;media and boot from there. &nbsp; == Boot stage == Here is a table show the detail what we may use in Rockchip platform, for 2 boot stage: - use U-Boot SPL; - &nbsp;use Rockchp idbLoader which is combinded by Rockchip ddr init bin and miniloader bin; <pre>+--------+----------------+----------+-------------+---------+ | Boot | Terminology #1 | Actual | Rockchip | | | stage | | program | Image | | | number | | name | Name | | +--------+----------------+----------+-------------+---------+ | 1 | Primary | ROM code | BootRom | | | | Program | | | | | | Loader | | | | | | | | | | | 2 | Secondary | U-Boot |idbloader.img| 0x40 |including u-boot if not use miniloader | | Program | SPL |idbspl.img | | | | Loader (SPL) | | | | | | | | | | | 3 | - | U-Boot | bl3.itb | 0x200 | including u-boot and bl31... | | | | u-boot.bin | 0x200 | | | | | uboot.img | 0x4000 | only used with miniloader | | | | | | | | | atf | trust.img | 0x6000 | only used with miniloader for armv8 | | | | | | | 4 | - | kernel | boot.img | 0x8000 | | | | | | | | 5 | - | rootfs | rootfs.img | 0x40000 | +--------+----------------+----------+-------------+---------+ </pre> Then when we talking about boot from eMMC/SD/U-Disk/net, they are in different concept: *Stage 1 is always in boot rom, it loads stage 2 and may load stage 3(when SPL_BACK_TO_BROM option enabled). *Boot from SPI flash means firmware for stage 2 and 3(SPL and U-Boot only) in SPI flash and stage 4/5 in other place; *Boot from eMMC means all the firmware(including stage 2, 3, 4, 5) in eMMC; *Boot from SD card means all the firmware(including stage 2, 3, 4, 5) in SD card; *Boot from U-Disk means firmware for stage 4 and 5(not including SPL and U-Boot) in Disk, optionally only including stage 5; *Boot from net/tftp means firmeware for stage 4 and 5(not including SPL and U-Boot) on the network; == Package option == After we know about the boot stages, Here are the file list before package for stage 2~4: *From source code: **From U-Boot: u-boot-spl.bin, u-boot.bin(may use u-boot-nodtb.bin and u-boot.dtb instead), **From kernel: kernel Image/zImage file, kernel dtb, **From ATF: bl31.bin; *From Rockchip binary: **ddr, usbplug, miniloader, bl31, (all with&nbsp;chip 'rkxx_'&nbsp; prefix and with version '_x.xx.bin' postfix); Here are the types to&nbsp;package image from those files: === idbspl.img === U-Boot SPL, with&nbsp;SPL_BACK_TO_BROM option '''disabled'''. <pre>mkimage -n rkxxxx -T rksd -d spl/u-boot-spl.bin idbspl.img</pre> Flash the idbspl.img to offset 0x40 which only including stage 2, and need flash stage 3 &nbsp;image to 0x200(which is defineded by CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR), the stage 3 image may be&nbsp;u-boot.bin directly(when there no ATF requirement), or FIT image bl3.itb(for ATF load from SPL, including bl31.bin, u-boot-nodtb.bin and u-boot.dtb). === idbloader.img === U-Boot SPL, with&nbsp;SPL_BACK_TO_BROM option '''enabled''': <pre>tools/mkimage -n rkxxxx -T rksd -d spl/u-boot-spl.bin idbloader.img cat u-boot.bin >> idbloader.img</pre> Flash the idbloader.img to offset 0x40 which including boot stage 2 and 3. Package the image from Rockchip binary: <pre>tools/mkimage -n rkxxxx -T rksd -d rkxx_ddr_vx.xx.bin idbloader.img cat rkxx_miniloader_vx.xx.bin >> idbloader.img</pre> Flash the idbloader.img to offset 0x40 which including stage 2, and you will need a uboot.img for boot stage 3. === bl3.itb === When using SPL to load the ATF, package the bl31.bin, u-boot-nodtb.bin and uboot.dtb into one FIT image. <pre>tools/mkimage -f fit4spl.its -E bl3.itb </pre> Flash the bl3.itb to offset 0x200, while&nbsp;need idbspl.img flasht to offset 0x40. === uboot.img === When using idbLoader from&nbsp;Rockchip miniloader, need package u-boot.bin into miniloader loadable format by Rockchip tool loaderimage. <pre>tools/loaderimage --pack --uboot u-boot.bin uboot.img</pre> Flash the uboot.img to offset 0x4000 which is stage 3; === trust.img === When using idbLoader from&nbsp;Rockchip miniloader, need package bl31.bin into miniloader loadable format by Rockchip tool trustmerge. <pre>tools/trustmerge tools/rk_tools/RKTRUST_RKXXXXTRUST.ini</pre> Flash the trust.img to offset 0x6000 which is for using Rockchip miniloader &nbsp; === rkxx_loader_vx.xx.xxx.bin === This is provide by Rockchip in binary mode, which is used for firmware upgrade to eMMC with [[Rkdevelptool|rkdeveloptool]], can not be wirte to media device directly. This is a package from ddr.bin, usbplug.bin, miniloader.bin, Rockchip tool ''DB ''command will make usbplug.bin running in target which perform as a Rockusb device. === boot.img === This image is package the kernel Image and dtb file into a know filesystem(FAT or EXT2) image for distro boot. See [[Rockchip_Kernel#Install_Boot.2Fkernel|Install kernel]] for detail about generate boot.img from kernel zImage/Image, dtb. Flash the boot.img to offset 0x8000 which is stage 4. === rootfs.img === Flash the rootfs.img to offset 0x40000 which is stage 5. &nbsp; = Flash and boot from Media device = Here we introduce how to write image to different Medeia device. Get image Ready: *For armv7 with SPL with SPL_BACK_TO_BROM option enabled: **idbLoader.img **boot.img or boot folder with zImage, dtb and exitlinulx inside **rootfs.img *For armv7 with SPL with SPL_BACK_TO_BROM option disabled: **idbspl.img **u-boot.bin **boot.img or boot folder with zImage, dtb and exitlinulx inside **rootfs.img *For armv7 with miniloader **idbLoader.img **uboot.img **boot.img or&nbsp;boot folder with zImage, dtb and exitlinulx inside **rootfs.img *For armv8 with SPL: **idbspl.img **bl3.itb **boot.img or&nbsp;boot folder with Image, dtb and exitlinulx inside **rootfs.img *For armv8 with miniloader **idbLoader.img **uboot.img **trust.img **boot.img or&nbsp;boot folder with Image, dtb and exitlinulx inside **rootfs.img &nbsp; == Boot from eMMC == The eMMC is on the hardware board, so we need: *Get the board into [[Rockusb#Maskrom_mode|maskrom mode]]; *Connect the target to PC with USB cable; *Flash the image to eMMC with [[Rkdevelptool|rkdeveloptool]] Example commands for flash image to target. *For armv7 with SPL with SPL_BACK_TO_BROM option enabled(rk3036, rk3188, rk3288): <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbloader.img rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> *For armv7 with SPL with SPL_BACK_TO_BROM option disabled(rk3288): <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbspl.img rkdeveloptool wl 0x200 u-boot.bin rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> *For armv7 with miniloader(rk3036, rk3188, rk3288) <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbloader.img rkdeveloptool wl 0x4000 uboot.img rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> *For armv8 with SPL(rk3399): <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbspl.img rkdeveloptool wl 0x200 bl3.itb rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> *For armv8 with miniloader(rk3399, rk3328) <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbloader.img rkdeveloptool wl 0x4000 uboot.img rkdeveloptool wl 0x6000 trust.img rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool r</pre> &nbsp; == Boot from SD/TF Card == We can write SD/TF card with Linux PC ''dd'' command very easily. Insert SD card to PC and we assume the /dev/sdb is the SD card device. *For armv7 with SPL with SPL_BACK_TO_BROM option enabled(rk3036, rk3188, rk3288): <pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=0x40 dd if=boot.img of=sdb seek=0x8000 dd if=rootfs.img of=sdb seek=0x40000 </pre> *For armv7 with SPL with SPL_BACK_TO_BROM option disabled(rk3288): <pre style="margin-left: 40px">dd if=idbspl.img of=sdb seek=0x40 dd if=u-boot.bin of=sdb seek=0x200 dd if=boot.img of=sdb seek=0x8000 dd if=rootfs.img of=sdb seek=0x40000 </pre> *For armv7 with miniloader(rk3036, rk3188, rk3288) <pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=0x40 dd if=uboot.img of=sdb seek=0x4000 dd if=boot.img of=sdb seek=0x8000 dd if=rootfs.img of=sdb seek=0x40000 </pre> *For armv8 with SPL(rk3399): <pre style="margin-left: 40px">dd if=idbspl.img of=sdb seek=0x40 dd if=bl3.itb of=sdb seek=0x200 dd if=boot.img of=sdb seek=0x8000 dd if=rootfs.img of=sdb seek=0x40000 </pre> *For armv8 with miniloader(rk3399, rk3328) <pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=0x40 dd if=uboot.img of=sdb seek=0x4000 dd if=trust.img of=sdb seek=0x6000 dd if=boot.img of=sdb seek=0x8000 dd if=rootfs.img of=sdb seek=0x40000</pre> In order to make sure everything has write to SD card before unpluged, recommand to run below command: <pre style="margin-left: 40px">sync</pre> Note, when using boot from SD card, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value. <pre>append earlyprintk console=ttyS2,115200n8 rw root=/dev/mmcblk1p7 rootwait rootfstype=ext4 init=/sbin/init </pre> Write GPT partition table to SD card&nbsp;in U-Boot, and then U-Boot can find the boot partition and run into kernel. <pre>gpt write mmc 0 $partitions</pre> &nbsp; == Boot from U-Disk == Same as&nbsp;[[#Boot_from_SD.2FTF_Card|boot-from-sdcard]], but please note that U-Disk&nbsp;only support stage 4 and 5, see [[#Boot_Stage|Boot Stage]] for detail. If U-Disk used for stage 4 and 5, format the U-Disk in gpt format and at least 2 partitions, write ''boot.img'' and ''rootfs.img'' in those partitions; if U-Dist is only used for stage 5, we can ''dd ''the ''rootfs.img'' to U-Disk device directly. Note, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value. <pre> append earlyprintk console=ttyS2,115200n8 rw root=/dev/sda1 rootwait rootfstype=ext4 init=/sbin/init </pre> = Boot from Network = &nbsp; b300b7fe3861c5e512bf9dc28cf346c4b5b57d91 937 936 2017-04-05T07:36:22Z Kever 2 wikitext text/x-wiki &nbsp; &nbsp; = Boot introduce = &nbsp; First, let's make the concept clear, there are many boot stages when we boot up a Linux OS; Then we need to know about how the image should packaged, where&nbsp;the image locate; At lase, we will explain how to write to different&nbsp;media and boot from there. &nbsp; == Boot stage == Here is a table show the detail what we may use in Rockchip platform, for 2 boot stage: - use U-Boot SPL; - &nbsp;use Rockchp idbLoader which is combinded by Rockchip ddr init bin and miniloader bin; <pre>+--------+----------------+----------+-------------+---------+ | Boot | Terminology #1 | Actual | Rockchip | | | stage | | program | Image | | | number | | name | Name | | +--------+----------------+----------+-------------+---------+ | 1 | Primary | ROM code | BootRom | | | | Program | | | | | | Loader | | | | | | | | | | | 2 | Secondary | U-Boot |idbloader.img| 0x40 |including u-boot if not use miniloader | | Program | SPL |idbspl.img | | | | Loader (SPL) | | | | | | | | | | | 3 | - | U-Boot | bl3.itb | 0x200 | including u-boot and atf | | | | u-boot.bin | 0x200 | | | | | uboot.img | 0x4000 | only used with miniloader | | | | | | | | | ATF | trust.img | 0x6000 | only used with miniloader for armv8 | | | | | | | 4 | - | kernel | boot.img | 0x8000 | | | | | | | | 5 | - | rootfs | rootfs.img | 0x40000 | +--------+----------------+----------+-------------+---------+ </pre> Then when we talking about boot from eMMC/SD/U-Disk/net, they are in different concept: *Stage 1 is always in boot rom, it loads stage 2 and may load stage 3(when SPL_BACK_TO_BROM option enabled). *Boot from SPI flash means firmware for stage 2 and 3(SPL and U-Boot only) in SPI flash and stage 4/5 in other place; *Boot from eMMC means all the firmware(including stage 2, 3, 4, 5) in eMMC; *Boot from SD card means all the firmware(including stage 2, 3, 4, 5) in SD card; *Boot from U-Disk means firmware for stage 4 and 5(not including SPL and U-Boot) in Disk, optionally only including stage 5; *Boot from net/tftp means firmeware for stage 4 and 5(not including SPL and U-Boot) on the network; == Package option == After we know about the boot stages, Here are the file list before package for stage 2~4: *From source code: **From U-Boot: u-boot-spl.bin, u-boot.bin(may use u-boot-nodtb.bin and u-boot.dtb instead), **From kernel: kernel Image/zImage file, kernel dtb, **From ATF: bl31.bin; *From Rockchip binary: **ddr, usbplug, miniloader, bl31, (all with&nbsp;chip 'rkxx_'&nbsp; prefix and with version '_x.xx.bin' postfix); Here are the types to&nbsp;package image from those files: === idbspl.img === U-Boot SPL, with&nbsp;SPL_BACK_TO_BROM option '''disabled'''. <pre>mkimage -n rkxxxx -T rksd -d spl/u-boot-spl.bin idbspl.img</pre> Flash the idbspl.img to offset 0x40 which only including stage 2, and need flash stage 3 &nbsp;image to 0x200(which is defineded by CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR), the stage 3 image may be&nbsp;u-boot.bin directly(when there no ATF requirement), or FIT image bl3.itb(for ATF load from SPL, including bl31.bin, u-boot-nodtb.bin and u-boot.dtb). === idbloader.img === U-Boot SPL, with&nbsp;SPL_BACK_TO_BROM option '''enabled''': <pre>tools/mkimage -n rkxxxx -T rksd -d spl/u-boot-spl.bin idbloader.img cat u-boot.bin >> idbloader.img</pre> Flash the idbloader.img to offset 0x40 which including boot stage 2 and 3. Package the image from Rockchip binary: <pre>tools/mkimage -n rkxxxx -T rksd -d rkxx_ddr_vx.xx.bin idbloader.img cat rkxx_miniloader_vx.xx.bin >> idbloader.img</pre> Flash the idbloader.img to offset 0x40 which including stage 2, and you will need a uboot.img for boot stage 3. === bl3.itb === When using SPL to load the ATF, package the bl31.bin, u-boot-nodtb.bin and uboot.dtb into one FIT image. <pre>tools/mkimage -f fit4spl.its -E bl3.itb </pre> Flash the bl3.itb to offset 0x200, while&nbsp;need idbspl.img flasht to offset 0x40. === uboot.img === When using idbLoader from&nbsp;Rockchip miniloader, need package u-boot.bin into miniloader loadable format by Rockchip tool loaderimage. <pre>tools/loaderimage --pack --uboot u-boot.bin uboot.img</pre> Flash the uboot.img to offset 0x4000 which is stage 3; === trust.img === When using idbLoader from&nbsp;Rockchip miniloader, need package bl31.bin into miniloader loadable format by Rockchip tool trustmerge. <pre>tools/trustmerge tools/rk_tools/RKTRUST_RKXXXXTRUST.ini</pre> Flash the trust.img to offset 0x6000 which is for using Rockchip miniloader &nbsp; === rkxx_loader_vx.xx.xxx.bin === This is provide by Rockchip in binary mode, which is used for firmware upgrade to eMMC with [[Rkdevelptool|rkdeveloptool]], can not be wirte to media device directly. This is a package from ddr.bin, usbplug.bin, miniloader.bin, Rockchip tool ''DB ''command will make usbplug.bin running in target which perform as a Rockusb device. === boot.img === This image is package the kernel Image and dtb file into a know filesystem(FAT or EXT2) image for distro boot. See [[Rockchip_Kernel#Install_Boot.2Fkernel|Install kernel]] for detail about generate boot.img from kernel zImage/Image, dtb. Flash the boot.img to offset 0x8000 which is stage 4. === rootfs.img === Flash the rootfs.img to offset 0x40000 which is stage 5. &nbsp; = Flash and boot from Media device = Here we introduce how to write image to different Medeia device. Get image Ready: *For armv7 with SPL with SPL_BACK_TO_BROM option enabled: **idbLoader.img **boot.img or boot folder with zImage, dtb and exitlinulx inside **rootfs.img *For armv7 with SPL with SPL_BACK_TO_BROM option disabled: **idbspl.img **u-boot.bin **boot.img or boot folder with zImage, dtb and exitlinulx inside **rootfs.img *For armv7 with miniloader **idbLoader.img **uboot.img **boot.img or&nbsp;boot folder with zImage, dtb and exitlinulx inside **rootfs.img *For armv8 with SPL: **idbspl.img **bl3.itb **boot.img or&nbsp;boot folder with Image, dtb and exitlinulx inside **rootfs.img *For armv8 with miniloader **idbLoader.img **uboot.img **trust.img **boot.img or&nbsp;boot folder with Image, dtb and exitlinulx inside **rootfs.img &nbsp; == Boot from eMMC == The eMMC is on the hardware board, so we need: *Get the board into [[Rockusb#Maskrom_mode|maskrom mode]]; *Connect the target to PC with USB cable; *Flash the image to eMMC with [[Rkdevelptool|rkdeveloptool]] Example commands for flash image to target. *For armv7 with SPL with SPL_BACK_TO_BROM option enabled(rk3036, rk3188, rk3288): <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbloader.img rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> *For armv7 with SPL with SPL_BACK_TO_BROM option disabled(rk3288): <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbspl.img rkdeveloptool wl 0x200 u-boot.bin rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> *For armv7 with miniloader(rk3036, rk3188, rk3288) <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbloader.img rkdeveloptool wl 0x4000 uboot.img rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> *For armv8 with SPL(rk3399): <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbspl.img rkdeveloptool wl 0x200 bl3.itb rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> *For armv8 with miniloader(rk3399, rk3328) <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbloader.img rkdeveloptool wl 0x4000 uboot.img rkdeveloptool wl 0x6000 trust.img rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool r</pre> &nbsp; == Boot from SD/TF Card == We can write SD/TF card with Linux PC ''dd'' command very easily. Insert SD card to PC and we assume the /dev/sdb is the SD card device. *For armv7 with SPL with SPL_BACK_TO_BROM option enabled(rk3036, rk3188, rk3288): <pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=0x40 dd if=boot.img of=sdb seek=0x8000 dd if=rootfs.img of=sdb seek=0x40000 </pre> *For armv7 with SPL with SPL_BACK_TO_BROM option disabled(rk3288): <pre style="margin-left: 40px">dd if=idbspl.img of=sdb seek=0x40 dd if=u-boot.bin of=sdb seek=0x200 dd if=boot.img of=sdb seek=0x8000 dd if=rootfs.img of=sdb seek=0x40000 </pre> *For armv7 with miniloader(rk3036, rk3188, rk3288) <pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=0x40 dd if=uboot.img of=sdb seek=0x4000 dd if=boot.img of=sdb seek=0x8000 dd if=rootfs.img of=sdb seek=0x40000 </pre> *For armv8 with SPL(rk3399): <pre style="margin-left: 40px">dd if=idbspl.img of=sdb seek=0x40 dd if=bl3.itb of=sdb seek=0x200 dd if=boot.img of=sdb seek=0x8000 dd if=rootfs.img of=sdb seek=0x40000 </pre> *For armv8 with miniloader(rk3399, rk3328) <pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=0x40 dd if=uboot.img of=sdb seek=0x4000 dd if=trust.img of=sdb seek=0x6000 dd if=boot.img of=sdb seek=0x8000 dd if=rootfs.img of=sdb seek=0x40000</pre> In order to make sure everything has write to SD card before unpluged, recommand to run below command: <pre style="margin-left: 40px">sync</pre> Note, when using boot from SD card, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value. <pre>append earlyprintk console=ttyS2,115200n8 rw root=/dev/mmcblk1p7 rootwait rootfstype=ext4 init=/sbin/init </pre> Write GPT partition table to SD card&nbsp;in U-Boot, and then U-Boot can find the boot partition and run into kernel. <pre>gpt write mmc 0 $partitions</pre> &nbsp; == Boot from U-Disk == Same as&nbsp;[[#Boot_from_SD.2FTF_Card|boot-from-sdcard]], but please note that U-Disk&nbsp;only support stage 4 and 5, see [[#Boot_Stage|Boot Stage]] for detail. If U-Disk used for stage 4 and 5, format the U-Disk in gpt format and at least 2 partitions, write ''boot.img'' and ''rootfs.img'' in those partitions; if U-Dist is only used for stage 5, we can ''dd ''the ''rootfs.img'' to U-Disk device directly. Note, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value. <pre> append earlyprintk console=ttyS2,115200n8 rw root=/dev/sda1 rootwait rootfstype=ext4 init=/sbin/init </pre> = Boot from Network = &nbsp; 8ea4668de24eb9454aa953b59103a13513155ced 945 937 2017-04-10T07:28:47Z Kever 2 wikitext text/x-wiki &nbsp; &nbsp; = Boot introduce = &nbsp; First, let's make the concept clear, there are many boot stages when we boot up a Linux OS; Then we need to know about how the image should packaged, where&nbsp;the image locate; At lase, we will explain how to write to different&nbsp;media and boot from there. &nbsp; == Boot stage == Here is a table show the detail what we may use in Rockchip platform, for 2 boot stage: - use U-Boot SPL; - &nbsp;use Rockchp idbLoader which is combinded by Rockchip ddr init bin and miniloader bin; <pre>+--------+----------------+----------+-------------+---------+ | Boot | Terminology #1 | Actual | Rockchip | | | stage | | program | Image | | | number | | name | Name | | +--------+----------------+----------+-------------+---------+ | 1 | Primary | ROM code | BootRom | | | | Program | | | | | | Loader | | | | | | | | | | | 2 | Secondary | U-Boot |idbloader.img| 0x40 |including u-boot if not use miniloader | | Program | SPL |idbspl.img | | | | Loader (SPL) | | | | | | | | | | | 3 | - | U-Boot | bl3.itb | 0x200 | including u-boot and atf | | | | u-boot.bin | 0x200 | | | | | uboot.img | 0x4000 | only used with miniloader | | | | | | | | | ATF | trust.img | 0x6000 | only used with miniloader for armv8 | | | | | | | 4 | - | kernel | boot.img | 0x8000 | | | | | | | | 5 | - | rootfs | rootfs.img | 0x40000 | +--------+----------------+----------+-------------+---------+ </pre> Then when we talking about boot from eMMC/SD/U-Disk/net, they are in different concept: *Stage 1 is always in boot rom, it loads stage 2 and may load stage 3(when SPL_BACK_TO_BROM option enabled). *Boot from SPI flash means firmware for stage 2 and 3(SPL and U-Boot only) in SPI flash and stage 4/5 in other place; *Boot from eMMC means all the firmware(including stage 2, 3, 4, 5) in eMMC; *Boot from SD card means all the firmware(including stage 2, 3, 4, 5) in SD card; *Boot from U-Disk means firmware for stage 4 and 5(not including SPL and U-Boot) in Disk, optionally only including stage 5; *Boot from net/tftp means firmeware for stage 4 and 5(not including SPL and U-Boot) on the network; == Package option == After we know about the boot stages, Here are the file list before package for stage 2~4: *From source code: **From U-Boot: u-boot-spl.bin, u-boot.bin(may use u-boot-nodtb.bin and u-boot.dtb instead), **From kernel: kernel Image/zImage file, kernel dtb, **From ATF: bl31.bin; *From Rockchip binary: **ddr, usbplug, miniloader, bl31, (all with&nbsp;chip 'rkxx_'&nbsp; prefix and with version '_x.xx.bin' postfix); Here are the types to&nbsp;package image from those files: === idbspl.img === U-Boot SPL, with&nbsp;SPL_BACK_TO_BROM option '''disabled'''. <pre>mkimage -n rkxxxx -T rksd -d spl/u-boot-spl.bin idbspl.img</pre> Flash the idbspl.img to offset 0x40 which only including stage 2, and need flash stage 3 &nbsp;image to 0x200(which is defineded by CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR), the stage 3 image may be&nbsp;u-boot.bin directly(when there no ATF requirement), or FIT image bl3.itb(for ATF load from SPL, including bl31.bin, u-boot-nodtb.bin and u-boot.dtb). === idbloader.img === U-Boot SPL, with&nbsp;SPL_BACK_TO_BROM option '''enabled''': <pre>tools/mkimage -n rkxxxx -T rksd -d spl/u-boot-spl.bin idbloader.img cat u-boot.bin >> idbloader.img</pre> Flash the idbloader.img to offset 0x40 which including boot stage 2 and 3. Package the image from Rockchip binary: <pre>dd if=rkxx_ddr_vx.xx.bin of=$DDRTMP bs=4 skip=1 tools/mkimage -n rkxxxx -T rksd -d $DDRTMP idbloader.img cat rkxx_miniloader_vx.xx.bin >> idbloader.img</pre> Flash the idbloader.img to offset 0x40 which including stage 2, and you will need a uboot.img for boot stage 3. === bl3.itb === When using SPL to load the ATF, package the bl31.bin, u-boot-nodtb.bin and uboot.dtb into one FIT image. <pre>tools/mkimage -f fit4spl.its -E bl3.itb </pre> Flash the bl3.itb to offset 0x200, while&nbsp;need idbspl.img flasht to offset 0x40. === uboot.img === When using idbLoader from&nbsp;Rockchip miniloader, need package u-boot.bin into miniloader loadable format by Rockchip tool loaderimage. <pre>tools/loaderimage --pack --uboot u-boot.bin uboot.img</pre> Flash the uboot.img to offset 0x4000 which is stage 3; === trust.img === When using idbLoader from&nbsp;Rockchip miniloader, need package bl31.bin into miniloader loadable format by Rockchip tool trustmerge. <pre>tools/trustmerge tools/rk_tools/RKTRUST_RKXXXXTRUST.ini</pre> Flash the trust.img to offset 0x6000 which is for using Rockchip miniloader &nbsp; === rkxx_loader_vx.xx.xxx.bin === This is provide by Rockchip in binary mode, which is used for firmware upgrade to eMMC with [[Rkdevelptool|rkdeveloptool]], can not be wirte to media device directly. This is a package from ddr.bin, usbplug.bin, miniloader.bin, Rockchip tool ''DB ''command will make usbplug.bin running in target which perform as a Rockusb device. === boot.img === This image is package the kernel Image and dtb file into a know filesystem(FAT or EXT2) image for distro boot. See [[Rockchip_Kernel#Install_Boot.2Fkernel|Install kernel]] for detail about generate boot.img from kernel zImage/Image, dtb. Flash the boot.img to offset 0x8000 which is stage 4. === rootfs.img === Flash the rootfs.img to offset 0x40000 which is stage 5. &nbsp; = Flash and boot from Media device = Here we introduce how to write image to different Medeia device. Get image Ready: *For armv7 with SPL with SPL_BACK_TO_BROM option enabled: **idbLoader.img **boot.img or boot folder with zImage, dtb and exitlinulx inside **rootfs.img *For armv7 with SPL with SPL_BACK_TO_BROM option disabled: **idbspl.img **u-boot.bin **boot.img or boot folder with zImage, dtb and exitlinulx inside **rootfs.img *For armv7 with miniloader **idbLoader.img **uboot.img **boot.img or&nbsp;boot folder with zImage, dtb and exitlinulx inside **rootfs.img *For armv8 with SPL: **idbspl.img **bl3.itb **boot.img or&nbsp;boot folder with Image, dtb and exitlinulx inside **rootfs.img *For armv8 with miniloader **idbLoader.img **uboot.img **trust.img **boot.img or&nbsp;boot folder with Image, dtb and exitlinulx inside **rootfs.img &nbsp; == Boot from eMMC == The eMMC is on the hardware board, so we need: *Get the board into [[Rockusb#Maskrom_mode|maskrom mode]]; *Connect the target to PC with USB cable; *Flash the image to eMMC with [[Rkdevelptool|rkdeveloptool]] Example commands for flash image to target. *For armv7 with SPL with SPL_BACK_TO_BROM option enabled(rk3036, rk3188, rk3288): <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbloader.img rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> *For armv7 with SPL with SPL_BACK_TO_BROM option disabled(rk3288): <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbspl.img rkdeveloptool wl 0x200 u-boot.bin rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> *For armv7 with miniloader(rk3036, rk3188, rk3288) <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbloader.img rkdeveloptool wl 0x4000 uboot.img rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> *For armv8 with SPL(rk3399): <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbspl.img rkdeveloptool wl 0x200 bl3.itb rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> *For armv8 with miniloader(rk3399, rk3328) <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbloader.img rkdeveloptool wl 0x4000 uboot.img rkdeveloptool wl 0x6000 trust.img rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool r</pre> &nbsp; == Boot from SD/TF Card == We can write SD/TF card with Linux PC ''dd'' command very easily. Insert SD card to PC and we assume the /dev/sdb is the SD card device. *For armv7 with SPL with SPL_BACK_TO_BROM option enabled(rk3036, rk3188, rk3288): <pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=0x40 dd if=boot.img of=sdb seek=0x8000 dd if=rootfs.img of=sdb seek=0x40000 </pre> *For armv7 with SPL with SPL_BACK_TO_BROM option disabled(rk3288): <pre style="margin-left: 40px">dd if=idbspl.img of=sdb seek=0x40 dd if=u-boot.bin of=sdb seek=0x200 dd if=boot.img of=sdb seek=0x8000 dd if=rootfs.img of=sdb seek=0x40000 </pre> *For armv7 with miniloader(rk3036, rk3188, rk3288) <pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=0x40 dd if=uboot.img of=sdb seek=0x4000 dd if=boot.img of=sdb seek=0x8000 dd if=rootfs.img of=sdb seek=0x40000 </pre> *For armv8 with SPL(rk3399): <pre style="margin-left: 40px">dd if=idbspl.img of=sdb seek=0x40 dd if=bl3.itb of=sdb seek=0x200 dd if=boot.img of=sdb seek=0x8000 dd if=rootfs.img of=sdb seek=0x40000 </pre> *For armv8 with miniloader(rk3399, rk3328) <pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=0x40 dd if=uboot.img of=sdb seek=0x4000 dd if=trust.img of=sdb seek=0x6000 dd if=boot.img of=sdb seek=0x8000 dd if=rootfs.img of=sdb seek=0x40000</pre> In order to make sure everything has write to SD card before unpluged, recommand to run below command: <pre style="margin-left: 40px">sync</pre> Note, when using boot from SD card, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value. <pre>append earlyprintk console=ttyS2,115200n8 rw root=/dev/mmcblk1p7 rootwait rootfstype=ext4 init=/sbin/init </pre> Write GPT partition table to SD card&nbsp;in U-Boot, and then U-Boot can find the boot partition and run into kernel. <pre>gpt write mmc 0 $partitions</pre> &nbsp; == Boot from U-Disk == Same as&nbsp;[[#Boot_from_SD.2FTF_Card|boot-from-sdcard]], but please note that U-Disk&nbsp;only support stage 4 and 5, see [[#Boot_Stage|Boot Stage]] for detail. If U-Disk used for stage 4 and 5, format the U-Disk in gpt format and at least 2 partitions, write ''boot.img'' and ''rootfs.img'' in those partitions; if U-Dist is only used for stage 5, we can ''dd ''the ''rootfs.img'' to U-Disk device directly. Note, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value. <pre> append earlyprintk console=ttyS2,115200n8 rw root=/dev/sda1 rootwait rootfstype=ext4 init=/sbin/init </pre> = Boot from Network = &nbsp; cef0f119833b80df22f42766d2412f830fe6714b Rkdeveloptool 0 106 893 661 2017-03-22T08:25:21Z Kever 2 wikitext text/x-wiki = Download rkdeveloptool = Get the source code for rkdeveloptool <pre>git clone https://github.com/rockchip-linux/rkdeveloptool.git</pre> &nbsp; = Build rkdeveloptool = First, install the libusb and udev. In Ubuntu,&nbsp; <pre>sudo apt-get install libudev-dev libusb-1.0-0-dev</pre> Then&nbsp; <pre>sudo make && make install</pre> = Usage = == Support commands == --------------------Tool Usage ---------------------<br/> Help: &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; -H<br/> Version: &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;-V<br/> DownloadBoot:&nbsp;&nbsp; &nbsp;DB <Loader><br/> ReadLBA:&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;RL &nbsp;<BeginSec> <SectorLen> <File><br/> WriteLBA:&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;WL &nbsp;<BeginSec> <File><br/> EraseFlash:&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;EF&nbsp;<br/> TestDevice:&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;TD<br/> ResetDevice:&nbsp;&nbsp; &nbsp;RD [subcode]<br/> ReadFlashID:&nbsp;&nbsp; &nbsp;RID<br/> ReadFlashInfo:&nbsp;&nbsp; &nbsp;RFI<br/> ReadChipInfo:&nbsp;&nbsp; &nbsp;RCI<br/> ------------------------------------------------------- == Flash image to target emmc == In order to flash image to target emmc,&nbsp; #Make target&nbsp;&nbsp;get into [[Rockusb|rockusb mode]]; #Connect target to Host PC via USB; #Write the image to the eMMC with tool command; <ul style="margin-left: 40px;"> <li>use&nbsp;download boot command to make target init DRAM and run usbplug;</li> </ul> <pre style="margin-left: 80px;">rkdeveloptool db rkxx_loader_vx.xx.bin</pre> <ul style="margin-left: 40px;"> <li>use write lba command to write image to target, this step can be repeat for many times;</li> </ul> <pre style="margin-left: 80px;">rkdeveloptool wl 0x40 idbLoader.img rkdeveloptool wl 0x4000 uboot.img rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img</pre> <ul style="margin-left: 40px;"> <li>use reset device comamnd to reset the target after image write complete</li> </ul> <pre style="margin-left: 80px;">rkdeveloptool rd</pre> 2c6e5d2f6bd72e51bb1411f9af3c1b61132f6378 899 893 2017-03-23T03:22:27Z Kever 2 wikitext text/x-wiki = Download rkdeveloptool = Get the source code for rkdeveloptool <pre>git clone https://github.com/rockchip-linux/rkdeveloptool.git</pre> &nbsp; = Build rkdeveloptool = First, install the libusb and udev. In Ubuntu,&nbsp; <pre>sudo apt-get install libudev-dev libusb-1.0-0-dev</pre> Then&nbsp; <pre>sudo make && make install</pre> = Usage = == Support commands == --------------------Tool Usage ---------------------<br/> Help: &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; -H<br/> Version: &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;-V<br/> DownloadBoot:&nbsp;&nbsp; &nbsp;DB <Loader><br/> ReadLBA:&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;RL &nbsp;<BeginSec> <SectorLen> <File><br/> WriteLBA:&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;WL &nbsp;<BeginSec> <File><br/> EraseFlash:&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;EF&nbsp;<br/> TestDevice:&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;TD<br/> ResetDevice:&nbsp;&nbsp; &nbsp;RD [subcode]<br/> ReadFlashID:&nbsp;&nbsp; &nbsp;RID<br/> ReadFlashInfo:&nbsp;&nbsp; &nbsp;RFI<br/> ReadChipInfo:&nbsp;&nbsp; &nbsp;RCI<br/> ------------------------------------------------------- == Flash image to target emmc == In order to flash image to target emmc,&nbsp; #Make target&nbsp;&nbsp;get into [[Rockusb|rockusb mode]]; #Connect target to Host PC via USB; #Write the image to the eMMC with tool command; <ul style="margin-left: 40px;"> <li>use&nbsp;download boot command to make target init DRAM and run usbplug;</li> </ul> <pre style="margin-left: 80px;">rkdeveloptool db rkxx_loader_vx.xx.bin</pre> <ul style="margin-left: 40px;"> <li>use write lba command to write image to target, this step can be repeat for many times;</li> </ul> <pre style="margin-left: 80px;">rkdeveloptool wl 0x40 idbLoader.img rkdeveloptool wl 0x4000 uboot.img rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img</pre> <ul style="margin-left: 40px;"> <li>use reset device comamnd to reset the target after image write complete</li> </ul> <pre style="margin-left: 80px;">rkdeveloptool rd</pre> e089008bee63832efc29fa54c821e97c4ea56d7c 968 899 2017-04-12T02:13:49Z Kever 2 wikitext text/x-wiki = Download rkdeveloptool = Get the source code for rkdeveloptool <pre>git clone https://github.com/rockchip-linux/rkdeveloptool.git</pre> &nbsp; = Build rkdeveloptool = First, install the libusb and udev. In Ubuntu,&nbsp; <pre>sudo apt-get install libudev-dev libusb-1.0-0-dev</pre> Then&nbsp; <pre>sudo make && make install</pre> = Usage = == Support commands == ---- Tool Usage --------------------- Help: &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; -H<br/> Version: &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;-V<br/> DownloadBoot:&nbsp;&nbsp; &nbsp;DB <Loader><br/> UpgradeLoader:&nbsp;&nbsp; &nbsp;UL <Loader><br/> ReadLBA:&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;RL &nbsp;<BeginSec> <SectorLen> <File><br/> WriteLBA:&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;WL &nbsp;<BeginSec> <File><br/> WriteGPT: &nbsp; &nbsp; &nbsp; GPT <parameter><br/> EraseFlash:&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;EF&nbsp;<br/> TestDevice:&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;TD<br/> ResetDevice:&nbsp;&nbsp; &nbsp;RD [subcode]<br/> ReadFlashID:&nbsp;&nbsp; &nbsp;RID<br/> ReadFlashInfo:&nbsp;&nbsp; &nbsp;RFI<br/> ReadChipInfo:&nbsp;&nbsp; &nbsp;RCI<br/> -------------------------------------------------------<br/> &nbsp; &nbsp; == Flash image to target emmc == In order to flash image to target emmc,&nbsp; #Make target&nbsp;&nbsp;get into [[Rockusb|rockusb mode]]; #Connect target to Host PC via USB; #Write the image to the eMMC with tool command; <ul style="margin-left: 40px;"> <li>use&nbsp;download boot command to make target init DRAM and run usbplug;</li> </ul> <pre style="margin-left: 80px;">rkdeveloptool db rkxx_loader_vx.xx.bin</pre> <ul style="margin-left: 40px;"> <li>use write lba command to write image to target, this step can be repeat for many times;</li> </ul> <pre style="margin-left: 80px;">rkdeveloptool wl 0x40 idbLoader.img rkdeveloptool wl 0x4000 uboot.img rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img</pre> <ul style="margin-left: 40px;"> <li>usb ''ul'' command to write idbloader into idb from rockchip loader</li> </ul> <pre style="margin-left: 80px;">rkdeveloptool ul rkxx_loader_vx.xx.bin</pre> <ul style="margin-left: 40px;"> <li>use ''gpt'' command to write gpt table with parameter_gpt.txt</li> </ul> <pre style="margin-left: 80px;">rkdeveloptool gpt parameter_gpt.txt</pre> <ul style="margin-left: 40px;"> <li>use reset device comamnd to reset the target after image write complete</li> </ul> <pre style="margin-left: 80px;">rkdeveloptool rd</pre> 52136bb025d61ae35d58eec250c80e75223be1f7 RK3399 0 21 910 867 2017-03-23T09:54:52Z Kevan 10 wikitext text/x-wiki Rockchip RK3399 SoC integrates&nbsp;dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor, and with&nbsp;ARM Mali-T864 GPU. {| border="0" cellpadding="1" cellspacing="1" class="infobox" style="width: 300px;" |- | [[File:RK3399 Soc.png|RTENOTITLE]] |} = Overview = RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications. &nbsp; = SoC Features = {| border="0" cellpadding="1" cellspacing="1" style="width: 972px;" |- | style="width: 530px;" | *CPU: **Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU **Frequency is over 1.8GHz (Big cluster) **L1 cache ***48KB Icache and 32KB Dcache for each A72 ***32KB Icache and 32KB Dcache for each A53 **L2 cache ***1024KB for big cluster ***512KB for little cluster *Internal SRAM **192KB total **4KB used by bootrom when bootup *GPU: **&nbsp;Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11 **Supports AFBC (ARM Frame Buffer Compression) *Display: **Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600 **Dual channel MIPI-DSI (4 lanes per channel) **eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR **HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2 **DisplayPort 1.2 (4 lanes, up to 4K 60Hz) **Supports Rec.2020 and conversion to Rec.709 *Camera: **&nbsp;Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels *Memory: **Dual channels 64-bit DRAM controller **Support DDR3/DDR3L, LPDDR3, LPDDR4 *Connectivity: **PCIe 2.1 (4 full-duplex lanes with 20Gbps) **Embedded low power MCU for other application **8 channels I2S supports 8 channels RX or 8 channels TX | style="width: 429px;" | [[File:RK3399 Block Diagram.png|RTENOTITLE]] |} = Documentation = #[http://opensource.rock-chips.com/images/6/60/Rockchip_RK3399_Datasheet_V1.6-20170301.pdf Rockchip_RK3399_Datasheet_V1.6-20170301.pdf] #[http://opensource.rock-chips.com/wiki_File:RK3399_Linux_Debian_System_Development_Guide.pdf RK3399 Linux Debian System Development Guide.pdf] #[http://opensource.rock-chips.com/images/7/7e/RK3399_Linux_Buildroot_System_Development_Guide.pdf RK3399_Linux_Buildroot_System_Development_Guide.pdf] #[http://opensource.rock-chips.com/images/2/20/RK3399_Multimedia_Codec_Benchmark_v1.0.pdf RK3399_Multimedia_Codec_Benchmark_v1.0.pdf] = Software = == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" class="table_style" style="line-height: 1.6; width: 768px;" |- ! style="width: 119px; text-align: center;" | '''board''' ! style="width: 172px; text-align: center;" | '''kernel''' ! style="width: 124px; text-align: center;" | '''uboot''' ! style="width: 310px; text-align: center;" | '''dts''' |- | style="width: 119px; text-align: center;" | rk3399-excavator | style="width: 172px; text-align: center;" | rockchip_linux_defconfig | style="width: 124px; text-align: center;" | rk3399_linux_defconfig | style="width: 310px; text-align: center;" | rk3399-sapphire-excavator-linux.dts |- | style="width: 119px; text-align: center;" | Firefly-RK3399 | style="width: 172px; text-align: center;" | rockchip_linux_defconfig | style="width: 124px; text-align: center;" | rk3399_linux_defconfig | style="width: 310px; text-align: center;" | rk3399-firefly-linux.dts |} &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" style="width: 859px;" class="table_style" |- ! style="width: 68px; text-align: center;" | '''chip''' ! style="width: 181px; text-align: center;" | '''Kernel eMMC index''' ! style="width: 142px; text-align: center;" | '''Kernel SD index''' ! style="width: 158px; text-align: center;" | '''Uboot eMMC index''' ! style="width: 146px; text-align: center;" | '''Uboot SD index''' ! style="width: 132px; text-align: center;" | '''Baud speed''' |- | style="width: 68px; text-align: center;" | RK3399 | style="width: 181px; text-align: center;" | 1 | style="width: 142px; text-align: center;" | 0 | style="width: 158px; text-align: center;" | 0 | style="width: 146px; text-align: center;" | 1 | style="width: 132px; text-align: center;" | 1500000 |} == How to get the sources == The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code. RK3399 optimized Debian & Buildroot <pre>repo init -u https://github.com/rockchip-linux/manifests -m rk3399.xml repo sync </pre> == How to build the sources == === Build Environment === You need a 64-bit&nbsp;Ubuntu. Note: old versions&nbsp;Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;"><br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so</div> Install&nbsp;ARM cross-compile tool chain and compile kernel relative&nbsp;software package:&nbsp; <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">$ sudo apt-get install gcc-arm-linux-gnueabihf&nbsp;gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev</div> === Building kernel &&nbsp;resource === For RK3399&nbsp;Excavator-sapphire&nbsp;board: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd kernel && make ARCH=arm64 rockchip_linux_defconfig && make ARCH=arm64 rk3399-sapphire-excavator-linux.img -j12 && cd ..</div> For&nbsp;Firefly-RK3399 board: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd kernel && make ARCH=arm64 rockchip_linux_defconfig && make ARCH=arm64 rk3399-firefly-mini-linux.img -j12 && cd ..</div> === Building uboot === For RK3399 optimized SDK (rkproduct uboot) <pre>cd u-boot && make rk3399_linux_defconfig && make ARCHV=aarch64 -j12 && cd .. </pre> === Building rootfs === ==== Debian ==== You could refer to [[Media:RK3399_Linux_Debian_System_Development_Guide.pdf|RK3399 Linux Debian System Development Guide]]&nbsp;from Rockchip to build rootfs yourselves. ==== Buildroot ==== <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd buildroot && make rockchip_rk3399_defconfig && cd .. && ./build_all.sh -j12 && ./mkfirmware.sh&nbsp;</div> In order to get more details,you could refer to [[Media:RK3399_Linux_Buildroot_System_Development_Guide.pdf|RK3399 Linux Buildroot System Development Guide]]. &nbsp; = Devices = Rockchip: [[Excavator_sapphire_board|Excavator_sapphire_board]] Firefly: [http://wiki.t-firefly.com/index.php/Firefly-RK3399 Firefly-RK3399] If you need the rk3399-excavator&nbsp;board, please communicate through&nbsp;the following&nbsp;contact information: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">Telephone: 4007700590 &nbsp; &nbsp; &nbsp; &nbsp;Email: service@rock-chips.com</div> If you need the Firefly-RK3399 board,you can browse the following url&nbsp;for more details: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">[http://wiki.t-firefly.com/index.php/Firefly-RK3399 http://wiki.t-firefly.com/index.php/Firefly-RK3399]</div> = See also = [[RK3288|RK3288]] [[RK3328|RK3328]] &nbsp; = References = [https://en.wikipedia.org/wiki/ARM_Cortex-A72 https://en.wikipedia.org/wiki/ARM_Cortex-A72] [http://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html http://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html] [https://www.arm.com/zh/products/multimedia/mali-gpu/high-performance/mali-t860-t880.php https://www.arm.com/zh/products/multimedia/mali-gpu/high-performance/mali-t860-t880.php] 2034437a1abb18d91494566a34ad828b00b9f4de 938 910 2017-04-07T07:59:01Z Chery 9 wikitext text/x-wiki Rockchip RK3399 SoC integrates&nbsp;dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor, and with&nbsp;ARM Mali-T864 GPU. {| border="0" cellpadding="1" cellspacing="1" class="infobox" style="width: 300px;" |- | [[File:RK3399 Soc.png|RTENOTITLE]] |} = Overview = RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications. &nbsp; = SoC Features = {| border="0" cellpadding="1" cellspacing="1" style="width: 972px;" |- | style="width: 530px;" | *CPU: **Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU **Frequency is over 1.8GHz (Big cluster) **L1 cache ***48KB Icache and 32KB Dcache for each A72 ***32KB Icache and 32KB Dcache for each A53 **L2 cache ***1024KB for big cluster ***512KB for little cluster *Internal SRAM **192KB total **4KB used by bootrom when bootup *GPU: **&nbsp;Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11 **Supports AFBC (ARM Frame Buffer Compression) *Display: **Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600 **Dual channel MIPI-DSI (4 lanes per channel) **eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR **HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2 **DisplayPort 1.2 (4 lanes, up to 4K 60Hz) **Supports Rec.2020 and conversion to Rec.709 *Camera: **&nbsp;Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels *Memory: **Dual channels 64-bit DRAM controller **Support DDR3/DDR3L, LPDDR3, LPDDR4 *Connectivity: **PCIe 2.1 (4 full-duplex lanes with 20Gbps) **Embedded low power MCU for other application **8 channels I2S supports 8 channels RX or 8 channels TX | style="width: 429px;" | [[File:RK3399 Block Diagram.png|RTENOTITLE]] |} &nbsp; &nbsp; = Documentation = #[http://opensource.rock-chips.com/images/6/60/Rockchip_RK3399_Datasheet_V1.6-20170301.pdf Rockchip_RK3399_Datasheet_V1.6-20170301.pdf] #[http://opensource.rock-chips.com/wiki_File:RK3399_Linux_Debian_System_Development_Guide.pdf RK3399 Linux Debian System Development Guide.pdf] #[http://opensource.rock-chips.com/images/7/7e/RK3399_Linux_Buildroot_System_Development_Guide.pdf RK3399_Linux_Buildroot_System_Development_Guide.pdf] #[http://opensource.rock-chips.com/images/2/20/RK3399_Multimedia_Codec_Benchmark_v1.0.pdf RK3399_Multimedia_Codec_Benchmark_v1.0.pdf] = Software = == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" class="table_style" style="line-height: 1.6; width: 768px;" |- ! style="width: 119px; text-align: center;" | '''board''' ! style="width: 172px; text-align: center;" | '''kernel''' ! style="width: 124px; text-align: center;" | '''uboot''' ! style="width: 310px; text-align: center;" | '''dts''' |- | style="width: 119px; text-align: center;" | rk3399-excavator | style="width: 172px; text-align: center;" | rockchip_linux_defconfig | style="width: 124px; text-align: center;" | rk3399_linux_defconfig | style="width: 310px; text-align: center;" | rk3399-sapphire-excavator-linux.dts |- | style="width: 119px; text-align: center;" | Firefly-RK3399 | style="width: 172px; text-align: center;" | rockchip_linux_defconfig | style="width: 124px; text-align: center;" | rk3399_linux_defconfig | style="width: 310px; text-align: center;" | rk3399-firefly-linux.dts |} &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" class="table_style" style="width: 859px;" |- ! style="width: 68px; text-align: center;" | '''chip''' ! style="width: 181px; text-align: center;" | '''Kernel eMMC index''' ! style="width: 142px; text-align: center;" | '''Kernel SD index''' ! style="width: 158px; text-align: center;" | '''Uboot eMMC index''' ! style="width: 146px; text-align: center;" | '''Uboot SD index''' ! style="width: 132px; text-align: center;" | '''Baud speed''' |- | style="width: 68px; text-align: center;" | RK3399 | style="width: 181px; text-align: center;" | 1 | style="width: 142px; text-align: center;" | 0 | style="width: 158px; text-align: center;" | 0 | style="width: 146px; text-align: center;" | 1 | style="width: 132px; text-align: center;" | 1500000 |} == How to get the sources == The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code. RK3399 optimized Debian & Buildroot <pre>repo init -u https://github.com/rockchip-linux/manifests -m rk3399.xml repo sync </pre> == How to build the sources == === Build Environment === You need a 64-bit&nbsp;Ubuntu. Note: old versions&nbsp;Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;"><br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so</div> Install&nbsp;ARM cross-compile tool chain and compile kernel relative&nbsp;software package:&nbsp; <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">$ sudo apt-get install gcc-arm-linux-gnueabihf&nbsp;gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev</div> === Building kernel &&nbsp;resource === For RK3399&nbsp;Excavator-sapphire&nbsp;board: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd kernel && make ARCH=arm64 rockchip_linux_defconfig && make ARCH=arm64 rk3399-sapphire-excavator-linux.img -j12 && cd ..</div> For&nbsp;Firefly-RK3399 board: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd kernel && make ARCH=arm64 rockchip_linux_defconfig && make ARCH=arm64 rk3399-firefly-mini-linux.img -j12 && cd ..</div> === Building uboot === For RK3399 optimized SDK (rkproduct uboot) <pre>cd u-boot && make rk3399_linux_defconfig && make ARCHV=aarch64 -j12 && cd .. </pre> === Building rootfs === ==== Debian ==== You could refer to [[Media:RK3399_Linux_Debian_System_Development_Guide.pdf|RK3399 Linux Debian System Development Guide]]&nbsp;from Rockchip to build rootfs yourselves. ==== Buildroot ==== <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd buildroot && make rockchip_rk3399_defconfig && cd .. && ./build_all.sh -j12 && ./mkfirmware.sh&nbsp;</div> In order to get more details,you could refer to [[Media:RK3399_Linux_Buildroot_System_Development_Guide.pdf|RK3399 Linux Buildroot System Development Guide]]. = Android&nbsp; = Download link of image for the rk3399-excavator&nbsp;board: [http://pan.baidu.com/s/1mimHZAS http://pan.baidu.com/s/1mimHZAS]&nbsp; password:5vue = Devices = Rockchip: [[Excavator_sapphire_board|Excavator_sapphire_board]] Firefly: [http://wiki.t-firefly.com/index.php/Firefly-RK3399 Firefly-RK3399] If you need the rk3399-excavator&nbsp;board, please communicate through&nbsp;the following&nbsp;contact information: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">Telephone: 4007700590 &nbsp; &nbsp; &nbsp; &nbsp;Email: service@rock-chips.com</div> If you need the Firefly-RK3399 board,you can browse the following url&nbsp;for more details: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">[http://wiki.t-firefly.com/index.php/Firefly-RK3399 http://wiki.t-firefly.com/index.php/Firefly-RK3399]</div> = See also = [[RK3288|RK3288]] [[RK3328|RK3328]] &nbsp; = References = [https://en.wikipedia.org/wiki/ARM_Cortex-A72 https://en.wikipedia.org/wiki/ARM_Cortex-A72] [http://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html http://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html] [https://www.arm.com/zh/products/multimedia/mali-gpu/high-performance/mali-t860-t880.php https://www.arm.com/zh/products/multimedia/mali-gpu/high-performance/mali-t860-t880.php] c6c5be3300a465f7d2e3b7f9bd1aee54286b7c80 939 938 2017-04-07T08:02:05Z Chery 9 wikitext text/x-wiki Rockchip RK3399 SoC integrates&nbsp;dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor, and with&nbsp;ARM Mali-T864 GPU. {| border="0" cellpadding="1" cellspacing="1" class="infobox" style="width: 300px;" |- | [[File:RK3399 Soc.png|RTENOTITLE]] |} = Overview = RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications. &nbsp; = SoC Features = {| border="0" cellpadding="1" cellspacing="1" style="width: 972px;" |- | style="width: 530px;" | *CPU: **Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU **Frequency is over 1.8GHz (Big cluster) **L1 cache ***48KB Icache and 32KB Dcache for each A72 ***32KB Icache and 32KB Dcache for each A53 **L2 cache ***1024KB for big cluster ***512KB for little cluster *Internal SRAM **192KB total **4KB used by bootrom when bootup *GPU: **&nbsp;Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11 **Supports AFBC (ARM Frame Buffer Compression) *Display: **Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600 **Dual channel MIPI-DSI (4 lanes per channel) **eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR **HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2 **DisplayPort 1.2 (4 lanes, up to 4K 60Hz) **Supports Rec.2020 and conversion to Rec.709 *Camera: **&nbsp;Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels *Memory: **Dual channels 64-bit DRAM controller **Support DDR3/DDR3L, LPDDR3, LPDDR4 *Connectivity: **PCIe 2.1 (4 full-duplex lanes with 20Gbps) **Embedded low power MCU for other application **8 channels I2S supports 8 channels RX or 8 channels TX | style="width: 429px;" | [[File:RK3399 Block Diagram.png|RTENOTITLE]] |} &nbsp; &nbsp; = Documentation = #[http://opensource.rock-chips.com/images/6/60/Rockchip_RK3399_Datasheet_V1.6-20170301.pdf Rockchip_RK3399_Datasheet_V1.6-20170301.pdf] #[http://opensource.rock-chips.com/wiki_File:RK3399_Linux_Debian_System_Development_Guide.pdf RK3399 Linux Debian System Development Guide.pdf] #[http://opensource.rock-chips.com/images/7/7e/RK3399_Linux_Buildroot_System_Development_Guide.pdf RK3399_Linux_Buildroot_System_Development_Guide.pdf] #[http://opensource.rock-chips.com/images/2/20/RK3399_Multimedia_Codec_Benchmark_v1.0.pdf RK3399_Multimedia_Codec_Benchmark_v1.0.pdf] = Software = == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" class="table_style" style="line-height: 1.6; width: 768px;" |- ! style="width: 119px; text-align: center;" | '''board''' ! style="width: 172px; text-align: center;" | '''kernel''' ! style="width: 124px; text-align: center;" | '''uboot''' ! style="width: 310px; text-align: center;" | '''dts''' |- | style="width: 119px; text-align: center;" | rk3399-excavator | style="width: 172px; text-align: center;" | rockchip_linux_defconfig | style="width: 124px; text-align: center;" | rk3399_linux_defconfig | style="width: 310px; text-align: center;" | rk3399-sapphire-excavator-linux.dts |- | style="width: 119px; text-align: center;" | Firefly-RK3399 | style="width: 172px; text-align: center;" | rockchip_linux_defconfig | style="width: 124px; text-align: center;" | rk3399_linux_defconfig | style="width: 310px; text-align: center;" | rk3399-firefly-linux.dts |} &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" class="table_style" style="width: 859px;" |- ! style="width: 68px; text-align: center;" | '''chip''' ! style="width: 181px; text-align: center;" | '''Kernel eMMC index''' ! style="width: 142px; text-align: center;" | '''Kernel SD index''' ! style="width: 158px; text-align: center;" | '''Uboot eMMC index''' ! style="width: 146px; text-align: center;" | '''Uboot SD index''' ! style="width: 132px; text-align: center;" | '''Baud speed''' |- | style="width: 68px; text-align: center;" | RK3399 | style="width: 181px; text-align: center;" | 1 | style="width: 142px; text-align: center;" | 0 | style="width: 158px; text-align: center;" | 0 | style="width: 146px; text-align: center;" | 1 | style="width: 132px; text-align: center;" | 1500000 |} == How to get the sources == The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code. RK3399 optimized Debian & Buildroot <pre>repo init -u https://github.com/rockchip-linux/manifests -m rk3399.xml repo sync </pre> == How to build the sources == === Build Environment === You need a 64-bit&nbsp;Ubuntu. Note: old versions&nbsp;Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;"><br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so</div> Install&nbsp;ARM cross-compile tool chain and compile kernel relative&nbsp;software package:&nbsp; <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">$ sudo apt-get install gcc-arm-linux-gnueabihf&nbsp;gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev</div> === Building kernel &&nbsp;resource === For RK3399&nbsp;Excavator-sapphire&nbsp;board: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd kernel && make ARCH=arm64 rockchip_linux_defconfig && make ARCH=arm64 rk3399-sapphire-excavator-linux.img -j12 && cd ..</div> For&nbsp;Firefly-RK3399 board: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd kernel && make ARCH=arm64 rockchip_linux_defconfig && make ARCH=arm64 rk3399-firefly-mini-linux.img -j12 && cd ..</div> === Building uboot === For RK3399 optimized SDK (rkproduct uboot) <pre>cd u-boot && make rk3399_linux_defconfig && make ARCHV=aarch64 -j12 && cd .. </pre> === Building rootfs === ==== Debian ==== You could refer to [[Media:RK3399_Linux_Debian_System_Development_Guide.pdf|RK3399 Linux Debian System Development Guide]]&nbsp;from Rockchip to build rootfs yourselves. ==== Buildroot ==== <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd buildroot && make rockchip_rk3399_defconfig && cd .. && ./build_all.sh -j12 && ./mkfirmware.sh&nbsp;</div> In order to get more details,you could refer to [[Media:RK3399_Linux_Buildroot_System_Development_Guide.pdf|RK3399 Linux Buildroot System Development Guide]]. = Devices = Rockchip: [[Excavator_sapphire_board|Excavator_sapphire_board]] Firefly: [http://wiki.t-firefly.com/index.php/Firefly-RK3399 Firefly-RK3399] If you need the rk3399-excavator&nbsp;board, please communicate through&nbsp;the following&nbsp;contact information: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">Telephone: 4007700590 &nbsp; &nbsp; &nbsp; &nbsp;Email: service@rock-chips.com</div> If you need the Firefly-RK3399 board,you can browse the following url&nbsp;for more details: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">[http://wiki.t-firefly.com/index.php/Firefly-RK3399 http://wiki.t-firefly.com/index.php/Firefly-RK3399]</div> = See also = [[RK3288|RK3288]] [[RK3328|RK3328]] &nbsp; = References = [https://en.wikipedia.org/wiki/ARM_Cortex-A72 https://en.wikipedia.org/wiki/ARM_Cortex-A72] [http://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html http://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html] [https://www.arm.com/zh/products/multimedia/mali-gpu/high-performance/mali-t860-t880.php https://www.arm.com/zh/products/multimedia/mali-gpu/high-performance/mali-t860-t880.php] 28e101f6c194ad8178fe87c92da167cd2e25bcc3 File:Rockchip RK3288 TRM V1.2 Part1-20170321.pdf 6 128 911 2017-03-24T03:55:00Z Kever 2 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 RK3288 0 20 913 864 2017-03-24T03:57:13Z Kever 2 wikitext text/x-wiki {{Infobox SoC | title = RK3288 | image = [[File:rk3288_soc.png|200px]] | manufacturer = Rockcihp | process = 28nm | cpu = Quad-Core ARM Cortex-A17 | ltwo = | extensions = | memory = 2-channel LPDDR3/LPDDR2/DDR3/DDR3L | gpu = ARM Mali-T764 | vpu = | apu = | video = HDMI 1.4, MIPI DSI, LVDS, RGB LCD | audio = I2S, PCM | network = | storage = 4x SD Card, eMMC, NAND | usb = OTG, 2x Host | other = | release_date = June 2014 | website = http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html }} &nbsp; &nbsp; &nbsp; Integrated with a Quad-Core [https://en.wikipedia.org/wiki/ARM_Cortex-A17 Cortex-A17]&nbsp;which up to 1.8GHz and ARMMali-T764&nbsp;which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant&nbsp;interfaces provide&nbsp;a friendly solution for product&nbsp;development. Futhermore &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; = Overview = The RK3288 offers<big><var>&nbsp;</var></big>an extensible, <big><small><tt>leading&nbsp;performance</tt></small></big>, long-standing heritage platform,ideally suited for &nbsp;set-top box solution, tablet and chromebook.The platform is integrated with a Quad-Core Cortex-A17 which up to 1.8GHz and ARM Mali-T764&nbsp;which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant&nbsp;interfaces provide&nbsp;a friendly solution for product&nbsp;development. Futhermore, the power consumption is&nbsp;optimal for applications such as imaging/video, communication and broadband infrastructure,and performance audio applications. &nbsp; &nbsp; = RK3288 SoC Features = {| border="0" cellpadding="1" cellspacing="1" style="width: 972px;" |- | style="width: 530px;" | *CPU: **Quad Core Cortex-A17&nbsp;up to 1.8GHz **32KB L1-Cache **1MB L2-Cache *Internal SRAM **96KB total **First 16KB used by Bootrom when bootup *GPU: **ARM Mali-T764 GPU, with TE, ASTC, AFBC technology **Quad core 3D Graphics engine **Dual core 2D Graphics engine **Comply with&nbsp;OpenGL ES1.1/2.0/3.0, OpenVG1.1, OpenCL, DirectX11 *Display: **4Kx2K@60fpsHDMI2.0 **Up to 3840X2160 display resolution **Support dual-channel LVDS/dual-channel MIPI-DSI/eDP1.1 *Camera: **Support up to 5M pixels **8bits/10bits/12bits raw data interface&nbsp; *Memory: **Dual channels 64-bit DRAM controller **Support DDR3/DDR3L, LPDDR2, LPDDR3 *Connectivity: **Embedded 13M ISP and MIPI-CSI2 interface *Audio: **I2S/PCM with 8 channels | style="width: 429px;" | [[File:3288.png|RTENOTITLE]] |} = Devices = Rockchip: EVB-RK3328 Firefly: [[Firefly-RK3288|Firefly-RK3288]]<br/> [[Firefly-RK3288_reload|Firefly-RK3288 reload]]<br/> [[Rock2_Square|Rock2 Square]]<br/> [[Rock2_Full|Rock2 Full]]<br/> [[MiQi|MiQi]]<br/> [[Popmetal|Popmetal]]<br/> [[Fennec|Fennec]]<br/> [[PhyCORE-RK3288|phyCORE-RK3288]] ASUS: Tinker board &nbsp; = Documentation = #[[Rockchip_RK3288_TRM_V1.2_Part1-20170321.pdf|Rockchip RK3288 TRM V1.2 Part1-20170321.pdf]] #[http://opensource.rock-chips.com/images/a/ae/Rk3288_hardware_reference.zip Rk3288_hardware_reference.zip] &nbsp; = Software = See [[Linux_user_guide|Linux_user_guide]] setup Linux OS generally; See [[U-Boot|U-Boot]] guide to develop U-Boot; See [[Rockchip_Kernel|Rockchip kernel]] or [[Upstream_Kernel|Upstream kernel]] to develop kernel; See [[Distribution|Distribution]] to develop and custimize OS. &nbsp; == Board configuration == {| border="1" cellpadding="1" cellspacing="1" class="table_style" |- ! '''board''' ! '''kernel''' ! '''uboot''' ! '''dts''' |- | RK3288_MAINBOARD_V3.0 | rockchip_linux_defconfig | rk3288_linux_defconfig | rk-linux.dts |} &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" class="table_style" |- ! '''chip''' ! '''Kernel eMMC index''' ! '''Kernel SD index''' ! '''Uboot eMMC index''' ! '''Uboot SD index''' ! '''Baud speed''' |- | RK3288 | 1 | 0 | 0 | 1 | 115200 |} = See also = [[RK3328|RK3328]] [[RK3399|RK3399]] = References = #[https://en.wikipedia.org/wiki/ARM_Cortex-A17 https://en.wikipedia.org/wiki/ARM_Cortex-A17] #[http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html] d60f18e49232e602a32b8a5974610fc6cace9684 914 913 2017-03-24T03:57:40Z Kever 2 wikitext text/x-wiki {{Infobox SoC | title = RK3288 | image = [[File:rk3288_soc.png|200px]] | manufacturer = Rockcihp | process = 28nm | cpu = Quad-Core ARM Cortex-A17 | ltwo = | extensions = | memory = 2-channel LPDDR3/LPDDR2/DDR3/DDR3L | gpu = ARM Mali-T764 | vpu = | apu = | video = HDMI 1.4, MIPI DSI, LVDS, RGB LCD | audio = I2S, PCM | network = | storage = 4x SD Card, eMMC, NAND | usb = OTG, 2x Host | other = | release_date = June 2014 | website = http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html }} &nbsp; &nbsp; &nbsp; Integrated with a Quad-Core [https://en.wikipedia.org/wiki/ARM_Cortex-A17 Cortex-A17]&nbsp;which up to 1.8GHz and ARMMali-T764&nbsp;which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant&nbsp;interfaces provide&nbsp;a friendly solution for product&nbsp;development. Futhermore &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; = Overview = The RK3288 offers<big><var>&nbsp;</var></big>an extensible, <big><small><tt>leading&nbsp;performance</tt></small></big>, long-standing heritage platform,ideally suited for &nbsp;set-top box solution, tablet and chromebook.The platform is integrated with a Quad-Core Cortex-A17 which up to 1.8GHz and ARM Mali-T764&nbsp;which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant&nbsp;interfaces provide&nbsp;a friendly solution for product&nbsp;development. Futhermore, the power consumption is&nbsp;optimal for applications such as imaging/video, communication and broadband infrastructure,and performance audio applications. &nbsp; &nbsp; = RK3288 SoC Features = {| border="0" cellpadding="1" cellspacing="1" style="width: 972px;" |- | style="width: 530px;" | *CPU: **Quad Core Cortex-A17&nbsp;up to 1.8GHz **32KB L1-Cache **1MB L2-Cache *Internal SRAM **96KB total **First 16KB used by Bootrom when bootup *GPU: **ARM Mali-T764 GPU, with TE, ASTC, AFBC technology **Quad core 3D Graphics engine **Dual core 2D Graphics engine **Comply with&nbsp;OpenGL ES1.1/2.0/3.0, OpenVG1.1, OpenCL, DirectX11 *Display: **4Kx2K@60fpsHDMI2.0 **Up to 3840X2160 display resolution **Support dual-channel LVDS/dual-channel MIPI-DSI/eDP1.1 *Camera: **Support up to 5M pixels **8bits/10bits/12bits raw data interface&nbsp; *Memory: **Dual channels 64-bit DRAM controller **Support DDR3/DDR3L, LPDDR2, LPDDR3 *Connectivity: **Embedded 13M ISP and MIPI-CSI2 interface *Audio: **I2S/PCM with 8 channels | style="width: 429px;" | [[File:3288.png|RTENOTITLE]] |} = Devices = Rockchip: EVB-RK3328 Firefly: [[Firefly-RK3288|Firefly-RK3288]]<br/> [[Firefly-RK3288_reload|Firefly-RK3288 reload]]<br/> [[Rock2_Square|Rock2 Square]]<br/> [[Rock2_Full|Rock2 Full]]<br/> [[MiQi|MiQi]]<br/> [[Popmetal|Popmetal]]<br/> [[Fennec|Fennec]]<br/> [[PhyCORE-RK3288|phyCORE-RK3288]] ASUS: Tinker board &nbsp; = Documentation = #[[Media:Rockchip_RK3288_TRM_V1.2_Part1-20170321.pdf|Rockchip RK3288 TRM V1.2 Part1-20170321.pdf]] #[http://opensource.rock-chips.com/images/a/ae/Rk3288_hardware_reference.zip Rk3288_hardware_reference.zip] &nbsp; = Software = See [[Linux_user_guide|Linux_user_guide]] setup Linux OS generally; See [[U-Boot|U-Boot]] guide to develop U-Boot; See [[Rockchip_Kernel|Rockchip kernel]] or [[Upstream_Kernel|Upstream kernel]] to develop kernel; See [[Distribution|Distribution]] to develop and custimize OS. &nbsp; == Board configuration == {| border="1" cellpadding="1" cellspacing="1" class="table_style" |- ! '''board''' ! '''kernel''' ! '''uboot''' ! '''dts''' |- | RK3288_MAINBOARD_V3.0 | rockchip_linux_defconfig | rk3288_linux_defconfig | rk-linux.dts |} &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" class="table_style" |- ! '''chip''' ! '''Kernel eMMC index''' ! '''Kernel SD index''' ! '''Uboot eMMC index''' ! '''Uboot SD index''' ! '''Baud speed''' |- | RK3288 | 1 | 0 | 0 | 1 | 115200 |} = See also = [[RK3328|RK3328]] [[RK3399|RK3399]] = References = #[https://en.wikipedia.org/wiki/ARM_Cortex-A17 https://en.wikipedia.org/wiki/ARM_Cortex-A17] #[http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html] db9a3f77987a60ecc03a9527a55022d769f63ee0 ATF 0 54 923 803 2017-03-29T09:54:19Z Chery 9 wikitext text/x-wiki = Download ARM Trusted Firmware = Get the source code from github: <pre>git clone https://github.com/ARM-software/arm-trusted-firmware.git</pre> = Supported Devices[[http://10.10.10.12:8444/index.php?title=U-Boot&action=edit&section=4 edit]] = Upstream ARM Trusted Firmware support Rockchip SoCs: [http://10.10.10.12:8444/index.php?title=RK3399 RK3399] &nbsp; = Build ATF = Here is a ''mk-atf.sh'' script to build ATF. <pre>$ cat mk-atf.sh #!/bin/bash make realclean CFLAGS='-gdwarf-2' \ CROSS_COMPILE=aarch64-linux-gnu- \ make PLAT=rk3399 DEBUG=1 ERROR_DEPRECATED=1 bl31</pre> Because there is a blob of code for cortex-M0 in rk3399 ATF, so you need a compiler for it. Install it by: <pre>sudo apt-get install gcc-arm-none-eabi</pre> We can get bl31.bin when&nbsp;build completed. &nbsp; = Install ATF = == Using U-Boot&nbsp;SPL FIT image == Upstream U-Boot SPL support for ATF still WIP. == Using Rockchip miniloader == Alternatively, you can use Rockchip miniloader and U-Boot instead which do not need SPL. The ATF is loaded by miniloader, so it should be package to know format for miniloader <pre>trust_merger rk_tools/RKTRUST/RK3399TRUST.ini atf.img</pre> According to the&nbsp;[http://10.10.10.12:8444/index.php?title=Partitions partitions]&nbsp;definition, write to atf.img offset 0x6000. 76f5bc926c0313b1d3dd49d7a3ece0c3a2d2bc8e 961 923 2017-04-11T09:37:25Z Karen 3 wikitext text/x-wiki = Download ARM Trusted Firmware = Get the source code from github: <pre>git clone https://github.com/ARM-software/arm-trusted-firmware.git</pre> = Supported Devices = Upstream ARM Trusted Firmware support Rockchip SoCs: [http://10.10.10.12:8444/index.php?title=RK3399 RK3399] &nbsp; = Build ATF = Here is a ''mk-atf.sh'' script to build ATF. <pre>$ cat mk-atf.sh #!/bin/bash make realclean CFLAGS='-gdwarf-2' \ CROSS_COMPILE=aarch64-linux-gnu- \ make PLAT=rk3399 DEBUG=1 ERROR_DEPRECATED=1 bl31</pre> Because there is a blob of code for cortex-M0 in rk3399 ATF, so you need a compiler for it. Install it by: <pre>sudo apt-get install gcc-arm-none-eabi</pre> We can get bl31.bin when&nbsp;build completed. &nbsp; = Install ATF = == Using U-Boot&nbsp;SPL FIT image == Upstream U-Boot SPL support for ATF still WIP. == Using Rockchip miniloader == Alternatively, you can use Rockchip miniloader and U-Boot instead which do not need SPL. The ATF is loaded by miniloader, so it should be package to know format for miniloader <pre>trust_merger rk_tools/RKTRUST/RK3399TRUST.ini atf.img</pre> According to the&nbsp;[http://10.10.10.12:8444/index.php?title=Partitions partitions]&nbsp;definition, write to atf.img offset 0x6000. 7e429972341bf71fc393d5dcb620e9a20a1cab2a 962 961 2017-04-11T09:38:43Z Karen 3 wikitext text/x-wiki = Download ARM Trusted Firmware = Get the source code from github: <pre>git clone https://github.com/ARM-software/arm-trusted-firmware.git</pre> = Supported Devices = Upstream ARM Trusted Firmware support Rockchip SoCs: [[RK3399]] &nbsp; = Build ATF = Here is a ''mk-atf.sh'' script to build ATF. <pre>$ cat mk-atf.sh #!/bin/bash make realclean CFLAGS='-gdwarf-2' \ CROSS_COMPILE=aarch64-linux-gnu- \ make PLAT=rk3399 DEBUG=1 ERROR_DEPRECATED=1 bl31</pre> Because there is a blob of code for cortex-M0 in rk3399 ATF, so you need a compiler for it. Install it by: <pre>sudo apt-get install gcc-arm-none-eabi</pre> We can get bl31.bin when&nbsp;build completed. &nbsp; = Install ATF = == Using U-Boot&nbsp;SPL FIT image == Upstream U-Boot SPL support for ATF still WIP. == Using Rockchip miniloader == Alternatively, you can use Rockchip miniloader and U-Boot instead which do not need SPL. The ATF is loaded by miniloader, so it should be package to know format for miniloader <pre>trust_merger rk_tools/RKTRUST/RK3399TRUST.ini atf.img</pre> According to the&nbsp;[http://10.10.10.12:8444/index.php?title=Partitions partitions]&nbsp;definition, write to atf.img offset 0x6000. 8722a2bd3861e29fb234a88b83ef46050990be95 963 962 2017-04-11T09:40:02Z Karen 3 wikitext text/x-wiki = Download ARM Trusted Firmware = Get the source code from github: <pre>git clone https://github.com/ARM-software/arm-trusted-firmware.git</pre> = Supported Devices = Upstream ARM Trusted Firmware support Rockchip SoCs: [[RK3399]] &nbsp; = Build ATF = Here is a ''mk-atf.sh'' script to build ATF. <pre>$ cat mk-atf.sh #!/bin/bash make realclean CFLAGS='-gdwarf-2' \ CROSS_COMPILE=aarch64-linux-gnu- \ make PLAT=rk3399 DEBUG=1 ERROR_DEPRECATED=1 bl31</pre> Because there is a blob of code for cortex-M0 in rk3399 ATF, so you need a compiler for it. Install it by: <pre>sudo apt-get install gcc-arm-none-eabi</pre> We can get bl31.bin when&nbsp;build completed. &nbsp; = Install ATF = == Using U-Boot&nbsp;SPL FIT image == Upstream U-Boot SPL support for ATF still WIP. == Using Rockchip miniloader == Alternatively, you can use Rockchip miniloader and U-Boot instead which do not need SPL. The ATF is loaded by miniloader, so it should be package to know format for miniloader <pre>trust_merger rk_tools/RKTRUST/RK3399TRUST.ini atf.img</pre> According to the&nbsp;[[Partitions|partitions]]&nbsp;definition, write to atf.img offset 0x6000. 73f6d2b10f23719cf7f3a956cbc5ddadf579ae9f U-Boot 0 11 925 766 2017-03-30T01:10:35Z Kever 2 wikitext text/x-wiki U-Boot Guide = Download U-Boot = == Upstream U-Boot == You can clone the u-boot repository by running: <pre>git clone git://git.denx.de/u-boot.git</pre> Alternatively you can use u-boot-rockchip instead which may with some patches not get in mainline: <pre>git clone git://git.denx.de/u-boot-rockchip.git</pre> &nbsp; == Rockchip U-Boot == You can clone the u-boot repository by running: <pre>git clone https://github.com/rockchip-linux/u-boot.git </pre> = Supported Devices = Upstream U-Boot support Rockchip SoCs: RK3036, RK3188, [[RK3288|RK3288]], [[RK3328|RK3328]], [[RK3399|RK3399]] &nbsp; *RK3036 boards supported: <ol style="margin-left: 40px;"> <li>EVB RK3036 - use evb-rk3036 configuration</li> <li>Kylin - use kylin_rk3036 configuration</li> </ol> *RK3288 boards supported: <ol style="margin-left: 40px;"> <li>EVB RK3288 - use evb-rk3288 configuration</li> <li>Fennec RK3288 - use fennec-rk3288 configuration</li> <li>Firefly RK3288 - use firefly-rk3288 configuration</li> <li>Hisense Chromebook - use chromebook_jerry configuration</li> <li>Miniarm RK3288 - use miniarm-rk3288 configuration</li> <li>PopMetal RK3288 - use popmetal-rk3288 configuration</li> <li>Radxa Rock 2 - use rock2 configuration</li> <li>ASUS Tinker</li> </ol> *RK3188 boards&nbsp;supported: <ol style="margin-left: 40px;"> <li>Radxa Rock - use rock&nbsp;configuration</li> </ol> *RK3328 boards&nbsp;supported: <ol style="margin-left: 40px;"> <li>EVB RK3328 - use evb-rk3328 configuration</li> </ol> *RK3399 boards&nbsp;supported: <ol style="margin-left: 40px;"> <li>EVB RK3399 - use evb-rk3399 configuration</li> </ol> &nbsp; &nbsp; = Configure U-Boot = First you need to choose a correct defconfig for your board; When you have determined what <board_name> you want to build, configure: <pre>make CROSS_COMPILE=arm-linux-gnueabi-&nbsp;<board_name>_defconfig</pre> You may need to change the U-Boot function/feature support by modify the defconfig file or, there is also menuconfig to play with settings if you feel like it: <pre>make CROSS_COMPILE=arm-linux-gnueabi- menuconfig</pre> &nbsp; &nbsp; = Build U-Boot = == Get a toolchain == If you haven't done so before, get a suitable&nbsp;toolchain&nbsp;installed and add it&nbsp;to your PATH. In Ubuntu 14.04, you can use below command to install cross compiler for armv7: <pre>sudo apt-get install gcc-arm-linux-gnueabi</pre> Or for ARM64 <pre>sudo apt-get install gcc-aarch64-linux-gnu </pre> &nbsp; == Build == For armv7: <pre>make CROSS_COMPILE=arm-linux-gnueabi-</pre> or for ARM64: <pre>make ARCH=arm CROSS_COMPILE=aarch64-linux-gnu-</pre> In order to support debug in ARM DS-5, you may need add ctags in make command: <pre>CFLAGS='-gdwarf-3'</pre> &nbsp; = Install U-Boot = Rockchip SoCs's bootrom need special format named IDBlock at special offset 0x64 block for boot, so we need to package&nbsp;SPL(or Rockchip miniloader) &nbsp;in IDB format. Rockchip bootrom supports SPL back to bootrom and bootrom load the U-Boot, so the SPL for Rockchip SoCs can option to back to bootrom, usually decided by if the IRAM is enough&nbsp;for driver to load U-Boot. &nbsp; &nbsp; == Using U-Boot SPL == After build&nbsp;complete, U-Boot with SPL support will generate a spl folder with <var>u-boot-spl.bin</var>&nbsp;inside <pre>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl.bin rk3288_idb.img</pre> '''This image is supposed to flash to offset 0x64.''' For&nbsp;<var>u-boot.bin</var>, it's different for SPL back to bootrom or not, if enable&nbsp;CONFIG_ROCKCHIP_SPL_BACK_TO_BROM, we can append the U-Boot to IDB data: <pre>cat u-boot.bin >> rk3288_idb.img</pre> <code>If&nbsp;</code>CONFIG_ROCKCHIP_SPL_BACK_TO_BROM&nbsp;not enabled, no more package operation is need for u-boot-dtb.bin, and it need to flalsh to 0x200 which is decide by&nbsp;CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR. == Support ATF with SPL FIT image == &nbsp; == Using Rockchip miniloader == Alternatively, you can use Rockchip miniloader and U-Boot instead which do not need SPL. The miniloader is package as IDBlock, and the u-boot.bin need to package with rockchip tool: <pre>loaderimage --pack --uboot u-boot.bin uboot.img</pre> According to the [[Partitions|partitions]] definition, the miniloader should write to offset 0x64 and &nbsp;this uboot.img should write to offset 0x4000. &nbsp; &nbsp; &nbsp; == Boot up == See [[Boot_option|boot option]]&nbsp;about how to boot from eMMC/SD card. = Boot cmd = == Distro boot == == EFI boot == = Firmware download in U-Boot = In U-Boot, there are multi way to update image for system, you can chose any of one easy use for you. == fastboot == See [[Fastboot|fastboot]] == ums == == rockusb == 40b57df5b93b2a0d25357857d2d4c6e72cc8ae9f 948 925 2017-04-11T03:59:04Z Kever 2 wikitext text/x-wiki U-Boot Guide = Download U-Boot = == Upstream U-Boot == You can clone the u-boot repository by running: <pre>git clone git://git.denx.de/u-boot.git</pre> Alternatively you can use u-boot-rockchip instead which may with some patches not get in mainline: <pre>git clone git://git.denx.de/u-boot-rockchip.git</pre> &nbsp; == Rockchip U-Boot == You can clone the u-boot repository by running: <pre>git clone https://github.com/rockchip-linux/u-boot.git </pre> = Supported Devices = Upstream U-Boot support Rockchip SoCs: RK3036, RK3188, [[RK3288|RK3288]], [[RK3328|RK3328]], [[RK3399|RK3399]] &nbsp; *RK3036 boards supported: <ol style="margin-left: 40px;"> <li>EVB RK3036 - use evb-rk3036 configuration</li> <li>Kylin - use kylin_rk3036 configuration</li> </ol> *RK3288 boards supported: <ol style="margin-left: 40px;"> <li>EVB RK3288 - use evb-rk3288 configuration</li> <li>Fennec RK3288 - use fennec-rk3288 configuration</li> <li>Firefly RK3288 - use firefly-rk3288 configuration</li> <li>Hisense Chromebook - use chromebook_jerry configuration</li> <li>Miniarm RK3288 - use miniarm-rk3288 configuration</li> <li>PopMetal RK3288 - use popmetal-rk3288 configuration</li> <li>Radxa Rock 2 - use rock2 configuration</li> <li>ASUS Tinker</li> </ol> *RK3188 boards&nbsp;supported: <ol style="margin-left: 40px;"> <li>Radxa Rock - use rock&nbsp;configuration</li> </ol> *RK3328 boards&nbsp;supported: <ol style="margin-left: 40px;"> <li>EVB RK3328 - use evb-rk3328 configuration</li> </ol> *RK3399 boards&nbsp;supported: <ol style="margin-left: 40px;"> <li>EVB RK3399 - use evb-rk3399 configuration</li> </ol> &nbsp; &nbsp; = Configure U-Boot = First you need to choose a correct defconfig for your board; When you have determined what <board_name> you want to build, configure: <pre>make CROSS_COMPILE=arm-linux-gnueabi-&nbsp;<board_name>_defconfig</pre> You may need to change the U-Boot function/feature support by modify the defconfig file or, there is also menuconfig to play with settings if you feel like it: <pre>make CROSS_COMPILE=arm-linux-gnueabi- menuconfig</pre> &nbsp; &nbsp; = Build U-Boot = == Get a toolchain == If you haven't done so before, get a suitable&nbsp;toolchain&nbsp;installed and add it&nbsp;to your PATH. In Ubuntu 14.04, you can use below command to install cross compiler for armv7: <pre>sudo apt-get install gcc-arm-linux-gnueabi</pre> Or for ARM64 <pre>sudo apt-get install gcc-aarch64-linux-gnu </pre> &nbsp; == Build == For armv7: <pre>make CROSS_COMPILE=arm-linux-gnueabi-</pre> or for ARM64: <pre>make ARCH=arm CROSS_COMPILE=aarch64-linux-gnu-</pre> In order to support debug in ARM DS-5, you may need add ctags in make command: <pre>CFLAGS='-gdwarf-3'</pre> &nbsp; = Install U-Boot = Rockchip SoCs's bootrom need special format named IDBlock at special offset 0x40&nbsp;block for boot, so we need to package&nbsp;SPL(or Rockchip miniloader) &nbsp;in IDB format. Rockchip bootrom supports SPL back to bootrom and bootrom load the U-Boot, so the SPL for Rockchip SoCs can option to back to bootrom, usually decided by if the IRAM is enough&nbsp;for driver to load U-Boot. &nbsp; &nbsp; == Using U-Boot SPL == After build&nbsp;complete, U-Boot with SPL support will generate a spl folder with <var>u-boot-spl.bin</var>&nbsp;inside <pre>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl.bin rk3288_idb.img</pre> '''This image is supposed to flash to offset 0x40.''' For&nbsp;<var>u-boot.bin</var>, it's different for SPL back to bootrom or not, if enable&nbsp;CONFIG_ROCKCHIP_SPL_BACK_TO_BROM, we can append the U-Boot to IDB data: <pre>cat u-boot.bin >> rk3288_idb.img</pre> <code>If&nbsp;</code>CONFIG_ROCKCHIP_SPL_BACK_TO_BROM&nbsp;not enabled, no more package operation is need for u-boot-dtb.bin, and it need to flalsh to 0x200 which is decide by&nbsp;CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR. == Support ATF with SPL FIT image == &nbsp; == Using Rockchip miniloader == Alternatively, you can use Rockchip miniloader and U-Boot instead which do not need SPL. The miniloader is package as IDBlock, and the u-boot.bin need to package with rockchip tool: <pre>loaderimage --pack --uboot u-boot.bin uboot.img</pre> According to the [[Partitions|partitions]] definition, the miniloader should write to offset 0x64 and &nbsp;this uboot.img should write to offset 0x4000. &nbsp; &nbsp; &nbsp; == Boot up == See [[Boot_option|boot option]]&nbsp;about how to boot from eMMC/SD card. = Boot cmd = == Distro boot == == EFI boot == = Firmware download in U-Boot = In U-Boot, there are multi way to update image for system, you can chose any of one easy use for you. == fastboot == See [[Fastboot|fastboot]] == ums == == rockusb == 3bb26f06888b34a3060f544f2d3a74ab119c8302 949 948 2017-04-11T03:59:56Z Kever 2 wikitext text/x-wiki U-Boot Guide = Download U-Boot = == Upstream U-Boot == You can clone the u-boot repository by running: <pre>git clone git://git.denx.de/u-boot.git</pre> Alternatively you can use u-boot-rockchip instead which may with some patches not get in mainline: <pre>git clone git://git.denx.de/u-boot-rockchip.git</pre> &nbsp; == Rockchip U-Boot == You can clone the u-boot repository by running: <pre>git clone https://github.com/rockchip-linux/u-boot.git </pre> = Supported Devices = Upstream U-Boot support Rockchip SoCs: RK3036, RK3188, [[RK3288|RK3288]], [[RK3328|RK3328]], [[RK3399|RK3399]] &nbsp; *RK3036 boards supported: <ol style="margin-left: 40px;"> <li>EVB RK3036 - use evb-rk3036 configuration</li> <li>Kylin - use kylin_rk3036 configuration</li> </ol> *RK3288 boards supported: <ol style="margin-left: 40px;"> <li>EVB RK3288 - use evb-rk3288 configuration</li> <li>Fennec RK3288 - use fennec-rk3288 configuration</li> <li>Firefly RK3288 - use firefly-rk3288 configuration</li> <li>Hisense Chromebook - use chromebook_jerry configuration</li> <li>Miniarm RK3288 - use miniarm-rk3288 configuration</li> <li>PopMetal RK3288 - use popmetal-rk3288 configuration</li> <li>Radxa Rock 2 - use rock2 configuration</li> <li>ASUS Tinker</li> </ol> *RK3188 boards&nbsp;supported: <ol style="margin-left: 40px;"> <li>Radxa Rock - use rock&nbsp;configuration</li> </ol> *RK3328 boards&nbsp;supported: <ol style="margin-left: 40px;"> <li>EVB RK3328 - use evb-rk3328 configuration</li> </ol> *RK3399 boards&nbsp;supported: <ol style="margin-left: 40px;"> <li>EVB RK3399 - use evb-rk3399 configuration</li> </ol> &nbsp; &nbsp; = Configure U-Boot = First you need to choose a correct defconfig for your board; When you have determined what <board_name> you want to build, configure: <pre>make CROSS_COMPILE=arm-linux-gnueabi-&nbsp;<board_name>_defconfig</pre> You may need to change the U-Boot function/feature support by modify the defconfig file or, there is also menuconfig to play with settings if you feel like it: <pre>make CROSS_COMPILE=arm-linux-gnueabi- menuconfig</pre> &nbsp; &nbsp; = Build U-Boot = == Get a toolchain == If you haven't done so before, get a suitable&nbsp;toolchain&nbsp;installed and add it&nbsp;to your PATH. In Ubuntu 14.04, you can use below command to install cross compiler for armv7: <pre>sudo apt-get install gcc-arm-linux-gnueabi</pre> Or for ARM64 <pre>sudo apt-get install gcc-aarch64-linux-gnu </pre> &nbsp; == Build == For armv7: <pre>make CROSS_COMPILE=arm-linux-gnueabi-</pre> or for ARM64: <pre>make ARCH=arm CROSS_COMPILE=aarch64-linux-gnu-</pre> In order to support debug in ARM DS-5, you may need add ctags in make command: <pre>CFLAGS='-gdwarf-3'</pre> &nbsp; = Install U-Boot = Rockchip SoCs's bootrom need special format named IDBlock at special offset 0x40&nbsp;block for boot, so we need to package&nbsp;SPL(or Rockchip miniloader) &nbsp;in IDB format. Rockchip bootrom supports SPL back to bootrom and bootrom load the U-Boot, so the SPL for Rockchip SoCs can option to back to bootrom, usually decided by if the IRAM is enough&nbsp;for driver to load U-Boot. &nbsp; &nbsp; == Using U-Boot SPL == After build&nbsp;complete, U-Boot with SPL support will generate a spl folder with <var>u-boot-spl.bin</var>&nbsp;inside <pre>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl.bin rk3288_idb.img</pre> '''This image is supposed to flash to offset 0x40.''' For&nbsp;<var>u-boot.bin</var>, it's different for SPL back to bootrom or not, if enable&nbsp;CONFIG_ROCKCHIP_SPL_BACK_TO_BROM, we can append the U-Boot to IDB data: <pre>cat u-boot.bin >> rk3288_idb.img</pre> <code>If&nbsp;</code>CONFIG_ROCKCHIP_SPL_BACK_TO_BROM&nbsp;not enabled, no more package operation is need for u-boot-dtb.bin, and it need to flalsh to 0x200 which is decide by&nbsp;CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR. == Support ATF with SPL FIT image == &nbsp; == Using Rockchip miniloader == Alternatively, you can use Rockchip miniloader and U-Boot instead which do not need SPL. The miniloader is package as IDBlock, and the u-boot.bin need to package with rockchip tool: <pre>loaderimage --pack --uboot u-boot.bin uboot.img</pre> According to the [[Partitions|partitions]] definition, the miniloader should write to offset 0x40 and &nbsp;this uboot.img should write to offset 0x4000. &nbsp; &nbsp; &nbsp; == Boot up == See [[Boot_option|boot option]]&nbsp;about how to boot from eMMC/SD card. = Boot cmd = == Distro boot == == EFI boot == = Firmware download in U-Boot = In U-Boot, there are multi way to update image for system, you can chose any of one easy use for you. == fastboot == See [[Fastboot|fastboot]] == ums == == rockusb == 3f3c5cd9bc8a31d2723666901b7d3ca51a4b25ee Rockchip Kernel 0 104 932 857 2017-04-05T02:41:06Z Kever 2 wikitext text/x-wiki = Download Kernel = You can clone the rockchip kernel repository from github which is kernel 4.4 based: <pre>git clone https://github.com/rockchip-linux/kernel.git</pre> = Supported SoCs and Devices = Rockchip kernel 4.4 supports: RK3036, RK3066, RK312X, RK3188, RK322X,[[RK3288|RK3288]], [[RK3328]], RK3368, [[RK3399]] = Configure and Build = You will need to use rockchip_linux_defconfig for Linux OS For ARM v7 <pre>make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- rockchip_linux_defconfig make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- -j4 </pre> For ARM V8 <pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- -j4</pre> Then you can get Image/zImage and dtb file. = Install Boot/kernel = We use distro boot in U-Boot, so we need to make a boot partition for U-Boot with kernel image and dtb inside. <pre>mkdir boot cp arch/arm64/boot/dts/rockchip/rockchip/rk3399-evb.dtb boot/rk3399.dtb cp arch/arm64/boot/Image boot/</pre> Add extlinux/extlinux.conf for distro boot. <pre>mkdir boot/extlinux vi boot/extlinux/extlinux.conf</pre> &nbsp; <pre>lable rockchip-kernel-4.4 kernel /Image fdt /rk3399.dtb append earlycon=uart8250,mmio,0xff1a0000 root=dev/mmcblk1p7 rootwait rootfstype=ext4 init=/sbin/init</pre> You need to change the base address of debug UART, root partition for your board. Pls reference to [[Partitions|rockchip Linux parttion definition]]&nbsp;for rootfs partition and where boot to flash. After all these files prepare completely, we write the file to the boot partition &nbsp; == Generate ext2fs&nbsp;boot partition == by genext2fs: <pre>genext2fs -b 32768 -B $((32*1024*1024/32768)) -d boot/ -i 8192 -U boot_rk3399.img</pre> According to Rockchip partition definition, you need to flash this image to boot partiton which offset is 0x8000. == generate fatfs boot partition == === Via U-Boot in target === After flash and&nbsp;boot the U-Boot, write the gpt table from default partition table <pre>gpt write mmc 1 $partitions gpt verify mmc 1 $partitions</pre> connect target to PC and start the ums in command line: <pre>ums 0 mmc 1:6</pre> We should able to see a device connect to PC, formate and copy data into the partition(dev/sdb6 for example). <pre>sudo mkfs.fat /dev/sdb6 cp -r boot/* /media/machine/9F35-9565/</pre> === Generae boot.img in fatfs === Below commands can generate a fatfs boot.img <pre>dd if=/dev/zero of=boot.img bs=1M count=32 sudo mkfs.fat boot.img mkdir tmp sudo mount boot.img tmp/ cp -r boot/* tmp/ umount tmp</pre> Done! Flash this boot.img to boot partition, which is offset 0x8000 in Rockchip partition definition. &nbsp; == Boot from U-Boot == If you are using genext2fs to genarate the boot.img, you need write the gpt table in U-Boot command line: <pre>gpt write mmc 1 $partitions</pre> Then boot from eMMC or reset: <pre>boot</pre> If everything is OK, you should able to see the U-Boot log like this: <pre>switch to partitions #0, OK mmc0(part 0) is current device Scanning mmc 0:6... Found /extlinux/extlinux.conf Retrieving file: /extlinux/extlinux.conf 205 bytes read in 82 ms (2 KiB/s) 1: upstream-4.10 Retrieving file: /Image 13484040 bytes read in 1833 ms (7 MiB/s) append: earlycon=uart8250,mmio32,0xff1a0000 console=ttyS2,1500000n8 rw root=/dev/mmcblk0p7 rootwait rootfstype=ext4 init=/sbin/init Retrieving file: /rk3399.dtb 61714 bytes read in 54 ms (1.1 MiB/s) ## Flattened Device Tree blob at 01f00000 Booting using the fdt blob at 0x1f00000 Loading Device Tree to 000000007df14000, end 000000007df26111 ... OK Starting kernel ... </pre> cb65c59775308c4a8eeac1dc1e2cb7cf8ad64f02 946 932 2017-04-10T08:54:46Z Kever 2 wikitext text/x-wiki = Download Kernel = You can clone the rockchip kernel repository from github which is kernel 4.4 based: <pre>git clone https://github.com/rockchip-linux/kernel.git</pre> = Supported SoCs and Devices = Rockchip kernel 4.4 supports: RK3036, RK3066, RK312X, RK3188, RK322X,[[RK3288|RK3288]], [[RK3328]], RK3368, [[RK3399]] = Configure and Build = You will need to use rockchip_linux_defconfig for Linux OS For ARM v7 <pre>make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- rockchip_linux_defconfig make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- -j4 </pre> For ARM V8 <pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- -j4</pre> Then you can get Image/zImage and dtb file. = Install Boot/kernel = We use distro boot in U-Boot, so we need to make a boot partition for U-Boot with kernel image and dtb inside. <pre>mkdir boot cp arch/arm64/boot/dts/rockchip/rockchip/rk3399-evb.dtb boot/rk3399.dtb cp arch/arm64/boot/Image boot/</pre> Add extlinux/extlinux.conf for distro boot. <pre>mkdir boot/extlinux vi boot/extlinux/extlinux.conf</pre> &nbsp; <pre>lable rockchip-kernel-4.4 kernel /Image fdt /rk3399.dtb append earlycon=uart8250,mmio,0xff1a0000 root=dev/mmcblk1p7 rootwait rootfstype=ext4 init=/sbin/init</pre> You need to change the base address of debug UART, root partition for your board. Pls reference to [[Partitions|rockchip Linux parttion definition]]&nbsp;for rootfs partition and where boot to flash. After all these files prepare completely, we write the file to the boot partition &nbsp; == Generate ext2fs&nbsp;boot partition == by genext2fs: <pre>genext2fs -b 32768 -B $((32*1024*1024/32768)) -d boot/ -i 8192 -U boot_rk3399.img</pre> According to Rockchip partition definition, you need to flash this image to boot partiton which offset is 0x8000. === Generae boot.img in fatfs === Below commands can generate a fatfs boot.img <pre>dd if=/dev/zero of=boot.img bs=1M count=32 sudo mkfs.fat boot.img mkdir tmp sudo mount boot.img tmp/ cp -r boot/* tmp/ umount tmp</pre> Done! == generate fatfs boot partition == === Via U-Boot in target === After flash and&nbsp;boot the U-Boot, write the gpt table from default partition table <pre>gpt write mmc 1 $partitions gpt verify mmc 1 $partitions</pre> connect target to PC and start the ums in command line: <pre>ums 0 mmc 1:6</pre> We should able to see a device connect to PC, formate and copy data into the partition(dev/sdb6 for example). <pre>sudo mkfs.fat /dev/sdb6 cp -r boot/* /media/machine/9F35-9565/ </pre> Done! Flash this boot.img to boot partition, which is offset 0x8000 in Rockchip partition definition. &nbsp; == Boot from U-Boot == If you are using genext2fs to genarate the boot.img, you need write the gpt table in U-Boot command line: <pre>gpt write mmc 1 $partitions</pre> Then boot from eMMC or reset: <pre>boot</pre> If everything is OK, you should able to see the U-Boot log like this: <pre>switch to partitions #0, OK mmc0(part 0) is current device Scanning mmc 0:6... Found /extlinux/extlinux.conf Retrieving file: /extlinux/extlinux.conf 205 bytes read in 82 ms (2 KiB/s) 1: upstream-4.10 Retrieving file: /Image 13484040 bytes read in 1833 ms (7 MiB/s) append: earlycon=uart8250,mmio32,0xff1a0000 console=ttyS2,1500000n8 rw root=/dev/mmcblk0p7 rootwait rootfstype=ext4 init=/sbin/init Retrieving file: /rk3399.dtb 61714 bytes read in 54 ms (1.1 MiB/s) ## Flattened Device Tree blob at 01f00000 Booting using the fdt blob at 0x1f00000 Loading Device Tree to 000000007df14000, end 000000007df26111 ... OK Starting kernel ... </pre> 29b20351f746805cb9c3273d907b5c9d0b093d37 958 946 2017-04-11T09:06:57Z Karen 3 wikitext text/x-wiki = Download Kernel = You can clone the rockchip kernel repository from github which is kernel 4.4 based: <pre>git clone https://github.com/rockchip-linux/kernel.git</pre> = Supported SoCs and Devices = Rockchip kernel 4.4 supports: RK3036, RK3066, RK312X, RK3188, RK322X,[[RK3288|RK3288]], [[RK3328]], RK3368, [[RK3399]] = Configure and Build = You will need to use rockchip_linux_defconfig for Linux OS For ARM v7 <pre>make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- rockchip_linux_defconfig make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- -j4 </pre> For ARM V8 <pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- -j4</pre> Then you can get Image/zImage and dtb file. = Install Boot/kernel = We use distro boot in U-Boot, so we need to make a boot partition for U-Boot with kernel image and dtb inside. <pre>mkdir boot cp arch/arm64/boot/dts/rockchip/rockchip/rk3399-evb.dtb boot/rk3399.dtb cp arch/arm64/boot/Image boot/</pre> Add extlinux/extlinux.conf for distro boot. <pre>mkdir boot/extlinux vi boot/extlinux/extlinux.conf</pre> &nbsp; <pre>lable rockchip-kernel-4.4 kernel /Image fdt /rk3399.dtb append earlycon=uart8250,mmio,0xff1a0000 root=dev/mmcblk1p7 rootwait rootfstype=ext4 init=/sbin/init</pre> You need to change the base address of debug UART, root partition for your board. Pls reference to [[Partitions|rockchip Linux parttion definition]]&nbsp;for rootfs partition and where boot to flash. After all these files prepare completely, we write the file to the boot partition &nbsp; == Generate ext2fs&nbsp;boot partition == by genext2fs: <pre>genext2fs -b 32768 -B $((32*1024*1024/32768)) -d boot/ -i 8192 -U boot_rk3399.img</pre> According to Rockchip partition definition, you need to flash this image to boot partiton which offset is 0x8000. === Generate boot.img in fatfs === Below commands can generate a fatfs boot.img <pre>dd if=/dev/zero of=boot.img bs=1M count=32 sudo mkfs.fat boot.img mkdir tmp sudo mount boot.img tmp/ cp -r boot/* tmp/ umount tmp</pre> Done! == generate fatfs boot partition == === Via U-Boot in target === After flash and&nbsp;boot the U-Boot, write the gpt table from default partition table <pre>gpt write mmc 1 $partitions gpt verify mmc 1 $partitions</pre> connect target to PC and start the ums in command line: <pre>ums 0 mmc 1:6</pre> We should able to see a device connect to PC, formate and copy data into the partition(dev/sdb6 for example). <pre>sudo mkfs.fat /dev/sdb6 cp -r boot/* /media/machine/9F35-9565/ </pre> Done! Flash this boot.img to boot partition, which is offset 0x8000 in Rockchip partition definition. &nbsp; == Boot from U-Boot == If you are using genext2fs to genarate the boot.img, you need write the gpt table in U-Boot command line: <pre>gpt write mmc 1 $partitions</pre> Then boot from eMMC or reset: <pre>boot</pre> If everything is OK, you should able to see the U-Boot log like this: <pre>switch to partitions #0, OK mmc0(part 0) is current device Scanning mmc 0:6... Found /extlinux/extlinux.conf Retrieving file: /extlinux/extlinux.conf 205 bytes read in 82 ms (2 KiB/s) 1: upstream-4.10 Retrieving file: /Image 13484040 bytes read in 1833 ms (7 MiB/s) append: earlycon=uart8250,mmio32,0xff1a0000 console=ttyS2,1500000n8 rw root=/dev/mmcblk0p7 rootwait rootfstype=ext4 init=/sbin/init Retrieving file: /rk3399.dtb 61714 bytes read in 54 ms (1.1 MiB/s) ## Flattened Device Tree blob at 01f00000 Booting using the fdt blob at 0x1f00000 Loading Device Tree to 000000007df14000, end 000000007df26111 ... OK Starting kernel ... </pre> 76464fb28314ee4b70ff2cf8bdecdf508980629e 959 958 2017-04-11T09:16:40Z Karen 3 wikitext text/x-wiki = Download Kernel = You can clone the rockchip kernel repository from github which is kernel 4.4 based: <pre>git clone https://github.com/rockchip-linux/kernel.git</pre> = Supported SoCs and Devices = Rockchip kernel 4.4 supports: RK3036, RK3066, RK312X, RK3188, RK322X,[[RK3288|RK3288]], [[RK3328]], RK3368, [[RK3399]] = Configure and Build = You will need to use rockchip_linux_defconfig for Linux OS For ARM v7 <pre>make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- rockchip_linux_defconfig make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- -j4 </pre> For ARM V8 <pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- -j4</pre> Then you can get Image/zImage and dtb file. = Install Boot/kernel = We use distro boot in U-Boot, so we need to make a boot partition for U-Boot with kernel image and dtb inside. <pre>mkdir boot cp arch/arm64/boot/dts/rockchip/rockchip/rk3399-evb.dtb boot/rk3399.dtb cp arch/arm64/boot/Image boot/</pre> Add extlinux/extlinux.conf for distro boot. <pre>mkdir boot/extlinux vi boot/extlinux/extlinux.conf</pre> &nbsp; <pre>lable rockchip-kernel-4.4 kernel /Image fdt /rk3399.dtb append earlycon=uart8250,mmio,0xff1a0000 root=dev/mmcblk1p7 rootwait rootfstype=ext4 init=/sbin/init</pre> You need to change the base address of debug UART, root partition for your board. Pls reference to [[Partitions|rockchip Linux parttion definition]]&nbsp;for rootfs partition and where boot to flash. After all these files prepare completely, we write the file to the boot partition &nbsp; == Generate ext2fs&nbsp;boot partition == by genext2fs: <pre>genext2fs -b 32768 -B $((32*1024*1024/32768)) -d boot/ -i 8192 -U boot_rk3399.img</pre> According to Rockchip partition definition, you need to flash this image to boot partiton which offset is 0x8000. === Generate boot.img in fatfs === Below commands can generate a fatfs boot.img <pre>dd if=/dev/zero of=boot.img bs=1M count=32 sudo mkfs.fat boot.img mkdir tmp sudo mount boot.img tmp/ cp -r boot/* tmp/ umount tmp</pre> Done! == Generate fatfs Boot Partition == === Via U-Boot in target === After flash and&nbsp;boot the U-Boot, write the gpt table from default partition table <pre>gpt write mmc 1 $partitions gpt verify mmc 1 $partitions</pre> connect target to PC and start the ums in command line: <pre>ums 0 mmc 1:6</pre> We should able to see a device connect to PC, formate and copy data into the partition(dev/sdb6 for example). <pre>sudo mkfs.fat /dev/sdb6 cp -r boot/* /media/machine/9F35-9565/ </pre> Done! Flash this boot.img to boot partition, which is offset 0x8000 in Rockchip partition definition. &nbsp; == Boot from U-Boot == If you are using genext2fs to genarate the boot.img, you need write the gpt table in U-Boot command line: <pre>gpt write mmc 1 $partitions</pre> Then boot from eMMC or reset: <pre>boot</pre> If everything is OK, you should able to see the U-Boot log like this: <pre>switch to partitions #0, OK mmc0(part 0) is current device Scanning mmc 0:6... Found /extlinux/extlinux.conf Retrieving file: /extlinux/extlinux.conf 205 bytes read in 82 ms (2 KiB/s) 1: upstream-4.10 Retrieving file: /Image 13484040 bytes read in 1833 ms (7 MiB/s) append: earlycon=uart8250,mmio32,0xff1a0000 console=ttyS2,1500000n8 rw root=/dev/mmcblk0p7 rootwait rootfstype=ext4 init=/sbin/init Retrieving file: /rk3399.dtb 61714 bytes read in 54 ms (1.1 MiB/s) ## Flattened Device Tree blob at 01f00000 Booting using the fdt blob at 0x1f00000 Loading Device Tree to 000000007df14000, end 000000007df26111 ... OK Starting kernel ... </pre> ddaa697691b6a724f9d0172e68036a8e4faa0dd0 960 959 2017-04-11T09:17:07Z Karen 3 wikitext text/x-wiki = Download Kernel = You can clone the rockchip kernel repository from github which is kernel 4.4 based: <pre>git clone https://github.com/rockchip-linux/kernel.git</pre> = Supported SoCs and Devices = Rockchip kernel 4.4 supports: RK3036, RK3066, RK312X, RK3188, RK322X,[[RK3288|RK3288]], [[RK3328]], RK3368, [[RK3399]] = Configure and Build = You will need to use rockchip_linux_defconfig for Linux OS For ARM v7 <pre>make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- rockchip_linux_defconfig make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- -j4 </pre> For ARM V8 <pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- -j4</pre> Then you can get Image/zImage and dtb file. = Install Boot/kernel = We use distro boot in U-Boot, so we need to make a boot partition for U-Boot with kernel image and dtb inside. <pre>mkdir boot cp arch/arm64/boot/dts/rockchip/rockchip/rk3399-evb.dtb boot/rk3399.dtb cp arch/arm64/boot/Image boot/</pre> Add extlinux/extlinux.conf for distro boot. <pre>mkdir boot/extlinux vi boot/extlinux/extlinux.conf</pre> &nbsp; <pre>lable rockchip-kernel-4.4 kernel /Image fdt /rk3399.dtb append earlycon=uart8250,mmio,0xff1a0000 root=dev/mmcblk1p7 rootwait rootfstype=ext4 init=/sbin/init</pre> You need to change the base address of debug UART, root partition for your board. Pls reference to [[Partitions|rockchip Linux parttion definition]]&nbsp;for rootfs partition and where boot to flash. After all these files prepare completely, we write the file to the boot partition &nbsp; == Generate ext2fs&nbsp;boot partition == by genext2fs: <pre>genext2fs -b 32768 -B $((32*1024*1024/32768)) -d boot/ -i 8192 -U boot_rk3399.img</pre> According to Rockchip partition definition, you need to flash this image to boot partiton which offset is 0x8000. === Generate boot.img in fatfs === Below commands can generate a fatfs boot.img <pre>dd if=/dev/zero of=boot.img bs=1M count=32 sudo mkfs.fat boot.img mkdir tmp sudo mount boot.img tmp/ cp -r boot/* tmp/ umount tmp</pre> Done! == Generate fatfs boot partition == === Via U-Boot in target === After flash and&nbsp;boot the U-Boot, write the gpt table from default partition table <pre>gpt write mmc 1 $partitions gpt verify mmc 1 $partitions</pre> connect target to PC and start the ums in command line: <pre>ums 0 mmc 1:6</pre> We should able to see a device connect to PC, formate and copy data into the partition(dev/sdb6 for example). <pre>sudo mkfs.fat /dev/sdb6 cp -r boot/* /media/machine/9F35-9565/ </pre> Done! Flash this boot.img to boot partition, which is offset 0x8000 in Rockchip partition definition. &nbsp; == Boot from U-Boot == If you are using genext2fs to genarate the boot.img, you need write the gpt table in U-Boot command line: <pre>gpt write mmc 1 $partitions</pre> Then boot from eMMC or reset: <pre>boot</pre> If everything is OK, you should able to see the U-Boot log like this: <pre>switch to partitions #0, OK mmc0(part 0) is current device Scanning mmc 0:6... Found /extlinux/extlinux.conf Retrieving file: /extlinux/extlinux.conf 205 bytes read in 82 ms (2 KiB/s) 1: upstream-4.10 Retrieving file: /Image 13484040 bytes read in 1833 ms (7 MiB/s) append: earlycon=uart8250,mmio32,0xff1a0000 console=ttyS2,1500000n8 rw root=/dev/mmcblk0p7 rootwait rootfstype=ext4 init=/sbin/init Retrieving file: /rk3399.dtb 61714 bytes read in 54 ms (1.1 MiB/s) ## Flattened Device Tree blob at 01f00000 Booting using the fdt blob at 0x1f00000 Loading Device Tree to 000000007df14000, end 000000007df26111 ... OK Starting kernel ... </pre> 23b8769a0b9ab79164ba16038035b84bee956625 Rkdeveloptool 0 106 969 968 2017-04-12T02:14:53Z Kever 2 wikitext text/x-wiki = Download rkdeveloptool = Get the source code for rkdeveloptool <pre>git clone https://github.com/rockchip-linux/rkdeveloptool.git</pre> &nbsp; = Build rkdeveloptool = First, install the libusb and udev. In Ubuntu,&nbsp; <pre>sudo apt-get install libudev-dev libusb-1.0-0-dev</pre> Then&nbsp; <pre>autoreconf -i ./configure make make install </pre> = Usage = == Support commands == ---- Tool Usage --------------------- Help: &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; -H<br/> Version: &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;-V<br/> DownloadBoot:&nbsp;&nbsp; &nbsp;DB <Loader><br/> UpgradeLoader:&nbsp;&nbsp; &nbsp;UL <Loader><br/> ReadLBA:&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;RL &nbsp;<BeginSec> <SectorLen> <File><br/> WriteLBA:&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;WL &nbsp;<BeginSec> <File><br/> WriteGPT: &nbsp; &nbsp; &nbsp; GPT <parameter><br/> EraseFlash:&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;EF&nbsp;<br/> TestDevice:&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;TD<br/> ResetDevice:&nbsp;&nbsp; &nbsp;RD [subcode]<br/> ReadFlashID:&nbsp;&nbsp; &nbsp;RID<br/> ReadFlashInfo:&nbsp;&nbsp; &nbsp;RFI<br/> ReadChipInfo:&nbsp;&nbsp; &nbsp;RCI<br/> -------------------------------------------------------<br/> &nbsp; &nbsp; == Flash image to target emmc == In order to flash image to target emmc,&nbsp; #Make target&nbsp;&nbsp;get into [[Rockusb|rockusb mode]]; #Connect target to Host PC via USB; #Write the image to the eMMC with tool command; <ul style="margin-left: 40px;"> <li>use&nbsp;download boot command to make target init DRAM and run usbplug;</li> </ul> <pre style="margin-left: 80px;">rkdeveloptool db rkxx_loader_vx.xx.bin</pre> <ul style="margin-left: 40px;"> <li>use write lba command to write image to target, this step can be repeat for many times;</li> </ul> <pre style="margin-left: 80px;">rkdeveloptool wl 0x40 idbLoader.img rkdeveloptool wl 0x4000 uboot.img rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img</pre> <ul style="margin-left: 40px;"> <li>usb ''ul'' command to write idbloader into idb from rockchip loader</li> </ul> <pre style="margin-left: 80px;">rkdeveloptool ul rkxx_loader_vx.xx.bin</pre> <ul style="margin-left: 40px;"> <li>use ''gpt'' command to write gpt table with parameter_gpt.txt</li> </ul> <pre style="margin-left: 80px;">rkdeveloptool gpt parameter_gpt.txt</pre> <ul style="margin-left: 40px;"> <li>use reset device comamnd to reset the target after image write complete</li> </ul> <pre style="margin-left: 80px;">rkdeveloptool rd</pre> bbb65b57dc4e3bc8f0c8eff81603678e03702d0c 970 969 2017-04-12T02:15:12Z Kever 2 wikitext text/x-wiki = Download rkdeveloptool = Get the source code for rkdeveloptool <pre>git clone https://github.com/rockchip-linux/rkdeveloptool.git </pre> = Build rkdeveloptool = First, install the libusb and udev. In Ubuntu,&nbsp; <pre>sudo apt-get install libudev-dev libusb-1.0-0-dev</pre> Then&nbsp; <pre>autoreconf -i ./configure make make install </pre> = Usage = == Support commands == ---- Tool Usage --------------------- Help: &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; -H<br/> Version: &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;-V<br/> DownloadBoot:&nbsp;&nbsp; &nbsp;DB <Loader><br/> UpgradeLoader:&nbsp;&nbsp; &nbsp;UL <Loader><br/> ReadLBA:&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;RL &nbsp;<BeginSec> <SectorLen> <File><br/> WriteLBA:&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;WL &nbsp;<BeginSec> <File><br/> WriteGPT: &nbsp; &nbsp; &nbsp; GPT <parameter><br/> EraseFlash:&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;EF&nbsp;<br/> TestDevice:&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;TD<br/> ResetDevice:&nbsp;&nbsp; &nbsp;RD [subcode]<br/> ReadFlashID:&nbsp;&nbsp; &nbsp;RID<br/> ReadFlashInfo:&nbsp;&nbsp; &nbsp;RFI<br/> ReadChipInfo:&nbsp;&nbsp; &nbsp;RCI<br/> -------------------------------------------------------<br/> &nbsp; &nbsp; == Flash image to target emmc == In order to flash image to target emmc,&nbsp; #Make target&nbsp;&nbsp;get into [[Rockusb|rockusb mode]]; #Connect target to Host PC via USB; #Write the image to the eMMC with tool command; <ul style="margin-left: 40px;"> <li>use&nbsp;download boot command to make target init DRAM and run usbplug;</li> </ul> <pre style="margin-left: 80px;">rkdeveloptool db rkxx_loader_vx.xx.bin</pre> <ul style="margin-left: 40px;"> <li>use write lba command to write image to target, this step can be repeat for many times;</li> </ul> <pre style="margin-left: 80px;">rkdeveloptool wl 0x40 idbLoader.img rkdeveloptool wl 0x4000 uboot.img rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img</pre> <ul style="margin-left: 40px;"> <li>usb ''ul'' command to write idbloader into idb from rockchip loader</li> </ul> <pre style="margin-left: 80px;">rkdeveloptool ul rkxx_loader_vx.xx.bin</pre> <ul style="margin-left: 40px;"> <li>use ''gpt'' command to write gpt table with parameter_gpt.txt</li> </ul> <pre style="margin-left: 80px;">rkdeveloptool gpt parameter_gpt.txt</pre> <ul style="margin-left: 40px;"> <li>use reset device comamnd to reset the target after image write complete</li> </ul> <pre style="margin-left: 80px;">rkdeveloptool rd</pre> 0fac0754220ebca62c12a48470fc8750dd53086f 1085 970 2017-04-20T08:58:55Z Kever 2 wikitext text/x-wiki = Download rkdeveloptool = Get the source code for rkdeveloptool <pre>git clone https://github.com/rockchip-linux/rkdeveloptool.git </pre> = Build rkdeveloptool = First, install the libusb and udev. In Ubuntu,&nbsp; <pre>sudo apt-get install libudev-dev libusb-1.0-0-dev</pre> Then&nbsp; <pre>autoreconf -i ./configure make make install </pre> = Usage = == Support commands == ---- Tool Usage --------------------- Help: &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; -H<br/> Version: &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;-V<br/> DownloadBoot:&nbsp;&nbsp; &nbsp;DB <Loader><br/> UpgradeLoader:&nbsp;&nbsp; &nbsp;UL <Loader><br/> ReadLBA:&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;RL &nbsp;<BeginSec> <SectorLen> <File><br/> WriteLBA:&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;WL &nbsp;<BeginSec> <File><br/> WriteGPT: &nbsp; &nbsp; &nbsp; GPT <parameter><br/> EraseFlash:&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;EF&nbsp;<br/> TestDevice:&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;TD<br/> ResetDevice:&nbsp;&nbsp; &nbsp;RD [subcode]<br/> ReadFlashID:&nbsp;&nbsp; &nbsp;RID<br/> ReadFlashInfo:&nbsp;&nbsp; &nbsp;RFI<br/> ReadChipInfo:&nbsp;&nbsp; &nbsp;RCI<br/> -------------------------------------------------------<br/> &nbsp; &nbsp; == Flash image to target emmc == In order to flash image to target emmc,&nbsp; #Make target&nbsp;&nbsp;get into [[Rockusb|rockusb mode]]; #Connect target to Host PC via USB; #Write the image to the eMMC with tool command; <ul style="margin-left: 40px;"> <li>use&nbsp;download boot command to make target init DRAM and run usbplug;</li> </ul> <pre style="margin-left: 80px;">rkdeveloptool db rkxx_loader_vx.xx.bin</pre> <ul style="margin-left: 40px;"> <li>use write lba command to write image to target, this step can be repeat for many times;</li> </ul> <pre style="margin-left: 80px;">rkdeveloptool wl 0x40 idbLoader.img rkdeveloptool wl 0x4000 uboot.img rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img</pre> <ul style="margin-left: 40px;"> <li>usb ''ul'' command to write idbloader into idb from rockchip loader</li> </ul> <pre style="margin-left: 80px;">rkdeveloptool ul rkxx_loader_vx.xx.bin</pre> <ul style="margin-left: 40px;"> <li>use ''gpt'' command to write gpt table with parameter_gpt.txt</li> </ul> <pre style="margin-left: 80px;">rkdeveloptool gpt parameter_gpt.txt</pre> <ul style="margin-left: 40px;"> <li>use reset device comamnd to reset the target after image write complete</li> </ul> <pre style="margin-left: 80px;">rkdeveloptool rd</pre> &nbsp; = See also = [[Partitions|rockchio Linux partitions definition]] [[Boot_option]] [[Rockusb]] 45b5698c3596e65e1e8923522533ab47e6523bba 1086 1085 2017-04-20T08:59:12Z Kever 2 wikitext text/x-wiki = Download rkdeveloptool = Get the source code for rkdeveloptool <pre>git clone https://github.com/rockchip-linux/rkdeveloptool.git </pre> = Build rkdeveloptool = First, install the libusb and udev. In Ubuntu,&nbsp; <pre>sudo apt-get install libudev-dev libusb-1.0-0-dev</pre> Then&nbsp; <pre>autoreconf -i ./configure make make install </pre> = Usage = == Support commands == ---- Tool Usage --------------------- Help: &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; -H<br/> Version: &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;-V<br/> DownloadBoot:&nbsp;&nbsp; &nbsp;DB <Loader><br/> UpgradeLoader:&nbsp;&nbsp; &nbsp;UL <Loader><br/> ReadLBA:&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;RL &nbsp;<BeginSec> <SectorLen> <File><br/> WriteLBA:&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;WL &nbsp;<BeginSec> <File><br/> WriteGPT: &nbsp; &nbsp; &nbsp; GPT <parameter><br/> EraseFlash:&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;EF&nbsp;<br/> TestDevice:&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;TD<br/> ResetDevice:&nbsp;&nbsp; &nbsp;RD [subcode]<br/> ReadFlashID:&nbsp;&nbsp; &nbsp;RID<br/> ReadFlashInfo:&nbsp;&nbsp; &nbsp;RFI<br/> ReadChipInfo:&nbsp;&nbsp; &nbsp;RCI<br/> -------------------------------------------------------<br/> &nbsp; &nbsp; == Flash image to target emmc == In order to flash image to target emmc,&nbsp; #Make target&nbsp;&nbsp;get into [[Rockusb|rockusb mode]]; #Connect target to Host PC via USB; #Write the image to the eMMC with tool command; <ul style="margin-left: 40px;"> <li>use&nbsp;download boot command to make target init DRAM and run usbplug;</li> </ul> <pre style="margin-left: 80px;">rkdeveloptool db rkxx_loader_vx.xx.bin</pre> <ul style="margin-left: 40px;"> <li>use write lba command to write image to target, this step can be repeat for many times;</li> </ul> <pre style="margin-left: 80px;">rkdeveloptool wl 0x40 idbLoader.img rkdeveloptool wl 0x4000 uboot.img rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img</pre> <ul style="margin-left: 40px;"> <li>usb ''ul'' command to write idbloader into idb from rockchip loader</li> </ul> <pre style="margin-left: 80px;">rkdeveloptool ul rkxx_loader_vx.xx.bin</pre> <ul style="margin-left: 40px;"> <li>use ''gpt'' command to write gpt table with parameter_gpt.txt</li> </ul> <pre style="margin-left: 80px;">rkdeveloptool gpt parameter_gpt.txt</pre> <ul style="margin-left: 40px;"> <li>use reset device comamnd to reset the target after image write complete</li> </ul> <pre style="margin-left: 80px;">rkdeveloptool rd</pre> &nbsp; = See also = [[Partitions|Rockchip Linux partitions definition]] [[Boot_option|Boot_option]] [[Rockusb|Rockusb]] d20b6ca59014a19074dfb937e61f9681137e4a29 1098 1086 2017-05-02T08:02:42Z Kever 2 wikitext text/x-wiki = Download rkdeveloptool = Get the source code for rkdeveloptool <pre>git clone https://github.com/rockchip-linux/rkdeveloptool.git </pre> = Build rkdeveloptool = First, install the libusb and udev. In Ubuntu,&nbsp; <pre>sudo apt-get install libudev-dev libusb-1.0-0-dev</pre> Then&nbsp; <pre>autoreconf -i ./configure make make install </pre> = Usage = == Support commands == ---- Tool Usage --------------------- Help: &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; -H<br/> Version: &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;-V<br/> DownloadBoot:&nbsp;&nbsp; &nbsp;DB <Loader><br/> UpgradeLoader:&nbsp;&nbsp; &nbsp;UL <Loader><br/> ReadLBA:&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;RL &nbsp;<BeginSec> <SectorLen> <File><br/> WriteLBA:&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;WL &nbsp;<BeginSec> <File><br/> WriteGPT: &nbsp; &nbsp; &nbsp; GPT <parameter><br/> EraseFlash:&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;EF&nbsp;<br/> TestDevice:&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;TD<br/> ResetDevice:&nbsp;&nbsp; &nbsp;RD [subcode]<br/> ReadFlashID:&nbsp;&nbsp; &nbsp;RID<br/> ReadFlashInfo:&nbsp;&nbsp; &nbsp;RFI<br/> ReadChipInfo:&nbsp;&nbsp; &nbsp;RCI<br/> -------------------------------------------------------<br/> &nbsp; &nbsp; == Flash image to target emmc == In order to flash image to target emmc,&nbsp; #Make target&nbsp;&nbsp;get into [[Rockusb|rockusb mode]]; #Connect target to Host PC via USB; #Write the image to the eMMC with tool command; <ul style="margin-left: 40px;"> <li>use&nbsp;download boot command to make target init DRAM and run usbplug;</li> </ul> <pre style="margin-left: 80px;">rkdeveloptool db rkxx_loader_vx.xx.bin</pre> <ul style="margin-left: 40px;"> <li>use ''wl'' command to write image to target, this step can be repeat for many times;</li> </ul> <pre style="margin-left: 80px;">rkdeveloptool wl 0x40 idbLoader.img rkdeveloptool wl 0x4000 uboot.img rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img</pre> <ul style="margin-left: 40px;"> <li>usb ''ul'' command to write idbloader into idb from rockchip loader</li> </ul> <pre style="margin-left: 80px;">rkdeveloptool ul rkxx_loader_vx.xx.bin</pre> Note:&nbsp;The ''ul'' command is the same operation with below command when using Rockchip miniloader, but using different source. <pre style="margin-left: 80px;">rkdeveloptool wl 0x40 idbLoader.img</pre> <ul style="margin-left: 40px;"> <li>use ''gpt'' command to write gpt table with parameter_gpt.txt</li> </ul> <pre style="margin-left: 80px;">rkdeveloptool gpt parameter_gpt.txt</pre> <ul style="margin-left: 40px;"> <li>use ''rd'' comamnd to reset the target after image write complete</li> </ul> <pre style="margin-left: 80px;">rkdeveloptool rd</pre> &nbsp; = See also = [[Partitions|Rockchip Linux partitions definition]] [[Boot_option|Boot_option]] [[Rockusb|Rockusb]] dcb0cfb7fe010b62565f5e90486bb48841fdcba3 1106 1098 2017-05-08T03:39:25Z Kever 2 wikitext text/x-wiki = Download rkdeveloptool = Get the source code for rkdeveloptool <pre>git clone https://github.com/rockchip-linux/rkdeveloptool.git </pre> = Build rkdeveloptool = First, install the libusb and udev. In Ubuntu,&nbsp; <pre>sudo apt-get install libudev-dev libusb-1.0-0-dev</pre> Then&nbsp; <pre>autoreconf -i ./configure make make install </pre> = Usage = == Support commands == ---- Tool Usage --------------------- Help: &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; -H<br/> Version: &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;-V<br/> DownloadBoot:&nbsp;&nbsp; &nbsp;DB <Loader><br/> UpgradeLoader:&nbsp;&nbsp; &nbsp;UL <Loader><br/> ReadLBA:&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;RL &nbsp;<BeginSec> <SectorLen> <File><br/> WriteLBA:&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;WL &nbsp;<BeginSec> <File><br/> WriteGPT: &nbsp; &nbsp; &nbsp; GPT <parameter><br/> EraseFlash:&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;EF&nbsp;<br/> TestDevice:&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;TD<br/> ResetDevice:&nbsp;&nbsp; &nbsp;RD [subcode]<br/> ReadFlashID:&nbsp;&nbsp; &nbsp;RID<br/> ReadFlashInfo:&nbsp;&nbsp; &nbsp;RFI<br/> ReadChipInfo:&nbsp;&nbsp; &nbsp;RCI<br/> -------------------------------------------------------<br/> &nbsp; &nbsp; == Flash image to target emmc == In order to flash image to target emmc,&nbsp; #Make target&nbsp;&nbsp;get into [[Rockusb|rockusb mode]]; #Connect target to Host PC via USB; #Write the image to the eMMC with tool command; <ul style="margin-left: 40px;"> <li>use&nbsp;download boot command to make target init DRAM and run usbplug;</li> </ul> <pre style="margin-left: 80px;">rkdeveloptool db rkxx_loader_vx.xx.bin</pre> <ul style="margin-left: 40px;"> <li>use ''wl'' command to write image to target, this step can be repeat for many times;</li> </ul> <pre style="margin-left: 80px;">rkdeveloptool wl 0x40 idbLoader.img rkdeveloptool wl 0x4000 uboot.img rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img</pre> <ul style="margin-left: 40px;"> <li>usb ''ul'' command to write idbloader into idb from rockchip loader</li> </ul> <pre style="margin-left: 80px;">rkdeveloptool ul rkxx_loader_vx.xx.bin</pre> '''NOTE''':&nbsp;The ''ul'' command is the same operation with below command when using Rockchip miniloader, but using different source. <pre style="margin-left: 80px;">rkdeveloptool wl 0x40 idbLoader.img</pre> '''NOTE2''': The ''ul&nbsp;''command in rkdeveloptool(ul= wl idbloader) is different with the command in '''upgrade_tool'''(ul = db + wl idbloader + rd). <ul style="margin-left: 40px;"> <li>use ''gpt'' command to write gpt table with parameter_gpt.txt</li> </ul> <pre style="margin-left: 80px;">rkdeveloptool gpt parameter_gpt.txt</pre> <ul style="margin-left: 40px;"> <li>use ''rd'' comamnd to reset the target after image write complete</li> </ul> <pre style="margin-left: 80px;">rkdeveloptool rd</pre> &nbsp; = See also = [[Partitions|Rockchip Linux partitions definition]] [[Boot_option|Boot_option]] [[Rockusb|Rockusb]] 71a77ffdfc4d394de84d1a92005d7b5fc86bcf67 1107 1106 2017-05-08T03:43:38Z Kever 2 wikitext text/x-wiki rkdeveloptool is a tool from Rockchip to communicate with Rockusb devices, consider to be a opensource version of ''upgrade_tool'' with very little&nbsp;difference. &nbsp; = Download rkdeveloptool = Get the source code for rkdeveloptool <pre>git clone https://github.com/rockchip-linux/rkdeveloptool.git </pre> = Build rkdeveloptool = First, install the libusb and udev. In Ubuntu,&nbsp; <pre>sudo apt-get install libudev-dev libusb-1.0-0-dev</pre> Then&nbsp; <pre>autoreconf -i ./configure make make install </pre> = Usage = == Support commands == ---- Tool Usage --------------------- Help: &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; -H<br/> Version: &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;-V<br/> DownloadBoot:&nbsp;&nbsp; &nbsp;DB <Loader><br/> UpgradeLoader:&nbsp;&nbsp; &nbsp;UL <Loader><br/> ReadLBA:&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;RL &nbsp;<BeginSec> <SectorLen> <File><br/> WriteLBA:&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;WL &nbsp;<BeginSec> <File><br/> WriteGPT: &nbsp; &nbsp; &nbsp; GPT <parameter><br/> EraseFlash:&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;EF&nbsp;<br/> TestDevice:&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;TD<br/> ResetDevice:&nbsp;&nbsp; &nbsp;RD [subcode]<br/> ReadFlashID:&nbsp;&nbsp; &nbsp;RID<br/> ReadFlashInfo:&nbsp;&nbsp; &nbsp;RFI<br/> ReadChipInfo:&nbsp;&nbsp; &nbsp;RCI<br/> -------------------------------------------------------<br/> &nbsp; &nbsp; &nbsp; == Flash image to target emmc == In order to flash image to target emmc,&nbsp; #Make target&nbsp;&nbsp;get into [[Rockusb|rockusb mode]]; #Connect target to Host PC via USB; #Write the image to the eMMC with tool command; <ul style="margin-left: 40px;"> <li>use&nbsp;download boot command to make target init DRAM and run usbplug;</li> </ul> <pre style="margin-left: 80px;">rkdeveloptool db rkxx_loader_vx.xx.bin</pre> <ul style="margin-left: 40px;"> <li>use ''wl'' command to write image to target, this step can be repeat for many times;</li> </ul> <pre style="margin-left: 80px;">rkdeveloptool wl 0x40 idbLoader.img rkdeveloptool wl 0x4000 uboot.img rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img</pre> <ul style="margin-left: 40px;"> <li>usb ''ul'' command to write idbloader into idb from rockchip loader</li> </ul> <pre style="margin-left: 80px;">rkdeveloptool ul rkxx_loader_vx.xx.bin</pre> '''NOTE''':&nbsp;The ''ul'' command is the same operation with below command when using Rockchip miniloader, but using different source. <pre style="margin-left: 80px;">rkdeveloptool wl 0x40 idbLoader.img</pre> '''NOTE2''': The ''ul&nbsp;''command in rkdeveloptool(ul= wl idbloader) is different with the command in '''upgrade_tool'''(ul = db + wl idbloader + rd). <ul style="margin-left: 40px;"> <li>use ''gpt'' command to write gpt table with parameter_gpt.txt</li> </ul> <pre style="margin-left: 80px;">rkdeveloptool gpt parameter_gpt.txt</pre> <ul style="margin-left: 40px;"> <li>use ''rd'' comamnd to reset the target after image write complete</li> </ul> <pre style="margin-left: 80px;">rkdeveloptool rd</pre> &nbsp; = See also = [[Partitions|Rockchip Linux partitions definition]] [[Boot_option|Boot_option]] [[Rockusb|Rockusb]] b70a7da3a385a2969854172f58ea95cb94a6d2e1 1115 1107 2017-05-18T02:02:16Z Kever 2 Kever moved page [[Rkdevelptool]] to [[Rkdeveloptool]] wikitext text/x-wiki rkdeveloptool is a tool from Rockchip to communicate with Rockusb devices, consider to be a opensource version of ''upgrade_tool'' with very little&nbsp;difference. &nbsp; = Download rkdeveloptool = Get the source code for rkdeveloptool <pre>git clone https://github.com/rockchip-linux/rkdeveloptool.git </pre> = Build rkdeveloptool = First, install the libusb and udev. In Ubuntu,&nbsp; <pre>sudo apt-get install libudev-dev libusb-1.0-0-dev</pre> Then&nbsp; <pre>autoreconf -i ./configure make make install </pre> = Usage = == Support commands == ---- Tool Usage --------------------- Help: &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; -H<br/> Version: &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;-V<br/> DownloadBoot:&nbsp;&nbsp; &nbsp;DB <Loader><br/> UpgradeLoader:&nbsp;&nbsp; &nbsp;UL <Loader><br/> ReadLBA:&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;RL &nbsp;<BeginSec> <SectorLen> <File><br/> WriteLBA:&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;WL &nbsp;<BeginSec> <File><br/> WriteGPT: &nbsp; &nbsp; &nbsp; GPT <parameter><br/> EraseFlash:&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;EF&nbsp;<br/> TestDevice:&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;TD<br/> ResetDevice:&nbsp;&nbsp; &nbsp;RD [subcode]<br/> ReadFlashID:&nbsp;&nbsp; &nbsp;RID<br/> ReadFlashInfo:&nbsp;&nbsp; &nbsp;RFI<br/> ReadChipInfo:&nbsp;&nbsp; &nbsp;RCI<br/> -------------------------------------------------------<br/> &nbsp; &nbsp; &nbsp; == Flash image to target emmc == In order to flash image to target emmc,&nbsp; #Make target&nbsp;&nbsp;get into [[Rockusb|rockusb mode]]; #Connect target to Host PC via USB; #Write the image to the eMMC with tool command; <ul style="margin-left: 40px;"> <li>use&nbsp;download boot command to make target init DRAM and run usbplug;</li> </ul> <pre style="margin-left: 80px;">rkdeveloptool db rkxx_loader_vx.xx.bin</pre> <ul style="margin-left: 40px;"> <li>use ''wl'' command to write image to target, this step can be repeat for many times;</li> </ul> <pre style="margin-left: 80px;">rkdeveloptool wl 0x40 idbLoader.img rkdeveloptool wl 0x4000 uboot.img rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img</pre> <ul style="margin-left: 40px;"> <li>usb ''ul'' command to write idbloader into idb from rockchip loader</li> </ul> <pre style="margin-left: 80px;">rkdeveloptool ul rkxx_loader_vx.xx.bin</pre> '''NOTE''':&nbsp;The ''ul'' command is the same operation with below command when using Rockchip miniloader, but using different source. <pre style="margin-left: 80px;">rkdeveloptool wl 0x40 idbLoader.img</pre> '''NOTE2''': The ''ul&nbsp;''command in rkdeveloptool(ul= wl idbloader) is different with the command in '''upgrade_tool'''(ul = db + wl idbloader + rd). <ul style="margin-left: 40px;"> <li>use ''gpt'' command to write gpt table with parameter_gpt.txt</li> </ul> <pre style="margin-left: 80px;">rkdeveloptool gpt parameter_gpt.txt</pre> <ul style="margin-left: 40px;"> <li>use ''rd'' comamnd to reset the target after image write complete</li> </ul> <pre style="margin-left: 80px;">rkdeveloptool rd</pre> &nbsp; = See also = [[Partitions|Rockchip Linux partitions definition]] [[Boot_option|Boot_option]] [[Rockusb|Rockusb]] b70a7da3a385a2969854172f58ea95cb94a6d2e1 Partitions 0 50 971 884 2017-04-12T02:17:40Z Kever 2 wikitext text/x-wiki = Introduction = Rockchip use&nbsp;[https://en.wikipedia.org/wiki/GUID_Partition_Table GPT]&nbsp;as its main partition table in open source support. We store GPT at LBA0 ~ LBA63. = GPT partition table in U-boot = U-boot supports standard&nbsp;[https://github.com/rockchip-linux/u-boot/blob/android/doc/README.gpt GPT partition table format]. &nbsp; = Default partition map = {| border="1" class="table_style" |- ! Partition ! colspan="2" | Start Sector ! colspan="2" | Number of Sectors ! colspan="2" | Partition Size ! Mount Point ! Requirements |- | MBR | 0 | 00000000 | 1 | 00000001 | 512 | 0.5KB | &nbsp; | &nbsp; |- | Primary GPT | 1 | 00000001 | 63 | 0000003F | 32256 | 31.5KB | &nbsp; | &nbsp; |- | loader1 | 64 | 00000040 | 8000 | 00001F40 | 4096000 | 3.91MB | &nbsp; | miniloader or U-Boot SPL |- | reserved1 | 8064 | 00001F80 | 128 | 00000080 | 65536 | 64KB | &nbsp; | &nbsp; |- | reserved2 | 8192 | 00002000 | 8192 | 00002000 | 4194304 | 4MB | &nbsp; | parameter or vendor data |- | loader2 | 16384 | 00004000 | 8192 | 00002000 | 4194304 | 4MB | &nbsp; | U-Boot when using miniloader |- | atf | 24576 | 00006000 | 8192 | 00002000 | 4194304 | 4MB | &nbsp; | ATF, trusted-os when using miniloader |- | boot(bootable must be set) | 32768 | 00008000 | 229376 | 00038000 | 117440512 | 112MB | &nbsp; | kernela, kernelb, dts, extlinux.conf, ramdisk |- | rootfs | 262144 | 00040000 | - | - | - | -MB | &nbsp; | Linux system |- | Secondary GPT | 16777183 | 00FFFFDF | 33 | 00000021 | 16896 | 16.5KB | &nbsp; | &nbsp; |} &nbsp; = Write GPT partition table through Rockchip rkdeveloptool = <pre>rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool gpt parameter_gpt.txt</pre> where the sample parameter_gpt.txt including partition information: <pre>CMDLINE: mtdparts=rk29xxnand:0x00001f40@0x00000040(loader1),0x00000080@0x00001f80(reserved1),0x00002000@0x00002000(reserved2),0x00002000@0x00004000(loader2),0x00002000@0x00006000(atf),0x00038000@0x00008000(boot:bootable),-@0x0040000(rootfs) </pre> = Write GPT partition table through U-boot = In u-boot console, the "gpt" command can be used to write the gpt partition table: <pre>gpt - GUID Partition Table Usage: gpt <command> <interface> <dev> <partitions_list> - GUID partition table restoration and validity check Restore or verify GPT information on a device connected to interface Example usage: gpt write mmc 0 $partitions gpt verify mmc 0 $partitions</code> </pre> for exsample: <pre>=> env set partitions name=rootfs,size=-,type=system => gpt write mmc 0 $partitions Writing GPT: success! </pre> <br/> NOTE: the partitions env can be set in the u-boot console(using "env set" command), or in u-boot's source code,<br/> for exsample: <pre>include/configs/kylin_rk3036.h #define PARTS_DEFAULT \ "uuid_disk=${uuid_gpt_disk};" \ ... #undef CONFIG_EXTRA_ENV_SETTINGS #define CONFIG_EXTRA_ENV_SETTINGS \ "partitions=" PARTS_DEFAULT \ </pre> &nbsp; = Write GPT partition table through U-Boot's fastboot = The current upstream u-boot contains fastboot protocol support. And this version of fastboot supports 2 ways to modify gpt partition table: &nbsp; == fastboot oem format == It's the same as "gpt write mmc 0 $partitions" in u-boot console: <pre>#ifdef CONFIG_FASTBOOT_FLASH_MMC_DEV if (strncmp("format", cmd + 4, 6) == 0) { char cmdbuf[32]; sprintf(cmdbuf, "gpt write mmc&nbsp;%x $partitions", CONFIG_FASTBOOT_FLASH_MMC_DEV); if (run_command(cmdbuf, 0)) fastboot_tx_write_str("FAIL"); else fastboot_tx_write_str("OKAY"); } else #endif </pre> PC command: <pre>$ fastboot oem format -i 0x2207 ... OKAY [ 0.015s] finished. total time: 0.015s </pre> == fastboot flash gpt <gpt partition image> == <pre> if (strcmp(cmd, CONFIG_FASTBOOT_GPT_NAME) == 0) { printf("%s: updating MBR, Primary and Backup GPT(s)\n", __func__); if (is_valid_gpt_buf(dev_desc, download_buffer)) { printf("%s: invalid GPT - refusing to write to flash\n", __func__); fastboot_fail(response_str, "invalid GPT partition"); return; } if (write_mbr_and_gpt_partitions(dev_desc, download_buffer)) { printf("%s: writing GPT partitions failed\n", __func__); fastboot_fail(response_str, "writing GPT partitions failed"); return; } printf("........ success\n"); fastboot_okay(response_str, ""); return; </pre> The gpt partition image can be generated by PC's gdisk tool,<br/> for exsample: <pre>$ dd if=/dev/zero of=disk.img bs=1M count=256 256+0 records in 256+0 records out 268435456 bytes (268 MB) copied, 0.151867 s, 1.8 GB/s $ gdisk disk.img GPT fdisk (gdisk) version 0.8.1 Partition table scan: MBR: not present BSD: not present APM: not present GPT: not present Creating new GPT entries. Command (? for help): n Partition number (1-128, default 1): First sector (34-524254, default = 34) or {+-}size{KMGTP}: Information: Moved requested sector from 34 to 2048 in order to align on 2048-sector boundaries. Use 'l' on the experts' menu to adjust alignment Last sector (2048-524254, default = 524254) or {+-}size{KMGTP}: Current type is 'Linux filesystem' Hex code or GUID (L to show codes, Enter = 8300): Changed type of partition to 'Linux filesystem' Command (? for help): w Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING PARTITIONS!! Do you want to proceed? (Y/N): y OK; writing new GUID partition table (GPT). Warning: The kernel is still using the old partition table. The new table will be used at the next reboot. The operation has completed successfully. $ dd if=disk.img of=gpt.img count=64 64+0 records in 64+0 records out 32768 bytes (33 kB) copied, 0.00075438 s, 43.4 MB/s </pre> PC command: <pre>$ fastboot flash gpt gpt.img target reported max download size of 117440512 bytes sending 'gpt' (32 KB)... OKAY [ 0.006s] writing 'gpt'... OKAY [ 0.025s] finished. total time: 0.030s</pre> 26768e05645ca9243059eea48b4e4380da3db1dc 972 971 2017-04-12T02:18:43Z Kever 2 wikitext text/x-wiki = Introduction = Rockchip use&nbsp;[https://en.wikipedia.org/wiki/GUID_Partition_Table GPT]&nbsp;as its main partition table in open source support. We store GPT at LBA0 ~ LBA63. = GPT partition table in U-boot = U-boot supports standard&nbsp;[https://github.com/rockchip-linux/u-boot/blob/android/doc/README.gpt GPT partition table format]. &nbsp; = Default partition map = {| border="1" class="table_style" |- ! Partition ! colspan="2" | Start Sector ! colspan="2" | Number of Sectors ! colspan="2" | Partition Size ! Mount Point ! Requirements |- | MBR | 0 | 00000000 | 1 | 00000001 | 512 | 0.5KB | &nbsp; | &nbsp; |- | Primary GPT | 1 | 00000001 | 63 | 0000003F | 32256 | 31.5KB | &nbsp; | &nbsp; |- | loader1 | 64 | 00000040 | 8000 | 00001F40 | 4096000 | 3.91MB | &nbsp; | miniloader or U-Boot SPL |- | reserved1 | 8064 | 00001F80 | 128 | 00000080 | 65536 | 64KB | &nbsp; | &nbsp; |- | reserved2 | 8192 | 00002000 | 8192 | 00002000 | 4194304 | 4MB | &nbsp; | parameter or vendor data |- | loader2 | 16384 | 00004000 | 8192 | 00002000 | 4194304 | 4MB | &nbsp; | U-Boot when using miniloader |- | atf | 24576 | 00006000 | 8192 | 00002000 | 4194304 | 4MB | &nbsp; | ATF, trusted-os when using miniloader |- | boot(bootable must be set) | 32768 | 00008000 | 229376 | 00038000 | 117440512 | 112MB | &nbsp; | kernela, kernelb, dts, extlinux.conf, ramdisk |- | rootfs | 262144 | 00040000 | - | - | - | -MB | &nbsp; | Linux system |- | Secondary GPT | 16777183 | 00FFFFDF | 33 | 00000021 | 16896 | 16.5KB | &nbsp; | &nbsp; |} &nbsp; = Write GPT partition table through rkdeveloptool = <pre>rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool gpt parameter_gpt.txt</pre> where the sample parameter_gpt.txt including partition information: <pre>CMDLINE: mtdparts=rk29xxnand:0x00001f40@0x00000040(loader1),0x00000080@0x00001f80(reserved1),0x00002000@0x00002000(reserved2),0x00002000@0x00004000(loader2),0x00002000@0x00006000(atf),0x00038000@0x00008000(boot:bootable),-@0x0040000(rootfs) </pre> = Write GPT partition table through U-boot = In u-boot console, the "gpt" command can be used to write the gpt partition table: <pre>gpt - GUID Partition Table Usage: gpt <command> <interface> <dev> <partitions_list> - GUID partition table restoration and validity check Restore or verify GPT information on a device connected to interface Example usage: gpt write mmc 0 $partitions gpt verify mmc 0 $partitions</code> </pre> for exsample: <pre>=> env set partitions name=rootfs,size=-,type=system => gpt write mmc 0 $partitions Writing GPT: success! </pre> <br/> NOTE: the partitions env can be set in the u-boot console(using "env set" command), or in u-boot's source code,<br/> for exsample: <pre>include/configs/kylin_rk3036.h #define PARTS_DEFAULT \ "uuid_disk=${uuid_gpt_disk};" \ ... #undef CONFIG_EXTRA_ENV_SETTINGS #define CONFIG_EXTRA_ENV_SETTINGS \ "partitions=" PARTS_DEFAULT \ </pre> &nbsp; = Write GPT partition table through U-Boot's fastboot = The current upstream u-boot contains fastboot protocol support. And this version of fastboot supports 2 ways to modify gpt partition table: &nbsp; == fastboot oem format == It's the same as "gpt write mmc 0 $partitions" in u-boot console: <pre>#ifdef CONFIG_FASTBOOT_FLASH_MMC_DEV if (strncmp("format", cmd + 4, 6) == 0) { char cmdbuf[32]; sprintf(cmdbuf, "gpt write mmc&nbsp;%x $partitions", CONFIG_FASTBOOT_FLASH_MMC_DEV); if (run_command(cmdbuf, 0)) fastboot_tx_write_str("FAIL"); else fastboot_tx_write_str("OKAY"); } else #endif </pre> PC command: <pre>$ fastboot oem format -i 0x2207 ... OKAY [ 0.015s] finished. total time: 0.015s </pre> == fastboot flash gpt <gpt partition image> == <pre> if (strcmp(cmd, CONFIG_FASTBOOT_GPT_NAME) == 0) { printf("%s: updating MBR, Primary and Backup GPT(s)\n", __func__); if (is_valid_gpt_buf(dev_desc, download_buffer)) { printf("%s: invalid GPT - refusing to write to flash\n", __func__); fastboot_fail(response_str, "invalid GPT partition"); return; } if (write_mbr_and_gpt_partitions(dev_desc, download_buffer)) { printf("%s: writing GPT partitions failed\n", __func__); fastboot_fail(response_str, "writing GPT partitions failed"); return; } printf("........ success\n"); fastboot_okay(response_str, ""); return; </pre> The gpt partition image can be generated by PC's gdisk tool,<br/> for exsample: <pre>$ dd if=/dev/zero of=disk.img bs=1M count=256 256+0 records in 256+0 records out 268435456 bytes (268 MB) copied, 0.151867 s, 1.8 GB/s $ gdisk disk.img GPT fdisk (gdisk) version 0.8.1 Partition table scan: MBR: not present BSD: not present APM: not present GPT: not present Creating new GPT entries. Command (? for help): n Partition number (1-128, default 1): First sector (34-524254, default = 34) or {+-}size{KMGTP}: Information: Moved requested sector from 34 to 2048 in order to align on 2048-sector boundaries. Use 'l' on the experts' menu to adjust alignment Last sector (2048-524254, default = 524254) or {+-}size{KMGTP}: Current type is 'Linux filesystem' Hex code or GUID (L to show codes, Enter = 8300): Changed type of partition to 'Linux filesystem' Command (? for help): w Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING PARTITIONS!! Do you want to proceed? (Y/N): y OK; writing new GUID partition table (GPT). Warning: The kernel is still using the old partition table. The new table will be used at the next reboot. The operation has completed successfully. $ dd if=disk.img of=gpt.img count=64 64+0 records in 64+0 records out 32768 bytes (33 kB) copied, 0.00075438 s, 43.4 MB/s </pre> PC command: <pre>$ fastboot flash gpt gpt.img target reported max download size of 117440512 bytes sending 'gpt' (32 KB)... OKAY [ 0.006s] writing 'gpt'... OKAY [ 0.025s] finished. total time: 0.030s</pre> 1db9070b0085b0f8cda582a1a266d6a580202922 RK3399 0 21 986 939 2017-04-12T12:38:12Z Kevan 10 wikitext text/x-wiki Rockchip RK3399 SoC integrates&nbsp;dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor, and with&nbsp;ARM Mali-T864 GPU. {| border="0" cellpadding="1" cellspacing="1" class="infobox" style="width: 300px;" |- | [[File:RK3399 Soc.png|RTENOTITLE]] |} = Overview = RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications. &nbsp; = SoC Features = {| border="0" cellpadding="1" cellspacing="1" style="width: 972px;" |- | style="width: 530px;" | *CPU: **Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU **Frequency is over 1.8GHz (Big cluster) **L1 cache ***48KB Icache and 32KB Dcache for each A72 ***32KB Icache and 32KB Dcache for each A53 **L2 cache ***1024KB for big cluster ***512KB for little cluster *Internal SRAM **192KB total **4KB used by bootrom when bootup *GPU: **&nbsp;Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11 **Supports AFBC (ARM Frame Buffer Compression) *Display: **Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600 **Dual channel MIPI-DSI (4 lanes per channel) **eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR **HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2 **DisplayPort 1.2 (4 lanes, up to 4K 60Hz) **Supports Rec.2020 and conversion to Rec.709 *Camera: **&nbsp;Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels *Memory: **Dual channels 64-bit DRAM controller **Support DDR3/DDR3L, LPDDR3, LPDDR4 *Connectivity: **PCIe 2.1 (4 full-duplex lanes with 20Gbps) **Embedded low power MCU for other application **8 channels I2S supports 8 channels RX or 8 channels TX | style="width: 429px;" | [[File:RK3399 Block Diagram.png|RTENOTITLE]] |} &nbsp; &nbsp; = Documentation = #[http://opensource.rock-chips.com/images/6/60/Rockchip_RK3399_Datasheet_V1.6-20170301.pdf Rockchip_RK3399_Datasheet_V1.6-20170301.pdf] #[http://opensource.rock-chips.com/wiki_File:RK3399_Linux_Debian_System_Development_Guide.pdf RK3399 Linux Debian System Development Guide.pdf] #[http://opensource.rock-chips.com/images/7/7e/RK3399_Linux_Buildroot_System_Development_Guide.pdf RK3399_Linux_Buildroot_System_Development_Guide.pdf] #[http://opensource.rock-chips.com/images/2/20/RK3399_Multimedia_Codec_Benchmark_v1.0.pdf RK3399_Multimedia_Codec_Benchmark_v1.0.pdf] = Software = == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" class="table_style" style="line-height: 1.6; width: 768px;" |- ! style="width: 119px; text-align: center;" | '''board''' ! style="width: 172px; text-align: center;" | '''kernel''' ! style="width: 124px; text-align: center;" | '''uboot''' ! style="width: 310px; text-align: center;" | '''dts''' |- | style="width: 119px; text-align: center;" | rk3399-excavator | style="width: 172px; text-align: center;" | rockchip_linux_defconfig | style="width: 124px; text-align: center;" | rk3399_linux_defconfig | style="width: 310px; text-align: center;" | rk3399-sapphire-excavator-linux.dts |- | style="width: 119px; text-align: center;" | Firefly-RK3399 | style="width: 172px; text-align: center;" | rockchip_linux_defconfig | style="width: 124px; text-align: center;" | rk3399_linux_defconfig | style="width: 310px; text-align: center;" | rk3399-firefly-linux.dts |} &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" class="table_style" style="width: 859px;" |- ! style="width: 68px; text-align: center;" | '''chip''' ! style="width: 181px; text-align: center;" | '''Kernel eMMC index''' ! style="width: 142px; text-align: center;" | '''Kernel SD index''' ! style="width: 158px; text-align: center;" | '''Uboot eMMC index''' ! style="width: 146px; text-align: center;" | '''Uboot SD index''' ! style="width: 132px; text-align: center;" | '''Baud speed''' |- | style="width: 68px; text-align: center;" | RK3399 | style="width: 181px; text-align: center;" | 1 | style="width: 142px; text-align: center;" | 0 | style="width: 158px; text-align: center;" | 0 | style="width: 146px; text-align: center;" | 1 | style="width: 132px; text-align: center;" | 1500000 |} == How to get the sources == The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code. RK3399 optimized Debian & Buildroot <pre>repo init -u https://github.com/rockchip-linux/manifests -m rk3399.xml repo sync </pre> == How to build the sources == === Build Environment === You need a 64-bit&nbsp;Ubuntu. Note: old versions&nbsp;Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;"><br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so</div> Install&nbsp;ARM cross-compile tool chain and compile kernel relative&nbsp;software package:&nbsp; <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">$ sudo apt-get install gcc-arm-linux-gnueabihf&nbsp;gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev</div> === Building kernel &&nbsp;resource === For RK3399&nbsp;Excavator-sapphire&nbsp;board: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd kernel && make ARCH=arm64 rockchip_linux_defconfig && make ARCH=arm64 rk3399-sapphire-excavator-linux.img -j12 && cd ..</div> For&nbsp;Firefly-RK3399 board: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd kernel && make ARCH=arm64 rockchip_linux_defconfig && make ARCH=arm64 rk3399-firefly-mini-linux.img -j12 && cd ..</div> === Building uboot === For RK3399 optimized SDK (rkproduct uboot) <pre>cd u-boot && make rk3399_linux_defconfig && make ARCHV=aarch64 -j12 && cd .. </pre> === Building rootfs === ==== Debian ==== You could refer to [[Media:RK3399_Linux_Debian_System_Development_Guide.pdf|RK3399 Linux Debian System Development Guide]]&nbsp;from Rockchip to build rootfs yourselves. ==== Buildroot ==== <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd buildroot && make rockchip_rk3399_defconfig && cd .. && ./build_all.sh -j12 && ./mkfirmware.sh&nbsp;</div> In order to get more details,you could refer to [[Media:RK3399_Linux_Buildroot_System_Development_Guide.pdf|RK3399 Linux Buildroot System Development Guide]]. = Devices = Rockchip: [[Excavator_sapphire_board|Excavator_sapphire_board]] Firefly: [http://wiki.t-firefly.com/index.php/Firefly-RK3399 Firefly-RK3399] If you need the rk3399-excavator&nbsp;board, please communicate through&nbsp;the following&nbsp;contact information: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">Telephone: 4007700590 &nbsp; &nbsp; &nbsp; &nbsp;Email: service@rock-chips.com</div> If you need the Firefly-RK3399 board,you can browse the following url&nbsp;for more details: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">http://www.t-firefly.com/zh/firenow/Firefly-rk3399/</div> = See also = [[RK3288|RK3288]] [[RK3328|RK3328]] &nbsp; = References = [https://en.wikipedia.org/wiki/ARM_Cortex-A72 https://en.wikipedia.org/wiki/ARM_Cortex-A72] [http://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html http://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html] [https://www.arm.com/zh/products/multimedia/mali-gpu/high-performance/mali-t860-t880.php https://www.arm.com/zh/products/multimedia/mali-gpu/high-performance/mali-t860-t880.php] e298c962612fe900a36834aa847001c0f3002b73 1067 986 2017-04-18T03:37:02Z Kevan 10 wikitext text/x-wiki Rockchip RK3399 SoC integrates&nbsp;dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor, and with&nbsp;ARM Mali-T864 GPU. {| border="0" cellpadding="1" cellspacing="1" class="infobox" style="width: 300px;" |- | [[File:RK3399 Soc.png|RTENOTITLE]] |} = Overview = RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications. &nbsp; = SoC Features = {| border="0" cellpadding="1" cellspacing="1" style="width: 972px;" |- | style="width: 530px;" | *CPU: **Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU **Frequency is over 1.8GHz (Big cluster) **L1 cache ***48KB Icache and 32KB Dcache for each A72 ***32KB Icache and 32KB Dcache for each A53 **L2 cache ***1024KB for big cluster ***512KB for little cluster *Internal SRAM **192KB total **4KB used by bootrom when bootup *GPU: **&nbsp;Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11 **Supports AFBC (ARM Frame Buffer Compression) *Display: **Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600 **Dual channel MIPI-DSI (4 lanes per channel) **eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR **HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2 **DisplayPort 1.2 (4 lanes, up to 4K 60Hz) **Supports Rec.2020 and conversion to Rec.709 *Camera: **&nbsp;Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels *Memory: **Dual channels 64-bit DRAM controller **Support DDR3/DDR3L, LPDDR3, LPDDR4 *Connectivity: **PCIe 2.1 (4 full-duplex lanes with 20Gbps) **Embedded low power MCU for other application **8 channels I2S supports 8 channels RX or 8 channels TX | style="width: 429px;" | [[File:RK3399 Block Diagram.png|RTENOTITLE]] |} &nbsp; &nbsp; = Documentation = #[http://opensource.rock-chips.com/images/6/60/Rockchip_RK3399_Datasheet_V1.6-20170301.pdf Rockchip_RK3399_Datasheet_V1.6-20170301.pdf] #[http://opensource.rock-chips.com/wiki_File:RK3399_Linux_Debian_System_Development_Guide.pdf RK3399 Linux Debian System Development Guide.pdf] #[http://opensource.rock-chips.com/images/7/7e/RK3399_Linux_Buildroot_System_Development_Guide.pdf RK3399_Linux_Buildroot_System_Development_Guide.pdf] #[http://opensource.rock-chips.com/images/2/20/RK3399_Multimedia_Codec_Benchmark_v1.0.pdf RK3399_Multimedia_Codec_Benchmark_v1.0.pdf] = Software = == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" class="table_style" style="line-height: 1.6; width: 768px;" |- ! style="width: 119px; text-align: center;" | '''board''' ! style="width: 172px; text-align: center;" | '''kernel''' ! style="width: 124px; text-align: center;" | '''uboot''' ! style="width: 310px; text-align: center;" | '''dts''' |- | style="width: 119px; text-align: center;" | rk3399-excavator | style="width: 172px; text-align: center;" | rockchip_linux_defconfig | style="width: 124px; text-align: center;" | rk3399_linux_defconfig | style="width: 310px; text-align: center;" | rk3399-sapphire-excavator-linux.dts |- | style="width: 119px; text-align: center;" | Firefly-RK3399 | style="width: 172px; text-align: center;" | rockchip_linux_defconfig | style="width: 124px; text-align: center;" | rk3399_linux_defconfig | style="width: 310px; text-align: center;" | rk3399-firefly-linux.dts |} &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" class="table_style" style="width: 859px;" |- ! style="width: 68px; text-align: center;" | '''chip''' ! style="width: 181px; text-align: center;" | '''Kernel eMMC index''' ! style="width: 142px; text-align: center;" | '''Kernel SD index''' ! style="width: 158px; text-align: center;" | '''Uboot eMMC index''' ! style="width: 146px; text-align: center;" | '''Uboot SD index''' ! style="width: 132px; text-align: center;" | '''Baud speed''' |- | style="width: 68px; text-align: center;" | RK3399 | style="width: 181px; text-align: center;" | 1 | style="width: 142px; text-align: center;" | 0 | style="width: 158px; text-align: center;" | 0 | style="width: 146px; text-align: center;" | 1 | style="width: 132px; text-align: center;" | 1500000 |} == How to get the sources == The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code. RK3399 optimized Debian & Buildroot <pre>repo init --repo-url=https://github.com/rockchip-linux/repo -u https://github.com/rockchip-linux/manifests -m rk3399.xml repo sync </pre> == How to build the sources == === Build Environment === You need a 64-bit&nbsp;Ubuntu. Note: old versions&nbsp;Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;"><br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so</div> Install&nbsp;ARM cross-compile tool chain and compile kernel relative&nbsp;software package:&nbsp; <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">$ sudo apt-get install gcc-arm-linux-gnueabihf&nbsp;gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev</div> === Building kernel &&nbsp;resource === For RK3399&nbsp;Excavator-sapphire&nbsp;board: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd kernel && make ARCH=arm64 rockchip_linux_defconfig && make ARCH=arm64 rk3399-sapphire-excavator-linux.img -j12 && cd ..</div> For&nbsp;Firefly-RK3399 board: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd kernel && make ARCH=arm64 rockchip_linux_defconfig && make ARCH=arm64 rk3399-firefly-mini-linux.img -j12 && cd ..</div> === Building uboot === For RK3399 optimized SDK (rkproduct uboot) <pre>cd u-boot && make rk3399_linux_defconfig && make ARCHV=aarch64 -j12 && cd .. </pre> === Building rootfs === ==== Debian ==== You could refer to [[Media:RK3399_Linux_Debian_System_Development_Guide.pdf|RK3399 Linux Debian System Development Guide]]&nbsp;from Rockchip to build rootfs yourselves. ==== Buildroot ==== <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd buildroot && make rockchip_rk3399_defconfig && cd .. && ./build_all.sh -j12 && ./mkfirmware.sh&nbsp;</div> In order to get more details,you could refer to [[Media:RK3399_Linux_Buildroot_System_Development_Guide.pdf|RK3399 Linux Buildroot System Development Guide]]. = Devices = Rockchip: [[Excavator_sapphire_board|Excavator_sapphire_board]] Firefly: [http://wiki.t-firefly.com/index.php/Firefly-RK3399 Firefly-RK3399] If you need the rk3399-excavator&nbsp;board, please communicate through&nbsp;the following&nbsp;contact information: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">Telephone: 4007700590 &nbsp; &nbsp; &nbsp; &nbsp;Email: service@rock-chips.com</div> If you need the Firefly-RK3399 board,you can browse the following url&nbsp;for more details: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">http://www.t-firefly.com/zh/firenow/Firefly-rk3399/</div> = See also = [[RK3288|RK3288]] [[RK3328|RK3328]] &nbsp; = References = [https://en.wikipedia.org/wiki/ARM_Cortex-A72 https://en.wikipedia.org/wiki/ARM_Cortex-A72] [http://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html http://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html] [https://www.arm.com/zh/products/multimedia/mali-gpu/high-performance/mali-t860-t880.php https://www.arm.com/zh/products/multimedia/mali-gpu/high-performance/mali-t860-t880.php] b6368174c9dcb8d87468666bdf0c56b540c4ff73 1068 1067 2017-04-18T03:39:42Z Kevan 10 wikitext text/x-wiki Rockchip RK3399 SoC integrates&nbsp;dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor, and with&nbsp;ARM Mali-T864 GPU. {| border="0" cellpadding="1" cellspacing="1" class="infobox" style="width: 300px;" |- | [[File:RK3399 Soc.png|RTENOTITLE]] |} = Overview = RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications. &nbsp; = SoC Features = {| border="0" cellpadding="1" cellspacing="1" style="width: 972px;" |- | style="width: 530px;" | *CPU: **Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU **Frequency is over 1.8GHz (Big cluster) **L1 cache ***48KB Icache and 32KB Dcache for each A72 ***32KB Icache and 32KB Dcache for each A53 **L2 cache ***1024KB for big cluster ***512KB for little cluster *Internal SRAM **192KB total **4KB used by bootrom when bootup *GPU: **&nbsp;Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11 **Supports AFBC (ARM Frame Buffer Compression) *Display: **Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600 **Dual channel MIPI-DSI (4 lanes per channel) **eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR **HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2 **DisplayPort 1.2 (4 lanes, up to 4K 60Hz) **Supports Rec.2020 and conversion to Rec.709 *Camera: **&nbsp;Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels *Memory: **Dual channels 64-bit DRAM controller **Support DDR3/DDR3L, LPDDR3, LPDDR4 *Connectivity: **PCIe 2.1 (4 full-duplex lanes with 20Gbps) **Embedded low power MCU for other application **8 channels I2S supports 8 channels RX or 8 channels TX | style="width: 429px;" | [[File:RK3399 Block Diagram.png|RTENOTITLE]] |} &nbsp; &nbsp; = Documentation = #[http://opensource.rock-chips.com/images/6/60/Rockchip_RK3399_Datasheet_V1.6-20170301.pdf Rockchip_RK3399_Datasheet_V1.6-20170301.pdf] #[http://opensource.rock-chips.com/wiki_File:RK3399_Linux_Debian_System_Development_Guide.pdf RK3399 Linux Debian System Development Guide.pdf] #[http://opensource.rock-chips.com/images/7/7e/RK3399_Linux_Buildroot_System_Development_Guide.pdf RK3399_Linux_Buildroot_System_Development_Guide.pdf] #[http://opensource.rock-chips.com/images/2/20/RK3399_Multimedia_Codec_Benchmark_v1.0.pdf RK3399_Multimedia_Codec_Benchmark_v1.0.pdf] = Software = == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" class="table_style" style="line-height: 1.6; width: 768px;" |- ! style="width: 119px; text-align: center;" | '''board''' ! style="width: 172px; text-align: center;" | '''kernel''' ! style="width: 124px; text-align: center;" | '''uboot''' ! style="width: 310px; text-align: center;" | '''dts''' |- | style="width: 119px; text-align: center;" | rk3399-excavator | style="width: 172px; text-align: center;" | rockchip_linux_defconfig | style="width: 124px; text-align: center;" | rk3399_linux_defconfig | style="width: 310px; text-align: center;" | rk3399-sapphire-excavator-linux.dts |- | style="width: 119px; text-align: center;" | Firefly-RK3399 | style="width: 172px; text-align: center;" | rockchip_linux_defconfig | style="width: 124px; text-align: center;" | rk3399_linux_defconfig | style="width: 310px; text-align: center;" | rk3399-firefly-linux.dts |} &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" class="table_style" style="width: 859px;" |- ! style="width: 68px; text-align: center;" | '''chip''' ! style="width: 181px; text-align: center;" | '''Kernel eMMC index''' ! style="width: 142px; text-align: center;" | '''Kernel SD index''' ! style="width: 158px; text-align: center;" | '''Uboot eMMC index''' ! style="width: 146px; text-align: center;" | '''Uboot SD index''' ! style="width: 132px; text-align: center;" | '''Baud speed''' |- | style="width: 68px; text-align: center;" | RK3399 | style="width: 181px; text-align: center;" | 1 | style="width: 142px; text-align: center;" | 0 | style="width: 158px; text-align: center;" | 0 | style="width: 146px; text-align: center;" | 1 | style="width: 132px; text-align: center;" | 1500000 |} == How to get the sources == The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code. RK3399 optimized Debian & Buildroot <pre>repo init --repo-url=https://github.com/rockchip-linux/repo -u https://github.com/rockchip-linux/manifests -m rk3399.xml repo sync </pre> == How to build the sources == === Build Environment === You need a 64-bit&nbsp;Ubuntu. Note: old versions&nbsp;Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;"><br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so</div> Install&nbsp;ARM cross-compile tool chain and compile kernel relative&nbsp;software package:&nbsp; <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">$ sudo apt-get install gcc-arm-linux-gnueabihf&nbsp;gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev</div> === Building kernel &&nbsp;resource === For RK3399&nbsp;Excavator-sapphire&nbsp;board: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd kernel && make ARCH=arm64 rockchip_linux_defconfig && make ARCH=arm64 rk3399-sapphire-excavator-linux.img -j12 && cd ..</div> For&nbsp;Firefly-RK3399 board: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd kernel && make ARCH=arm64 rockchip_linux_defconfig && make ARCH=arm64 rk3399-firefly-linux.img -j12 && cd ..</div> === Building uboot === For RK3399 optimized SDK (rkproduct uboot) <pre>cd u-boot && make rk3399_linux_defconfig && make ARCHV=aarch64 -j12 && cd .. </pre> === Building rootfs === ==== Debian ==== You could refer to [[Media:RK3399_Linux_Debian_System_Development_Guide.pdf|RK3399 Linux Debian System Development Guide]]&nbsp;from Rockchip to build rootfs yourselves. ==== Buildroot ==== <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd buildroot && make rockchip_rk3399_defconfig && cd .. && ./build_all.sh -j12 && ./mkfirmware.sh&nbsp;</div> In order to get more details,you could refer to [[Media:RK3399_Linux_Buildroot_System_Development_Guide.pdf|RK3399 Linux Buildroot System Development Guide]]. = Devices = Rockchip: [[Excavator_sapphire_board|Excavator_sapphire_board]] Firefly: [http://wiki.t-firefly.com/index.php/Firefly-RK3399 Firefly-RK3399] If you need the rk3399-excavator&nbsp;board, please communicate through&nbsp;the following&nbsp;contact information: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">Telephone: 4007700590 &nbsp; &nbsp; &nbsp; &nbsp;Email: service@rock-chips.com</div> If you need the Firefly-RK3399 board,you can browse the following url&nbsp;for more details: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">http://www.t-firefly.com/zh/firenow/Firefly-rk3399/</div> = See also = [[RK3288|RK3288]] [[RK3328|RK3328]] &nbsp; = References = [https://en.wikipedia.org/wiki/ARM_Cortex-A72 https://en.wikipedia.org/wiki/ARM_Cortex-A72] [http://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html http://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html] [https://www.arm.com/zh/products/multimedia/mali-gpu/high-performance/mali-t860-t880.php https://www.arm.com/zh/products/multimedia/mali-gpu/high-performance/mali-t860-t880.php] 90753e5fed10c70c12d7240ffb1e5fe26960fd79 File:MPP Development Reference.pdf 6 130 995 2017-04-14T02:22:48Z Rkvideo 14 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 File:Mpp diagram.png 6 131 1004 2017-04-14T03:41:55Z Rkvideo 14 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 File:Mpp kernel.png 6 132 1019 2017-04-14T04:02:19Z Rkvideo 14 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 File:Mpp buffer.png 6 133 1023 2017-04-14T04:07:05Z Rkvideo 14 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 File:Mpp task 1.png 6 134 1030 2017-04-14T06:28:25Z Rkvideo 14 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 File:Mpp task.png 6 135 1031 2017-04-14T06:32:07Z Rkvideo 14 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 File:Mpp task 2.png 6 136 1032 2017-04-14T06:33:14Z Rkvideo 14 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 File:Mpp param 1.png 6 137 1036 2017-04-14T06:42:36Z Rkvideo 14 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 File:Mpp param 2.png 6 138 1037 2017-04-14T06:45:02Z Rkvideo 14 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 Boot option 0 116 1038 945 2017-04-14T06:49:58Z Kever 2 wikitext text/x-wiki &nbsp; &nbsp; = Boot introduce = &nbsp; First, let's make the concept clear, there are many boot stages when we boot up a Linux OS; Then we need to know about how the image should packaged, where&nbsp;the image locate; At lase, we will explain how to write to different&nbsp;media and boot from there. &nbsp; == Boot stage == Here is a table show the detail what we may use in Rockchip platform, for 2 boot stage: - use U-Boot SPL; - &nbsp;use Rockchp idbLoader which is combinded by Rockchip ddr init bin and miniloader bin; <pre>+--------+----------------+----------+-------------+---------+ | Boot | Terminology #1 | Actual | Rockchip | | | stage | | program | Image | | | number | | name | Name | | +--------+----------------+----------+-------------+---------+ | 1 | Primary | ROM code | BootRom | | | | Program | | | | | | Loader | | | | | | | | | | | 2 | Secondary | U-Boot |idbloader.img| 0x40 |including u-boot if not use miniloader | | Program | SPL |idbspl.img | | | | Loader (SPL) | | | | | | | | | | | 3 | - | U-Boot | bl3.itb | 0x200 | including u-boot and atf | | | | u-boot.bin | 0x200 | | | | | uboot.img | 0x4000 | only used with miniloader | | | | | | | | | ATF | trust.img | 0x6000 | only used with miniloader for armv8 | | | | | | | 4 | - | kernel | boot.img | 0x8000 | | | | | | | | 5 | - | rootfs | rootfs.img | 0x40000 | +--------+----------------+----------+-------------+---------+ </pre> Then when we talking about boot from eMMC/SD/U-Disk/net, they are in different concept: *Stage 1 is always in boot rom, it loads stage 2 and may load stage 3(when SPL_BACK_TO_BROM option enabled). *Boot from SPI flash means firmware for stage 2 and 3(SPL and U-Boot only) in SPI flash and stage 4/5 in other place; *Boot from eMMC means all the firmware(including stage 2, 3, 4, 5) in eMMC; *Boot from SD card means all the firmware(including stage 2, 3, 4, 5) in SD card; *Boot from U-Disk means firmware for stage 4 and 5(not including SPL and U-Boot) in Disk, optionally only including stage 5; *Boot from net/tftp means firmeware for stage 4 and 5(not including SPL and U-Boot) on the network; == Package option == After we know about the boot stages, Here are the file list before package for stage 2~4: *From source code: **From U-Boot: u-boot-spl.bin, u-boot.bin(may use u-boot-nodtb.bin and u-boot.dtb instead), **From kernel: kernel Image/zImage file, kernel dtb, **From ATF: bl31.bin; *From Rockchip binary: **ddr, usbplug, miniloader, bl31, (all with&nbsp;chip 'rkxx_'&nbsp; prefix and with version '_x.xx.bin' postfix); Here are the types to&nbsp;package image from those files: === idbspl.img === U-Boot SPL, with&nbsp;SPL_BACK_TO_BROM option '''disabled'''. <pre>mkimage -n rkxxxx -T rksd -d spl/u-boot-spl.bin idbspl.img</pre> Flash the idbspl.img to offset 0x40 which only including stage 2, and need flash stage 3 &nbsp;image to 0x200(which is defineded by CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR), the stage 3 image may be&nbsp;u-boot.bin directly(when there no ATF requirement), or FIT image bl3.itb(for ATF load from SPL, including bl31.bin, u-boot-nodtb.bin and u-boot.dtb). === idbloader.img === U-Boot SPL, with&nbsp;SPL_BACK_TO_BROM option '''enabled''': <pre>tools/mkimage -n rkxxxx -T rksd -d spl/u-boot-spl.bin idbloader.img cat u-boot.bin >> idbloader.img</pre> Flash the idbloader.img to offset 0x40 which including boot stage 2 and 3. Package the image from Rockchip binary: <pre>dd if=rkxx_ddr_vx.xx.bin of=ddr.bin bs=4 skip=1 tools/mkimage -n rkxxxx -T rksd -d ddr.bin idbloader.img rm ddr.bin cat rkxx_miniloader_vx.xx.bin >> idbloader.img</pre> Flash the idbloader.img to offset 0x40 which including stage 2, and you will need a uboot.img for boot stage 3. === bl3.itb === When using SPL to load the ATF, package the bl31.bin, u-boot-nodtb.bin and uboot.dtb into one FIT image. <pre>tools/mkimage -f fit4spl.its -E bl3.itb </pre> Flash the bl3.itb to offset 0x200, while&nbsp;need idbspl.img flasht to offset 0x40. === uboot.img === When using idbLoader from&nbsp;Rockchip miniloader, need package u-boot.bin into miniloader loadable format by Rockchip tool loaderimage. <pre>tools/loaderimage --pack --uboot u-boot.bin uboot.img</pre> Flash the uboot.img to offset 0x4000 which is stage 3; === trust.img === When using idbLoader from&nbsp;Rockchip miniloader, need package bl31.bin into miniloader loadable format by Rockchip tool trustmerge. <pre>tools/trustmerge tools/rk_tools/RKTRUST_RKXXXXTRUST.ini</pre> Flash the trust.img to offset 0x6000 which is for using Rockchip miniloader &nbsp; === rkxx_loader_vx.xx.xxx.bin === This is provide by Rockchip in binary mode, which is used for firmware upgrade to eMMC with [[Rkdevelptool|rkdeveloptool]], can not be wirte to media device directly. This is a package from ddr.bin, usbplug.bin, miniloader.bin, Rockchip tool ''DB ''command will make usbplug.bin running in target which perform as a Rockusb device. === boot.img === This image is package the kernel Image and dtb file into a know filesystem(FAT or EXT2) image for distro boot. See [[Rockchip_Kernel#Install_Boot.2Fkernel|Install kernel]] for detail about generate boot.img from kernel zImage/Image, dtb. Flash the boot.img to offset 0x8000 which is stage 4. === rootfs.img === Flash the rootfs.img to offset 0x40000 which is stage 5. &nbsp; = Flash and boot from Media device = Here we introduce how to write image to different Medeia device. Get image Ready: *For armv7 with SPL with SPL_BACK_TO_BROM option enabled: **idbLoader.img **boot.img or boot folder with zImage, dtb and exitlinulx inside **rootfs.img *For armv7 with SPL with SPL_BACK_TO_BROM option disabled: **idbspl.img **u-boot.bin **boot.img or boot folder with zImage, dtb and exitlinulx inside **rootfs.img *For armv7 with miniloader **idbLoader.img **uboot.img **boot.img or&nbsp;boot folder with zImage, dtb and exitlinulx inside **rootfs.img *For armv8 with SPL: **idbspl.img **bl3.itb **boot.img or&nbsp;boot folder with Image, dtb and exitlinulx inside **rootfs.img *For armv8 with miniloader **idbLoader.img **uboot.img **trust.img **boot.img or&nbsp;boot folder with Image, dtb and exitlinulx inside **rootfs.img &nbsp; == Boot from eMMC == The eMMC is on the hardware board, so we need: *Get the board into [[Rockusb#Maskrom_mode|maskrom mode]]; *Connect the target to PC with USB cable; *Flash the image to eMMC with [[Rkdevelptool|rkdeveloptool]] Example commands for flash image to target. *For armv7 with SPL with SPL_BACK_TO_BROM option enabled(rk3036, rk3188, rk3288): <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbloader.img rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> *For armv7 with SPL with SPL_BACK_TO_BROM option disabled(rk3288): <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbspl.img rkdeveloptool wl 0x200 u-boot.bin rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> *For armv7 with miniloader(rk3036, rk3188, rk3288) <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbloader.img rkdeveloptool wl 0x4000 uboot.img rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> *For armv8 with SPL(rk3399): <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbspl.img rkdeveloptool wl 0x200 bl3.itb rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> *For armv8 with miniloader(rk3399, rk3328) <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbloader.img rkdeveloptool wl 0x4000 uboot.img rkdeveloptool wl 0x6000 trust.img rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool r</pre> &nbsp; == Boot from SD/TF Card == We can write SD/TF card with Linux PC ''dd'' command very easily. Insert SD card to PC and we assume the /dev/sdb is the SD card device. *For armv7 with SPL with SPL_BACK_TO_BROM option enabled(rk3036, rk3188, rk3288): <pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=0x40 dd if=boot.img of=sdb seek=0x8000 dd if=rootfs.img of=sdb seek=0x40000 </pre> *For armv7 with SPL with SPL_BACK_TO_BROM option disabled(rk3288): <pre style="margin-left: 40px">dd if=idbspl.img of=sdb seek=0x40 dd if=u-boot.bin of=sdb seek=0x200 dd if=boot.img of=sdb seek=0x8000 dd if=rootfs.img of=sdb seek=0x40000 </pre> *For armv7 with miniloader(rk3036, rk3188, rk3288) <pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=0x40 dd if=uboot.img of=sdb seek=0x4000 dd if=boot.img of=sdb seek=0x8000 dd if=rootfs.img of=sdb seek=0x40000 </pre> *For armv8 with SPL(rk3399): <pre style="margin-left: 40px">dd if=idbspl.img of=sdb seek=0x40 dd if=bl3.itb of=sdb seek=0x200 dd if=boot.img of=sdb seek=0x8000 dd if=rootfs.img of=sdb seek=0x40000 </pre> *For armv8 with miniloader(rk3399, rk3328) <pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=0x40 dd if=uboot.img of=sdb seek=0x4000 dd if=trust.img of=sdb seek=0x6000 dd if=boot.img of=sdb seek=0x8000 dd if=rootfs.img of=sdb seek=0x40000</pre> In order to make sure everything has write to SD card before unpluged, recommand to run below command: <pre style="margin-left: 40px">sync</pre> Note, when using boot from SD card, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value. <pre>append earlyprintk console=ttyS2,115200n8 rw root=/dev/mmcblk1p7 rootwait rootfstype=ext4 init=/sbin/init </pre> Write GPT partition table to SD card&nbsp;in U-Boot, and then U-Boot can find the boot partition and run into kernel. <pre>gpt write mmc 0 $partitions</pre> &nbsp; == Boot from U-Disk == Same as&nbsp;[[#Boot_from_SD.2FTF_Card|boot-from-sdcard]], but please note that U-Disk&nbsp;only support stage 4 and 5, see [[#Boot_Stage|Boot Stage]] for detail. If U-Disk used for stage 4 and 5, format the U-Disk in gpt format and at least 2 partitions, write ''boot.img'' and ''rootfs.img'' in those partitions; if U-Dist is only used for stage 5, we can ''dd ''the ''rootfs.img'' to U-Disk device directly. Note, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value. <pre> append earlyprintk console=ttyS2,115200n8 rw root=/dev/sda1 rootwait rootfstype=ext4 init=/sbin/init </pre> = Boot from Network = &nbsp; 3d5525345fa833c785bf4f2098b2ec34bafe6ee5 1070 1038 2017-04-19T02:02:42Z Kever 2 wikitext text/x-wiki &nbsp; &nbsp; = Boot introduce = &nbsp; First, let's make the concept clear, there are many boot stages when we boot up a Linux OS; Then we need to know about how the image should packaged, where&nbsp;the image locate; At lase, we will explain how to write to different&nbsp;media and boot from there. &nbsp; == Boot stage == Here is a table show the detail what we may use in Rockchip platform, for 2 boot stage: - use U-Boot SPL; - &nbsp;use Rockchp idbLoader which is combinded by Rockchip ddr init bin and miniloader bin; <pre>+--------+----------------+----------+-------------+---------+ | Boot | Terminology #1 | Actual | Rockchip | | | stage | | program | Image | | | number | | name | Name | | +--------+----------------+----------+-------------+---------+ | 1 | Primary | ROM code | BootRom | | | | Program | | | | | | Loader | | | | | | | | | | | 2 | Secondary | U-Boot |idbloader.img| 0x40 |including u-boot if not use miniloader | | Program | SPL |idbspl.img | | | | Loader (SPL) | | | | | | | | | | | 3 | - | U-Boot | bl3.itb | 0x200 | including u-boot and atf | | | | u-boot.bin | 0x200 | | | | | uboot.img | 0x4000 | only used with miniloader | | | | | | | | | ATF | trust.img | 0x6000 | only used with miniloader for armv8 | | | | | | | 4 | - | kernel | boot.img | 0x8000 | | | | | | | | 5 | - | rootfs | rootfs.img | 0x40000 | +--------+----------------+----------+-------------+---------+ </pre> Then when we talking about boot from eMMC/SD/U-Disk/net, they are in different concept: *Stage 1 is always in boot rom, it loads stage 2 and may load stage 3(when SPL_BACK_TO_BROM option enabled). *Boot from SPI flash means firmware for stage 2 and 3(SPL and U-Boot only) in SPI flash and stage 4/5 in other place; *Boot from eMMC means all the firmware(including stage 2, 3, 4, 5) in eMMC; *Boot from SD card means all the firmware(including stage 2, 3, 4, 5) in SD card; *Boot from U-Disk means firmware for stage 4 and 5(not including SPL and U-Boot) in Disk, optionally only including stage 5; *Boot from net/tftp means firmeware for stage 4 and 5(not including SPL and U-Boot) on the network; == Package option == After we know about the boot stages, Here are the file list before package for stage 2~4: *From source code: **From U-Boot: u-boot-spl.bin, u-boot.bin(may use u-boot-nodtb.bin and u-boot.dtb instead), **From kernel: kernel Image/zImage file, kernel dtb, **From ATF: bl31.bin; *From Rockchip binary: **ddr, usbplug, miniloader, bl31, (all with&nbsp;chip 'rkxx_'&nbsp; prefix and with version '_x.xx.bin' postfix); Here are the types to&nbsp;package image from those files: === idbspl.img === U-Boot SPL, with&nbsp;SPL_BACK_TO_BROM option '''disabled'''. <pre>mkimage -n rkxxxx -T rksd -d spl/u-boot-spl.bin idbspl.img</pre> Flash the idbspl.img to offset 0x40 which only including stage 2, and need flash stage 3 &nbsp;image to 0x200(which is defineded by CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR), the stage 3 image may be&nbsp;u-boot.bin directly(when there no ATF requirement), or FIT image bl3.itb(for ATF load from SPL, including bl31.bin, u-boot-nodtb.bin and u-boot.dtb). === idbloader.img === U-Boot SPL, with&nbsp;SPL_BACK_TO_BROM option '''enabled''': <pre>tools/mkimage -n rkxxxx -T rksd -d spl/u-boot-spl.bin idbloader.img cat u-boot.bin >> idbloader.img</pre> Flash the idbloader.img to offset 0x40 which including boot stage 2 and 3. Package the image from Rockchip binary: <pre>dd if=rkxx_ddr_vx.xx.bin of=ddr.bin bs=4 skip=1 tools/mkimage -n rkxxxx -T rksd -d ddr.bin idbloader.img rm ddr.bin cat rkxx_miniloader_vx.xx.bin >> idbloader.img</pre> Flash the idbloader.img to offset 0x40 which including stage 2, and you will need a uboot.img for boot stage 3. === bl3.itb === When using SPL to load the ATF, package the bl31.bin, u-boot-nodtb.bin and uboot.dtb into one FIT image. <pre>tools/mkimage -f fit4spl.its -E bl3.itb </pre> Flash the bl3.itb to offset 0x200, while&nbsp;need idbspl.img flasht to offset 0x40. === uboot.img === When using idbLoader from&nbsp;Rockchip miniloader, need package u-boot.bin into miniloader loadable format by Rockchip tool loaderimage. <pre>tools/loaderimage --pack --uboot u-boot.bin uboot.img</pre> Flash the uboot.img to offset 0x4000 which is stage 3; === trust.img === When using idbLoader from&nbsp;Rockchip miniloader, need package bl31.bin into miniloader loadable format by Rockchip tool trustmerge. <pre>tools/trustmerge tools/rk_tools/RKTRUST_RKXXXXTRUST.ini</pre> Flash the trust.img to offset 0x6000 which is for using Rockchip miniloader &nbsp; === rkxx_loader_vx.xx.xxx.bin === This is provide by Rockchip in binary mode, which is used for firmware upgrade to eMMC with [[Rkdevelptool|rkdeveloptool]], can not be wirte to media device directly. This is a package from ddr.bin, usbplug.bin, miniloader.bin, Rockchip tool ''DB ''command will make usbplug.bin running in target which perform as a Rockusb device. === boot.img === This image is package the kernel Image and dtb file into a know filesystem(FAT or EXT2) image for distro boot. See [[Rockchip_Kernel#Install_Boot.2Fkernel|Install kernel]] for detail about generate boot.img from kernel zImage/Image, dtb. Flash the boot.img to offset 0x8000 which is stage 4. === rootfs.img === Flash the rootfs.img to offset 0x40000 which is stage 5. &nbsp; = Flash and boot from Media device = Here we introduce how to write image to different Medeia device. Get image Ready: *For armv7 with SPL with SPL_BACK_TO_BROM option enabled: **idbLoader.img **boot.img or boot folder with zImage, dtb and exitlinulx inside **rootfs.img *For armv7 with SPL with SPL_BACK_TO_BROM option disabled: **idbspl.img **u-boot.bin **boot.img or boot folder with zImage, dtb and exitlinulx inside **rootfs.img *For armv7 with miniloader **idbLoader.img **uboot.img **boot.img or&nbsp;boot folder with zImage, dtb and exitlinulx inside **rootfs.img *For armv8 with SPL: **idbspl.img **bl3.itb **boot.img or&nbsp;boot folder with Image, dtb and exitlinulx inside **rootfs.img *For armv8 with miniloader **idbLoader.img **uboot.img **trust.img **boot.img or&nbsp;boot folder with Image, dtb and exitlinulx inside **rootfs.img &nbsp; == Boot from eMMC == The eMMC is on the hardware board, so we need: *Get the board into [[Rockusb#Maskrom_mode|maskrom mode]]; *Connect the target to PC with USB cable; *Flash the image to eMMC with [[Rkdevelptool|rkdeveloptool]] Example commands for flash image to target. *For armv7 with SPL with SPL_BACK_TO_BROM option enabled(rk3036, rk3188, rk3288): <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbloader.img rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> *For armv7 with SPL with SPL_BACK_TO_BROM option disabled(rk3288): <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbspl.img rkdeveloptool wl 0x200 u-boot.bin rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> *For armv7 with miniloader(rk3036, rk3188, rk3288) <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbloader.img rkdeveloptool wl 0x4000 uboot.img rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> *For armv8 with SPL(rk3399): <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbspl.img rkdeveloptool wl 0x200 bl3.itb rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> *For armv8 with miniloader(rk3399, rk3328) <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbloader.img rkdeveloptool wl 0x4000 uboot.img rkdeveloptool wl 0x6000 trust.img rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd</pre> &nbsp; == Boot from SD/TF Card == We can write SD/TF card with Linux PC ''dd'' command very easily. Insert SD card to PC and we assume the /dev/sdb is the SD card device. *For armv7 with SPL with SPL_BACK_TO_BROM option enabled(rk3036, rk3188, rk3288): <pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=0x40 dd if=boot.img of=sdb seek=0x8000 dd if=rootfs.img of=sdb seek=0x40000 </pre> *For armv7 with SPL with SPL_BACK_TO_BROM option disabled(rk3288): <pre style="margin-left: 40px">dd if=idbspl.img of=sdb seek=0x40 dd if=u-boot.bin of=sdb seek=0x200 dd if=boot.img of=sdb seek=0x8000 dd if=rootfs.img of=sdb seek=0x40000 </pre> *For armv7 with miniloader(rk3036, rk3188, rk3288) <pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=0x40 dd if=uboot.img of=sdb seek=0x4000 dd if=boot.img of=sdb seek=0x8000 dd if=rootfs.img of=sdb seek=0x40000 </pre> *For armv8 with SPL(rk3399): <pre style="margin-left: 40px">dd if=idbspl.img of=sdb seek=0x40 dd if=bl3.itb of=sdb seek=0x200 dd if=boot.img of=sdb seek=0x8000 dd if=rootfs.img of=sdb seek=0x40000 </pre> *For armv8 with miniloader(rk3399, rk3328) <pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=0x40 dd if=uboot.img of=sdb seek=0x4000 dd if=trust.img of=sdb seek=0x6000 dd if=boot.img of=sdb seek=0x8000 dd if=rootfs.img of=sdb seek=0x40000</pre> In order to make sure everything has write to SD card before unpluged, recommand to run below command: <pre style="margin-left: 40px">sync</pre> Note, when using boot from SD card, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value. <pre>append earlyprintk console=ttyS2,115200n8 rw root=/dev/mmcblk1p7 rootwait rootfstype=ext4 init=/sbin/init </pre> Write GPT partition table to SD card&nbsp;in U-Boot, and then U-Boot can find the boot partition and run into kernel. <pre>gpt write mmc 0 $partitions</pre> &nbsp; == Boot from U-Disk == Same as&nbsp;[[#Boot_from_SD.2FTF_Card|boot-from-sdcard]], but please note that U-Disk&nbsp;only support stage 4 and 5, see [[#Boot_Stage|Boot Stage]] for detail. If U-Disk used for stage 4 and 5, format the U-Disk in gpt format and at least 2 partitions, write ''boot.img'' and ''rootfs.img'' in those partitions; if U-Dist is only used for stage 5, we can ''dd ''the ''rootfs.img'' to U-Disk device directly. Note, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value. <pre> append earlyprintk console=ttyS2,115200n8 rw root=/dev/sda1 rootwait rootfstype=ext4 init=/sbin/init </pre> = Boot from Network = &nbsp; b3692336815910b169b6034fc868c08289321027 1080 1070 2017-04-19T11:13:37Z Kever 2 wikitext text/x-wiki &nbsp; &nbsp; = Boot introduce = &nbsp; First, let's make the concept clear, there are many boot stages when we boot up a Linux OS; Then we need to know about how the image should packaged, where&nbsp;the image locate; At lase, we will explain how to write to different&nbsp;media and boot from there. &nbsp; == Boot stage == Here is a table show the detail what we may use in Rockchip platform, for 2 boot stage: - use U-Boot SPL; - &nbsp;use Rockchp idbLoader which is combinded by Rockchip ddr init bin and miniloader bin; <pre>+--------+----------------+----------+-------------+---------+ | Boot | Terminology #1 | Actual | Rockchip | | | stage | | program | Image | | | number | | name | Name | | +--------+----------------+----------+-------------+---------+ | 1 | Primary | ROM code | BootRom | | | | Program | | | | | | Loader | | | | | | | | | | | 2 | Secondary | U-Boot |idbloader.img| 0x40 |including u-boot if not use miniloader | | Program | SPL |idbspl.img | | | | Loader (SPL) | | | | | | | | | | | 3 | - | U-Boot | bl3.itb | 0x200 | including u-boot and atf | | | | u-boot.bin | 0x200 | | | | | uboot.img | 0x4000 | only used with miniloader | | | | | | | | | ATF | trust.img | 0x6000 | only used with miniloader for armv8 | | | | | | | 4 | - | kernel | boot.img | 0x8000 | | | | | | | | 5 | - | rootfs | rootfs.img | 0x40000 | +--------+----------------+----------+-------------+---------+ </pre> Then when we talking about boot from eMMC/SD/U-Disk/net, they are in different concept: *Stage 1 is always in boot rom, it loads stage 2 and may load stage 3(when SPL_BACK_TO_BROM option enabled). *Boot from SPI flash means firmware for stage 2 and 3(SPL and U-Boot only) in SPI flash and stage 4/5 in other place; *Boot from eMMC means all the firmware(including stage 2, 3, 4, 5) in eMMC; *Boot from SD card means all the firmware(including stage 2, 3, 4, 5) in SD card; *Boot from U-Disk means firmware for stage 4 and 5(not including SPL and U-Boot) in Disk, optionally only including stage 5; *Boot from net/tftp means firmeware for stage 4 and 5(not including SPL and U-Boot) on the network; == Package option == After we know about the boot stages, Here are the file list before package for stage 2~4: *From source code: **From U-Boot: u-boot-spl.bin, u-boot.bin(may use u-boot-nodtb.bin and u-boot.dtb instead), **From kernel: kernel Image/zImage file, kernel dtb, **From ATF: bl31.bin; *From Rockchip binary: **ddr, usbplug, miniloader, bl31, (all with&nbsp;chip 'rkxx_'&nbsp; prefix and with version '_x.xx.bin' postfix); Here are the types to&nbsp;package image from those files: === idbspl.img === U-Boot SPL, with&nbsp;SPL_BACK_TO_BROM option '''disabled'''. <pre>mkimage -n rkxxxx -T rksd -d spl/u-boot-spl.bin idbspl.img</pre> Flash the idbspl.img to offset 0x40 which only including stage 2, and need flash stage 3 &nbsp;image to 0x200(which is defineded by CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR), the stage 3 image may be&nbsp;u-boot.bin directly(when there no ATF requirement), or FIT image bl3.itb(for ATF load from SPL, including bl31.bin, u-boot-nodtb.bin and u-boot.dtb). === idbloader.img === U-Boot SPL, with&nbsp;SPL_BACK_TO_BROM option '''enabled''': <pre>tools/mkimage -n rkxxxx -T rksd -d spl/u-boot-spl.bin idbloader.img cat u-boot.bin >> idbloader.img</pre> Flash the idbloader.img to offset 0x40 which including boot stage 2 and 3. Package the image from Rockchip binary: <pre>dd if=rkxx_ddr_vx.xx.bin of=ddr.bin bs=4 skip=1 tools/mkimage -n rkxxxx -T rksd -d ddr.bin idbloader.img rm ddr.bin cat rkxx_miniloader_vx.xx.bin >> idbloader.img</pre> Flash the idbloader.img to offset 0x40 which including stage 2, and you will need a uboot.img for boot stage 3. === bl3.itb === When using SPL to load the ATF, package the bl31.bin, u-boot-nodtb.bin and uboot.dtb into one FIT image. <pre>tools/mkimage -f fit4spl.its -E bl3.itb </pre> Flash the bl3.itb to offset 0x200, while&nbsp;need idbspl.img flasht to offset 0x40. === uboot.img === When using idbLoader from&nbsp;Rockchip miniloader, need package u-boot.bin into miniloader loadable format by Rockchip tool loaderimage. <pre>tools/loaderimage --pack --uboot u-boot.bin uboot.img</pre> Flash the uboot.img to offset 0x4000 which is stage 3; === trust.img === When using idbLoader from&nbsp;Rockchip miniloader, need package bl31.bin into miniloader loadable format by Rockchip tool trustmerge. <pre>tools/trustmerge tools/rk_tools/RKTRUST_RKXXXXTRUST.ini</pre> Flash the trust.img to offset 0x6000 which is for using Rockchip miniloader &nbsp; === rkxx_loader_vx.xx.xxx.bin === This is provide by Rockchip in binary mode, which is used for firmware upgrade to eMMC with [[Rkdevelptool|rkdeveloptool]], can not be wirte to media device directly. This is a package from ddr.bin, usbplug.bin, miniloader.bin, Rockchip tool ''DB ''command will make usbplug.bin running in target which perform as a Rockusb device. === boot.img === This image is package the kernel Image and dtb file into a know filesystem(FAT or EXT2) image for distro boot. See [[Rockchip_Kernel#Install_Boot.2Fkernel|Install kernel]] for detail about generate boot.img from kernel zImage/Image, dtb. Flash the boot.img to offset 0x8000 which is stage 4. === rootfs.img === Flash the rootfs.img to offset 0x40000 which is stage 5. &nbsp; = Flash and boot from Media device = Here we introduce how to write image to different Medeia device. Get image Ready: *For armv7 with SPL with SPL_BACK_TO_BROM option enabled: **idbLoader.img **boot.img or boot folder with zImage, dtb and exitlinulx inside **rootfs.img *For armv7 with SPL with SPL_BACK_TO_BROM option disabled: **idbspl.img **u-boot.bin **boot.img or boot folder with zImage, dtb and exitlinulx inside **rootfs.img *For armv7 with miniloader **idbLoader.img **uboot.img **boot.img or&nbsp;boot folder with zImage, dtb and exitlinulx inside **rootfs.img *For armv8 with SPL: **idbspl.img **bl3.itb **boot.img or&nbsp;boot folder with Image, dtb and exitlinulx inside **rootfs.img *For armv8 with miniloader **idbLoader.img **uboot.img **trust.img **boot.img or&nbsp;boot folder with Image, dtb and exitlinulx inside **rootfs.img &nbsp; == Boot from eMMC == The eMMC is on the hardware board, so we need: *Get the board into [[Rockusb#Maskrom_mode|maskrom mode]]; *Connect the target to PC with USB cable; *Flash the image to eMMC with [[Rkdevelptool|rkdeveloptool]] Example commands for flash image to target. Flash the gpt partition to target: <pre style="margin-left: 40px;">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool gpt parameter_gpt.txt</pre> *For armv7 with SPL with SPL_BACK_TO_BROM option enabled(rk3036, rk3188, rk3288): <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbloader.img rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> *For armv7 with SPL with SPL_BACK_TO_BROM option disabled(rk3288): <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbspl.img rkdeveloptool wl 0x200 u-boot.bin rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> *For armv7 with miniloader(rk3036, rk3188, rk3288) <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbloader.img rkdeveloptool wl 0x4000 uboot.img rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> *For armv8 with SPL(rk3399): <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbspl.img rkdeveloptool wl 0x200 bl3.itb rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> *For armv8 with miniloader(rk3399, rk3328) <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbloader.img rkdeveloptool wl 0x4000 uboot.img rkdeveloptool wl 0x6000 trust.img rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd</pre> &nbsp; == Boot from SD/TF Card == We can write SD/TF card with Linux PC ''dd'' command very easily. Insert SD card to PC and we assume the /dev/sdb is the SD card device. *For armv7 with SPL with SPL_BACK_TO_BROM option enabled(rk3036, rk3188, rk3288): <pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=0x40 dd if=boot.img of=sdb seek=0x8000 dd if=rootfs.img of=sdb seek=0x40000 </pre> *For armv7 with SPL with SPL_BACK_TO_BROM option disabled(rk3288): <pre style="margin-left: 40px">dd if=idbspl.img of=sdb seek=0x40 dd if=u-boot.bin of=sdb seek=0x200 dd if=boot.img of=sdb seek=0x8000 dd if=rootfs.img of=sdb seek=0x40000 </pre> *For armv7 with miniloader(rk3036, rk3188, rk3288) <pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=0x40 dd if=uboot.img of=sdb seek=0x4000 dd if=boot.img of=sdb seek=0x8000 dd if=rootfs.img of=sdb seek=0x40000 </pre> *For armv8 with SPL(rk3399): <pre style="margin-left: 40px">dd if=idbspl.img of=sdb seek=0x40 dd if=bl3.itb of=sdb seek=0x200 dd if=boot.img of=sdb seek=0x8000 dd if=rootfs.img of=sdb seek=0x40000 </pre> *For armv8 with miniloader(rk3399, rk3328) <pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=0x40 dd if=uboot.img of=sdb seek=0x4000 dd if=trust.img of=sdb seek=0x6000 dd if=boot.img of=sdb seek=0x8000 dd if=rootfs.img of=sdb seek=0x40000</pre> In order to make sure everything has write to SD card before unpluged, recommand to run below command: <pre style="margin-left: 40px">sync</pre> Note, when using boot from SD card, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value. <pre>append earlyprintk console=ttyS2,115200n8 rw root=/dev/mmcblk1p7 rootwait rootfstype=ext4 init=/sbin/init </pre> Write GPT partition table to SD card&nbsp;in U-Boot, and then U-Boot can find the boot partition and run into kernel. <pre>gpt write mmc 0 $partitions</pre> &nbsp; == Boot from U-Disk == Same as&nbsp;[[#Boot_from_SD.2FTF_Card|boot-from-sdcard]], but please note that U-Disk&nbsp;only support stage 4 and 5, see [[#Boot_Stage|Boot Stage]] for detail. If U-Disk used for stage 4 and 5, format the U-Disk in gpt format and at least 2 partitions, write ''boot.img'' and ''rootfs.img'' in those partitions; if U-Dist is only used for stage 5, we can ''dd ''the ''rootfs.img'' to U-Disk device directly. Note, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value. <pre> append earlyprintk console=ttyS2,115200n8 rw root=/dev/sda1 rootwait rootfstype=ext4 init=/sbin/init </pre> = Boot from Network = &nbsp; 1630a0ee426edf2f8e5072f83c32426efa54553d 1081 1080 2017-04-19T11:21:54Z Kever 2 wikitext text/x-wiki &nbsp; &nbsp; = Boot introduce = &nbsp; First, let's make the concept clear, there are many boot stages when we boot up a Linux OS; Then we need to know about how the image should packaged, where&nbsp;the image locate; At lase, we will explain how to write to different&nbsp;media and boot from there. Here is Rockchip pre-released binaries which may be mentioned later: https://github.com/rockchip-linux/rkbin &nbsp; == Boot stage == Here is a table show the detail what we may use in Rockchip platform, for 2 boot stage: - use U-Boot SPL; - &nbsp;use Rockchp idbLoader which is combinded by Rockchip ddr init bin and miniloader bin; <pre>+--------+----------------+----------+-------------+---------+ | Boot | Terminology #1 | Actual | Rockchip | | | stage | | program | Image | | | number | | name | Name | | +--------+----------------+----------+-------------+---------+ | 1 | Primary | ROM code | BootRom | | | | Program | | | | | | Loader | | | | | | | | | | | 2 | Secondary | U-Boot |idbloader.img| 0x40 |including u-boot if not use miniloader | | Program | SPL |idbspl.img | | | | Loader (SPL) | | | | | | | | | | | 3 | - | U-Boot | bl3.itb | 0x200 | including u-boot and atf | | | | u-boot.bin | 0x200 | | | | | uboot.img | 0x4000 | only used with miniloader | | | | | | | | | ATF | trust.img | 0x6000 | only used with miniloader for armv8 | | | | | | | 4 | - | kernel | boot.img | 0x8000 | | | | | | | | 5 | - | rootfs | rootfs.img | 0x40000 | +--------+----------------+----------+-------------+---------+ </pre> Then when we talking about boot from eMMC/SD/U-Disk/net, they are in different concept: *Stage 1 is always in boot rom, it loads stage 2 and may load stage 3(when SPL_BACK_TO_BROM option enabled). *Boot from SPI flash means firmware for stage 2 and 3(SPL and U-Boot only) in SPI flash and stage 4/5 in other place; *Boot from eMMC means all the firmware(including stage 2, 3, 4, 5) in eMMC; *Boot from SD card means all the firmware(including stage 2, 3, 4, 5) in SD card; *Boot from U-Disk means firmware for stage 4 and 5(not including SPL and U-Boot) in Disk, optionally only including stage 5; *Boot from net/tftp means firmeware for stage 4 and 5(not including SPL and U-Boot) on the network; == Package option == After we know about the boot stages, Here are the file list before package for stage 2~4: *From source code: **From U-Boot: u-boot-spl.bin, u-boot.bin(may use u-boot-nodtb.bin and u-boot.dtb instead), **From kernel: kernel Image/zImage file, kernel dtb, **From ATF: bl31.bin; *From Rockchip binary: **ddr, usbplug, miniloader, bl31, (all with&nbsp;chip 'rkxx_'&nbsp; prefix and with version '_x.xx.bin' postfix); Here are the types to&nbsp;package image from those files: === idbspl.img === U-Boot SPL, with&nbsp;SPL_BACK_TO_BROM option '''disabled'''. <pre>mkimage -n rkxxxx -T rksd -d spl/u-boot-spl.bin idbspl.img</pre> Flash the idbspl.img to offset 0x40 which only including stage 2, and need flash stage 3 &nbsp;image to 0x200(which is defineded by CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR), the stage 3 image may be&nbsp;u-boot.bin directly(when there no ATF requirement), or FIT image bl3.itb(for ATF load from SPL, including bl31.bin, u-boot-nodtb.bin and u-boot.dtb). &nbsp; === idbloader.img === U-Boot SPL, with&nbsp;SPL_BACK_TO_BROM option '''enabled''': <pre>tools/mkimage -n rkxxxx -T rksd -d spl/u-boot-spl.bin idbloader.img cat u-boot.bin >> idbloader.img</pre> Flash the idbloader.img to offset 0x40 which including boot stage 2 and 3. Package the image from Rockchip binary: <pre>dd if=rkxx_ddr_vx.xx.bin of=ddr.bin bs=4 skip=1 tools/mkimage -n rkxxxx -T rksd -d ddr.bin idbloader.img rm ddr.bin cat rkxx_miniloader_vx.xx.bin >> idbloader.img</pre> Flash the idbloader.img to offset 0x40 which including stage 2, and you will need a uboot.img for boot stage 3. === bl3.itb === When using SPL to load the ATF, package the bl31.bin, u-boot-nodtb.bin and uboot.dtb into one FIT image. <pre>tools/mkimage -f fit4spl.its -E bl3.itb </pre> Flash the bl3.itb to offset 0x200, while&nbsp;need idbspl.img flasht to offset 0x40. === uboot.img === When using idbLoader from&nbsp;Rockchip miniloader, need package u-boot.bin into miniloader loadable format by Rockchip tool loaderimage. <pre>tools/loaderimage --pack --uboot u-boot.bin uboot.img</pre> Flash the uboot.img to offset 0x4000 which is stage 3; === trust.img === When using idbLoader from&nbsp;Rockchip miniloader, need package bl31.bin into miniloader loadable format by Rockchip tool trustmerge. <pre>tools/trustmerge tools/rk_tools/RKTRUST_RKXXXXTRUST.ini</pre> Flash the trust.img to offset 0x6000 which is for using Rockchip miniloader &nbsp; === rkxx_loader_vx.xx.xxx.bin === This is provide by Rockchip in binary mode, which is used for firmware upgrade to eMMC with [[Rkdevelptool|rkdeveloptool]], can not be wirte to media device directly. This is a package from ddr.bin, usbplug.bin, miniloader.bin, Rockchip tool ''DB ''command will make usbplug.bin running in target which perform as a Rockusb device. === boot.img === This image is package the kernel Image and dtb file into a know filesystem(FAT or EXT2) image for distro boot. See [[Rockchip_Kernel#Install_Boot.2Fkernel|Install kernel]] for detail about generate boot.img from kernel zImage/Image, dtb. Flash the boot.img to offset 0x8000 which is stage 4. === rootfs.img === Flash the rootfs.img to offset 0x40000 which is stage 5. &nbsp; = Flash and boot from Media device = Here we introduce how to write image to different Medeia device. Get image Ready: *For armv7 with SPL with SPL_BACK_TO_BROM option enabled: **idbLoader.img **boot.img or boot folder with zImage, dtb and exitlinulx inside **rootfs.img *For armv7 with SPL with SPL_BACK_TO_BROM option disabled: **idbspl.img **u-boot.bin **boot.img or boot folder with zImage, dtb and exitlinulx inside **rootfs.img *For armv7 with miniloader **idbLoader.img **uboot.img **boot.img or&nbsp;boot folder with zImage, dtb and exitlinulx inside **rootfs.img *For armv8 with SPL: **idbspl.img **bl3.itb **boot.img or&nbsp;boot folder with Image, dtb and exitlinulx inside **rootfs.img *For armv8 with miniloader **idbLoader.img **uboot.img **trust.img **boot.img or&nbsp;boot folder with Image, dtb and exitlinulx inside **rootfs.img &nbsp; == Boot from eMMC == The eMMC is on the hardware board, so we need: *Get the board into [[Rockusb#Maskrom_mode|maskrom mode]]; *Connect the target to PC with USB cable; *Flash the image to eMMC with [[Rkdevelptool|rkdeveloptool]] Example commands for flash image to target. Flash the gpt partition to target: <pre style="margin-left: 40px;">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool gpt parameter_gpt.txt</pre> *For armv7 with SPL with SPL_BACK_TO_BROM option enabled(rk3036, rk3188, rk3288): <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbloader.img rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> *For armv7 with SPL with SPL_BACK_TO_BROM option disabled(rk3288): <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbspl.img rkdeveloptool wl 0x200 u-boot.bin rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> *For armv7 with miniloader(rk3036, rk3188, rk3288) <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbloader.img rkdeveloptool wl 0x4000 uboot.img rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> *For armv8 with SPL(rk3399): <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbspl.img rkdeveloptool wl 0x200 bl3.itb rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> *For armv8 with miniloader(rk3399, rk3328) <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbloader.img rkdeveloptool wl 0x4000 uboot.img rkdeveloptool wl 0x6000 trust.img rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd</pre> &nbsp; == Boot from SD/TF Card == We can write SD/TF card with Linux PC ''dd'' command very easily. Insert SD card to PC and we assume the /dev/sdb is the SD card device. *For armv7 with SPL with SPL_BACK_TO_BROM option enabled(rk3036, rk3188, rk3288): <pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=0x40 dd if=boot.img of=sdb seek=0x8000 dd if=rootfs.img of=sdb seek=0x40000 </pre> *For armv7 with SPL with SPL_BACK_TO_BROM option disabled(rk3288): <pre style="margin-left: 40px">dd if=idbspl.img of=sdb seek=0x40 dd if=u-boot.bin of=sdb seek=0x200 dd if=boot.img of=sdb seek=0x8000 dd if=rootfs.img of=sdb seek=0x40000 </pre> *For armv7 with miniloader(rk3036, rk3188, rk3288) <pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=0x40 dd if=uboot.img of=sdb seek=0x4000 dd if=boot.img of=sdb seek=0x8000 dd if=rootfs.img of=sdb seek=0x40000 </pre> *For armv8 with SPL(rk3399): <pre style="margin-left: 40px">dd if=idbspl.img of=sdb seek=0x40 dd if=bl3.itb of=sdb seek=0x200 dd if=boot.img of=sdb seek=0x8000 dd if=rootfs.img of=sdb seek=0x40000 </pre> *For armv8 with miniloader(rk3399, rk3328) <pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=0x40 dd if=uboot.img of=sdb seek=0x4000 dd if=trust.img of=sdb seek=0x6000 dd if=boot.img of=sdb seek=0x8000 dd if=rootfs.img of=sdb seek=0x40000</pre> In order to make sure everything has write to SD card before unpluged, recommand to run below command: <pre style="margin-left: 40px">sync</pre> Note, when using boot from SD card, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value. <pre>append earlyprintk console=ttyS2,115200n8 rw root=/dev/mmcblk1p7 rootwait rootfstype=ext4 init=/sbin/init </pre> Write GPT partition table to SD card&nbsp;in U-Boot, and then U-Boot can find the boot partition and run into kernel. <pre>gpt write mmc 0 $partitions</pre> &nbsp; == Boot from U-Disk == Same as&nbsp;[[#Boot_from_SD.2FTF_Card|boot-from-sdcard]], but please note that U-Disk&nbsp;only support stage 4 and 5, see [[#Boot_Stage|Boot Stage]] for detail. If U-Disk used for stage 4 and 5, format the U-Disk in gpt format and at least 2 partitions, write ''boot.img'' and ''rootfs.img'' in those partitions; if U-Dist is only used for stage 5, we can ''dd ''the ''rootfs.img'' to U-Disk device directly. Note, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value. <pre> append earlyprintk console=ttyS2,115200n8 rw root=/dev/sda1 rootwait rootfstype=ext4 init=/sbin/init </pre> = Boot from Network = &nbsp; 5182b5051c5daf092b021ae7efef42a6e6fceb36 1087 1081 2017-04-20T09:01:37Z Kever 2 wikitext text/x-wiki &nbsp; &nbsp; &nbsp; = Boot introduce = &nbsp; First, let's make the concept clear, there are many boot stages when we boot up a Linux OS; Then we need to know about how the image should packaged, where&nbsp;the image locate; At lase, we will explain how to write to different&nbsp;media and boot from there. Here is Rockchip pre-released binaries which may be mentioned later: [https://github.com/rockchip-linux/rkbin https://github.com/rockchip-linux/rkbin] &nbsp; == Boot stage == Here is a table show the detail what we may use in Rockchip platform, for 2 boot stage: - use U-Boot SPL; - &nbsp;use Rockchp idbLoader which is combinded by Rockchip ddr init bin and miniloader bin; <pre>+--------+----------------+----------+-------------+---------+ | Boot | Terminology #1 | Actual | Rockchip | | | stage | | program | Image | | | number | | name | Name | | +--------+----------------+----------+-------------+---------+ | 1 | Primary | ROM code | BootRom | | | | Program | | | | | | Loader | | | | | | | | | | | 2 | Secondary | U-Boot |idbloader.img| 0x40 |including u-boot if not use miniloader | | Program | SPL |idbspl.img | | | | Loader (SPL) | | | | | | | | | | | 3 | - | U-Boot | bl3.itb | 0x200 | including u-boot and atf | | | | u-boot.bin | 0x200 | | | | | uboot.img | 0x4000 | only used with miniloader | | | | | | | | | ATF | trust.img | 0x6000 | only used with miniloader for armv8 | | | | | | | 4 | - | kernel | boot.img | 0x8000 | | | | | | | | 5 | - | rootfs | rootfs.img | 0x40000 | +--------+----------------+----------+-------------+---------+ </pre> Then when we talking about boot from eMMC/SD/U-Disk/net, they are in different concept: *Stage 1 is always in boot rom, it loads stage 2 and may load stage 3(when SPL_BACK_TO_BROM option enabled). *Boot from SPI flash means firmware for stage 2 and 3(SPL and U-Boot only) in SPI flash and stage 4/5 in other place; *Boot from eMMC means all the firmware(including stage 2, 3, 4, 5) in eMMC; *Boot from SD card means all the firmware(including stage 2, 3, 4, 5) in SD card; *Boot from U-Disk means firmware for stage 4 and 5(not including SPL and U-Boot) in Disk, optionally only including stage 5; *Boot from net/tftp means firmeware for stage 4 and 5(not including SPL and U-Boot) on the network; == Package option == After we know about the boot stages, Here are the file list before package for stage 2~4: *From source code: **From U-Boot: u-boot-spl.bin, u-boot.bin(may use u-boot-nodtb.bin and u-boot.dtb instead), **From kernel: kernel Image/zImage file, kernel dtb, **From ATF: bl31.bin; *From Rockchip binary: **ddr, usbplug, miniloader, bl31, (all with&nbsp;chip 'rkxx_'&nbsp; prefix and with version '_x.xx.bin' postfix); Here are the types to&nbsp;package image from those files: === idbspl.img === U-Boot SPL, with&nbsp;SPL_BACK_TO_BROM option '''disabled'''. <pre>mkimage -n rkxxxx -T rksd -d spl/u-boot-spl.bin idbspl.img</pre> Flash the idbspl.img to offset 0x40 which only including stage 2, and need flash stage 3 &nbsp;image to 0x200(which is defineded by CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR), the stage 3 image may be&nbsp;u-boot.bin directly(when there no ATF requirement), or FIT image bl3.itb(for ATF load from SPL, including bl31.bin, u-boot-nodtb.bin and u-boot.dtb). &nbsp; === idbloader.img === U-Boot SPL, with&nbsp;SPL_BACK_TO_BROM option '''enabled''': <pre>tools/mkimage -n rkxxxx -T rksd -d spl/u-boot-spl.bin idbloader.img cat u-boot.bin >> idbloader.img</pre> Flash the idbloader.img to offset 0x40 which including boot stage 2 and 3. Package the image from Rockchip binary: <pre>dd if=rkxx_ddr_vx.xx.bin of=ddr.bin bs=4 skip=1 tools/mkimage -n rkxxxx -T rksd -d ddr.bin idbloader.img rm ddr.bin cat rkxx_miniloader_vx.xx.bin >> idbloader.img</pre> Flash the idbloader.img to offset 0x40 which including stage 2, and you will need a uboot.img for boot stage 3. === bl3.itb === When using SPL to load the ATF, package the bl31.bin, u-boot-nodtb.bin and uboot.dtb into one FIT image. <pre>tools/mkimage -f fit4spl.its -E bl3.itb </pre> Flash the bl3.itb to offset 0x200, while&nbsp;need idbspl.img flasht to offset 0x40. === uboot.img === When using idbLoader from&nbsp;Rockchip miniloader, need package u-boot.bin into miniloader loadable format by Rockchip tool loaderimage. <pre>tools/loaderimage --pack --uboot u-boot.bin uboot.img</pre> Flash the uboot.img to offset 0x4000 which is stage 3; === trust.img === When using idbLoader from&nbsp;Rockchip miniloader, need package bl31.bin into miniloader loadable format by Rockchip tool trustmerge. <pre>tools/trustmerge tools/rk_tools/RKTRUST_RKXXXXTRUST.ini</pre> Flash the trust.img to offset 0x6000 which is for using Rockchip miniloader &nbsp; === rkxx_loader_vx.xx.xxx.bin === This is provide by Rockchip in binary mode, which is used for firmware upgrade to eMMC with [[Rkdevelptool|rkdeveloptool]], can not be wirte to media device directly. This is a package from ddr.bin, usbplug.bin, miniloader.bin, Rockchip tool ''DB ''command will make usbplug.bin running in target which perform as a Rockusb device. === boot.img === This image is package the kernel Image and dtb file into a know filesystem(FAT or EXT2) image for distro boot. See [[Rockchip_Kernel#Install_Boot.2Fkernel|Install kernel]] for detail about generate boot.img from kernel zImage/Image, dtb. Flash the boot.img to offset 0x8000 which is stage 4. === rootfs.img === Flash the rootfs.img to offset 0x40000 which is stage 5. &nbsp; = Flash and boot from Media device = Here we introduce how to write image to different Medeia device. Get image Ready: *For armv7 with SPL with SPL_BACK_TO_BROM option enabled: **idbLoader.img **boot.img or boot folder with zImage, dtb and exitlinulx inside **rootfs.img *For armv7 with SPL with SPL_BACK_TO_BROM option disabled: **idbspl.img **u-boot.bin **boot.img or boot folder with zImage, dtb and exitlinulx inside **rootfs.img *For armv7 with miniloader **idbLoader.img **uboot.img **boot.img or&nbsp;boot folder with zImage, dtb and exitlinulx inside **rootfs.img *For armv8 with SPL: **idbspl.img **bl3.itb **boot.img or&nbsp;boot folder with Image, dtb and exitlinulx inside **rootfs.img *For armv8 with miniloader **idbLoader.img **uboot.img **trust.img **boot.img or&nbsp;boot folder with Image, dtb and exitlinulx inside **rootfs.img &nbsp; &nbsp; == Boot from eMMC == The eMMC is on the hardware board, so we need: *Get the board into [[Rockusb#Maskrom_mode|maskrom mode]]; *Connect the target to PC with USB cable; *Flash the image to eMMC with [[Rkdevelptool|rkdeveloptool]] Example commands for flash image to target. Flash the gpt partition to target: <pre style="margin-left: 40px;">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool gpt parameter_gpt.txt</pre> *For armv7 with SPL with SPL_BACK_TO_BROM option enabled(rk3036, rk3188, rk3288): <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbloader.img rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> *For armv7 with SPL with SPL_BACK_TO_BROM option disabled(rk3288): <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbspl.img rkdeveloptool wl 0x200 u-boot.bin rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> *For armv7 with miniloader(rk3036, rk3188, rk3288) <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbloader.img rkdeveloptool wl 0x4000 uboot.img rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> *For armv8 with SPL(rk3399): <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbspl.img rkdeveloptool wl 0x200 bl3.itb rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> *For armv8 with miniloader(rk3399, rk3328) <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbloader.img rkdeveloptool wl 0x4000 uboot.img rkdeveloptool wl 0x6000 trust.img rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd</pre> &nbsp; == Boot from SD/TF Card == We can write SD/TF card with Linux PC ''dd'' command very easily. Insert SD card to PC and we assume the /dev/sdb is the SD card device. *For armv7 with SPL with SPL_BACK_TO_BROM option enabled(rk3036, rk3188, rk3288): <pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=0x40 dd if=boot.img of=sdb seek=0x8000 dd if=rootfs.img of=sdb seek=0x40000 </pre> *For armv7 with SPL with SPL_BACK_TO_BROM option disabled(rk3288): <pre style="margin-left: 40px">dd if=idbspl.img of=sdb seek=0x40 dd if=u-boot.bin of=sdb seek=0x200 dd if=boot.img of=sdb seek=0x8000 dd if=rootfs.img of=sdb seek=0x40000 </pre> *For armv7 with miniloader(rk3036, rk3188, rk3288) <pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=0x40 dd if=uboot.img of=sdb seek=0x4000 dd if=boot.img of=sdb seek=0x8000 dd if=rootfs.img of=sdb seek=0x40000 </pre> *For armv8 with SPL(rk3399): <pre style="margin-left: 40px">dd if=idbspl.img of=sdb seek=0x40 dd if=bl3.itb of=sdb seek=0x200 dd if=boot.img of=sdb seek=0x8000 dd if=rootfs.img of=sdb seek=0x40000 </pre> *For armv8 with miniloader(rk3399, rk3328) <pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=0x40 dd if=uboot.img of=sdb seek=0x4000 dd if=trust.img of=sdb seek=0x6000 dd if=boot.img of=sdb seek=0x8000 dd if=rootfs.img of=sdb seek=0x40000</pre> In order to make sure everything has write to SD card before unpluged, recommand to run below command: <pre style="margin-left: 40px">sync</pre> Note, when using boot from SD card, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value. <pre>append earlyprintk console=ttyS2,115200n8 rw root=/dev/mmcblk1p7 rootwait rootfstype=ext4 init=/sbin/init </pre> Write GPT partition table to SD card&nbsp;in U-Boot, and then U-Boot can find the boot partition and run into kernel. <pre>gpt write mmc 0 $partitions</pre> &nbsp; == Boot from U-Disk == Same as&nbsp;[[#Boot_from_SD.2FTF_Card|boot-from-sdcard]], but please note that U-Disk&nbsp;only support stage 4 and 5, see [[#Boot_Stage|Boot Stage]] for detail. If U-Disk used for stage 4 and 5, format the U-Disk in gpt format and at least 2 partitions, write ''boot.img'' and ''rootfs.img'' in those partitions; if U-Dist is only used for stage 5, we can ''dd ''the ''rootfs.img'' to U-Disk device directly. Note, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value. <pre> append earlyprintk console=ttyS2,115200n8 rw root=/dev/sda1 rootwait rootfstype=ext4 init=/sbin/init </pre> == Boot from Network == &nbsp; = See also = [[Rkdevelptool|rkdeveloptool]] [[Rockusb|rockusb]] [[Partitions|Rockchip Linux partition definition]] 836b7a62319dde56644fe868a30f1ede02d8acc6 1119 1087 2017-05-18T02:06:49Z Admin 1 wikitext text/x-wiki &nbsp; &nbsp; &nbsp; = Boot introduce = &nbsp; First, let's make the concept clear, there are many boot stages when we boot up a Linux OS; Then we need to know about how the image should packaged, where&nbsp;the image locate; At lase, we will explain how to write to different&nbsp;media and boot from there. Here is Rockchip pre-released binaries which may be mentioned later: [https://github.com/rockchip-linux/rkbin https://github.com/rockchip-linux/rkbin] &nbsp; == Boot stage == Here is a table show the detail what we may use in Rockchip platform, for 2 boot stage: - use U-Boot SPL; - &nbsp;use Rockchp idbLoader which is combinded by Rockchip ddr init bin and miniloader bin; <pre>+--------+----------------+----------+-------------+---------+ | Boot | Terminology #1 | Actual | Rockchip | | | stage | | program | Image | | | number | | name | Name | | +--------+----------------+----------+-------------+---------+ | 1 | Primary | ROM code | BootRom | | | | Program | | | | | | Loader | | | | | | | | | | | 2 | Secondary | U-Boot |idbloader.img| 0x40 |including u-boot if not use miniloader | | Program | SPL |idbspl.img | | | | Loader (SPL) | | | | | | | | | | | 3 | - | U-Boot | bl3.itb | 0x200 | including u-boot and atf | | | | u-boot.bin | 0x200 | | | | | uboot.img | 0x4000 | only used with miniloader | | | | | | | | | ATF | trust.img | 0x6000 | only used with miniloader for armv8 | | | | | | | 4 | - | kernel | boot.img | 0x8000 | | | | | | | | 5 | - | rootfs | rootfs.img | 0x40000 | +--------+----------------+----------+-------------+---------+ </pre> Then when we talking about boot from eMMC/SD/U-Disk/net, they are in different concept: *Stage 1 is always in boot rom, it loads stage 2 and may load stage 3(when SPL_BACK_TO_BROM option enabled). *Boot from SPI flash means firmware for stage 2 and 3(SPL and U-Boot only) in SPI flash and stage 4/5 in other place; *Boot from eMMC means all the firmware(including stage 2, 3, 4, 5) in eMMC; *Boot from SD card means all the firmware(including stage 2, 3, 4, 5) in SD card; *Boot from U-Disk means firmware for stage 4 and 5(not including SPL and U-Boot) in Disk, optionally only including stage 5; *Boot from net/tftp means firmeware for stage 4 and 5(not including SPL and U-Boot) on the network; == Package option == After we know about the boot stages, Here are the file list before package for stage 2~4: *From source code: **From U-Boot: u-boot-spl.bin, u-boot.bin(may use u-boot-nodtb.bin and u-boot.dtb instead), **From kernel: kernel Image/zImage file, kernel dtb, **From ATF: bl31.bin; *From Rockchip binary: **ddr, usbplug, miniloader, bl31, (all with&nbsp;chip 'rkxx_'&nbsp; prefix and with version '_x.xx.bin' postfix); Here are the types to&nbsp;package image from those files: === idbspl.img === U-Boot SPL, with&nbsp;SPL_BACK_TO_BROM option '''disabled'''. <pre>mkimage -n rkxxxx -T rksd -d spl/u-boot-spl.bin idbspl.img</pre> Flash the idbspl.img to offset 0x40 which only including stage 2, and need flash stage 3 &nbsp;image to 0x200(which is defineded by CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR), the stage 3 image may be&nbsp;u-boot.bin directly(when there no ATF requirement), or FIT image bl3.itb(for ATF load from SPL, including bl31.bin, u-boot-nodtb.bin and u-boot.dtb). &nbsp; === idbloader.img === U-Boot SPL, with&nbsp;SPL_BACK_TO_BROM option '''enabled''': <pre>tools/mkimage -n rkxxxx -T rksd -d spl/u-boot-spl.bin idbloader.img cat u-boot.bin >> idbloader.img</pre> Flash the idbloader.img to offset 0x40 which including boot stage 2 and 3. Package the image from Rockchip binary: <pre>dd if=rkxx_ddr_vx.xx.bin of=ddr.bin bs=4 skip=1 tools/mkimage -n rkxxxx -T rksd -d ddr.bin idbloader.img rm ddr.bin cat rkxx_miniloader_vx.xx.bin >> idbloader.img</pre> Flash the idbloader.img to offset 0x40 which including stage 2, and you will need a uboot.img for boot stage 3. === bl3.itb === When using SPL to load the ATF, package the bl31.bin, u-boot-nodtb.bin and uboot.dtb into one FIT image. <pre>tools/mkimage -f fit4spl.its -E bl3.itb </pre> Flash the bl3.itb to offset 0x200, while&nbsp;need idbspl.img flasht to offset 0x40. === uboot.img === When using idbLoader from&nbsp;Rockchip miniloader, need package u-boot.bin into miniloader loadable format by Rockchip tool loaderimage. <pre>tools/loaderimage --pack --uboot u-boot.bin uboot.img</pre> Flash the uboot.img to offset 0x4000 which is stage 3; === trust.img === When using idbLoader from&nbsp;Rockchip miniloader, need package bl31.bin into miniloader loadable format by Rockchip tool trustmerge. <pre>tools/trustmerge tools/rk_tools/RKTRUST_RKXXXXTRUST.ini</pre> Flash the trust.img to offset 0x6000 which is for using Rockchip miniloader &nbsp; === rkxx_loader_vx.xx.xxx.bin === This is provide by Rockchip in binary mode, which is used for firmware upgrade to eMMC with [[Rkdeveloptool|rkdeveloptool]], can not be wirte to media device directly. This is a package from ddr.bin, usbplug.bin, miniloader.bin, Rockchip tool ''DB ''command will make usbplug.bin running in target which perform as a Rockusb device. === boot.img === This image is package the kernel Image and dtb file into a know filesystem(FAT or EXT2) image for distro boot. See [[Rockchip_Kernel#Install_Boot.2Fkernel|Install kernel]] for detail about generate boot.img from kernel zImage/Image, dtb. Flash the boot.img to offset 0x8000 which is stage 4. === rootfs.img === Flash the rootfs.img to offset 0x40000 which is stage 5. &nbsp; = Flash and boot from Media device = Here we introduce how to write image to different Medeia device. Get image Ready: *For armv7 with SPL with SPL_BACK_TO_BROM option enabled: **idbLoader.img **boot.img or boot folder with zImage, dtb and exitlinulx inside **rootfs.img *For armv7 with SPL with SPL_BACK_TO_BROM option disabled: **idbspl.img **u-boot.bin **boot.img or boot folder with zImage, dtb and exitlinulx inside **rootfs.img *For armv7 with miniloader **idbLoader.img **uboot.img **boot.img or&nbsp;boot folder with zImage, dtb and exitlinulx inside **rootfs.img *For armv8 with SPL: **idbspl.img **bl3.itb **boot.img or&nbsp;boot folder with Image, dtb and exitlinulx inside **rootfs.img *For armv8 with miniloader **idbLoader.img **uboot.img **trust.img **boot.img or&nbsp;boot folder with Image, dtb and exitlinulx inside **rootfs.img &nbsp; &nbsp; == Boot from eMMC == The eMMC is on the hardware board, so we need: *Get the board into [[Rockusb#Maskrom_mode|maskrom mode]]; *Connect the target to PC with USB cable; *Flash the image to eMMC with [[Rkdevelptool|rkdeveloptool]] Example commands for flash image to target. Flash the gpt partition to target: <pre style="margin-left: 40px;">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool gpt parameter_gpt.txt</pre> *For armv7 with SPL with SPL_BACK_TO_BROM option enabled(rk3036, rk3188, rk3288): <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbloader.img rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> *For armv7 with SPL with SPL_BACK_TO_BROM option disabled(rk3288): <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbspl.img rkdeveloptool wl 0x200 u-boot.bin rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> *For armv7 with miniloader(rk3036, rk3188, rk3288) <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbloader.img rkdeveloptool wl 0x4000 uboot.img rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> *For armv8 with SPL(rk3399): <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbspl.img rkdeveloptool wl 0x200 bl3.itb rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> *For armv8 with miniloader(rk3399, rk3328) <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbloader.img rkdeveloptool wl 0x4000 uboot.img rkdeveloptool wl 0x6000 trust.img rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd</pre> &nbsp; == Boot from SD/TF Card == We can write SD/TF card with Linux PC ''dd'' command very easily. Insert SD card to PC and we assume the /dev/sdb is the SD card device. *For armv7 with SPL with SPL_BACK_TO_BROM option enabled(rk3036, rk3188, rk3288): <pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=0x40 dd if=boot.img of=sdb seek=0x8000 dd if=rootfs.img of=sdb seek=0x40000 </pre> *For armv7 with SPL with SPL_BACK_TO_BROM option disabled(rk3288): <pre style="margin-left: 40px">dd if=idbspl.img of=sdb seek=0x40 dd if=u-boot.bin of=sdb seek=0x200 dd if=boot.img of=sdb seek=0x8000 dd if=rootfs.img of=sdb seek=0x40000 </pre> *For armv7 with miniloader(rk3036, rk3188, rk3288) <pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=0x40 dd if=uboot.img of=sdb seek=0x4000 dd if=boot.img of=sdb seek=0x8000 dd if=rootfs.img of=sdb seek=0x40000 </pre> *For armv8 with SPL(rk3399): <pre style="margin-left: 40px">dd if=idbspl.img of=sdb seek=0x40 dd if=bl3.itb of=sdb seek=0x200 dd if=boot.img of=sdb seek=0x8000 dd if=rootfs.img of=sdb seek=0x40000 </pre> *For armv8 with miniloader(rk3399, rk3328) <pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=0x40 dd if=uboot.img of=sdb seek=0x4000 dd if=trust.img of=sdb seek=0x6000 dd if=boot.img of=sdb seek=0x8000 dd if=rootfs.img of=sdb seek=0x40000</pre> In order to make sure everything has write to SD card before unpluged, recommand to run below command: <pre style="margin-left: 40px">sync</pre> Note, when using boot from SD card, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value. <pre>append earlyprintk console=ttyS2,115200n8 rw root=/dev/mmcblk1p7 rootwait rootfstype=ext4 init=/sbin/init </pre> Write GPT partition table to SD card&nbsp;in U-Boot, and then U-Boot can find the boot partition and run into kernel. <pre>gpt write mmc 0 $partitions</pre> &nbsp; == Boot from U-Disk == Same as&nbsp;[[#Boot_from_SD.2FTF_Card|boot-from-sdcard]], but please note that U-Disk&nbsp;only support stage 4 and 5, see [[#Boot_Stage|Boot Stage]] for detail. If U-Disk used for stage 4 and 5, format the U-Disk in gpt format and at least 2 partitions, write ''boot.img'' and ''rootfs.img'' in those partitions; if U-Dist is only used for stage 5, we can ''dd ''the ''rootfs.img'' to U-Disk device directly. Note, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value. <pre> append earlyprintk console=ttyS2,115200n8 rw root=/dev/sda1 rootwait rootfstype=ext4 init=/sbin/init </pre> == Boot from Network == &nbsp; = See also = [[Rkdevelptool|rkdeveloptool]] [[Rockusb|rockusb]] [[Partitions|Rockchip Linux partition definition]] 7ee551c240b29af5769d35b99afe2ce2a8bd602e 1120 1119 2017-05-18T02:07:19Z Admin 1 wikitext text/x-wiki &nbsp; &nbsp; &nbsp; = Boot introduce = &nbsp; First, let's make the concept clear, there are many boot stages when we boot up a Linux OS; Then we need to know about how the image should packaged, where&nbsp;the image locate; At lase, we will explain how to write to different&nbsp;media and boot from there. Here is Rockchip pre-released binaries which may be mentioned later: [https://github.com/rockchip-linux/rkbin https://github.com/rockchip-linux/rkbin] &nbsp; == Boot stage == Here is a table show the detail what we may use in Rockchip platform, for 2 boot stage: - use U-Boot SPL; - &nbsp;use Rockchp idbLoader which is combinded by Rockchip ddr init bin and miniloader bin; <pre>+--------+----------------+----------+-------------+---------+ | Boot | Terminology #1 | Actual | Rockchip | | | stage | | program | Image | | | number | | name | Name | | +--------+----------------+----------+-------------+---------+ | 1 | Primary | ROM code | BootRom | | | | Program | | | | | | Loader | | | | | | | | | | | 2 | Secondary | U-Boot |idbloader.img| 0x40 |including u-boot if not use miniloader | | Program | SPL |idbspl.img | | | | Loader (SPL) | | | | | | | | | | | 3 | - | U-Boot | bl3.itb | 0x200 | including u-boot and atf | | | | u-boot.bin | 0x200 | | | | | uboot.img | 0x4000 | only used with miniloader | | | | | | | | | ATF | trust.img | 0x6000 | only used with miniloader for armv8 | | | | | | | 4 | - | kernel | boot.img | 0x8000 | | | | | | | | 5 | - | rootfs | rootfs.img | 0x40000 | +--------+----------------+----------+-------------+---------+ </pre> Then when we talking about boot from eMMC/SD/U-Disk/net, they are in different concept: *Stage 1 is always in boot rom, it loads stage 2 and may load stage 3(when SPL_BACK_TO_BROM option enabled). *Boot from SPI flash means firmware for stage 2 and 3(SPL and U-Boot only) in SPI flash and stage 4/5 in other place; *Boot from eMMC means all the firmware(including stage 2, 3, 4, 5) in eMMC; *Boot from SD card means all the firmware(including stage 2, 3, 4, 5) in SD card; *Boot from U-Disk means firmware for stage 4 and 5(not including SPL and U-Boot) in Disk, optionally only including stage 5; *Boot from net/tftp means firmeware for stage 4 and 5(not including SPL and U-Boot) on the network; == Package option == After we know about the boot stages, Here are the file list before package for stage 2~4: *From source code: **From U-Boot: u-boot-spl.bin, u-boot.bin(may use u-boot-nodtb.bin and u-boot.dtb instead), **From kernel: kernel Image/zImage file, kernel dtb, **From ATF: bl31.bin; *From Rockchip binary: **ddr, usbplug, miniloader, bl31, (all with&nbsp;chip 'rkxx_'&nbsp; prefix and with version '_x.xx.bin' postfix); Here are the types to&nbsp;package image from those files: === idbspl.img === U-Boot SPL, with&nbsp;SPL_BACK_TO_BROM option '''disabled'''. <pre>mkimage -n rkxxxx -T rksd -d spl/u-boot-spl.bin idbspl.img</pre> Flash the idbspl.img to offset 0x40 which only including stage 2, and need flash stage 3 &nbsp;image to 0x200(which is defineded by CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR), the stage 3 image may be&nbsp;u-boot.bin directly(when there no ATF requirement), or FIT image bl3.itb(for ATF load from SPL, including bl31.bin, u-boot-nodtb.bin and u-boot.dtb). &nbsp; === idbloader.img === U-Boot SPL, with&nbsp;SPL_BACK_TO_BROM option '''enabled''': <pre>tools/mkimage -n rkxxxx -T rksd -d spl/u-boot-spl.bin idbloader.img cat u-boot.bin >> idbloader.img</pre> Flash the idbloader.img to offset 0x40 which including boot stage 2 and 3. Package the image from Rockchip binary: <pre>dd if=rkxx_ddr_vx.xx.bin of=ddr.bin bs=4 skip=1 tools/mkimage -n rkxxxx -T rksd -d ddr.bin idbloader.img rm ddr.bin cat rkxx_miniloader_vx.xx.bin >> idbloader.img</pre> Flash the idbloader.img to offset 0x40 which including stage 2, and you will need a uboot.img for boot stage 3. === bl3.itb === When using SPL to load the ATF, package the bl31.bin, u-boot-nodtb.bin and uboot.dtb into one FIT image. <pre>tools/mkimage -f fit4spl.its -E bl3.itb </pre> Flash the bl3.itb to offset 0x200, while&nbsp;need idbspl.img flasht to offset 0x40. === uboot.img === When using idbLoader from&nbsp;Rockchip miniloader, need package u-boot.bin into miniloader loadable format by Rockchip tool loaderimage. <pre>tools/loaderimage --pack --uboot u-boot.bin uboot.img</pre> Flash the uboot.img to offset 0x4000 which is stage 3; === trust.img === When using idbLoader from&nbsp;Rockchip miniloader, need package bl31.bin into miniloader loadable format by Rockchip tool trustmerge. <pre>tools/trustmerge tools/rk_tools/RKTRUST_RKXXXXTRUST.ini</pre> Flash the trust.img to offset 0x6000 which is for using Rockchip miniloader &nbsp; === rkxx_loader_vx.xx.xxx.bin === This is provide by Rockchip in binary mode, which is used for firmware upgrade to eMMC with [[Rkdeveloptool|rkdeveloptool]], can not be wirte to media device directly. This is a package from ddr.bin, usbplug.bin, miniloader.bin, Rockchip tool ''DB ''command will make usbplug.bin running in target which perform as a Rockusb device. === boot.img === This image is package the kernel Image and dtb file into a know filesystem(FAT or EXT2) image for distro boot. See [[Rockchip_Kernel#Install_Boot.2Fkernel|Install kernel]] for detail about generate boot.img from kernel zImage/Image, dtb. Flash the boot.img to offset 0x8000 which is stage 4. === rootfs.img === Flash the rootfs.img to offset 0x40000 which is stage 5. &nbsp; = Flash and boot from Media device = Here we introduce how to write image to different Medeia device. Get image Ready: *For armv7 with SPL with SPL_BACK_TO_BROM option enabled: **idbLoader.img **boot.img or boot folder with zImage, dtb and exitlinulx inside **rootfs.img *For armv7 with SPL with SPL_BACK_TO_BROM option disabled: **idbspl.img **u-boot.bin **boot.img or boot folder with zImage, dtb and exitlinulx inside **rootfs.img *For armv7 with miniloader **idbLoader.img **uboot.img **boot.img or&nbsp;boot folder with zImage, dtb and exitlinulx inside **rootfs.img *For armv8 with SPL: **idbspl.img **bl3.itb **boot.img or&nbsp;boot folder with Image, dtb and exitlinulx inside **rootfs.img *For armv8 with miniloader **idbLoader.img **uboot.img **trust.img **boot.img or&nbsp;boot folder with Image, dtb and exitlinulx inside **rootfs.img &nbsp; &nbsp; == Boot from eMMC == The eMMC is on the hardware board, so we need: *Get the board into [[Rockusb#Maskrom_mode|maskrom mode]]; *Connect the target to PC with USB cable; *Flash the image to eMMC with [[Rkdeveloptool|rkdeveloptool]] Example commands for flash image to target. Flash the gpt partition to target: <pre style="margin-left: 40px;">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool gpt parameter_gpt.txt</pre> *For armv7 with SPL with SPL_BACK_TO_BROM option enabled(rk3036, rk3188, rk3288): <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbloader.img rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> *For armv7 with SPL with SPL_BACK_TO_BROM option disabled(rk3288): <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbspl.img rkdeveloptool wl 0x200 u-boot.bin rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> *For armv7 with miniloader(rk3036, rk3188, rk3288) <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbloader.img rkdeveloptool wl 0x4000 uboot.img rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> *For armv8 with SPL(rk3399): <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbspl.img rkdeveloptool wl 0x200 bl3.itb rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> *For armv8 with miniloader(rk3399, rk3328) <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbloader.img rkdeveloptool wl 0x4000 uboot.img rkdeveloptool wl 0x6000 trust.img rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd</pre> &nbsp; == Boot from SD/TF Card == We can write SD/TF card with Linux PC ''dd'' command very easily. Insert SD card to PC and we assume the /dev/sdb is the SD card device. *For armv7 with SPL with SPL_BACK_TO_BROM option enabled(rk3036, rk3188, rk3288): <pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=0x40 dd if=boot.img of=sdb seek=0x8000 dd if=rootfs.img of=sdb seek=0x40000 </pre> *For armv7 with SPL with SPL_BACK_TO_BROM option disabled(rk3288): <pre style="margin-left: 40px">dd if=idbspl.img of=sdb seek=0x40 dd if=u-boot.bin of=sdb seek=0x200 dd if=boot.img of=sdb seek=0x8000 dd if=rootfs.img of=sdb seek=0x40000 </pre> *For armv7 with miniloader(rk3036, rk3188, rk3288) <pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=0x40 dd if=uboot.img of=sdb seek=0x4000 dd if=boot.img of=sdb seek=0x8000 dd if=rootfs.img of=sdb seek=0x40000 </pre> *For armv8 with SPL(rk3399): <pre style="margin-left: 40px">dd if=idbspl.img of=sdb seek=0x40 dd if=bl3.itb of=sdb seek=0x200 dd if=boot.img of=sdb seek=0x8000 dd if=rootfs.img of=sdb seek=0x40000 </pre> *For armv8 with miniloader(rk3399, rk3328) <pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=0x40 dd if=uboot.img of=sdb seek=0x4000 dd if=trust.img of=sdb seek=0x6000 dd if=boot.img of=sdb seek=0x8000 dd if=rootfs.img of=sdb seek=0x40000</pre> In order to make sure everything has write to SD card before unpluged, recommand to run below command: <pre style="margin-left: 40px">sync</pre> Note, when using boot from SD card, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value. <pre>append earlyprintk console=ttyS2,115200n8 rw root=/dev/mmcblk1p7 rootwait rootfstype=ext4 init=/sbin/init </pre> Write GPT partition table to SD card&nbsp;in U-Boot, and then U-Boot can find the boot partition and run into kernel. <pre>gpt write mmc 0 $partitions</pre> &nbsp; == Boot from U-Disk == Same as&nbsp;[[#Boot_from_SD.2FTF_Card|boot-from-sdcard]], but please note that U-Disk&nbsp;only support stage 4 and 5, see [[#Boot_Stage|Boot Stage]] for detail. If U-Disk used for stage 4 and 5, format the U-Disk in gpt format and at least 2 partitions, write ''boot.img'' and ''rootfs.img'' in those partitions; if U-Dist is only used for stage 5, we can ''dd ''the ''rootfs.img'' to U-Disk device directly. Note, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value. <pre> append earlyprintk console=ttyS2,115200n8 rw root=/dev/sda1 rootwait rootfstype=ext4 init=/sbin/init </pre> == Boot from Network == &nbsp; = See also = [[Rkdevelptool|rkdeveloptool]] [[Rockusb|rockusb]] [[Partitions|Rockchip Linux partition definition]] edd83ad672cff9cc8f7c6e686e47454a49aee2ce 1121 1120 2017-05-18T02:07:36Z Admin 1 wikitext text/x-wiki &nbsp; &nbsp; &nbsp; = Boot introduce = &nbsp; First, let's make the concept clear, there are many boot stages when we boot up a Linux OS; Then we need to know about how the image should packaged, where&nbsp;the image locate; At lase, we will explain how to write to different&nbsp;media and boot from there. Here is Rockchip pre-released binaries which may be mentioned later: [https://github.com/rockchip-linux/rkbin https://github.com/rockchip-linux/rkbin] &nbsp; == Boot stage == Here is a table show the detail what we may use in Rockchip platform, for 2 boot stage: - use U-Boot SPL; - &nbsp;use Rockchp idbLoader which is combinded by Rockchip ddr init bin and miniloader bin; <pre>+--------+----------------+----------+-------------+---------+ | Boot | Terminology #1 | Actual | Rockchip | | | stage | | program | Image | | | number | | name | Name | | +--------+----------------+----------+-------------+---------+ | 1 | Primary | ROM code | BootRom | | | | Program | | | | | | Loader | | | | | | | | | | | 2 | Secondary | U-Boot |idbloader.img| 0x40 |including u-boot if not use miniloader | | Program | SPL |idbspl.img | | | | Loader (SPL) | | | | | | | | | | | 3 | - | U-Boot | bl3.itb | 0x200 | including u-boot and atf | | | | u-boot.bin | 0x200 | | | | | uboot.img | 0x4000 | only used with miniloader | | | | | | | | | ATF | trust.img | 0x6000 | only used with miniloader for armv8 | | | | | | | 4 | - | kernel | boot.img | 0x8000 | | | | | | | | 5 | - | rootfs | rootfs.img | 0x40000 | +--------+----------------+----------+-------------+---------+ </pre> Then when we talking about boot from eMMC/SD/U-Disk/net, they are in different concept: *Stage 1 is always in boot rom, it loads stage 2 and may load stage 3(when SPL_BACK_TO_BROM option enabled). *Boot from SPI flash means firmware for stage 2 and 3(SPL and U-Boot only) in SPI flash and stage 4/5 in other place; *Boot from eMMC means all the firmware(including stage 2, 3, 4, 5) in eMMC; *Boot from SD card means all the firmware(including stage 2, 3, 4, 5) in SD card; *Boot from U-Disk means firmware for stage 4 and 5(not including SPL and U-Boot) in Disk, optionally only including stage 5; *Boot from net/tftp means firmeware for stage 4 and 5(not including SPL and U-Boot) on the network; == Package option == After we know about the boot stages, Here are the file list before package for stage 2~4: *From source code: **From U-Boot: u-boot-spl.bin, u-boot.bin(may use u-boot-nodtb.bin and u-boot.dtb instead), **From kernel: kernel Image/zImage file, kernel dtb, **From ATF: bl31.bin; *From Rockchip binary: **ddr, usbplug, miniloader, bl31, (all with&nbsp;chip 'rkxx_'&nbsp; prefix and with version '_x.xx.bin' postfix); Here are the types to&nbsp;package image from those files: === idbspl.img === U-Boot SPL, with&nbsp;SPL_BACK_TO_BROM option '''disabled'''. <pre>mkimage -n rkxxxx -T rksd -d spl/u-boot-spl.bin idbspl.img</pre> Flash the idbspl.img to offset 0x40 which only including stage 2, and need flash stage 3 &nbsp;image to 0x200(which is defineded by CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR), the stage 3 image may be&nbsp;u-boot.bin directly(when there no ATF requirement), or FIT image bl3.itb(for ATF load from SPL, including bl31.bin, u-boot-nodtb.bin and u-boot.dtb). &nbsp; === idbloader.img === U-Boot SPL, with&nbsp;SPL_BACK_TO_BROM option '''enabled''': <pre>tools/mkimage -n rkxxxx -T rksd -d spl/u-boot-spl.bin idbloader.img cat u-boot.bin >> idbloader.img</pre> Flash the idbloader.img to offset 0x40 which including boot stage 2 and 3. Package the image from Rockchip binary: <pre>dd if=rkxx_ddr_vx.xx.bin of=ddr.bin bs=4 skip=1 tools/mkimage -n rkxxxx -T rksd -d ddr.bin idbloader.img rm ddr.bin cat rkxx_miniloader_vx.xx.bin >> idbloader.img</pre> Flash the idbloader.img to offset 0x40 which including stage 2, and you will need a uboot.img for boot stage 3. === bl3.itb === When using SPL to load the ATF, package the bl31.bin, u-boot-nodtb.bin and uboot.dtb into one FIT image. <pre>tools/mkimage -f fit4spl.its -E bl3.itb </pre> Flash the bl3.itb to offset 0x200, while&nbsp;need idbspl.img flasht to offset 0x40. === uboot.img === When using idbLoader from&nbsp;Rockchip miniloader, need package u-boot.bin into miniloader loadable format by Rockchip tool loaderimage. <pre>tools/loaderimage --pack --uboot u-boot.bin uboot.img</pre> Flash the uboot.img to offset 0x4000 which is stage 3; === trust.img === When using idbLoader from&nbsp;Rockchip miniloader, need package bl31.bin into miniloader loadable format by Rockchip tool trustmerge. <pre>tools/trustmerge tools/rk_tools/RKTRUST_RKXXXXTRUST.ini</pre> Flash the trust.img to offset 0x6000 which is for using Rockchip miniloader &nbsp; === rkxx_loader_vx.xx.xxx.bin === This is provide by Rockchip in binary mode, which is used for firmware upgrade to eMMC with [[Rkdeveloptool|rkdeveloptool]], can not be wirte to media device directly. This is a package from ddr.bin, usbplug.bin, miniloader.bin, Rockchip tool ''DB ''command will make usbplug.bin running in target which perform as a Rockusb device. === boot.img === This image is package the kernel Image and dtb file into a know filesystem(FAT or EXT2) image for distro boot. See [[Rockchip_Kernel#Install_Boot.2Fkernel|Install kernel]] for detail about generate boot.img from kernel zImage/Image, dtb. Flash the boot.img to offset 0x8000 which is stage 4. === rootfs.img === Flash the rootfs.img to offset 0x40000 which is stage 5. &nbsp; = Flash and boot from Media device = Here we introduce how to write image to different Medeia device. Get image Ready: *For armv7 with SPL with SPL_BACK_TO_BROM option enabled: **idbLoader.img **boot.img or boot folder with zImage, dtb and exitlinulx inside **rootfs.img *For armv7 with SPL with SPL_BACK_TO_BROM option disabled: **idbspl.img **u-boot.bin **boot.img or boot folder with zImage, dtb and exitlinulx inside **rootfs.img *For armv7 with miniloader **idbLoader.img **uboot.img **boot.img or&nbsp;boot folder with zImage, dtb and exitlinulx inside **rootfs.img *For armv8 with SPL: **idbspl.img **bl3.itb **boot.img or&nbsp;boot folder with Image, dtb and exitlinulx inside **rootfs.img *For armv8 with miniloader **idbLoader.img **uboot.img **trust.img **boot.img or&nbsp;boot folder with Image, dtb and exitlinulx inside **rootfs.img &nbsp; &nbsp; == Boot from eMMC == The eMMC is on the hardware board, so we need: *Get the board into [[Rockusb#Maskrom_mode|maskrom mode]]; *Connect the target to PC with USB cable; *Flash the image to eMMC with [[Rkdeveloptool|rkdeveloptool]] Example commands for flash image to target. Flash the gpt partition to target: <pre style="margin-left: 40px;">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool gpt parameter_gpt.txt</pre> *For armv7 with SPL with SPL_BACK_TO_BROM option enabled(rk3036, rk3188, rk3288): <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbloader.img rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> *For armv7 with SPL with SPL_BACK_TO_BROM option disabled(rk3288): <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbspl.img rkdeveloptool wl 0x200 u-boot.bin rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> *For armv7 with miniloader(rk3036, rk3188, rk3288) <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbloader.img rkdeveloptool wl 0x4000 uboot.img rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> *For armv8 with SPL(rk3399): <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbspl.img rkdeveloptool wl 0x200 bl3.itb rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> *For armv8 with miniloader(rk3399, rk3328) <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbloader.img rkdeveloptool wl 0x4000 uboot.img rkdeveloptool wl 0x6000 trust.img rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd</pre> &nbsp; == Boot from SD/TF Card == We can write SD/TF card with Linux PC ''dd'' command very easily. Insert SD card to PC and we assume the /dev/sdb is the SD card device. *For armv7 with SPL with SPL_BACK_TO_BROM option enabled(rk3036, rk3188, rk3288): <pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=0x40 dd if=boot.img of=sdb seek=0x8000 dd if=rootfs.img of=sdb seek=0x40000 </pre> *For armv7 with SPL with SPL_BACK_TO_BROM option disabled(rk3288): <pre style="margin-left: 40px">dd if=idbspl.img of=sdb seek=0x40 dd if=u-boot.bin of=sdb seek=0x200 dd if=boot.img of=sdb seek=0x8000 dd if=rootfs.img of=sdb seek=0x40000 </pre> *For armv7 with miniloader(rk3036, rk3188, rk3288) <pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=0x40 dd if=uboot.img of=sdb seek=0x4000 dd if=boot.img of=sdb seek=0x8000 dd if=rootfs.img of=sdb seek=0x40000 </pre> *For armv8 with SPL(rk3399): <pre style="margin-left: 40px">dd if=idbspl.img of=sdb seek=0x40 dd if=bl3.itb of=sdb seek=0x200 dd if=boot.img of=sdb seek=0x8000 dd if=rootfs.img of=sdb seek=0x40000 </pre> *For armv8 with miniloader(rk3399, rk3328) <pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=0x40 dd if=uboot.img of=sdb seek=0x4000 dd if=trust.img of=sdb seek=0x6000 dd if=boot.img of=sdb seek=0x8000 dd if=rootfs.img of=sdb seek=0x40000</pre> In order to make sure everything has write to SD card before unpluged, recommand to run below command: <pre style="margin-left: 40px">sync</pre> Note, when using boot from SD card, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value. <pre>append earlyprintk console=ttyS2,115200n8 rw root=/dev/mmcblk1p7 rootwait rootfstype=ext4 init=/sbin/init </pre> Write GPT partition table to SD card&nbsp;in U-Boot, and then U-Boot can find the boot partition and run into kernel. <pre>gpt write mmc 0 $partitions</pre> &nbsp; == Boot from U-Disk == Same as&nbsp;[[#Boot_from_SD.2FTF_Card|boot-from-sdcard]], but please note that U-Disk&nbsp;only support stage 4 and 5, see [[#Boot_Stage|Boot Stage]] for detail. If U-Disk used for stage 4 and 5, format the U-Disk in gpt format and at least 2 partitions, write ''boot.img'' and ''rootfs.img'' in those partitions; if U-Dist is only used for stage 5, we can ''dd ''the ''rootfs.img'' to U-Disk device directly. Note, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value. <pre> append earlyprintk console=ttyS2,115200n8 rw root=/dev/sda1 rootwait rootfstype=ext4 init=/sbin/init </pre> == Boot from Network == &nbsp; = See also = [[Rkdeveloptool|rkdeveloptool]] [[Rockusb|rockusb]] [[Partitions|Rockchip Linux partition definition]] 06040dcf85997abd1212a159127558de6c076377 Main Page 0 16 1060 927 2017-04-17T01:29:28Z Admin 1 wikitext text/x-wiki = '''Source code''' = Rockchip provide open source software on Github including fully support for Linux Based OS: *Github: [https://github.com/rockchip-linux rockchip-linux] You can also find software for Rockchip SoCs from Upstream: *[https://www.kernel.org/ Linux kernel] *[http://www.denx.de/wiki/U-Boot/WebHome U-Boot] *[https://github.com/ARM-software/arm-trusted-firmware ARM Trusted Firmware] If you are using a Chrombook with Rockchip SoC, you can use: *[https://chromium.googlesource.com/chromiumos/third_party/coreboot Chromium OS&nbsp;Coreboot] *[https://chromium.googlesource.com/chromiumos/third_party/kernel Chromium OS kernel] &nbsp; = '''Hardware Document''' = Here are the documents for SoCs, you can find&nbsp;Hardware device/board information on [[Devices|DEVICE PAGE]]. {| border="1" cellpadding="0" cellspacing="0" class="table_style" |- ! style="width:92px;" | <p style="text-align: center;">SoC</p> ! style="width:286px;" | <p style="text-align: center;">Description</p> ! style="width:189px;" | <p style="text-align: center;">Download</p> |- | style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p> | style="width:286px;" | Quad-core Cortex-A17 CPU, MALI-T764 GPU | style="width:189px;" | [[Media:Rockchip_RK3288_TRM_V1.2_Part1-20170321.pdf|TRM]], [[Media:Rockchip_RK3288_Datasheet_V2.2-20170301.pdf|Datasheet]],&nbsp; [[Media:Rk3288_hardware_reference.zip|Schematic&Layout Guide]] |- | style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p> | style="width:286px;" | Quad-core Cortex-A53 CPU,MALI-450MP2 GPU | style="width:189px;" | TRM, [[Media:Rockchip_RK3328_Datasheet_V1.1-20170309.pdf|Datasheet]],&nbsp; [[Media:Rk3328_hardware_reference.zip|Schematic&Layout Guide]] |- | style="width:92px;" | <p style="text-align: center;">[[RK3399|RK3399]]</p> | style="width:286px;" | Dual-core Cortex-A72, Quad-core Cortex-A53 CPU, MALI-T864 GPU | style="width:189px;" | TRM, [[Media:Rockchip_RK3399_Datasheet_V1.6-20170301.pdf|Datasheet]],&nbsp; [[Media:Rk3399_hardware_reference.zip|Schematic&Layout Guide]] |} &nbsp; = '''Software development&nbsp;''' = *'''Porting guide for Linux based OS/Distribution''' **[[Linux_user_guide|Linux_user_guide]] **[[Debian|Debian]] **[[Yocto|Yocto]] **[[Buildroot|Buildroot]] **[[Distribution|Other distribution]] *'''BSP module user guide''' **[[U-Boot|U-Boot]]&nbsp; **[[Rockchip_Kernel|Rockchip Kernel]] **[[Upstream_Kernel|Upstream Kernel]] **[[Atf|ARM Trusted&nbsp;Firmware]] *'''Graphics and Multimedia&nbsp;user guide''' **[[Graphics|Graphics and display]] **[[mpp|Multimedia--Video Codec]] **[[camera|Multimedia--Camera]] *'''Tool and Firmware Upgrade''' **[[Rockusb|Rockusb]] **[[Rkdevelptool|Rkdevelptool]] **[[Boot_option|Boot_option]] '''<span style="font-size:xx-large;">Feedback</span>''' Any question about software module on github, please ask&nbsp;at issue page of github project. If you have any other questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website, Email-to: opensource@rock-chips.com 15b27a6398e873a29b3c5621f016ddf1ba624521 1090 1060 2017-04-21T07:09:35Z Admin 1 wikitext text/x-wiki = '''Source code''' = Rockchip provide open source software on Github including fully support for Linux Based OS: *Github: [https://github.com/rockchip-linux rockchip-linux] You can also find software for Rockchip SoCs from Upstream: *[https://www.kernel.org/ Linux kernel] *[http://www.denx.de/wiki/U-Boot/WebHome U-Boot] *[https://github.com/ARM-software/arm-trusted-firmware ARM Trusted Firmware] If you are using a Chrombook with Rockchip SoC, you can use: *[https://chromium.googlesource.com/chromiumos/third_party/coreboot Chromium OS&nbsp;Coreboot] *[https://chromium.googlesource.com/chromiumos/third_party/kernel Chromium OS kernel] &nbsp; = '''Hardware Document''' = Here are the documents for SoCs, you can find&nbsp;Hardware device/board information on [[Devices|DEVICE PAGE]]. {| border="1" cellpadding="0" cellspacing="0" class="table_style" |- ! style="width:92px;" | <p style="text-align: center;">SoC</p> ! style="width:286px;" | <p style="text-align: center;">Description</p> ! style="width:189px;" | <p style="text-align: center;">Download</p> |- | style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p> | style="width:286px;" | Quad-core Cortex-A17 CPU, MALI-T764 GPU | style="width:189px;" | [[Media:Rockchip_RK3288_TRM_V1.2_Part1-20170321.pdf|TRM]], [[Media:Rockchip_RK3288_Datasheet_V2.2-20170301.pdf|Datasheet]],&nbsp; [[Media:Rk3288_hardware_reference.zip|Schematic&Layout Guide]] |- | style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p> | style="width:286px;" | Quad-core Cortex-A53 CPU,MALI-450MP2 GPU | style="width:189px;" | [[Media:Rockchip_RK3328TRM_V1.1-Part1-20170321.pdf|TRM]], [[Media:Rockchip_RK3328_Datasheet_V1.1-20170309.pdf|Datasheet]],&nbsp; [[Media:Rk3328_hardware_reference.zip|Schematic&Layout Guide]] |- | style="width:92px;" | <p style="text-align: center;">[[RK3399|RK3399]]</p> | style="width:286px;" | Dual-core Cortex-A72, Quad-core Cortex-A53 CPU, MALI-T864 GPU | style="width:189px;" | TRM, [[Media:Rockchip_RK3399_Datasheet_V1.6-20170301.pdf|Datasheet]],&nbsp; [[Media:Rk3399_hardware_reference.zip|Schematic&Layout Guide]] |} &nbsp; = '''Software development&nbsp;''' = *'''Porting guide for Linux based OS/Distribution''' **[[Linux_user_guide|Linux_user_guide]] **[[Debian|Debian]] **[[Yocto|Yocto]] **[[Buildroot|Buildroot]] **[[Distribution|Other distribution]] *'''BSP module user guide''' **[[U-Boot|U-Boot]]&nbsp; **[[Rockchip_Kernel|Rockchip Kernel]] **[[Upstream_Kernel|Upstream Kernel]] **[[Atf|ARM Trusted&nbsp;Firmware]] *'''Graphics and Multimedia&nbsp;user guide''' **[[Graphics|Graphics and display]] **[[mpp|Multimedia--Video Codec]] **[[camera|Multimedia--Camera]] *'''Tool and Firmware Upgrade''' **[[Rockusb|Rockusb]] **[[Rkdevelptool|Rkdevelptool]] **[[Boot_option|Boot_option]] '''<span style="font-size:xx-large;">Feedback</span>''' Any question about software module on github, please ask&nbsp;at issue page of github project. If you have any other questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website, Email-to: opensource@rock-chips.com 8ca93b2213c566862bbdef9bc7e87701f7393497 1100 1090 2017-05-05T09:30:19Z Admin 1 wikitext text/x-wiki = '''Source code''' = Rockchip provide open source software on Github including fully support for Linux Based OS: *Github: [https://github.com/rockchip-linux rockchip-linux] You can also find software for Rockchip SoCs from Upstream: *[https://www.kernel.org/ Linux kernel] *[http://www.denx.de/wiki/U-Boot/WebHome U-Boot] *[https://github.com/ARM-software/arm-trusted-firmware ARM Trusted Firmware] If you are using a Chrombook with Rockchip SoC, you can use: *[https://chromium.googlesource.com/chromiumos/third_party/coreboot Chromium OS&nbsp;Coreboot] *[https://chromium.googlesource.com/chromiumos/third_party/kernel Chromium OS kernel] &nbsp; = '''Hardware Document''' = Here are the documents for SoCs, you can find&nbsp;Hardware device/board information on [[Devices|DEVICE PAGE]]. {| border="1" cellpadding="0" cellspacing="0" class="table_style" |- ! style="width:92px;" | <p style="text-align: center;">SoC</p> ! style="width:286px;" | <p style="text-align: center;">Description</p> ! style="width:189px;" | <p style="text-align: center;">Download</p> |- | style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p> | style="width:286px;" | Quad-core Cortex-A17 CPU, MALI-T764 GPU | style="width:189px;" | [[Media:Rockchip_RK3288_TRM_V1.2_Part1-20170321.pdf|TRM]], [[Media:Rockchip_RK3288_Datasheet_V2.2-20170301.pdf|Datasheet]],&nbsp; [[Media:Rk3288_hardware_reference.zip|Schematic&Layout Guide]] |- | style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p> | style="width:286px;" | Quad-core Cortex-A53 CPU,MALI-450MP2 GPU | style="width:189px;" | [[Media:Rockchip_RK3328TRM_V1.1-Part1-20170321.pdf|TRM]], [[Media:Rockchip_RK3328_Datasheet_V1.1-20170309.pdf|Datasheet]],&nbsp; [[Media:Rk3328_hardware_reference.zip|Schematic&Layout Guide]] |- | style="width:92px;" | <p style="text-align: center;">[[RK3399|RK3399]]</p> | style="width:286px;" | Dual-core Cortex-A72, Quad-core Cortex-A53 CPU, MALI-T864 GPU | style="width:189px;" | [[Media:Rockchip_RK3399TRM_V1.4_Part1-20170408.pdf|TRM]], [[Media:Rockchip_RK3399_Datasheet_V1.6-20170301.pdf|Datasheet]],&nbsp; [[Media:Rk3399_hardware_reference.zip|Schematic&Layout Guide]] |} &nbsp; = '''Software development&nbsp;''' = *'''Porting guide for Linux based OS/Distribution''' **[[Linux_user_guide|Linux_user_guide]] **[[Debian|Debian]] **[[Yocto|Yocto]] **[[Buildroot|Buildroot]] **[[Distribution|Other distribution]] *'''BSP module user guide''' **[[U-Boot|U-Boot]]&nbsp; **[[Rockchip_Kernel|Rockchip Kernel]] **[[Upstream_Kernel|Upstream Kernel]] **[[Atf|ARM Trusted&nbsp;Firmware]] *'''Graphics and Multimedia&nbsp;user guide''' **[[Graphics|Graphics and display]] **[[mpp|Multimedia--Video Codec]] **[[camera|Multimedia--Camera]] *'''Tool and Firmware Upgrade''' **[[Rockusb|Rockusb]] **[[Rkdevelptool|Rkdevelptool]] **[[Boot_option|Boot_option]] '''<span style="font-size:xx-large;">Feedback</span>''' Any question about software module on github, please ask&nbsp;at issue page of github project. If you have any other questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website, Email-to: opensource@rock-chips.com 64461e39cd5b36a3d4805ce58622064146278ca9 1117 1100 2017-05-18T02:03:58Z Admin 1 wikitext text/x-wiki = '''Source code''' = Rockchip provide open source software on Github including fully support for Linux Based OS: *Github: [https://github.com/rockchip-linux rockchip-linux] You can also find software for Rockchip SoCs from Upstream: *[https://www.kernel.org/ Linux kernel] *[http://www.denx.de/wiki/U-Boot/WebHome U-Boot] *[https://github.com/ARM-software/arm-trusted-firmware ARM Trusted Firmware] If you are using a Chrombook with Rockchip SoC, you can use: *[https://chromium.googlesource.com/chromiumos/third_party/coreboot Chromium OS&nbsp;Coreboot] *[https://chromium.googlesource.com/chromiumos/third_party/kernel Chromium OS kernel] &nbsp; = '''Hardware Document''' = Here are the documents for SoCs, you can find&nbsp;Hardware device/board information on [[Devices|DEVICE PAGE]]. {| border="1" cellpadding="0" cellspacing="0" class="table_style" |- ! style="width:92px;" | <p style="text-align: center;">SoC</p> ! style="width:286px;" | <p style="text-align: center;">Description</p> ! style="width:189px;" | <p style="text-align: center;">Download</p> |- | style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p> | style="width:286px;" | Quad-core Cortex-A17 CPU, MALI-T764 GPU | style="width:189px;" | [[Media:Rockchip_RK3288_TRM_V1.2_Part1-20170321.pdf|TRM]], [[Media:Rockchip_RK3288_Datasheet_V2.2-20170301.pdf|Datasheet]],&nbsp; [[Media:Rk3288_hardware_reference.zip|Schematic&Layout Guide]] |- | style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p> | style="width:286px;" | Quad-core Cortex-A53 CPU,MALI-450MP2 GPU | style="width:189px;" | [[Media:Rockchip_RK3328TRM_V1.1-Part1-20170321.pdf|TRM]], [[Media:Rockchip_RK3328_Datasheet_V1.1-20170309.pdf|Datasheet]],&nbsp; [[Media:Rk3328_hardware_reference.zip|Schematic&Layout Guide]] |- | style="width:92px;" | <p style="text-align: center;">[[RK3399|RK3399]]</p> | style="width:286px;" | Dual-core Cortex-A72, Quad-core Cortex-A53 CPU, MALI-T864 GPU | style="width:189px;" | [[Media:Rockchip_RK3399TRM_V1.4_Part1-20170408.pdf|TRM]], [[Media:Rockchip_RK3399_Datasheet_V1.6-20170301.pdf|Datasheet]],&nbsp; [[Media:Rk3399_hardware_reference.zip|Schematic&Layout Guide]] |} &nbsp; = '''Software development&nbsp;''' = *'''Porting guide for Linux based OS/Distribution''' **[[Linux_user_guide|Linux_user_guide]] **[[Debian|Debian]] **[[Yocto|Yocto]] **[[Buildroot|Buildroot]] **[[Distribution|Other distribution]] *'''BSP module user guide''' **[[U-Boot|U-Boot]]&nbsp; **[[Rockchip_Kernel|Rockchip Kernel]] **[[Upstream_Kernel|Upstream Kernel]] **[[Atf|ARM Trusted&nbsp;Firmware]] *'''Graphics and Multimedia&nbsp;user guide''' **[[Graphics|Graphics and display]] **[[Mpp|Multimedia--Video Codec]] **[[Camera|Multimedia--Camera]] *'''Tool and Firmware Upgrade''' **[[Rockusb|Rockusb]] **[[Rkdeveloptool|Rkdevelptool]] **[[Boot_option|Boot_option]] '''<span style="font-size:xx-large;">Feedback</span>''' Any question about software module on github, please ask&nbsp;at issue page of github project. If you have any other questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website, Email-to: opensource@rock-chips.com 9424707eab3c7bdc67a6ed155c9f0f9d00d26db6 1122 1117 2017-05-18T03:06:03Z Admin 1 wikitext text/x-wiki = '''Source code''' = Rockchip provide open source software on Github including fully support for Linux Based OS: *Github: [https://github.com/rockchip-linux rockchip-linux] You can also find software for Rockchip SoCs from Upstream: *[https://www.kernel.org/ Linux kernel] *[http://www.denx.de/wiki/U-Boot/WebHome U-Boot] *[https://github.com/ARM-software/arm-trusted-firmware ARM Trusted Firmware] If you are using a Chrombook with Rockchip SoC, you can use: *[https://chromium.googlesource.com/chromiumos/third_party/coreboot Chromium OS&nbsp;Coreboot] *[https://chromium.googlesource.com/chromiumos/third_party/kernel Chromium OS kernel] &nbsp; = '''Hardware Document''' = Here are the documents for SoCs, you can find&nbsp;Hardware device/board information on [[Devices|DEVICE PAGE]]. {| border="1" cellpadding="0" cellspacing="0" class="table_style" |- ! style="width:92px;" | <p style="text-align: center;">SoC</p> ! style="width:286px;" | <p style="text-align: center;">Description</p> ! style="width:189px;" | <p style="text-align: center;">Download</p> |- | style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p> | style="width:286px;" | Quad-core Cortex-A17 CPU, MALI-T764 GPU | style="width:189px;" | [[Media:Rockchip_RK3288_TRM_V1.2_Part1-20170321.pdf|TRM]], [[Media:Rockchip_RK3288_Datasheet_V2.2-20170301.pdf|Datasheet]],&nbsp; [[Media:Rk3288_hardware_reference.zip|Schematic&Layout Guide]] |- | style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p> | style="width:286px;" | Quad-core Cortex-A53 CPU,MALI-450MP2 GPU | style="width:189px;" | [[Media:Rockchip_RK3328TRM_V1.1-Part1-20170321.pdf|TRM]], [[Media:Rockchip_RK3328_Datasheet_V1.1-20170309.pdf|Datasheet]],&nbsp; [[Media:Rk3328_hardware_reference.zip|Schematic&Layout Guide]] |- | style="width:92px;" | <p style="text-align: center;">[[RK3399|RK3399]]</p> | style="width:286px;" | Dual-core Cortex-A72, Quad-core Cortex-A53 CPU, MALI-T864 GPU | style="width:189px;" | [[Media:Rockchip_RK3399TRM_V1.4_Part1-20170408.pdf|TRM]], [[Media:Rockchip_RK3399_Datasheet_V1.6-20170301.pdf|Datasheet]],&nbsp; [[Media:Rk3399_hardware_reference.zip|Schematic&Layout Guide]] |} &nbsp; = '''Software development&nbsp;''' = *'''Porting guide for Linux based OS/Distribution''' **[[Linux_user_guide|Linux_user_guide]] **[[Debian|Debian]] **[[Yocto|Yocto]] **[[Buildroot|Buildroot]] **[[Distribution|Other distribution]] *'''BSP module user guide''' **[[U-Boot|U-Boot]]&nbsp; **[[Rockchip_Kernel|Rockchip Kernel]] **[[Upstream_Kernel|Upstream Kernel]] **[[Atf|ARM Trusted&nbsp;Firmware]] *'''Graphics and Multimedia&nbsp;user guide''' **[[Graphics|Graphics and display]] **[[Mpp|Multimedia--Video Codec]] **[[Camera|Multimedia--Camera]] *'''Tool and Firmware Upgrade''' **[[Rockusb|Rockusb]] **[[Rkdeveloptool|Rkdeveloptool]] **[[Boot_option|Boot_option]] '''<span style="font-size:xx-large;">Feedback</span>''' Any question about software module on github, please ask&nbsp;at issue page of github project. If you have any other questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website, Email-to: opensource@rock-chips.com 04927b11e74f4595cf50fdaeda0bf3da78a41878 Camera 0 74 1061 542 2017-04-17T01:31:49Z Admin 1 Admin moved page [[MPP]] to [[Camera]] without leaving a redirect wikitext text/x-wiki = Introduction = = Download = = Supported Devices = = Configuration/Environment = = Package = = Install = = See also = = References&nbsp; = 5fc5ee3d81f8cb73eea0714fb252de3368f9f896 Rockusb 0 122 1074 965 2017-04-19T11:02:32Z Kever 2 wikitext text/x-wiki = Introduce = Rockusb is a vendor specific USB class from Rockchip, which is for firmware dowmload for Rockchip SoCs. = Get into Rockusb = There are two cases for&nbsp;Rockchip SoCs to get into Rockusb. *maskrom mode, no firmware found on chip, target run maskrom rockusb driver; *Loader mode, target run bootloader rockusb driver. == Maskrom mode == If&nbsp;there is no&nbsp;firmware found on board, the SoC will run&nbsp;Rockusb driver&nbsp;automatically, we call it Bootrom mode or Maskrom mode. If firmware is at somewhere of the board,&nbsp;in order to get into this mode, we can do something to prevent cpu read the firmware successful: *for sd-card, unplug the sd-card; *for eMMC, short the eMMC clock to GND; *for NAND, short the data line or clock line; *for SPI, short the spi signal to GND; In Maskrom mode, the DRAM is not available, so the download size is limit by the internal memory size. Use db command in rkdeveloptool, system will init the DRAM and run into usbplug(with rockusb driver) which have no size limitation in download size. == Miniloader Rockusb&nbsp;mode == The miniloader&nbsp;has Rockusb driver inside, system will run rockusb driver after power on if: - &nbsp;there is no next stage firmware found. - run "reboot loader" command in kernel. NOTE: In this miniloader rockusb, the offset for rkdeveloptolol&nbsp;is not the phisical addresss, the phisical offset 0~0x2000 is no able to write by wl command; The phisical addres of &nbsp;offset in&nbsp;wl command is&nbsp;the offset plus 0x2000, eg:&nbsp; "rkdeveloptool wl 0x2000 uboot.img" will write uboot.img to emmc 0x4000 address. Rockusb driver support in U-Boot is WIP, if done, we can also enter bootloader mode with U-Boot. == Usbplug mode == The usbplug is a firmware used for USB download with rkdeveloptool db command, with rockusb driver inside, the DRAM already initialized in this mode. = USB ID = Rockchip Vendor ID is 0x2207, and the product ID for different SoCs are different. Rockusb product ID: *RK3288: 0x320a *RK3328: 0x320c *RK3399: 0x330c Please use ''lsusb ''command in Linux PC to check if there is a Rockusb device connect. = Firmware download = [[Rkdevelptool|rkdeveloptool]] is the tool to do the firmware upgrade for Rockchip SoCs which is using Rockusb protocol via USB. Please follow the steps for boot from eMMC for how to use the tool. 1640228ba5afed1df2a07b4d411cff6e112dfe17 1075 1074 2017-04-19T11:03:26Z Kever 2 wikitext text/x-wiki = Introduce = Rockusb is a vendor specific USB class from Rockchip, which is for firmware dowmload for Rockchip SoCs. = Get into Rockusb = There are two cases for&nbsp;Rockchip SoCs to get into Rockusb. *maskrom mode, no firmware found on chip, target run maskrom rockusb driver; *Loader mode, target run bootloader rockusb driver. == Maskrom mode == If&nbsp;there is no&nbsp;firmware found on board, the SoC will run&nbsp;Rockusb driver&nbsp;automatically, we call it Bootrom mode or Maskrom mode. If firmware is at somewhere of the board,&nbsp;in order to get into this mode, we can do something to prevent cpu read the firmware successful: *for sd-card, unplug the sd-card; *for eMMC, short the eMMC clock to GND; *for NAND, short the data line or clock line; *for SPI, short the spi signal to GND; In Maskrom mode, the DRAM is not available, so the download size is limit by the internal memory size. Use db command in rkdeveloptool, system will init the DRAM and run into usbplug(with rockusb driver) which have no size limitation in download size. == Miniloader Rockusb&nbsp;mode == The miniloader&nbsp;has Rockusb driver inside, system will run rockusb driver after power on if: - &nbsp;there is no next stage firmware found. - run "reboot loader" command in kernel. NOTE: In this miniloader rockusb, the offset for rkdeveloptolol&nbsp;is not the phisical addresss, the phisical offset 0~0x2000 is no able to write by wl command; '''The phisical addres of &nbsp;offset in&nbsp;''wl'' command is&nbsp;the offset plus 0x2000''', eg:&nbsp; "rkdeveloptool wl 0x2000 uboot.img" will write uboot.img to emmc 0x4000 address. Rockusb driver support in U-Boot is WIP, if done, we can also enter bootloader mode with U-Boot. == Usbplug mode == The usbplug is a firmware used for USB download with rkdeveloptool db command, with rockusb driver inside, the DRAM already initialized in this mode. = USB ID = Rockchip Vendor ID is 0x2207, and the product ID for different SoCs are different. Rockusb product ID: *RK3288: 0x320a *RK3328: 0x320c *RK3399: 0x330c Please use ''lsusb ''command in Linux PC to check if there is a Rockusb device connect. = Firmware download = [[Rkdevelptool|rkdeveloptool]] is the tool to do the firmware upgrade for Rockchip SoCs which is using Rockusb protocol via USB. Please follow the steps for boot from eMMC for how to use the tool. 408f79d68b88e778f1664202adae96efcc4f9cd8 1076 1075 2017-04-19T11:06:17Z Kever 2 wikitext text/x-wiki = Introduce = Rockusb is a vendor specific USB class from Rockchip, which is for firmware dowmload for Rockchip SoCs. = Get into Rockusb = There are two cases for&nbsp;Rockchip SoCs to get into Rockusb. *maskrom mode, no firmware found on chip, target run maskrom rockusb driver; *miniLoader rockusb mode, target run miniloader rockusb driver. *uboot rockusb mode, WIP, only available in Rockchip legacy version U-Boot. &nbsp; == Maskrom mode == If&nbsp;there is no bootable&nbsp;firmware found on board, the SoC will run&nbsp;Rockusb driver&nbsp;automatically, we call it Bootrom mode or Maskrom mode. If firmware is at somewhere of the board,&nbsp;in order to get into this mode, we can do something to prevent cpu read the firmware successful: *for sd-card, unplug the sd-card; *for eMMC, short the eMMC clock to GND; *for NAND, short the data line or clock line; *for SPI, short the spi signal to GND; *By "reboot bootrom" command in U-Boot and Kernel, WIP. In Maskrom mode, the DRAM is not available, so the download size is limit by the internal memory size. Use db command in rkdeveloptool, system will init the DRAM and run into usbplug(with rockusb driver) mode which have no size limitation in download size. &nbsp; == Miniloader Rockusb&nbsp;mode == The miniloader&nbsp;has Rockusb driver inside, system will run rockusb driver after power on if: - &nbsp;there is no next stage firmware found. - run "reboot loader" command in kernel. NOTE: In this miniloader rockusb, the offset for rkdeveloptolol&nbsp;is not the phisical addresss, the phisical offset 0~0x2000 is no able to write by wl command; '''The phisical addres of &nbsp;offset in&nbsp;''wl'' command is&nbsp;the offset plus 0x2000''', eg:&nbsp; "rkdeveloptool wl 0x2000 uboot.img" will write uboot.img to emmc 0x4000 address. Rockusb driver support in U-Boot is WIP, if done, we can also enter bootloader mode with U-Boot. == Usbplug mode == The usbplug is a firmware used for USB download with rkdeveloptool db command, with rockusb driver inside, the DRAM already initialized in this mode. = USB ID = Rockchip Vendor ID is 0x2207, and the product ID for different SoCs are different. Rockusb product ID: *RK3288: 0x320a *RK3328: 0x320c *RK3399: 0x330c Please use ''lsusb ''command in Linux PC to check if there is a Rockusb device connect. = Firmware download = [[Rkdevelptool|rkdeveloptool]] is the tool to do the firmware upgrade for Rockchip SoCs which is using Rockusb protocol via USB. Please follow the steps for boot from eMMC for how to use the tool. 2c58a7ff38493bf6411a5e4f30cb6c53dcd0debb 1077 1076 2017-04-19T11:07:48Z Kever 2 wikitext text/x-wiki = Introduce = Rockusb is a vendor specific USB class from Rockchip, which is for firmware dowmload for Rockchip SoCs. = Get into Rockusb = There are two cases for&nbsp;Rockchip SoCs to get into Rockusb. *maskrom mode, no firmware found on chip, target run maskrom rockusb driver; *miniLoader rockusb mode, target run miniloader rockusb driver. *uboot rockusb mode, WIP, only available in Rockchip legacy version U-Boot. &nbsp; == Maskrom mode == If&nbsp;there is no bootable&nbsp;firmware found on board, the SoC will run&nbsp;Rockusb driver&nbsp;automatically, we call it Bootrom mode or Maskrom mode. If firmware is at somewhere of the board,&nbsp;in order to get into this mode, we can do something to prevent cpu read the firmware successful: *for sd-card, unplug the sd-card; *for eMMC, short the eMMC clock to GND; *for NAND, short the data line or clock line; *for SPI, short the spi signal to GND; *By "reboot bootrom" command in U-Boot and Kernel, WIP. *erase bootable data in eMMC or other media devices In Maskrom mode, the DRAM is not available, so the download size is limit by the internal memory size. Use db command in rkdeveloptool, system will init the DRAM and run into usbplug(with rockusb driver) mode which have no size limitation in download size. &nbsp; == Miniloader Rockusb&nbsp;mode == The miniloader&nbsp;has Rockusb driver inside, system will run rockusb driver after power on if: - &nbsp;there is no next stage firmware found. - run "reboot loader" command in kernel. NOTE: In this miniloader rockusb, the offset for rkdeveloptolol&nbsp;is not the phisical addresss, the phisical offset 0~0x2000 is no able to write by wl command; '''The phisical addres of &nbsp;offset in&nbsp;''wl'' command is&nbsp;the offset plus 0x2000''', eg:&nbsp; "rkdeveloptool wl 0x2000 uboot.img" will write uboot.img to emmc 0x4000 address. Rockusb driver support in U-Boot is WIP, if done, we can also enter bootloader mode with U-Boot. == Usbplug mode == The usbplug is a firmware used for USB download with rkdeveloptool db command, with rockusb driver inside, the DRAM already initialized in this mode. = USB ID = Rockchip Vendor ID is 0x2207, and the product ID for different SoCs are different. Rockusb product ID: *RK3288: 0x320a *RK3328: 0x320c *RK3399: 0x330c Please use ''lsusb ''command in Linux PC to check if there is a Rockusb device connect. = Firmware download = [[Rkdevelptool|rkdeveloptool]] is the tool to do the firmware upgrade for Rockchip SoCs which is using Rockusb protocol via USB. Please follow the steps for boot from eMMC for how to use the tool. 96da4a8246856dded8dc70d5769a69a050822f6c 1078 1077 2017-04-19T11:08:25Z Kever 2 wikitext text/x-wiki = Introduce = Rockusb is a vendor specific USB class from Rockchip, which is for firmware dowmload for Rockchip SoCs. = Get into Rockusb = There are two cases for&nbsp;Rockchip SoCs to get into Rockusb. *maskrom mode, no firmware found on chip, target run maskrom rockusb driver; *miniLoader rockusb mode, target run miniloader rockusb driver. *uboot rockusb mode, WIP, only available in Rockchip legacy version U-Boot. &nbsp; == Maskrom mode == If&nbsp;there is no bootable&nbsp;firmware found on board, the SoC will run&nbsp;Rockusb driver&nbsp;automatically, we call it Bootrom mode or Maskrom mode. If firmware is at somewhere of the board,&nbsp;in order to get into this mode, we can do something to prevent cpu read the firmware successful: *for sd-card, unplug the sd-card; *for eMMC, short the eMMC clock to GND; *for NAND, short the data line or clock line; *for SPI, short the spi signal to GND; *By "reboot bootrom" command in U-Boot and Kernel, WIP. *erase bootable region with non-bootable data&nbsp;in eMMC or other media devices In Maskrom mode, the DRAM is not available, so the download size is limit by the internal memory size. Use db command in rkdeveloptool, system will init the DRAM and run into usbplug(with rockusb driver) mode which have no size limitation in download size. &nbsp; == Miniloader Rockusb&nbsp;mode == The miniloader&nbsp;has Rockusb driver inside, system will run rockusb driver after power on if: - &nbsp;there is no next stage firmware found. - run "reboot loader" command in kernel. NOTE: In this miniloader rockusb, the offset for rkdeveloptolol&nbsp;is not the phisical addresss, the phisical offset 0~0x2000 is no able to write by wl command; '''The phisical addres of &nbsp;offset in&nbsp;''wl'' command is&nbsp;the offset plus 0x2000''', eg:&nbsp; "rkdeveloptool wl 0x2000 uboot.img" will write uboot.img to emmc 0x4000 address. Rockusb driver support in U-Boot is WIP, if done, we can also enter bootloader mode with U-Boot. == Usbplug mode == The usbplug is a firmware used for USB download with rkdeveloptool db command, with rockusb driver inside, the DRAM already initialized in this mode. = USB ID = Rockchip Vendor ID is 0x2207, and the product ID for different SoCs are different. Rockusb product ID: *RK3288: 0x320a *RK3328: 0x320c *RK3399: 0x330c Please use ''lsusb ''command in Linux PC to check if there is a Rockusb device connect. = Firmware download = [[Rkdevelptool|rkdeveloptool]] is the tool to do the firmware upgrade for Rockchip SoCs which is using Rockusb protocol via USB. Please follow the steps for boot from eMMC for how to use the tool. 4f59d3eb5e574eab821c38d3dbfec92e3412e406 1079 1078 2017-04-19T11:10:54Z Kever 2 wikitext text/x-wiki = Introduce = Rockusb is a vendor specific USB class from Rockchip, which is for firmware dowmload for Rockchip SoCs. = Get into Rockusb = There are two cases for&nbsp;Rockchip SoCs to get into Rockusb. *maskrom mode, no firmware found on chip, target run maskrom rockusb driver; *miniLoader rockusb mode, target run miniloader rockusb driver. *uboot rockusb mode, WIP, only available in Rockchip legacy version U-Boot. &nbsp; == Maskrom mode == If&nbsp;there is no bootable&nbsp;firmware found on board, the SoC will run&nbsp;Rockusb driver&nbsp;automatically, we call it Bootrom mode or Maskrom mode. If firmware is at somewhere of the board,&nbsp;in order to get into this mode, we can do something to prevent cpu read the firmware successful: *for sd-card, unplug the sd-card; *for eMMC, short the eMMC clock to GND; *for NAND, short the data line or clock line; *for SPI, short the spi signal to GND; *By "reboot bootrom" command in U-Boot and Kernel, WIP. *erase bootable region with non-bootable data&nbsp;in eMMC or other media devices In Maskrom mode, the DRAM is not available, so the download size is limit by the internal memory size. Use db command in rkdeveloptool, system will init the DRAM and run into usbplug(with rockusb driver) mode which have no size limitation in download size. &nbsp; == Miniloader Rockusb&nbsp;mode == The miniloader&nbsp;has Rockusb driver inside, system will run rockusb driver after power on if: - &nbsp;there is no next stage firmware found. erase boottable data in U-Boot: <pre style="margin-left: 40px;">mmc erase 0x4000 0x2000</pre> - &nbsp;run "reboot loader" command in kernel. NOTE: In this miniloader rockusb, the offset for rkdeveloptolol&nbsp;is not the phisical addresss, the phisical offset 0~0x2000 is no able to write by wl command; '''The phisical addres of &nbsp;offset in&nbsp;''wl'' command is&nbsp;the offset plus 0x2000''', eg:&nbsp; "rkdeveloptool wl 0x2000 uboot.img" will write uboot.img to emmc 0x4000 address. Rockusb driver support in U-Boot is WIP, if done, we can also enter bootloader mode with U-Boot. == Usbplug mode == The usbplug is a firmware used for USB download with rkdeveloptool db command, with rockusb driver inside, the DRAM already initialized in this mode. = USB ID = Rockchip Vendor ID is 0x2207, and the product ID for different SoCs are different. Rockusb product ID: *RK3288: 0x320a *RK3328: 0x320c *RK3399: 0x330c Please use ''lsusb ''command in Linux PC to check if there is a Rockusb device connect. = Firmware download = [[Rkdevelptool|rkdeveloptool]] is the tool to do the firmware upgrade for Rockchip SoCs which is using Rockusb protocol via USB. Please follow the steps for boot from eMMC for how to use the tool. 9a7e22e4d89a95314ff150193c019db8e05bd0a7 1118 1079 2017-05-18T02:04:37Z Admin 1 wikitext text/x-wiki = Introduce = Rockusb is a vendor specific USB class from Rockchip, which is for firmware dowmload for Rockchip SoCs. = Get into Rockusb = There are two cases for&nbsp;Rockchip SoCs to get into Rockusb. *maskrom mode, no firmware found on chip, target run maskrom rockusb driver; *miniLoader rockusb mode, target run miniloader rockusb driver. *uboot rockusb mode, WIP, only available in Rockchip legacy version U-Boot. &nbsp; == Maskrom mode == If&nbsp;there is no bootable&nbsp;firmware found on board, the SoC will run&nbsp;Rockusb driver&nbsp;automatically, we call it Bootrom mode or Maskrom mode. If firmware is at somewhere of the board,&nbsp;in order to get into this mode, we can do something to prevent cpu read the firmware successful: *for sd-card, unplug the sd-card; *for eMMC, short the eMMC clock to GND; *for NAND, short the data line or clock line; *for SPI, short the spi signal to GND; *By "reboot bootrom" command in U-Boot and Kernel, WIP. *erase bootable region with non-bootable data&nbsp;in eMMC or other media devices In Maskrom mode, the DRAM is not available, so the download size is limit by the internal memory size. Use db command in rkdeveloptool, system will init the DRAM and run into usbplug(with rockusb driver) mode which have no size limitation in download size. &nbsp; == Miniloader Rockusb&nbsp;mode == The miniloader&nbsp;has Rockusb driver inside, system will run rockusb driver after power on if: - &nbsp;there is no next stage firmware found. erase boottable data in U-Boot: <pre style="margin-left: 40px;">mmc erase 0x4000 0x2000</pre> - &nbsp;run "reboot loader" command in kernel. NOTE: In this miniloader rockusb, the offset for rkdeveloptolol&nbsp;is not the phisical addresss, the phisical offset 0~0x2000 is no able to write by wl command; '''The phisical addres of &nbsp;offset in&nbsp;''wl'' command is&nbsp;the offset plus 0x2000''', eg:&nbsp; "rkdeveloptool wl 0x2000 uboot.img" will write uboot.img to emmc 0x4000 address. Rockusb driver support in U-Boot is WIP, if done, we can also enter bootloader mode with U-Boot. == Usbplug mode == The usbplug is a firmware used for USB download with rkdeveloptool db command, with rockusb driver inside, the DRAM already initialized in this mode. = USB ID = Rockchip Vendor ID is 0x2207, and the product ID for different SoCs are different. Rockusb product ID: *RK3288: 0x320a *RK3328: 0x320c *RK3399: 0x330c Please use ''lsusb ''command in Linux PC to check if there is a Rockusb device connect. = Firmware download = [[Rkdeveloptool|rkdeveloptool]] is the tool to do the firmware upgrade for Rockchip SoCs which is using Rockusb protocol via USB. Please follow the steps for boot from eMMC for how to use the tool. 0ac48a537d6be2e2c5e3249ca2df3f5a34cb7c50 Upstream Kernel 0 19 1088 782 2017-04-20T09:04:11Z Kever 2 wikitext text/x-wiki Rockchip is working on upstream SoC support to Mainline kernel: &nbsp; &nbsp; = Download Kernel = Get the source code from the upstream mainline&nbsp;repository: <pre>git clone git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git</pre> Alternatively you can use linux-rockchip instead which may with some patches not get in mainline: <pre>git clone git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip.git</pre> &nbsp; = Supported SoCs and Devices = Mainline&nbsp;kernel supports: RV1108, RK3036, RK3066, RK3188, RK3228, [[RK3288|RK3288]], RK3368, [[RK3399|RK3399]] *RV1108 boards: <ol style="margin-left: 40px;"> <li>EVB RV1108- use&nbsp;rk1108-evb.dts</li> </ol> *RK3036 boards: <ol style="margin-left: 40px;"> <li>EVB RK3036 - use rk3036-evb.dts</li> <li>Kylin RK3036- use&nbsp;rk3036-kylin.dts</li> </ol> *RK3066 boards: <ol style="margin-left: 40px;"> <li>Marsboard - use&nbsp;rk3066a-marsboard.dts</li> <li>Bqcurie2 - use&nbsp;rk3066a-bqcurie2.dts</li> <li>Rayeager - use rk3066a-rayeager.dts</li> </ol> *RK3188 boards: <ol style="margin-left: 40px;"> <li>Radxa Rock - rk3188-radxarock.dts</li> </ol> *RK3288 boards: <ol style="margin-left: 40px;"> <li>EVB RK3288 - use rk3288-evb-rk808.dts or&nbsp;rk3288-evb-act8846.dts</li> <li>Fennec RK3288 - use rk3288-fennec.dts</li> <li>Firefly RK3288 - use rk3288-firefly.dts</li> <li>Firefly beta RK3288 - use rk3288-firefly-beta.dts</li> <li>Firefly reload RK3288 - use rk3288-firefly-reload.dts</li> <li>Hisense Chromebook - use rk3288-veyron-jerry.dts</li> <li>PopMetal RK3288 - use rk3288-popmetal.dts</li> <li>MiQi RK3288 - use&nbsp;rk3288-miqi.dts</li> <li>Radxa Rock 2 - use rk3288-rock2-square.dts</li> </ol> *RK3368 boards: <ol style="margin-left: 40px;"> <li>Geekbok RK3368 - use&nbsp;rk3368-geekbox.dts</li> <li>Orion r68 - use rk3368-orion-r68-meta.dts</li> </ol> *RK3399 boards: <ol style="margin-left: 40px;"> <li>EVB RK3399 - use rk3399-evb.dts</li> </ol> &nbsp; = Configure and Build = You will need to use multi_v7_defconfig&nbsp;for armv7 SoCs: <pre>make multi_v7_defconfig</pre> configure for aarch64: <pre>make ARCH=arm64 defconfig</pre> The arm64 defconfig on upstream is more for server,&nbsp;we recommend you to use rockchip_linux_defconfig from&nbsp;Rockchip github <pre>make ARCH=arm64 rockchip_linux_defconfig</pre> After configure, build the kernel. For armv7: <pre>make CROSS_COMPILE=arm-linux-gnueabi-</pre> For aarch64: <pre>make CROSS_COMPILE=aarch64-linux-gnu- ARCH=arm64</pre> Then you can get Image/zImage and dtb files. &nbsp; &nbsp; = Install Boot/kernel = We use distro boot in U-Boot, so we need to make a boot partition for U-Boot with kernel image and dtb inside. <pre>mkdir boot cp arch/arm64/boot/dts/rockchip/rockchip/rk3399-evb.dtb boot/rk3399.dtb cp arch/arm64/boot/Image boot/</pre> Add extlinux/extlinux.conf for distro boot. <pre>mkdir boot/extlinux vi boot/extlinux/extlinux.conf</pre> &nbsp; <pre>lable kernel-mainline kernel /Image fdt /rk3399.dtb append earlycon=uart8250,mmio,0xff1a0000 console=ttyS2,1500000n8 root=dev/mmcblk0p7 rootwait rootfstype=ext4 init=/sbin/init</pre> You need to change the base address of debug UART, root partition for your board. Pls reference to&nbsp;[http://10.10.10.12:8444/index.php?title=Partitions rockchip Linux parttion definition]&nbsp;for rootfs partition and where boot to flash. After all these file prepare complete, we write the file to the boot partition See [[Rockchip_Kernel|rockchip kernel]] for boot partition generate. = Non-upstream module = [[Graphics|Rockchp Graphics]] [[Mpp|Rockchip Video]] [[Camera|Rockchip Camera]] 79952c031524eceb0aac641923b93be3e3d0acec File:Rockchip RK3328TRM V1.1-Part1-20170321.pdf 6 139 1089 2017-04-21T07:08:49Z Kever 2 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 1091 1089 2017-04-21T08:21:39Z Admin 1 Admin uploaded a new version of [[File:Rockchip RK3328TRM V1.1-Part1-20170321.pdf]] wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 ATF 0 54 1092 963 2017-04-25T07:05:43Z Kever 2 wikitext text/x-wiki = Download ARM Trusted Firmware = == Rockchip ATF == Rockchip do not provide the ATF source code, you can find the ATF binaries in [https://github.com/rockchip-linux/rkbin rkbin repository]. == Upstream ATF == Get the source code from github: <pre>git clone https://github.com/ARM-software/arm-trusted-firmware.git</pre> = Supported Devices = Upstream ARM Trusted Firmware support Rockchip SoCs: [[RK3399]] &nbsp; = Build ATF = Here is a ''mk-atf.sh'' script to build ATF. <pre>$ cat mk-atf.sh #!/bin/bash make realclean CFLAGS='-gdwarf-2' \ CROSS_COMPILE=aarch64-linux-gnu- \ make PLAT=rk3399 DEBUG=1 ERROR_DEPRECATED=1 bl31</pre> Because there is a blob of code for cortex-M0 in rk3399 ATF, so you need a compiler for it. Install it by: <pre>sudo apt-get install gcc-arm-none-eabi</pre> We can get bl31.bin when&nbsp;build completed. &nbsp; = Install ATF = == Using U-Boot&nbsp;SPL FIT image == Upstream U-Boot SPL support for ATF still WIP. == Using Rockchip miniloader == Alternatively, you can use Rockchip miniloader and U-Boot instead which do not need SPL. The ATF is loaded by miniloader, so it should be package to know format for miniloader <pre>trust_merger rk_tools/RKTRUST/RK3399TRUST.ini atf.img</pre> According to the&nbsp;[[Partitions|partitions]]&nbsp;definition, write to atf.img offset 0x6000. cff07bee220b1f6dea1988eda33ac91950caf003 1093 1092 2017-04-25T07:09:00Z Kever 2 wikitext text/x-wiki = Download ARM Trusted Firmware = == Rockchip ATF == Rockchip do not provide the ATF source code, you can find the ATF binaries in [https://github.com/rockchip-linux/rkbin rkbin repository]. == Upstream ATF == Get the source code from github: <pre>git clone https://github.com/ARM-software/arm-trusted-firmware.git</pre> = Supported Devices = Upstream ARM Trusted Firmware support Rockchip SoCs: [[RK3399]] &nbsp; = Build ATF = Here is a ''mk-atf.sh'' script to build ATF. <pre>$ cat mk-atf.sh #!/bin/bash make realclean CFLAGS='-gdwarf-2' \ CROSS_COMPILE=aarch64-linux-gnu- \ make PLAT=rk3399 DEBUG=1 ERROR_DEPRECATED=1 bl31</pre> Because there is a blob of code for cortex-M0 in rk3399 ATF, so you need a compiler for it. Install it by: <pre>sudo apt-get install gcc-arm-none-eabi</pre> We can get bl31.elf&nbsp;<s>bl31.bin</s> when&nbsp;build completed. Note: The latest version ATF(including rockchip version and upstream version) bl31.elf instead of&nbsp;bl31.bin, the bl31.bin is not available now. = Install ATF = == Using U-Boot&nbsp;SPL FIT image == Upstream U-Boot SPL support for ATF still WIP. == Using Rockchip miniloader == Alternatively, you can use Rockchip miniloader and U-Boot instead which do not need SPL. The ATF is loaded by miniloader, so it should be package to know format for miniloader <pre>trust_merger rk_tools/RKTRUST/RK3399TRUST.ini atf.img</pre> According to the&nbsp;[[Partitions|partitions]]&nbsp;definition, write to atf.img offset 0x6000. 10d70af172cbcf497ac131884f6dc33afb2d2371 1096 1093 2017-04-27T06:34:19Z Karen 3 wikitext text/x-wiki = Download ARM Trusted Firmware = == Rockchip ATF == Rockchip do not provide the ATF source code, you can find the ATF binaries in [https://github.com/rockchip-linux/rkbin rkbin repository]. == Upstream ATF == Get the source code from github: <pre>git clone https://github.com/ARM-software/arm-trusted-firmware.git</pre> = Supported Devices = Upstream ARM Trusted Firmware support Rockchip SoCs: [[RK3399]] &nbsp; = Build ATF = Here is a ''mk-atf.sh'' script to build ATF. <pre>$ cat mk-atf.sh #!/bin/bash make realclean CFLAGS='-gdwarf-2' \ CROSS_COMPILE=aarch64-linux-gnu- \ make PLAT=rk3399 DEBUG=0 ERROR_DEPRECATED=1 bl31</pre> Because there is a blob of code for cortex-M0 in rk3399 ATF, so you need a compiler for it. Install it by: <pre>sudo apt-get install gcc-arm-none-eabi</pre> We can get bl31.elf&nbsp;<s>bl31.bin</s> when&nbsp;build completed. Note: The latest version ATF(including rockchip version and upstream version) bl31.elf instead of&nbsp;bl31.bin, the bl31.bin is not available now. = Install ATF = == Using U-Boot&nbsp;SPL FIT image == Upstream U-Boot SPL support for ATF still WIP. == Using Rockchip miniloader == Alternatively, you can use Rockchip miniloader and U-Boot instead which do not need SPL. The ATF is loaded by miniloader, so it should be package to know format for miniloader <pre>trust_merger rk_tools/RKTRUST/RK3399TRUST.ini atf.img</pre> According to the&nbsp;[[Partitions|partitions]]&nbsp;definition, write to atf.img offset 0x6000. eb3d632916835d7f52821d8b9b8c742e3ca3b1a3 File:Rockchip RK3399TRM V1.4 Part1-20170408.pdf 6 140 1099 2017-05-05T09:29:21Z Kever 2 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 Boot option 0 116 1123 1121 2017-05-18T03:09:43Z Kever 2 wikitext text/x-wiki &nbsp; &nbsp; &nbsp; = Boot introduce = &nbsp; First, let's make the concept clear, there are many boot stages when we boot up a Linux OS; Then we need to know about how the image should packaged, where&nbsp;the image locate; At lase, we will explain how to write to different&nbsp;media and boot from there. Here is Rockchip pre-released binaries which may be mentioned later: [https://github.com/rockchip-linux/rkbin https://github.com/rockchip-linux/rkbin] &nbsp; == Boot stage == Here is a table show the detail what we may use in Rockchip platform, for 2 boot stage: - use U-Boot SPL; - &nbsp;use Rockchp idbLoader which is combinded by Rockchip ddr init bin and miniloader bin; <pre>+--------+----------------+----------+-------------+---------+ | Boot | Terminology #1 | Actual | Rockchip | | | stage | | program | Image | | | number | | name | Name | | +--------+----------------+----------+-------------+---------+ | 1 | Primary | ROM code | BootRom | | | | Program | | | | | | Loader | | | | | | | | | | | 2 | Secondary | U-Boot |idbloader.img| 0x40 |including u-boot if not use miniloader | | Program | SPL |idbspl.img | | | | Loader (SPL) | | | | | | | | | | | 3 | - | U-Boot | bl3.itb | 0x200 | including u-boot and atf | | | | u-boot.bin | 0x200 | | | | | uboot.img | 0x4000 | only used with miniloader | | | | | | | | | ATF | trust.img | 0x6000 | only used with miniloader for armv8 | | | | | | | 4 | - | kernel | boot.img | 0x8000 | | | | | | | | 5 | - | rootfs | rootfs.img | 0x40000 | +--------+----------------+----------+-------------+---------+ </pre> Then when we talking about boot from eMMC/SD/U-Disk/net, they are in different concept: *Stage 1 is always in boot rom, it loads stage 2 and may load stage 3(when SPL_BACK_TO_BROM option enabled). *Boot from SPI flash means firmware for stage 2 and 3(SPL and U-Boot only) in SPI flash and stage 4/5 in other place; *Boot from eMMC means all the firmware(including stage 2, 3, 4, 5) in eMMC; *Boot from SD card means all the firmware(including stage 2, 3, 4, 5) in SD card; *Boot from U-Disk means firmware for stage 4 and 5(not including SPL and U-Boot) in Disk, optionally only including stage 5; *Boot from net/tftp means firmeware for stage 4 and 5(not including SPL and U-Boot) on the network; == Package option == After we know about the boot stages, Here are the file list before package for stage 2~4: *From source code: **From U-Boot: u-boot-spl.bin, u-boot.bin(may use u-boot-nodtb.bin and u-boot.dtb instead), **From kernel: kernel Image/zImage file, kernel dtb, **From ATF: bl31.bin; *From Rockchip binary: **ddr, usbplug, miniloader, bl31, (all with&nbsp;chip 'rkxx_'&nbsp; prefix and with version '_x.xx.bin' postfix); Here are the types to&nbsp;package image from those files: === idbspl.img === U-Boot SPL, with&nbsp;SPL_BACK_TO_BROM option '''disabled'''. <pre>mkimage -n rkxxxx -T rksd -d spl/u-boot-spl.bin idbspl.img</pre> Flash the idbspl.img to offset 0x40 which only including stage 2, and need flash stage 3 &nbsp;image to 0x200(which is defineded by CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR), the stage 3 image may be&nbsp;u-boot.bin directly(when there no ATF requirement), or FIT image bl3.itb(for ATF load from SPL, including bl31.bin, u-boot-nodtb.bin and u-boot.dtb). &nbsp; === idbloader.img === U-Boot SPL, with&nbsp;SPL_BACK_TO_BROM option '''enabled''': <pre>tools/mkimage -n rkxxxx -T rksd -d spl/u-boot-spl.bin idbloader.img cat u-boot.bin >> idbloader.img</pre> Flash the idbloader.img to offset 0x40 which including boot stage 2 and 3. Package the image from Rockchip binary: <pre>dd if=rkxx_ddr_vx.xx.bin of=ddr.bin bs=4 skip=1 tools/mkimage -n rkxxxx -T rksd -d ddr.bin idbloader.img rm ddr.bin cat rkxx_miniloader_vx.xx.bin >> idbloader.img</pre> Flash the idbloader.img to offset 0x40 which including stage 2, and you will need a uboot.img for boot stage 3. === bl3.itb === When using SPL to load the ATF, package the bl31.bin, u-boot-nodtb.bin and uboot.dtb into one FIT image. <pre>tools/mkimage -f fit4spl.its -E bl3.itb </pre> Flash the bl3.itb to offset 0x200, while&nbsp;need idbspl.img flasht to offset 0x40. === uboot.img === When using idbLoader from&nbsp;Rockchip miniloader, need package u-boot.bin into miniloader loadable format by Rockchip tool loaderimage. <pre>tools/loaderimage --pack --uboot u-boot.bin uboot.img</pre> Flash the uboot.img to offset 0x4000 which is stage 3; === trust.img === When using idbLoader from&nbsp;Rockchip miniloader, need package bl31.bin into miniloader loadable format by Rockchip tool trustmerge. <pre>tools/trustmerge tools/rk_tools/RKTRUST_RKXXXXTRUST.ini</pre> Flash the trust.img to offset 0x6000 which is for using Rockchip miniloader &nbsp; === rkxx_loader_vx.xx.xxx.bin === This is provide by Rockchip in binary mode, which is used for firmware upgrade to eMMC with [[Rkdeveloptool|rkdeveloptool]], can not be wirte to media device directly. This is a package from ddr.bin, usbplug.bin, miniloader.bin, Rockchip tool ''DB ''command will make usbplug.bin running in target which perform as a Rockusb device. === boot.img === This image is package the kernel Image and dtb file into a know filesystem(FAT or EXT2) image for distro boot. See [[Rockchip_Kernel#Install_Boot.2Fkernel|Install kernel]] for detail about generate boot.img from kernel zImage/Image, dtb. Flash the boot.img to offset 0x8000 which is stage 4. === rootfs.img === Flash the rootfs.img to offset 0x40000 which is stage 5. &nbsp; = Flash and boot from Media device = Here we introduce how to write image to different Medeia device. Get image Ready: *For armv7 with SPL with SPL_BACK_TO_BROM option enabled: **idbLoader.img **boot.img or boot folder with zImage, dtb and exitlinulx inside **rootfs.img *For armv7 with SPL with SPL_BACK_TO_BROM option disabled: **idbspl.img **u-boot.bin **boot.img or boot folder with zImage, dtb and exitlinulx inside **rootfs.img *For armv7 with miniloader **idbLoader.img **uboot.img **boot.img or&nbsp;boot folder with zImage, dtb and exitlinulx inside **rootfs.img *For armv8 with SPL: **idbspl.img **bl3.itb **boot.img or&nbsp;boot folder with Image, dtb and exitlinulx inside **rootfs.img *For armv8 with miniloader **idbLoader.img **uboot.img **trust.img **boot.img or&nbsp;boot folder with Image, dtb and exitlinulx inside **rootfs.img &nbsp; &nbsp; == Boot from eMMC == The eMMC is on the hardware board, so we need: *Get the board into [[Rockusb#Maskrom_mode|maskrom mode]]; *Connect the target to PC with USB cable; *Flash the image to eMMC with [[Rkdeveloptool|rkdeveloptool]] Example commands for flash image to target. Flash the gpt partition to target: <pre style="margin-left: 40px;">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool gpt parameter_gpt.txt</pre> *For armv7 with SPL with SPL_BACK_TO_BROM option enabled(rk3036, rk3188, rk3288): <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbloader.img rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> *For armv7 with SPL with SPL_BACK_TO_BROM option disabled(rk3288): <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbspl.img rkdeveloptool wl 0x200 u-boot.bin rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> *For armv7 with miniloader(rk3036, rk3188, rk3288) <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbloader.img rkdeveloptool wl 0x4000 uboot.img rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> *For armv8 with SPL(rk3399): <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbspl.img rkdeveloptool wl 0x200 bl3.itb rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> *For armv8 with miniloader(rk3399, rk3328) <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbloader.img rkdeveloptool wl 0x4000 uboot.img rkdeveloptool wl 0x6000 trust.img rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd</pre> &nbsp; == Boot from SD/TF Card == We can write SD/TF card with Linux PC ''dd'' command very easily. Insert SD card to PC and we assume the /dev/sdb is the SD card device. *For armv7 with SPL with SPL_BACK_TO_BROM option enabled(rk3036, rk3188, rk3288): <pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64 dd if=boot.img of=sdb seek=32768 dd if=rootfs.img of=sdb seek=262144 </pre> *For armv7 with SPL with SPL_BACK_TO_BROM option disabled(rk3288): <pre style="margin-left: 40px">dd if=idbspl.img of=sdb seek=64 dd if=u-boot.bin of=sdb seek=512 dd if=boot.img of=sdb seek=32768 dd if=rootfs.img of=sdb seek=262144 </pre> *For armv7 with miniloader(rk3036, rk3188, rk3288) <pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64 dd if=uboot.img of=sdb seek=16384 dd if=boot.img of=sdb seek=32768 dd if=rootfs.img of=sdb seek=262144 </pre> *For armv8 with SPL(rk3399): <pre style="margin-left: 40px">dd if=idbspl.img of=sdb seek=64 dd if=bl3.itb of=sdb seek=512 dd if=boot.img of=sdb seek=32768 dd if=rootfs.img of=sdb seek=262144 </pre> *For armv8 with miniloader(rk3399, rk3328) <pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64 dd if=uboot.img of=sdb seek=16384 dd if=trust.img of=sdb seek=24576 dd if=boot.img of=sdb seek=32768 dd if=rootfs.img of=sdb seek=262144</pre> In order to make sure everything has write to SD card before unpluged, recommand to run below command: <pre style="margin-left: 40px">sync</pre> Note, when using boot from SD card, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value. <pre>append earlyprintk console=ttyS2,115200n8 rw root=/dev/mmcblk1p7 rootwait rootfstype=ext4 init=/sbin/init </pre> Write GPT partition table to SD card&nbsp;in U-Boot, and then U-Boot can find the boot partition and run into kernel. <pre>gpt write mmc 0 $partitions</pre> &nbsp; == Boot from U-Disk == Same as&nbsp;[[#Boot_from_SD.2FTF_Card|boot-from-sdcard]], but please note that U-Disk&nbsp;only support stage 4 and 5, see [[#Boot_Stage|Boot Stage]] for detail. If U-Disk used for stage 4 and 5, format the U-Disk in gpt format and at least 2 partitions, write ''boot.img'' and ''rootfs.img'' in those partitions; if U-Dist is only used for stage 5, we can ''dd ''the ''rootfs.img'' to U-Disk device directly. Note, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value. <pre> append earlyprintk console=ttyS2,115200n8 rw root=/dev/sda1 rootwait rootfstype=ext4 init=/sbin/init </pre> == Boot from Network == &nbsp; = See also = [[Rkdeveloptool|rkdeveloptool]] [[Rockusb|rockusb]] [[Partitions|Rockchip Linux partition definition]] d3fd7bf46296f09961720bf95b1c5cdf6c595372 1124 1123 2017-05-19T07:08:03Z Kever 2 wikitext text/x-wiki &nbsp; &nbsp; &nbsp; = Boot introduce = &nbsp; First, let's make the concept clear, there are many boot stages when we boot up a Linux OS; Then we need to know about how the image should packaged, where&nbsp;the image locate; At lase, we will explain how to write to different&nbsp;media and boot from there. Here is Rockchip pre-released binaries which may be mentioned later: [https://github.com/rockchip-linux/rkbin https://github.com/rockchip-linux/rkbin] &nbsp; == Boot stage == Here is a table show the detail what we may use in Rockchip platform, for 2 boot stage: - use U-Boot SPL; - &nbsp;use Rockchp idbLoader which is combinded by Rockchip ddr init bin and miniloader bin; <pre>+--------+----------------+----------+-------------+---------+ | Boot | Terminology #1 | Actual | Rockchip | | | stage | | program | Image | | | number | | name | Name | | +--------+----------------+----------+-------------+---------+ | 1 | Primary | ROM code | BootRom | | | | Program | | | | | | Loader | | | | | | | | | | | 2 | Secondary | U-Boot |idbloader.img| 0x40 |including u-boot if not use miniloader | | Program | SPL |idbspl.img | | | | Loader (SPL) | | | | | | | | | | | 3 | - | U-Boot | bl3.itb | 0x200 | including u-boot and atf | | | | u-boot.bin | 0x200 | | | | | uboot.img | 0x4000 | only used with miniloader | | | | | | | | | ATF | trust.img | 0x6000 | only used with miniloader for armv8 | | | | | | | 4 | - | kernel | boot.img | 0x8000 | | | | | | | | 5 | - | rootfs | rootfs.img | 0x40000 | +--------+----------------+----------+-------------+---------+ </pre> Then when we talking about boot from eMMC/SD/U-Disk/net, they are in different concept: *Stage 1 is always in boot rom, it loads stage 2 and may load stage 3(when SPL_BACK_TO_BROM option enabled). *Boot from SPI flash means firmware for stage 2 and 3(SPL and U-Boot only) in SPI flash and stage 4/5 in other place; *Boot from eMMC means all the firmware(including stage 2, 3, 4, 5) in eMMC; *Boot from SD card means all the firmware(including stage 2, 3, 4, 5) in SD card; *Boot from U-Disk means firmware for stage 4 and 5(not including SPL and U-Boot) in Disk, optionally only including stage 5; *Boot from net/tftp means firmeware for stage 4 and 5(not including SPL and U-Boot) on the network; == Package option == After we know about the boot stages, Here are the file list before package for stage 2~4: *From source code: **From U-Boot: u-boot-spl.bin, u-boot.bin(may use u-boot-nodtb.bin and u-boot.dtb instead), **From kernel: kernel Image/zImage file, kernel dtb, **From ATF: bl31.bin; *From Rockchip binary: **ddr, usbplug, miniloader, bl31, (all with&nbsp;chip 'rkxx_'&nbsp; prefix and with version '_x.xx.bin' postfix); Here are the types to&nbsp;package image from those files: === idbspl.img === U-Boot SPL, with&nbsp;SPL_BACK_TO_BROM option '''disabled'''. <pre>mkimage -n rkxxxx -T rksd -d spl/u-boot-spl.bin idbspl.img</pre> Flash the idbspl.img to offset 0x40 which only including stage 2, and need flash stage 3 &nbsp;image to 0x200(which is defineded by CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR), the stage 3 image may be&nbsp;u-boot.bin directly(when there no ATF requirement), or FIT image bl3.itb(for ATF load from SPL, including bl31.bin, u-boot-nodtb.bin and u-boot.dtb). &nbsp; === idbloader.img === U-Boot SPL, with&nbsp;SPL_BACK_TO_BROM option '''enabled''': <pre>tools/mkimage -n rkxxxx -T rksd -d spl/u-boot-spl.bin idbloader.img cat u-boot.bin >> idbloader.img</pre> Flash the idbloader.img to offset 0x40 which including boot stage 2 and 3. Package the image from Rockchip binary: <pre>dd if=rkxx_ddr_vx.xx.bin of=ddr.bin bs=4 skip=1 tools/mkimage -n rkxxxx -T rksd -d ddr.bin idbloader.img rm ddr.bin cat rkxx_miniloader_vx.xx.bin >> idbloader.img</pre> Flash the idbloader.img to offset 0x40 which including stage 2, and you will need a uboot.img for boot stage 3. === bl3.itb === When using SPL to load the ATF, package the bl31.bin, u-boot-nodtb.bin and uboot.dtb into one FIT image. <pre>tools/mkimage -f fit4spl.its -E bl3.itb </pre> Flash the bl3.itb to offset 0x200, while&nbsp;need idbspl.img flasht to offset 0x40. === uboot.img === When using idbLoader from&nbsp;Rockchip miniloader, need package u-boot.bin into miniloader loadable format by Rockchip tool loaderimage. <pre>tools/loaderimage --pack --uboot u-boot.bin uboot.img</pre> Flash the uboot.img to offset 0x4000 which is stage 3; === trust.img === When using idbLoader from&nbsp;Rockchip miniloader, need package bl31.bin into miniloader loadable format by Rockchip tool trustmerge. <pre>tools/trustmerge tools/rk_tools/RKTRUST_RKXXXXTRUST.ini</pre> Flash the trust.img to offset 0x6000 which is for using Rockchip miniloader &nbsp; === rkxx_loader_vx.xx.xxx.bin === This is provide by Rockchip in binary mode, which is used for firmware upgrade to eMMC with [[Rkdeveloptool|rkdeveloptool]], can not be wirte to media device directly. This is a package from ddr.bin, usbplug.bin, miniloader.bin, Rockchip tool ''DB ''command will make usbplug.bin running in target which perform as a Rockusb device. === boot.img === This image is package the kernel Image and dtb file into a know filesystem(FAT or EXT2) image for distro boot. See [[Rockchip_Kernel#Install_Boot.2Fkernel|Install kernel]] for detail about generate boot.img from kernel zImage/Image, dtb. Flash the boot.img to offset 0x8000 which is stage 4. === rootfs.img === Flash the rootfs.img to offset 0x40000 which is stage 5. &nbsp; = Flash and boot from Media device = Here we introduce how to write image to different Medeia device. Get image Ready: *For armv7 with SPL with SPL_BACK_TO_BROM option enabled: **idbLoader.img **boot.img or boot folder with zImage, dtb and exitlinulx inside **rootfs.img *For armv7 with SPL with SPL_BACK_TO_BROM option disabled: **idbspl.img **u-boot.bin **boot.img or boot folder with zImage, dtb and exitlinulx inside **rootfs.img *For armv7 with miniloader **idbLoader.img **uboot.img **boot.img or&nbsp;boot folder with zImage, dtb and exitlinulx inside **rootfs.img *For armv8 with SPL: **idbspl.img **bl3.itb **boot.img or&nbsp;boot folder with Image, dtb and exitlinulx inside **rootfs.img *For armv8 with miniloader **idbLoader.img **uboot.img **trust.img **boot.img or&nbsp;boot folder with Image, dtb and exitlinulx inside **rootfs.img &nbsp; &nbsp; == Boot from eMMC == The eMMC is on the hardware board, so we need: *Get the board into [[Rockusb#Maskrom_mode|maskrom mode]]; *Connect the target to PC with USB cable; *Flash the image to eMMC with [[Rkdeveloptool|rkdeveloptool]] Example commands for flash image to target. Flash the gpt partition to target: <pre style="margin-left: 40px;">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool gpt parameter_gpt.txt</pre> *For armv7 with SPL with SPL_BACK_TO_BROM option enabled(rk3036, rk3188, rk3288): <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbloader.img rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> *For armv7 with SPL with SPL_BACK_TO_BROM option disabled(rk3288): <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbspl.img rkdeveloptool wl 0x200 u-boot.bin rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> *For armv7 with miniloader(rk3036, rk3188, rk3288) <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbloader.img rkdeveloptool wl 0x4000 uboot.img rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> *For armv8 with SPL(rk3399): <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbspl.img rkdeveloptool wl 0x200 bl3.itb rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> *For armv8 with miniloader(rk3399, rk3328) <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbloader.img rkdeveloptool wl 0x4000 uboot.img rkdeveloptool wl 0x6000 trust.img rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd</pre> &nbsp; == Boot from SD/TF Card == We can write SD/TF card with Linux PC ''dd'' command very easily. Insert SD card to PC and we assume the /dev/sdb is the SD card device. *For armv7 with SPL with SPL_BACK_TO_BROM option enabled(rk3036, rk3188, rk3288): <pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64 dd if=boot.img of=sdb seek=32768 dd if=rootfs.img of=sdb seek=262144 </pre> *For armv7 with SPL with SPL_BACK_TO_BROM option disabled(rk3288): <pre style="margin-left: 40px">dd if=idbspl.img of=sdb seek=64 dd if=u-boot.bin of=sdb seek=512 dd if=boot.img of=sdb seek=32768 dd if=rootfs.img of=sdb seek=262144 </pre> *For armv7 with miniloader(rk3036, rk3188, rk3288) <pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64 dd if=uboot.img of=sdb seek=16384 dd if=boot.img of=sdb seek=32768 dd if=rootfs.img of=sdb seek=262144 </pre> *For armv8 with SPL(rk3399): <pre style="margin-left: 40px">dd if=idbspl.img of=sdb seek=64 dd if=bl3.itb of=sdb seek=512 dd if=boot.img of=sdb seek=32768 dd if=rootfs.img of=sdb seek=262144 </pre> *For armv8 with miniloader(rk3399, rk3328) <pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64 dd if=uboot.img of=sdb seek=16384 dd if=trust.img of=sdb seek=24576 dd if=boot.img of=sdb seek=32768 dd if=rootfs.img of=sdb seek=262144</pre> In order to make sure everything has write to SD card before unpluged, recommand to run below command: <pre style="margin-left: 40px">sync</pre> Note, when using boot from SD card, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value. <pre>append earlyprintk console=ttyS2,115200n8 rw root=/dev/mmcblk1p7 rootwait rootfstype=ext4 init=/sbin/init </pre> Write GPT partition table to SD card&nbsp;in U-Boot, and then U-Boot can find the boot partition and run into kernel. <pre>gpt write mmc 0 $partitions</pre> &nbsp; == Boot from U-Disk == Same as&nbsp;[[#Boot_from_SD.2FTF_Card|boot-from-sdcard]], but please note that U-Disk&nbsp;only support stage 4 and 5, see [[#Boot_Stage|Boot Stage]] for detail. If U-Disk used for stage 4 and 5, format the U-Disk in gpt format and at least 2 partitions, write ''boot.img'' and ''rootfs.img'' in those partitions; if U-Dist is only used for stage 5, we can ''dd ''the ''rootfs.img'' to U-Disk device directly. Note, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value. <pre> append earlyprintk console=ttyS2,115200n8 rw root=/dev/sda1 rootwait rootfstype=ext4 init=/sbin/init </pre> == Boot from Network == &nbsp; = See also = [[Rkdeveloptool|rkdeveloptool]] [[Rockusb|rockusb]] [[Partitions|Rockchip Linux partition definition]] e48d49022693b2dfb96944238181951d320b3111 File:RK3399-Q7 Front.jpg 6 144 1126 2017-06-01T06:57:25Z Klaus 17 Theobroma Systems RK3399 Q7 SoM wikitext text/x-wiki Theobroma Systems RK3399 Q7 SoM 34a20ca0bfbc880264b89bd9200dbf8782c05b7a RK3399-Q7 0 145 1127 2017-06-01T07:51:30Z Klaus 17 initial RK3399-Q7 board page wikitext text/x-wiki {{Infobox | image = [[File:RK3399-Q7_Front.jpg |500px]] }} = Overview = RK3399-Q7 is a System-on-Module from [https://www.theobroma-systems.com/ Theobroma Systems] featuring Rockchips [[RK3399|RK3399]]. The module follows the [https://www.sget.org/standards/qseven.html Qseven] specification electrical and mechanical and&nbsp;therefore compatible to current and future Qseven and µQseven modules. It integrates the most important components and thence need minimal external circuitry. = Features = *Rockchip [[RK3399|RK3399]] **4x Cortex-A53 **2x Cortex-A72 **ARM Mali T-860MP4 GPU *up to 4GB DDR3-1600 *on-module eMMC *on-module Gigabit Ethernet *communication offload controller **freely programmable Cortex-M0 **USB and I<sup>2</sup>C attached to the host CPU **stock firmware features ***[https://en.wikipedia.org/wiki/CAN_bus CAN] ***fan-control ***RTC **SPI-NOR Flash For more information see the [https://www.theobroma-systems.com/rk3399-q7/ product] page. = Software and Documentation&nbsp; = [https://www.theobroma-systems.com/rk3399-q7/resources Documentation] [https://git.theobroma-systems.com/ GIT software repositories] = EVK = For easy evaluation and rapid development a evaluation kit is availabile. It is tailored to the features of the RK3399-Q7 and includes *RK3399-Q7 SoM **2GB DDR3 **8GB eMMC *Haikou Baseboard **Mini-ITX form factor **PCIe expansion slot **HDMI **Video expansion slot ***MIPI-DSI ***MIPI-CSI ***eDP **USB 3.0 ports **I2S audio codec **RS-232/RS-485 transceiver **on-board USB to UART bridge ***with capability to power-cycle the board over USB *thermal solution to evaluate passive and active cooling *power supply with international power plug set *microSD card *printed manual def0a4f303930e2010b6d40ef740c8ef7c2568d6 1129 1127 2017-06-02T07:18:07Z Klaus 17 updated pictures wikitext text/x-wiki {{Infobox | image = [[File:RK3399-Q7_Front.jpg |500px]] }} = Overview = RK3399-Q7 is a System-on-Module from [https://www.theobroma-systems.com/ Theobroma Systems] featuring Rockchips [[RK3399|RK3399]]. The module follows the [https://www.sget.org/standards/qseven.html Qseven] specification electrical and mechanical and&nbsp;therefore compatible to current and future Qseven and µQseven modules. It integrates the most important components and thence need minimal external circuitry. = Features = *Rockchip [[RK3399|RK3399]] **4x Cortex-A53 **2x Cortex-A72 **ARM Mali T-860MP4 GPU *up to 4GB DDR3-1600 *on-module eMMC *on-module Gigabit Ethernet *communication offload controller **freely programmable Cortex-M0 **USB and I<sup>2</sup>C attached to the host CPU **stock firmware features ***[https://en.wikipedia.org/wiki/CAN_bus CAN] ***fan-control ***RTC **SPI-NOR Flash For more information see the [https://www.theobroma-systems.com/rk3399-q7/ product] page. = Software and Documentation&nbsp; = [https://www.theobroma-systems.com/rk3399-q7/resources Documentation] [https://git.theobroma-systems.com/ GIT software repositories] = EVK = {{Infobox | image = [[File:Haikou_Front_1200.jpg |500px]] }} For easy evaluation and rapid development an&nbsp;[https://www.theobroma-systems.com/haikou-q7-dev-kit/overview evaluation kit] is availabile. It is tailored to the features of the RK3399-Q7 and includes *RK3399-Q7 SoM **2GB DDR3 **8GB eMMC *Haikou Baseboard **Mini-ITX form factor **PCIe expansion slot **HDMI **Video expansion slot ***MIPI-DSI ***MIPI-CSI ***eDP **USB 3.0 ports **I2S audio codec **RS-232/RS-485 transceiver **on-board USB to UART bridge ***with capability to power-cycle the board over USB *thermal solution to evaluate passive and active cooling *power supply with international power plug set *microSD card *printed manual 129a232efee81be6986261229d62eb55757a924e File:Haikou Front 1200.jpg 6 146 1128 2017-06-02T07:14:12Z Klaus 17 Theobroma Systems Q7 Baseboard Haikou wikitext text/x-wiki Theobroma Systems Q7 Baseboard Haikou 5c88444dcfcaf7839b5a362d620f1ad03d769994 RK3399 0 21 1130 1068 2017-06-02T07:20:06Z Klaus 17 Added RK3399-Q7 to device list wikitext text/x-wiki Rockchip RK3399 SoC integrates&nbsp;dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor, and with&nbsp;ARM Mali-T864 GPU. {| border="0" cellpadding="1" cellspacing="1" class="infobox" style="width: 300px;" |- | [[File:RK3399 Soc.png|RTENOTITLE]] |} = Overview = RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications. &nbsp; = SoC Features = {| border="0" cellpadding="1" cellspacing="1" style="width: 972px;" |- | style="width: 530px;" | *CPU: **Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU **Frequency is over 1.8GHz (Big cluster) **L1 cache ***48KB Icache and 32KB Dcache for each A72 ***32KB Icache and 32KB Dcache for each A53 **L2 cache ***1024KB for big cluster ***512KB for little cluster *Internal SRAM **192KB total **4KB used by bootrom when bootup *GPU: **&nbsp;Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11 **Supports AFBC (ARM Frame Buffer Compression) *Display: **Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600 **Dual channel MIPI-DSI (4 lanes per channel) **eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR **HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2 **DisplayPort 1.2 (4 lanes, up to 4K 60Hz) **Supports Rec.2020 and conversion to Rec.709 *Camera: **&nbsp;Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels *Memory: **Dual channels 64-bit DRAM controller **Support DDR3/DDR3L, LPDDR3, LPDDR4 *Connectivity: **PCIe 2.1 (4 full-duplex lanes with 20Gbps) **Embedded low power MCU for other application **8 channels I2S supports 8 channels RX or 8 channels TX | style="width: 429px;" | [[File:RK3399 Block Diagram.png|RTENOTITLE]] |} &nbsp; &nbsp; = Documentation = #[http://opensource.rock-chips.com/images/6/60/Rockchip_RK3399_Datasheet_V1.6-20170301.pdf Rockchip_RK3399_Datasheet_V1.6-20170301.pdf] #[http://opensource.rock-chips.com/wiki_File:RK3399_Linux_Debian_System_Development_Guide.pdf RK3399 Linux Debian System Development Guide.pdf] #[http://opensource.rock-chips.com/images/7/7e/RK3399_Linux_Buildroot_System_Development_Guide.pdf RK3399_Linux_Buildroot_System_Development_Guide.pdf] #[http://opensource.rock-chips.com/images/2/20/RK3399_Multimedia_Codec_Benchmark_v1.0.pdf RK3399_Multimedia_Codec_Benchmark_v1.0.pdf] = Software = == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" class="table_style" style="line-height: 1.6; width: 768px;" |- ! style="width: 119px; text-align: center;" | '''board''' ! style="width: 172px; text-align: center;" | '''kernel''' ! style="width: 124px; text-align: center;" | '''uboot''' ! style="width: 310px; text-align: center;" | '''dts''' |- | style="width: 119px; text-align: center;" | rk3399-excavator | style="width: 172px; text-align: center;" | rockchip_linux_defconfig | style="width: 124px; text-align: center;" | rk3399_linux_defconfig | style="width: 310px; text-align: center;" | rk3399-sapphire-excavator-linux.dts |- | style="width: 119px; text-align: center;" | Firefly-RK3399 | style="width: 172px; text-align: center;" | rockchip_linux_defconfig | style="width: 124px; text-align: center;" | rk3399_linux_defconfig | style="width: 310px; text-align: center;" | rk3399-firefly-linux.dts |} &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" class="table_style" style="width: 859px;" |- ! style="width: 68px; text-align: center;" | '''chip''' ! style="width: 181px; text-align: center;" | '''Kernel eMMC index''' ! style="width: 142px; text-align: center;" | '''Kernel SD index''' ! style="width: 158px; text-align: center;" | '''Uboot eMMC index''' ! style="width: 146px; text-align: center;" | '''Uboot SD index''' ! style="width: 132px; text-align: center;" | '''Baud speed''' |- | style="width: 68px; text-align: center;" | RK3399 | style="width: 181px; text-align: center;" | 1 | style="width: 142px; text-align: center;" | 0 | style="width: 158px; text-align: center;" | 0 | style="width: 146px; text-align: center;" | 1 | style="width: 132px; text-align: center;" | 1500000 |} == How to get the sources == The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code. RK3399 optimized Debian & Buildroot <pre>repo init --repo-url=https://github.com/rockchip-linux/repo -u https://github.com/rockchip-linux/manifests -m rk3399.xml repo sync </pre> == How to build the sources == === Build Environment === You need a 64-bit&nbsp;Ubuntu. Note: old versions&nbsp;Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;"><br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so</div> Install&nbsp;ARM cross-compile tool chain and compile kernel relative&nbsp;software package:&nbsp; <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">$ sudo apt-get install gcc-arm-linux-gnueabihf&nbsp;gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev</div> === Building kernel &&nbsp;resource === For RK3399&nbsp;Excavator-sapphire&nbsp;board: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd kernel && make ARCH=arm64 rockchip_linux_defconfig && make ARCH=arm64 rk3399-sapphire-excavator-linux.img -j12 && cd ..</div> For&nbsp;Firefly-RK3399 board: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd kernel && make ARCH=arm64 rockchip_linux_defconfig && make ARCH=arm64 rk3399-firefly-linux.img -j12 && cd ..</div> === Building uboot === For RK3399 optimized SDK (rkproduct uboot) <pre>cd u-boot && make rk3399_linux_defconfig && make ARCHV=aarch64 -j12 && cd .. </pre> === Building rootfs === ==== Debian ==== You could refer to [[Media:RK3399_Linux_Debian_System_Development_Guide.pdf|RK3399 Linux Debian System Development Guide]]&nbsp;from Rockchip to build rootfs yourselves. ==== Buildroot ==== <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd buildroot && make rockchip_rk3399_defconfig && cd .. && ./build_all.sh -j12 && ./mkfirmware.sh&nbsp;</div> In order to get more details,you could refer to [[Media:RK3399_Linux_Buildroot_System_Development_Guide.pdf|RK3399 Linux Buildroot System Development Guide]]. = Devices = Rockchip: [[Excavator_sapphire_board|Excavator_sapphire_board]] Firefly: [http://wiki.t-firefly.com/index.php/Firefly-RK3399 Firefly-RK3399] Theobroma Systems:&nbsp;[[RK3399-Q7|RK3399-Q7]] If you need the rk3399-excavator&nbsp;board, please communicate through&nbsp;the following&nbsp;contact information: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">Telephone: 4007700590 &nbsp; &nbsp; &nbsp; &nbsp;Email: service@rock-chips.com</div> If you need the Firefly-RK3399 board,you can browse the following url&nbsp;for more details: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">[http://www.t-firefly.com/zh/firenow/Firefly-rk3399/ http://www.t-firefly.com/zh/firenow/Firefly-rk3399/]</div> = See also = [[RK3288|RK3288]] [[RK3328|RK3328]] &nbsp; = References = [https://en.wikipedia.org/wiki/ARM_Cortex-A72 https://en.wikipedia.org/wiki/ARM_Cortex-A72] [http://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html http://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html] [https://www.arm.com/zh/products/multimedia/mali-gpu/high-performance/mali-t860-t880.php https://www.arm.com/zh/products/multimedia/mali-gpu/high-performance/mali-t860-t880.php] f3cb07a3fde1ca9e0306b13cbe48d31e59e0f37f 1152 1130 2017-06-12T03:36:55Z Chery 9 wikitext text/x-wiki Rockchip RK3399 SoC integrates&nbsp;dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor, and with&nbsp;ARM Mali-T864 GPU. {| border="0" cellpadding="1" cellspacing="1" class="infobox" style="width: 300px;" |- | [[File:RK3399 Soc.png|RTENOTITLE]] |} = Overview = RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications. &nbsp; = SoC Features = {| border="0" cellpadding="1" cellspacing="1" style="width: 972px;" |- | style="width: 530px;" | *CPU: **Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU **Frequency is over 1.8GHz (Big cluster) **L1 cache ***48KB Icache and 32KB Dcache for each A72 ***32KB Icache and 32KB Dcache for each A53 **L2 cache ***1024KB for big cluster ***512KB for little cluster *Internal SRAM **192KB total **4KB used by bootrom when bootup *GPU: **&nbsp;Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11 **Supports AFBC (ARM Frame Buffer Compression) *Display: **Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600 **Dual channel MIPI-DSI (4 lanes per channel) **eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR **HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2 **DisplayPort 1.2 (4 lanes, up to 4K 60Hz) **Supports Rec.2020 and conversion to Rec.709 *Camera: **&nbsp;Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels *Memory: **Dual channels 64-bit DRAM controller **Support DDR3/DDR3L, LPDDR3, LPDDR4 *Connectivity: **PCIe 2.1 (4 full-duplex lanes with 20Gbps) **Embedded low power MCU for other application **8 channels I2S supports 8 channels RX or 8 channels TX | style="width: 429px;" | [[File:RK3399 Block Diagram.png|RTENOTITLE]] |} &nbsp; &nbsp; = Documentation = #[http://opensource.rock-chips.com/images/6/60/Rockchip_RK3399_Datasheet_V1.6-20170301.pdf Rockchip_RK3399_Datasheet_V1.6-20170301.pdf] #[http://opensource.rock-chips.com/wiki_File:RK3399_Linux_Debian_System_Development_Guide.pdf RK3399 Linux Debian System Development Guide.pdf] #[http://opensource.rock-chips.com/images/7/7e/RK3399_Linux_Buildroot_System_Development_Guide.pdf RK3399_Linux_Buildroot_System_Development_Guide.pdf] #[http://opensource.rock-chips.com/images/2/20/RK3399_Multimedia_Codec_Benchmark_v1.0.pdf RK3399_Multimedia_Codec_Benchmark_v1.0.pdf] #RK3399 Design Guide_V1.0_20170420.pdf = Software = == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" class="table_style" style="line-height: 1.6; width: 768px;" |- ! style="width: 119px; text-align: center;" | '''board''' ! style="width: 172px; text-align: center;" | '''kernel''' ! style="width: 124px; text-align: center;" | '''uboot''' ! style="width: 310px; text-align: center;" | '''dts''' |- | style="width: 119px; text-align: center;" | rk3399-excavator | style="width: 172px; text-align: center;" | rockchip_linux_defconfig | style="width: 124px; text-align: center;" | rk3399_linux_defconfig | style="width: 310px; text-align: center;" | rk3399-sapphire-excavator-linux.dts |- | style="width: 119px; text-align: center;" | Firefly-RK3399 | style="width: 172px; text-align: center;" | rockchip_linux_defconfig | style="width: 124px; text-align: center;" | rk3399_linux_defconfig | style="width: 310px; text-align: center;" | rk3399-firefly-linux.dts |} &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" class="table_style" style="width: 859px;" |- ! style="width: 68px; text-align: center;" | '''chip''' ! style="width: 181px; text-align: center;" | '''Kernel eMMC index''' ! style="width: 142px; text-align: center;" | '''Kernel SD index''' ! style="width: 158px; text-align: center;" | '''Uboot eMMC index''' ! style="width: 146px; text-align: center;" | '''Uboot SD index''' ! style="width: 132px; text-align: center;" | '''Baud speed''' |- | style="width: 68px; text-align: center;" | RK3399 | style="width: 181px; text-align: center;" | 1 | style="width: 142px; text-align: center;" | 0 | style="width: 158px; text-align: center;" | 0 | style="width: 146px; text-align: center;" | 1 | style="width: 132px; text-align: center;" | 1500000 |} == How to get the sources == The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code. RK3399 optimized Debian & Buildroot <pre>repo init --repo-url=https://github.com/rockchip-linux/repo -u https://github.com/rockchip-linux/manifests -m rk3399.xml repo sync </pre> == How to build the sources == === Build Environment === You need a 64-bit&nbsp;Ubuntu. Note: old versions&nbsp;Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;"><br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so</div> Install&nbsp;ARM cross-compile tool chain and compile kernel relative&nbsp;software package:&nbsp; <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">$ sudo apt-get install gcc-arm-linux-gnueabihf&nbsp;gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev</div> === Building kernel &&nbsp;resource === For RK3399&nbsp;Excavator-sapphire&nbsp;board: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd kernel && make ARCH=arm64 rockchip_linux_defconfig && make ARCH=arm64 rk3399-sapphire-excavator-linux.img -j12 && cd ..</div> For&nbsp;Firefly-RK3399 board: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd kernel && make ARCH=arm64 rockchip_linux_defconfig && make ARCH=arm64 rk3399-firefly-linux.img -j12 && cd ..</div> === Building uboot === For RK3399 optimized SDK (rkproduct uboot) <pre>cd u-boot && make rk3399_linux_defconfig && make ARCHV=aarch64 -j12 && cd .. </pre> === Building rootfs === ==== Debian ==== You could refer to [[Media:RK3399_Linux_Debian_System_Development_Guide.pdf|RK3399 Linux Debian System Development Guide]]&nbsp;from Rockchip to build rootfs yourselves. ==== Buildroot ==== <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd buildroot && make rockchip_rk3399_defconfig && cd .. && ./build_all.sh -j12 && ./mkfirmware.sh&nbsp;</div> In order to get more details,you could refer to [[Media:RK3399_Linux_Buildroot_System_Development_Guide.pdf|RK3399 Linux Buildroot System Development Guide]]. = Devices = Rockchip: [[Excavator_sapphire_board|Excavator_sapphire_board]] Firefly: [http://wiki.t-firefly.com/index.php/Firefly-RK3399 Firefly-RK3399] Theobroma Systems:&nbsp;[[RK3399-Q7|RK3399-Q7]] If you need the rk3399-excavator&nbsp;board, please communicate through&nbsp;the following&nbsp;contact information: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">Telephone: 4007700590 &nbsp; &nbsp; &nbsp; &nbsp;Email: service@rock-chips.com</div> If you need the Firefly-RK3399 board,you can browse the following url&nbsp;for more details: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">[http://www.t-firefly.com/zh/firenow/Firefly-rk3399/ http://www.t-firefly.com/zh/firenow/Firefly-rk3399/]</div> = See also = [[RK3288|RK3288]] [[RK3328|RK3328]] &nbsp; = References = [https://en.wikipedia.org/wiki/ARM_Cortex-A72 https://en.wikipedia.org/wiki/ARM_Cortex-A72] [http://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html http://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html] [https://www.arm.com/zh/products/multimedia/mali-gpu/high-performance/mali-t860-t880.php https://www.arm.com/zh/products/multimedia/mali-gpu/high-performance/mali-t860-t880.php] 9b1efc7a7571cec530752301fa549cb6b215ff24 1154 1152 2017-06-12T03:44:27Z Chery 9 wikitext text/x-wiki Rockchip RK3399 SoC integrates&nbsp;dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor, and with&nbsp;ARM Mali-T864 GPU. {| border="0" cellpadding="1" cellspacing="1" class="infobox" style="width: 300px;" |- | [[File:RK3399 Soc.png|RTENOTITLE]] |} = Overview = RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications. &nbsp; = SoC Features = {| border="0" cellpadding="1" cellspacing="1" style="width: 972px;" |- | style="width: 530px;" | *CPU: **Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU **Frequency is over 1.8GHz (Big cluster) **L1 cache ***48KB Icache and 32KB Dcache for each A72 ***32KB Icache and 32KB Dcache for each A53 **L2 cache ***1024KB for big cluster ***512KB for little cluster *Internal SRAM **192KB total **4KB used by bootrom when bootup *GPU: **&nbsp;Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11 **Supports AFBC (ARM Frame Buffer Compression) *Display: **Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600 **Dual channel MIPI-DSI (4 lanes per channel) **eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR **HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2 **DisplayPort 1.2 (4 lanes, up to 4K 60Hz) **Supports Rec.2020 and conversion to Rec.709 *Camera: **&nbsp;Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels *Memory: **Dual channels 64-bit DRAM controller **Support DDR3/DDR3L, LPDDR3, LPDDR4 *Connectivity: **PCIe 2.1 (4 full-duplex lanes with 20Gbps) **Embedded low power MCU for other application **8 channels I2S supports 8 channels RX or 8 channels TX | style="width: 429px;" | [[File:RK3399 Block Diagram.png|RTENOTITLE]] |} &nbsp; &nbsp; = Documentation = #[http://opensource.rock-chips.com/images/6/60/Rockchip_RK3399_Datasheet_V1.6-20170301.pdf Rockchip_RK3399_Datasheet_V1.6-20170301.pdf] #[http://opensource.rock-chips.com/wiki_File:RK3399_Linux_Debian_System_Development_Guide.pdf RK3399 Linux Debian System Development Guide.pdf] #[http://opensource.rock-chips.com/images/7/7e/RK3399_Linux_Buildroot_System_Development_Guide.pdf RK3399_Linux_Buildroot_System_Development_Guide.pdf] #[http://opensource.rock-chips.com/images/2/20/RK3399_Multimedia_Codec_Benchmark_v1.0.pdf RK3399_Multimedia_Codec_Benchmark_v1.0.pdf] #[[Media:RK3399_Design_Guide_V1.0_20170420.pdf|RK3399 Design Guide_V1.0_20170420.pdf]] = Software = == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" class="table_style" style="line-height: 1.6; width: 768px;" |- ! style="width: 119px; text-align: center;" | '''board''' ! style="width: 172px; text-align: center;" | '''kernel''' ! style="width: 124px; text-align: center;" | '''uboot''' ! style="width: 310px; text-align: center;" | '''dts''' |- | style="width: 119px; text-align: center;" | rk3399-excavator | style="width: 172px; text-align: center;" | rockchip_linux_defconfig | style="width: 124px; text-align: center;" | rk3399_linux_defconfig | style="width: 310px; text-align: center;" | rk3399-sapphire-excavator-linux.dts |- | style="width: 119px; text-align: center;" | Firefly-RK3399 | style="width: 172px; text-align: center;" | rockchip_linux_defconfig | style="width: 124px; text-align: center;" | rk3399_linux_defconfig | style="width: 310px; text-align: center;" | rk3399-firefly-linux.dts |} &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" class="table_style" style="width: 859px;" |- ! style="width: 68px; text-align: center;" | '''chip''' ! style="width: 181px; text-align: center;" | '''Kernel eMMC index''' ! style="width: 142px; text-align: center;" | '''Kernel SD index''' ! style="width: 158px; text-align: center;" | '''Uboot eMMC index''' ! style="width: 146px; text-align: center;" | '''Uboot SD index''' ! style="width: 132px; text-align: center;" | '''Baud speed''' |- | style="width: 68px; text-align: center;" | RK3399 | style="width: 181px; text-align: center;" | 1 | style="width: 142px; text-align: center;" | 0 | style="width: 158px; text-align: center;" | 0 | style="width: 146px; text-align: center;" | 1 | style="width: 132px; text-align: center;" | 1500000 |} == How to get the sources == The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code. RK3399 optimized Debian & Buildroot <pre>repo init --repo-url=https://github.com/rockchip-linux/repo -u https://github.com/rockchip-linux/manifests -m rk3399.xml repo sync </pre> == How to build the sources == === Build Environment === You need a 64-bit&nbsp;Ubuntu. Note: old versions&nbsp;Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;"><br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so</div> Install&nbsp;ARM cross-compile tool chain and compile kernel relative&nbsp;software package:&nbsp; <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">$ sudo apt-get install gcc-arm-linux-gnueabihf&nbsp;gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev</div> === Building kernel &&nbsp;resource === For RK3399&nbsp;Excavator-sapphire&nbsp;board: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd kernel && make ARCH=arm64 rockchip_linux_defconfig && make ARCH=arm64 rk3399-sapphire-excavator-linux.img -j12 && cd ..</div> For&nbsp;Firefly-RK3399 board: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd kernel && make ARCH=arm64 rockchip_linux_defconfig && make ARCH=arm64 rk3399-firefly-linux.img -j12 && cd ..</div> === Building uboot === For RK3399 optimized SDK (rkproduct uboot) <pre>cd u-boot && make rk3399_linux_defconfig && make ARCHV=aarch64 -j12 && cd .. </pre> === Building rootfs === ==== Debian ==== You could refer to [[Media:RK3399_Linux_Debian_System_Development_Guide.pdf|RK3399 Linux Debian System Development Guide]]&nbsp;from Rockchip to build rootfs yourselves. ==== Buildroot ==== <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd buildroot && make rockchip_rk3399_defconfig && cd .. && ./build_all.sh -j12 && ./mkfirmware.sh&nbsp;</div> In order to get more details,you could refer to [[Media:RK3399_Linux_Buildroot_System_Development_Guide.pdf|RK3399 Linux Buildroot System Development Guide]]. = Devices = Rockchip: [[Excavator_sapphire_board|Excavator_sapphire_board]] Firefly: [http://wiki.t-firefly.com/index.php/Firefly-RK3399 Firefly-RK3399] Theobroma Systems:&nbsp;[[RK3399-Q7|RK3399-Q7]] If you need the rk3399-excavator&nbsp;board, please communicate through&nbsp;the following&nbsp;contact information: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">Telephone: 4007700590 &nbsp; &nbsp; &nbsp; &nbsp;Email: service@rock-chips.com</div> If you need the Firefly-RK3399 board,you can browse the following url&nbsp;for more details: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">[http://www.t-firefly.com/zh/firenow/Firefly-rk3399/ http://www.t-firefly.com/zh/firenow/Firefly-rk3399/]</div> = See also = [[RK3288|RK3288]] [[RK3328|RK3328]] &nbsp; = References = [https://en.wikipedia.org/wiki/ARM_Cortex-A72 https://en.wikipedia.org/wiki/ARM_Cortex-A72] [http://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html http://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html] [https://www.arm.com/zh/products/multimedia/mali-gpu/high-performance/mali-t860-t880.php https://www.arm.com/zh/products/multimedia/mali-gpu/high-performance/mali-t860-t880.php] 3057f4a054f9f55f3aaa6c62e4732b3ccd9b1bc1 1155 1154 2017-06-13T08:49:10Z Kevan 10 wikitext text/x-wiki Rockchip RK3399 SoC integrates&nbsp;dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor, and with&nbsp;ARM Mali-T864 GPU. {| border="0" cellpadding="1" cellspacing="1" class="infobox" style="width: 300px;" |- | [[File:RK3399 Soc.png|RTENOTITLE]] |} = Overview = RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications. &nbsp; = SoC Features = {| border="0" cellpadding="1" cellspacing="1" style="width: 972px;" |- | style="width: 530px;" | *CPU: **Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU **Frequency is over 1.8GHz (Big cluster) **L1 cache ***48KB Icache and 32KB Dcache for each A72 ***32KB Icache and 32KB Dcache for each A53 **L2 cache ***1024KB for big cluster ***512KB for little cluster *Internal SRAM **192KB total **4KB used by bootrom when bootup *GPU: **&nbsp;Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11 **Supports AFBC (ARM Frame Buffer Compression) *Display: **Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600 **Dual channel MIPI-DSI (4 lanes per channel) **eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR **HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2 **DisplayPort 1.2 (4 lanes, up to 4K 60Hz) **Supports Rec.2020 and conversion to Rec.709 *Camera: **&nbsp;Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels *Memory: **Dual channels 64-bit DRAM controller **Support DDR3/DDR3L, LPDDR3, LPDDR4 *Connectivity: **PCIe 2.1 (4 full-duplex lanes with 20Gbps) **Embedded low power MCU for other application **8 channels I2S supports 8 channels RX or 8 channels TX | style="width: 429px;" | [[File:RK3399 Block Diagram.png|RTENOTITLE]] |} &nbsp; &nbsp; = Documentation = #[http://opensource.rock-chips.com/images/6/60/Rockchip_RK3399_Datasheet_V1.6-20170301.pdf Rockchip_RK3399_Datasheet_V1.6-20170301.pdf] #[http://opensource.rock-chips.com/wiki_File:RK3399_Linux_Debian_System_Development_Guide.pdf RK3399 Linux Debian System Development Guide.pdf] #[http://opensource.rock-chips.com/images/7/7e/RK3399_Linux_Buildroot_System_Development_Guide.pdf RK3399_Linux_Buildroot_System_Development_Guide.pdf] #[http://opensource.rock-chips.com/images/2/20/RK3399_Multimedia_Codec_Benchmark_v1.0.pdf RK3399_Multimedia_Codec_Benchmark_v1.0.pdf] #[[Media:RK3399_Design_Guide_V1.0_20170420.pdf|RK3399 Design Guide_V1.0_20170420.pdf]] = Software = == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" class="table_style" style="line-height: 1.6; width: 768px;" |- ! style="width: 119px; text-align: center;" | '''board''' ! style="width: 172px; text-align: center;" | '''kernel''' ! style="width: 170px; text-align: center;" | '''uboot''' ! style="width: 277px; text-align: center;" | '''dts''' |- | style="width: 119px; text-align: center;" | rk3399-excavator | style="width: 172px; text-align: center;" | rockchip_linux_defconfig | style="width: 170px; text-align: center;" | evb-rk3399_defconfig | style="width: 277px; text-align: center;" | rk3399-sapphire-excavator-linux.dts |- | style="width: 119px; text-align: center;" | Firefly-RK3399 | style="width: 172px; text-align: center;" | rockchip_linux_defconfig | style="width: 170px; text-align: center;" | firefly-rk3399_defconfig | style="width: 277px; text-align: center;" | rk3399-firefly-linux.dts |} &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" class="table_style" style="width: 859px;" |- ! style="width: 68px; text-align: center;" | '''chip''' ! style="width: 181px; text-align: center;" | '''Kernel eMMC index''' ! style="width: 142px; text-align: center;" | '''Kernel SD index''' ! style="width: 158px; text-align: center;" | '''Uboot eMMC index''' ! style="width: 146px; text-align: center;" | '''Uboot SD index''' ! style="width: 132px; text-align: center;" | '''Baud speed''' |- | style="width: 68px; text-align: center;" | RK3399 | style="width: 181px; text-align: center;" | 1 | style="width: 142px; text-align: center;" | 0 | style="width: 158px; text-align: center;" | 0 | style="width: 146px; text-align: center;" | 1 | style="width: 132px; text-align: center;" | 1500000 |} == How to get the sources == The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code. RK3399 optimized Debian & Buildroot <pre>repo init --repo-url=https://github.com/rockchip-linux/repo -u https://github.com/rockchip-linux/manifests -m rk3399.xml repo sync </pre> == How to build the sources == === Build Environment === You need a 64-bit&nbsp;Ubuntu. Note: old versions&nbsp;Ubuntu maybe have compatibility issues.<br/> Use below commands to install Ubuntu packages: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;"><br/> $ sudo apt-get install git gnupg flex bison gperf build-essential \<br/> zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br/> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br/> libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \<br/> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop<br/> $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gn<br/> u/libGL.so</div> Install&nbsp;ARM cross-compile tool chain and compile kernel relative&nbsp;software package:&nbsp; <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">$ sudo apt-get install gcc-arm-linux-gnueabihf&nbsp;gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev</div> === Building kernel &&nbsp;resource === For RK3399&nbsp;Excavator-sapphire&nbsp;board: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd kernel && make ARCH=arm64 rockchip_linux_defconfig && make ARCH=arm64 rk3399-sapphire-excavator-linux.img -j12 && cd ..</div> For&nbsp;Firefly-RK3399 board: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd kernel && make ARCH=arm64 rockchip_linux_defconfig && make ARCH=arm64 rk3399-firefly-linux.img -j12 && cd ..</div> === Building uboot === For RK3399 optimized SDK (rkproduct uboot) <pre>cd u-boot && make rk3399_linux_defconfig && make ARCHV=aarch64 -j12 && cd .. </pre> === Building rootfs === ==== Debian ==== You could refer to [[Media:RK3399_Linux_Debian_System_Development_Guide.pdf|RK3399 Linux Debian System Development Guide]]&nbsp;from Rockchip to build rootfs yourselves. ==== Buildroot ==== <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">cd buildroot && make rockchip_rk3399_defconfig && cd .. && ./build_all.sh -j12 && ./mkfirmware.sh&nbsp;</div> In order to get more details,you could refer to [[Media:RK3399_Linux_Buildroot_System_Development_Guide.pdf|RK3399 Linux Buildroot System Development Guide]]. = Devices = Rockchip: [[Excavator_sapphire_board|Excavator_sapphire_board]] Firefly: [http://wiki.t-firefly.com/index.php/Firefly-RK3399 Firefly-RK3399] Theobroma Systems:&nbsp;[[RK3399-Q7|RK3399-Q7]] If you need the rk3399-excavator&nbsp;board, please communicate through&nbsp;the following&nbsp;contact information: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">Telephone: 4007700590 &nbsp; &nbsp; &nbsp; &nbsp;Email: service@rock-chips.com</div> If you need the Firefly-RK3399 board,you can browse the following url&nbsp;for more details: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">[http://www.t-firefly.com/zh/firenow/Firefly-rk3399/ http://www.t-firefly.com/zh/firenow/Firefly-rk3399/]</div> = See also = [[RK3288|RK3288]] [[RK3328|RK3328]] &nbsp; = References = [https://en.wikipedia.org/wiki/ARM_Cortex-A72 https://en.wikipedia.org/wiki/ARM_Cortex-A72] [http://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html http://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html] [https://www.arm.com/zh/products/multimedia/mali-gpu/high-performance/mali-t860-t880.php https://www.arm.com/zh/products/multimedia/mali-gpu/high-performance/mali-t860-t880.php] 753174e468d5fc1f79a61d756bffdfe9a2a58fd9 1164 1155 2017-06-14T09:17:46Z Kevan 10 wikitext text/x-wiki Rockchip RK3399 SoC integrates&nbsp;dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor, and with&nbsp;ARM Mali-T864 GPU. {| border="0" cellpadding="1" cellspacing="1" class="infobox" style="width: 300px;" |- | [[File:RK3399 Soc.png|RTENOTITLE]] |} = Overview = RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications. &nbsp; = SoC Features = {| border="0" cellpadding="1" cellspacing="1" style="width: 972px;" |- | style="width: 530px;" | *CPU: **Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU **Frequency is over 1.8GHz (Big cluster) **L1 cache ***48KB Icache and 32KB Dcache for each A72 ***32KB Icache and 32KB Dcache for each A53 **L2 cache ***1024KB for big cluster ***512KB for little cluster *Internal SRAM **192KB total **4KB used by bootrom when bootup *GPU: **&nbsp;Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11 **Supports AFBC (ARM Frame Buffer Compression) *Display: **Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600 **Dual channel MIPI-DSI (4 lanes per channel) **eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR **HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2 **DisplayPort 1.2 (4 lanes, up to 4K 60Hz) **Supports Rec.2020 and conversion to Rec.709 *Camera: **&nbsp;Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels *Memory: **Dual channels 64-bit DRAM controller **Support DDR3/DDR3L, LPDDR3, LPDDR4 *Connectivity: **PCIe 2.1 (4 full-duplex lanes with 20Gbps) **Embedded low power MCU for other application **8 channels I2S supports 8 channels RX or 8 channels TX | style="width: 429px;" | [[File:RK3399 Block Diagram.png|RTENOTITLE]] |} &nbsp; &nbsp; &nbsp; = Documentation = #[http://opensource.rock-chips.com/images/6/60/Rockchip_RK3399_Datasheet_V1.6-20170301.pdf Rockchip_RK3399_Datasheet_V1.6-20170301.pdf] #[http://opensource.rock-chips.com/wiki_File:RK3399_Linux_Debian_System_Development_Guide.pdf RK3399 Linux Debian System Development Guide.pdf] #[http://opensource.rock-chips.com/images/7/7e/RK3399_Linux_Buildroot_System_Development_Guide.pdf RK3399_Linux_Buildroot_System_Development_Guide.pdf] #[http://opensource.rock-chips.com/images/2/20/RK3399_Multimedia_Codec_Benchmark_v1.0.pdf RK3399_Multimedia_Codec_Benchmark_v1.0.pdf] #[[Media:RK3399_Design_Guide_V1.0_20170420.pdf|RK3399 Design Guide_V1.0_20170420.pdf]] = Software = == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" class="table_style" style="line-height: 1.6; width: 768px;" |- ! style="width: 119px; text-align: center;" | '''board''' ! style="width: 172px; text-align: center;" | '''kernel''' ! style="width: 170px; text-align: center;" | '''uboot''' ! style="width: 277px; text-align: center;" | '''dts''' |- | style="width: 119px; text-align: center;" | rk3399-excavator | style="width: 172px; text-align: center;" | rockchip_linux_defconfig | style="width: 170px; text-align: center;" | evb-rk3399_defconfig | style="width: 277px; text-align: center;" | rk3399-sapphire-excavator-linux.dts |- | style="width: 119px; text-align: center;" | Firefly-RK3399 | style="width: 172px; text-align: center;" | rockchip_linux_defconfig | style="width: 170px; text-align: center;" | firefly-rk3399_defconfig | style="width: 277px; text-align: center;" | rk3399-firefly-linux.dts |} &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" class="table_style" style="width: 859px;" |- ! style="width: 68px; text-align: center;" | '''chip''' ! style="width: 181px; text-align: center;" | '''Kernel eMMC index''' ! style="width: 142px; text-align: center;" | '''Kernel SD index''' ! style="width: 158px; text-align: center;" | '''Uboot eMMC index''' ! style="width: 146px; text-align: center;" | '''Uboot SD index''' ! style="width: 132px; text-align: center;" | '''Baud speed''' |- | style="width: 68px; text-align: center;" | RK3399 | style="width: 181px; text-align: center;" | 1 | style="width: 142px; text-align: center;" | 0 | style="width: 158px; text-align: center;" | 0 | style="width: 146px; text-align: center;" | 1 | style="width: 132px; text-align: center;" | 1500000 |} = Devices = Rockchip: [[Excavator_sapphire_board|Excavator_sapphire_board]] Firefly: [http://wiki.t-firefly.com/index.php/Firefly-RK3399 Firefly-RK3399] Theobroma Systems:&nbsp;[[RK3399-Q7|RK3399-Q7]] If you need the rk3399-excavator&nbsp;board, please communicate through&nbsp;the following&nbsp;contact information: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">Telephone: 4007700590 &nbsp; &nbsp; &nbsp; &nbsp;Email: service@rock-chips.com</div> If you need the Firefly-RK3399 board,you can browse the following url&nbsp;for more details: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">[http://www.t-firefly.com/zh/firenow/Firefly-rk3399/ http://www.t-firefly.com/zh/firenow/Firefly-rk3399/]</div> = See also = [[RK3288|RK3288]] [[RK3328|RK3328]] &nbsp; = References = [https://en.wikipedia.org/wiki/ARM_Cortex-A72 https://en.wikipedia.org/wiki/ARM_Cortex-A72] [http://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html http://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html] [https://www.arm.com/zh/products/multimedia/mali-gpu/high-performance/mali-t860-t880.php https://www.arm.com/zh/products/multimedia/mali-gpu/high-performance/mali-t860-t880.php] 8ef52773ea616f247954ca19480964d457c182a4 1165 1164 2017-06-14T09:20:09Z Kevan 10 wikitext text/x-wiki Rockchip RK3399 SoC integrates&nbsp;dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor, and with&nbsp;ARM Mali-T864 GPU. {| border="0" cellpadding="1" cellspacing="1" class="infobox" style="width: 300px;" |- | [[File:RK3399 Soc.png|RTENOTITLE]] |} = Overview = RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications. &nbsp; = SoC Features = {| border="0" cellpadding="1" cellspacing="1" style="width: 972px;" |- | style="width: 530px;" | *CPU: **Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU **Frequency is over 1.8GHz (Big cluster) **L1 cache ***48KB Icache and 32KB Dcache for each A72 ***32KB Icache and 32KB Dcache for each A53 **L2 cache ***1024KB for big cluster ***512KB for little cluster *Internal SRAM **192KB total **4KB used by bootrom when bootup *GPU: **&nbsp;Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11 **Supports AFBC (ARM Frame Buffer Compression) *Display: **Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600 **Dual channel MIPI-DSI (4 lanes per channel) **eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR **HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2 **DisplayPort 1.2 (4 lanes, up to 4K 60Hz) **Supports Rec.2020 and conversion to Rec.709 *Camera: **&nbsp;Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels *Memory: **Dual channels 64-bit DRAM controller **Support DDR3/DDR3L, LPDDR3, LPDDR4 *Connectivity: **PCIe 2.1 (4 full-duplex lanes with 20Gbps) **Embedded low power MCU for other application **8 channels I2S supports 8 channels RX or 8 channels TX | style="width: 429px;" | [[File:RK3399 Block Diagram.png|RTENOTITLE]] |} &nbsp; &nbsp; &nbsp; = Documentation = #[http://opensource.rock-chips.com/images/6/60/Rockchip_RK3399_Datasheet_V1.6-20170301.pdf Rockchip_RK3399_Datasheet_V1.6-20170301.pdf] #[http://opensource.rock-chips.com/wiki_File:RK3399_Linux_Debian_System_Development_Guide.pdf RK3399 Linux Debian System Development Guide.pdf] #[http://opensource.rock-chips.com/images/7/7e/RK3399_Linux_Buildroot_System_Development_Guide.pdf RK3399_Linux_Buildroot_System_Development_Guide.pdf] #[http://opensource.rock-chips.com/images/2/20/RK3399_Multimedia_Codec_Benchmark_v1.0.pdf RK3399_Multimedia_Codec_Benchmark_v1.0.pdf] #[[Media:RK3399_Design_Guide_V1.0_20170420.pdf|RK3399 Design Guide_V1.0_20170420.pdf]] = Software = See&nbsp;[http://opensource.rock-chips.com/wiki_Linux_user_guide Linux_user_guide]&nbsp;setup LInux OS generally; See&nbsp;[http://opensource.rock-chips.com/wiki_U-Boot U-Boot]&nbsp;guide to develop U-Boot; See&nbsp;[http://opensource.rock-chips.com/wiki_Rockchip_Kernel Rockchip kernel]&nbsp;or&nbsp;[http://opensource.rock-chips.com/wiki_Upstream_Kernel Upstream kernel]&nbsp;to develop kernel; See&nbsp;[http://opensource.rock-chips.com/wiki_Distribution Distribution]&nbsp;to develop and custimize OS. == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" class="table_style" style="line-height: 1.6; width: 768px;" |- ! style="width: 119px; text-align: center;" | '''board''' ! style="width: 172px; text-align: center;" | '''kernel''' ! style="width: 170px; text-align: center;" | '''uboot''' ! style="width: 277px; text-align: center;" | '''dts''' |- | style="width: 119px; text-align: center;" | rk3399-excavator | style="width: 172px; text-align: center;" | rockchip_linux_defconfig | style="width: 170px; text-align: center;" | evb-rk3399_defconfig | style="width: 277px; text-align: center;" | rk3399-sapphire-excavator-linux.dts |- | style="width: 119px; text-align: center;" | Firefly-RK3399 | style="width: 172px; text-align: center;" | rockchip_linux_defconfig | style="width: 170px; text-align: center;" | firefly-rk3399_defconfig | style="width: 277px; text-align: center;" | rk3399-firefly-linux.dts |} &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" class="table_style" style="width: 859px;" |- ! style="width: 68px; text-align: center;" | '''chip''' ! style="width: 181px; text-align: center;" | '''Kernel eMMC index''' ! style="width: 142px; text-align: center;" | '''Kernel SD index''' ! style="width: 158px; text-align: center;" | '''Uboot eMMC index''' ! style="width: 146px; text-align: center;" | '''Uboot SD index''' ! style="width: 132px; text-align: center;" | '''Baud speed''' |- | style="width: 68px; text-align: center;" | RK3399 | style="width: 181px; text-align: center;" | 1 | style="width: 142px; text-align: center;" | 0 | style="width: 158px; text-align: center;" | 0 | style="width: 146px; text-align: center;" | 1 | style="width: 132px; text-align: center;" | 1500000 |} = Devices = Rockchip: [[Excavator_sapphire_board|Excavator_sapphire_board]] Firefly: [http://wiki.t-firefly.com/index.php/Firefly-RK3399 Firefly-RK3399] Theobroma Systems:&nbsp;[[RK3399-Q7|RK3399-Q7]] If you need the rk3399-excavator&nbsp;board, please communicate through&nbsp;the following&nbsp;contact information: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">Telephone: 4007700590 &nbsp; &nbsp; &nbsp; &nbsp;Email: service@rock-chips.com</div> If you need the Firefly-RK3399 board,you can browse the following url&nbsp;for more details: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">[http://www.t-firefly.com/zh/firenow/Firefly-rk3399/ http://www.t-firefly.com/zh/firenow/Firefly-rk3399/]</div> = See also = [[RK3288|RK3288]] [[RK3328|RK3328]] &nbsp; = References = [https://en.wikipedia.org/wiki/ARM_Cortex-A72 https://en.wikipedia.org/wiki/ARM_Cortex-A72] [http://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html http://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html] [https://www.arm.com/zh/products/multimedia/mali-gpu/high-performance/mali-t860-t880.php https://www.arm.com/zh/products/multimedia/mali-gpu/high-performance/mali-t860-t880.php] 7fec58530dc8d648206b1ee7786de4d2f5701ee3 1167 1165 2017-06-14T09:46:10Z Kevan 10 wikitext text/x-wiki Rockchip RK3399 SoC integrates&nbsp;dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor, and with&nbsp;ARM Mali-T864 GPU. {| border="0" cellpadding="1" cellspacing="1" class="infobox" style="width: 300px;" |- | [[File:RK3399 Soc.png|RTENOTITLE]] |} = Overview = RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications. &nbsp; = SoC Features = {| border="0" cellpadding="1" cellspacing="1" style="width: 972px;" |- | style="width: 530px;" | *CPU: **Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU **Frequency is over 1.8GHz (Big cluster) **L1 cache ***48KB Icache and 32KB Dcache for each A72 ***32KB Icache and 32KB Dcache for each A53 **L2 cache ***1024KB for big cluster ***512KB for little cluster *Internal SRAM **192KB total **4KB used by bootrom when bootup *GPU: **&nbsp;Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11 **Supports AFBC (ARM Frame Buffer Compression) *Display: **Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600 **Dual channel MIPI-DSI (4 lanes per channel) **eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR **HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2 **DisplayPort 1.2 (4 lanes, up to 4K 60Hz) **Supports Rec.2020 and conversion to Rec.709 *Camera: **&nbsp;Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels *Memory: **Dual channels 64-bit DRAM controller **Support DDR3/DDR3L, LPDDR3, LPDDR4 *Connectivity: **PCIe 2.1 (4 full-duplex lanes with 20Gbps) **Embedded low power MCU for other application **8 channels I2S supports 8 channels RX or 8 channels TX | style="width: 429px;" | [[File:RK3399 Block Diagram.png|RTENOTITLE]] |} &nbsp; &nbsp; &nbsp; = Documentation = #[http://opensource.rock-chips.com/images/6/60/Rockchip_RK3399_Datasheet_V1.6-20170301.pdf Rockchip_RK3399_Datasheet_V1.6-20170301.pdf] #[http://opensource.rock-chips.com/wiki_File:RK3399_Linux_Debian_System_Development_Guide.pdf RK3399 Linux Debian System Development Guide.pdf] #[http://opensource.rock-chips.com/images/7/7e/RK3399_Linux_Buildroot_System_Development_Guide.pdf RK3399_Linux_Buildroot_System_Development_Guide.pdf] #[http://opensource.rock-chips.com/images/2/20/RK3399_Multimedia_Codec_Benchmark_v1.0.pdf RK3399_Multimedia_Codec_Benchmark_v1.0.pdf] #[[Media:RK3399_Design_Guide_V1.0_20170420.pdf|RK3399 Design Guide_V1.0_20170420.pdf]] = Software = See&nbsp;[[Linux_user_guide|Linux_user_guide]]&nbsp;setup LInux OS generally; See&nbsp;[http://opensource.rock-chips.com/wiki_U-Boot U-Boot]&nbsp;guide to develop U-Boot; See&nbsp;[http://opensource.rock-chips.com/wiki_Rockchip_Kernel Rockchip kernel]&nbsp;or&nbsp;[http://opensource.rock-chips.com/wiki_Upstream_Kernel Upstream kernel]&nbsp;to develop kernel; See&nbsp;[http://opensource.rock-chips.com/wiki_Distribution Distribution]&nbsp;to develop and custimize OS. == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" class="table_style" style="line-height: 1.6; width: 768px;" |- ! style="width: 119px; text-align: center;" | '''board''' ! style="width: 172px; text-align: center;" | '''kernel''' ! style="width: 170px; text-align: center;" | '''uboot''' ! style="width: 277px; text-align: center;" | '''dts''' |- | style="width: 119px; text-align: center;" | rk3399-excavator | style="width: 172px; text-align: center;" | rockchip_linux_defconfig | style="width: 170px; text-align: center;" | evb-rk3399_defconfig | style="width: 277px; text-align: center;" | rk3399-sapphire-excavator-linux.dts |- | style="width: 119px; text-align: center;" | Firefly-RK3399 | style="width: 172px; text-align: center;" | rockchip_linux_defconfig | style="width: 170px; text-align: center;" | firefly-rk3399_defconfig | style="width: 277px; text-align: center;" | rk3399-firefly-linux.dts |} &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" class="table_style" style="width: 859px;" |- ! style="width: 68px; text-align: center;" | '''chip''' ! style="width: 181px; text-align: center;" | '''Kernel eMMC index''' ! style="width: 142px; text-align: center;" | '''Kernel SD index''' ! style="width: 158px; text-align: center;" | '''Uboot eMMC index''' ! style="width: 146px; text-align: center;" | '''Uboot SD index''' ! style="width: 132px; text-align: center;" | '''Baud speed''' |- | style="width: 68px; text-align: center;" | RK3399 | style="width: 181px; text-align: center;" | 1 | style="width: 142px; text-align: center;" | 0 | style="width: 158px; text-align: center;" | 0 | style="width: 146px; text-align: center;" | 1 | style="width: 132px; text-align: center;" | 1500000 |} = Devices = Rockchip: [[Excavator_sapphire_board|Excavator_sapphire_board]] Firefly: [http://wiki.t-firefly.com/index.php/Firefly-RK3399 Firefly-RK3399] Theobroma Systems:&nbsp;[[RK3399-Q7|RK3399-Q7]] If you need the rk3399-excavator&nbsp;board, please communicate through&nbsp;the following&nbsp;contact information: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">Telephone: 4007700590 &nbsp; &nbsp; &nbsp; &nbsp;Email: service@rock-chips.com</div> If you need the Firefly-RK3399 board,you can browse the following url&nbsp;for more details: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">[http://www.t-firefly.com/zh/firenow/Firefly-rk3399/ http://www.t-firefly.com/zh/firenow/Firefly-rk3399/]</div> = See also = [[RK3288|RK3288]] [[RK3328|RK3328]] &nbsp; = References = [https://en.wikipedia.org/wiki/ARM_Cortex-A72 https://en.wikipedia.org/wiki/ARM_Cortex-A72] [http://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html http://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html] [https://www.arm.com/zh/products/multimedia/mali-gpu/high-performance/mali-t860-t880.php https://www.arm.com/zh/products/multimedia/mali-gpu/high-performance/mali-t860-t880.php] 18de176075516bc8a33204c79c8f922ce57535dd 1168 1167 2017-06-14T09:50:52Z Kevan 10 wikitext text/x-wiki Rockchip RK3399 SoC integrates&nbsp;dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor, and with&nbsp;ARM Mali-T864 GPU. {| border="0" cellpadding="1" cellspacing="1" class="infobox" style="width: 300px;" |- | [[File:RK3399 Soc.png|RTENOTITLE]] |} = Overview = RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications. &nbsp; = SoC Features = {| border="0" cellpadding="1" cellspacing="1" style="width: 972px;" |- | style="width: 530px;" | *CPU: **Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU **Frequency is over 1.8GHz (Big cluster) **L1 cache ***48KB Icache and 32KB Dcache for each A72 ***32KB Icache and 32KB Dcache for each A53 **L2 cache ***1024KB for big cluster ***512KB for little cluster *Internal SRAM **192KB total **4KB used by bootrom when bootup *GPU: **&nbsp;Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11 **Supports AFBC (ARM Frame Buffer Compression) *Display: **Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600 **Dual channel MIPI-DSI (4 lanes per channel) **eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR **HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2 **DisplayPort 1.2 (4 lanes, up to 4K 60Hz) **Supports Rec.2020 and conversion to Rec.709 *Camera: **&nbsp;Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels *Memory: **Dual channels 64-bit DRAM controller **Support DDR3/DDR3L, LPDDR3, LPDDR4 *Connectivity: **PCIe 2.1 (4 full-duplex lanes with 20Gbps) **Embedded low power MCU for other application **8 channels I2S supports 8 channels RX or 8 channels TX | style="width: 429px;" | [[File:RK3399 Block Diagram.png|RTENOTITLE]] |} &nbsp; &nbsp; &nbsp; = Documentation = #[http://opensource.rock-chips.com/images/6/60/Rockchip_RK3399_Datasheet_V1.6-20170301.pdf Rockchip_RK3399_Datasheet_V1.6-20170301.pdf] #[http://opensource.rock-chips.com/wiki_File:RK3399_Linux_Debian_System_Development_Guide.pdf RK3399 Linux Debian System Development Guide.pdf] #[http://opensource.rock-chips.com/images/7/7e/RK3399_Linux_Buildroot_System_Development_Guide.pdf RK3399_Linux_Buildroot_System_Development_Guide.pdf] #[http://opensource.rock-chips.com/images/2/20/RK3399_Multimedia_Codec_Benchmark_v1.0.pdf RK3399_Multimedia_Codec_Benchmark_v1.0.pdf] #[[Media:RK3399_Design_Guide_V1.0_20170420.pdf|RK3399 Design Guide_V1.0_20170420.pdf]] = Software = See&nbsp;[[Linux_user_guide|Linux_user_guide]]&nbsp;setup LInux OS generally; See&nbsp;[[U-Boot|U-Boot]]&nbsp;guide to develop U-Boot; See&nbsp;[[Rockchip_Kernel|Rockchip kernel]]&nbsp;or&nbsp;[[Upstream_Kernel|Upstream kernel]]&nbsp;to develop kernel; See&nbsp;[[Distribution|Distribution]]&nbsp;to develop and custimize OS. == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" class="table_style" style="line-height: 1.6; width: 768px;" |- ! style="width: 119px; text-align: center;" | '''board''' ! style="width: 172px; text-align: center;" | '''kernel''' ! style="width: 170px; text-align: center;" | '''uboot''' ! style="width: 277px; text-align: center;" | '''dts''' |- | style="width: 119px; text-align: center;" | rk3399-excavator | style="width: 172px; text-align: center;" | rockchip_linux_defconfig | style="width: 170px; text-align: center;" | evb-rk3399_defconfig | style="width: 277px; text-align: center;" | rk3399-sapphire-excavator-linux.dts |- | style="width: 119px; text-align: center;" | Firefly-RK3399 | style="width: 172px; text-align: center;" | rockchip_linux_defconfig | style="width: 170px; text-align: center;" | firefly-rk3399_defconfig | style="width: 277px; text-align: center;" | rk3399-firefly-linux.dts |} &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" class="table_style" style="width: 859px;" |- ! style="width: 68px; text-align: center;" | '''chip''' ! style="width: 181px; text-align: center;" | '''Kernel eMMC index''' ! style="width: 142px; text-align: center;" | '''Kernel SD index''' ! style="width: 158px; text-align: center;" | '''Uboot eMMC index''' ! style="width: 146px; text-align: center;" | '''Uboot SD index''' ! style="width: 132px; text-align: center;" | '''Baud speed''' |- | style="width: 68px; text-align: center;" | RK3399 | style="width: 181px; text-align: center;" | 1 | style="width: 142px; text-align: center;" | 0 | style="width: 158px; text-align: center;" | 0 | style="width: 146px; text-align: center;" | 1 | style="width: 132px; text-align: center;" | 1500000 |} = Devices = Rockchip: [[Excavator_sapphire_board|Excavator_sapphire_board]] Firefly: [http://wiki.t-firefly.com/index.php/Firefly-RK3399 Firefly-RK3399] Theobroma Systems:&nbsp;[[RK3399-Q7|RK3399-Q7]] If you need the rk3399-excavator&nbsp;board, please communicate through&nbsp;the following&nbsp;contact information: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">Telephone: 4007700590 &nbsp; &nbsp; &nbsp; &nbsp;Email: service@rock-chips.com</div> If you need the Firefly-RK3399 board,you can browse the following url&nbsp;for more details: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">[http://www.t-firefly.com/zh/firenow/Firefly-rk3399/ http://www.t-firefly.com/zh/firenow/Firefly-rk3399/]</div> = See also = [[RK3288|RK3288]] [[RK3328|RK3328]] &nbsp; = References = [https://en.wikipedia.org/wiki/ARM_Cortex-A72 https://en.wikipedia.org/wiki/ARM_Cortex-A72] [http://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html http://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html] [https://www.arm.com/zh/products/multimedia/mali-gpu/high-performance/mali-t860-t880.php https://www.arm.com/zh/products/multimedia/mali-gpu/high-performance/mali-t860-t880.php] c4ebaf11caf9e05c994c908f296a6e69098cb1f5 1173 1168 2017-06-19T07:34:39Z Kevan 10 wikitext text/x-wiki Rockchip RK3399 SoC integrates&nbsp;dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor, and with&nbsp;ARM Mali-T864 GPU. {| border="0" cellpadding="1" cellspacing="1" class="infobox" style="width: 300px;" |- | [[File:RK3399 Soc.png|RTENOTITLE]] |} = Overview = RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications. &nbsp; = SoC Features = {| border="0" cellpadding="1" cellspacing="1" style="width: 972px;" |- | style="width: 530px;" | *CPU: **Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU **Frequency is over 1.8GHz (Big cluster) **L1 cache ***48KB Icache and 32KB Dcache for each A72 ***32KB Icache and 32KB Dcache for each A53 **L2 cache ***1024KB for big cluster ***512KB for little cluster *Internal SRAM **192KB total **4KB used by bootrom when bootup *GPU: **&nbsp;Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11 **Supports AFBC (ARM Frame Buffer Compression) *Display: **Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600 **Dual channel MIPI-DSI (4 lanes per channel) **eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR **HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2 **DisplayPort 1.2 (4 lanes, up to 4K 60Hz) **Supports Rec.2020 and conversion to Rec.709 *Camera: **&nbsp;Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels *Memory: **Dual channels 64-bit DRAM controller **Support DDR3/DDR3L, LPDDR3, LPDDR4 *Connectivity: **PCIe 2.1 (4 full-duplex lanes with 20Gbps) **Embedded low power MCU for other application **8 channels I2S supports 8 channels RX or 8 channels TX | style="width: 429px;" | [[File:RK3399 Block Diagram.png|RTENOTITLE]] |} &nbsp; &nbsp; &nbsp; = Documentation = #[http://opensource.rock-chips.com/images/6/60/Rockchip_RK3399_Datasheet_V1.6-20170301.pdf Rockchip_RK3399_Datasheet_V1.6-20170301.pdf] #[http://opensource.rock-chips.com/wiki_File:RK3399_Linux_Debian_System_Development_Guide.pdf RK3399 Linux Debian System Development Guide.pdf] #[[RK3399_Linux_Buildroot_V1.2_Development_Guide170619.pdf]] #[[RK3399_Linux_Buildroot_V1.2开发说明170619.pdf|RK3399_Linux_Buildroot_V1.2开发说明170619.pdf]] #[http://opensource.rock-chips.com/images/2/20/RK3399_Multimedia_Codec_Benchmark_v1.0.pdf RK3399_Multimedia_Codec_Benchmark_v1.0.pdf] #[[Media:RK3399_Design_Guide_V1.0_20170420.pdf|RK3399 Design Guide_V1.0_20170420.pdf]] = Software = See&nbsp;[[Linux_user_guide|Linux_user_guide]]&nbsp;setup LInux OS generally; See&nbsp;[[U-Boot|U-Boot]]&nbsp;guide to develop U-Boot; See&nbsp;[[Rockchip_Kernel|Rockchip kernel]]&nbsp;or&nbsp;[[Upstream_Kernel|Upstream kernel]]&nbsp;to develop kernel; See&nbsp;[[Distribution|Distribution]]&nbsp;to develop and custimize OS. == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" class="table_style" style="line-height: 1.6; width: 768px;" |- ! style="width: 119px; text-align: center;" | '''board''' ! style="width: 172px; text-align: center;" | '''kernel''' ! style="width: 170px; text-align: center;" | '''uboot''' ! style="width: 277px; text-align: center;" | '''dts''' |- | style="width: 119px; text-align: center;" | rk3399-excavator | style="width: 172px; text-align: center;" | rockchip_linux_defconfig | style="width: 170px; text-align: center;" | evb-rk3399_defconfig | style="width: 277px; text-align: center;" | rk3399-sapphire-excavator-linux.dts |- | style="width: 119px; text-align: center;" | Firefly-RK3399 | style="width: 172px; text-align: center;" | rockchip_linux_defconfig | style="width: 170px; text-align: center;" | firefly-rk3399_defconfig | style="width: 277px; text-align: center;" | rk3399-firefly-linux.dts |} &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" class="table_style" style="width: 859px;" |- ! style="width: 68px; text-align: center;" | '''chip''' ! style="width: 181px; text-align: center;" | '''Kernel eMMC index''' ! style="width: 142px; text-align: center;" | '''Kernel SD index''' ! style="width: 158px; text-align: center;" | '''Uboot eMMC index''' ! style="width: 146px; text-align: center;" | '''Uboot SD index''' ! style="width: 132px; text-align: center;" | '''Baud speed''' |- | style="width: 68px; text-align: center;" | RK3399 | style="width: 181px; text-align: center;" | 1 | style="width: 142px; text-align: center;" | 0 | style="width: 158px; text-align: center;" | 0 | style="width: 146px; text-align: center;" | 1 | style="width: 132px; text-align: center;" | 1500000 |} = Devices = Rockchip: [[Excavator_sapphire_board|Excavator_sapphire_board]] Firefly: [http://wiki.t-firefly.com/index.php/Firefly-RK3399 Firefly-RK3399] Theobroma Systems:&nbsp;[[RK3399-Q7|RK3399-Q7]] If you need the rk3399-excavator&nbsp;board, please communicate through&nbsp;the following&nbsp;contact information: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">Telephone: 4007700590 &nbsp; &nbsp; &nbsp; &nbsp;Email: service@rock-chips.com</div> If you need the Firefly-RK3399 board,you can browse the following url&nbsp;for more details: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">[http://www.t-firefly.com/zh/firenow/Firefly-rk3399/ http://www.t-firefly.com/zh/firenow/Firefly-rk3399/]</div> = See also = [[RK3288|RK3288]] [[RK3328|RK3328]] &nbsp; = References = [https://en.wikipedia.org/wiki/ARM_Cortex-A72 https://en.wikipedia.org/wiki/ARM_Cortex-A72] [http://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html http://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html] [https://www.arm.com/zh/products/multimedia/mali-gpu/high-performance/mali-t860-t880.php https://www.arm.com/zh/products/multimedia/mali-gpu/high-performance/mali-t860-t880.php] 31e94505de7ea8733a4468a45512d6f83b8203f3 1174 1173 2017-06-19T07:37:22Z Kevan 10 wikitext text/x-wiki Rockchip RK3399 SoC integrates&nbsp;dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor, and with&nbsp;ARM Mali-T864 GPU. {| border="0" cellpadding="1" cellspacing="1" class="infobox" style="width: 300px;" |- | [[File:RK3399 Soc.png|RTENOTITLE]] |} = Overview = RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications. &nbsp; = SoC Features = {| border="0" cellpadding="1" cellspacing="1" style="width: 972px;" |- | style="width: 530px;" | *CPU: **Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU **Frequency is over 1.8GHz (Big cluster) **L1 cache ***48KB Icache and 32KB Dcache for each A72 ***32KB Icache and 32KB Dcache for each A53 **L2 cache ***1024KB for big cluster ***512KB for little cluster *Internal SRAM **192KB total **4KB used by bootrom when bootup *GPU: **&nbsp;Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11 **Supports AFBC (ARM Frame Buffer Compression) *Display: **Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600 **Dual channel MIPI-DSI (4 lanes per channel) **eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR **HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2 **DisplayPort 1.2 (4 lanes, up to 4K 60Hz) **Supports Rec.2020 and conversion to Rec.709 *Camera: **&nbsp;Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels *Memory: **Dual channels 64-bit DRAM controller **Support DDR3/DDR3L, LPDDR3, LPDDR4 *Connectivity: **PCIe 2.1 (4 full-duplex lanes with 20Gbps) **Embedded low power MCU for other application **8 channels I2S supports 8 channels RX or 8 channels TX | style="width: 429px;" | [[File:RK3399 Block Diagram.png|RTENOTITLE]] |} &nbsp; &nbsp; &nbsp; = Documentation = #[http://opensource.rock-chips.com/images/6/60/Rockchip_RK3399_Datasheet_V1.6-20170301.pdf Rockchip_RK3399_Datasheet_V1.6-20170301.pdf] #[http://opensource.rock-chips.com/wiki_File:RK3399_Linux_Debian_System_Development_Guide.pdf RK3399 Linux Debian System Development Guide.pdf] #[http://opensource.rock-chips.com/images/9/92/RK3399_Linux_Buildroot_V1.2_Development_Guide170619.pdf RK3399_Linux_Buildroot_V1.2_Development_Guide170619.pdf] #[http://opensource.rock-chips.com/images/0/05/RK3399_Linux_Buildroot_V1.2开发说明170619.pdf RK3399_Linux_Buildroot_V1.2开发说明170619.pdf] #[http://opensource.rock-chips.com/images/2/20/RK3399_Multimedia_Codec_Benchmark_v1.0.pdf RK3399_Multimedia_Codec_Benchmark_v1.0.pdf] #[[Media:RK3399_Design_Guide_V1.0_20170420.pdf|RK3399 Design Guide_V1.0_20170420.pdf]] = Software = See&nbsp;[[Linux_user_guide|Linux_user_guide]]&nbsp;setup LInux OS generally; See&nbsp;[[U-Boot|U-Boot]]&nbsp;guide to develop U-Boot; See&nbsp;[[Rockchip_Kernel|Rockchip kernel]]&nbsp;or&nbsp;[[Upstream_Kernel|Upstream kernel]]&nbsp;to develop kernel; See&nbsp;[[Distribution|Distribution]]&nbsp;to develop and custimize OS. == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" class="table_style" style="line-height: 1.6; width: 768px;" |- ! style="width: 119px; text-align: center;" | '''board''' ! style="width: 172px; text-align: center;" | '''kernel''' ! style="width: 170px; text-align: center;" | '''uboot''' ! style="width: 277px; text-align: center;" | '''dts''' |- | style="width: 119px; text-align: center;" | rk3399-excavator | style="width: 172px; text-align: center;" | rockchip_linux_defconfig | style="width: 170px; text-align: center;" | evb-rk3399_defconfig | style="width: 277px; text-align: center;" | rk3399-sapphire-excavator-linux.dts |- | style="width: 119px; text-align: center;" | Firefly-RK3399 | style="width: 172px; text-align: center;" | rockchip_linux_defconfig | style="width: 170px; text-align: center;" | firefly-rk3399_defconfig | style="width: 277px; text-align: center;" | rk3399-firefly-linux.dts |} &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" class="table_style" style="width: 859px;" |- ! style="width: 68px; text-align: center;" | '''chip''' ! style="width: 181px; text-align: center;" | '''Kernel eMMC index''' ! style="width: 142px; text-align: center;" | '''Kernel SD index''' ! style="width: 158px; text-align: center;" | '''Uboot eMMC index''' ! style="width: 146px; text-align: center;" | '''Uboot SD index''' ! style="width: 132px; text-align: center;" | '''Baud speed''' |- | style="width: 68px; text-align: center;" | RK3399 | style="width: 181px; text-align: center;" | 1 | style="width: 142px; text-align: center;" | 0 | style="width: 158px; text-align: center;" | 0 | style="width: 146px; text-align: center;" | 1 | style="width: 132px; text-align: center;" | 1500000 |} = Devices = Rockchip: [[Excavator_sapphire_board|Excavator_sapphire_board]] Firefly: [http://wiki.t-firefly.com/index.php/Firefly-RK3399 Firefly-RK3399] Theobroma Systems:&nbsp;[[RK3399-Q7|RK3399-Q7]] If you need the rk3399-excavator&nbsp;board, please communicate through&nbsp;the following&nbsp;contact information: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">Telephone: 4007700590 &nbsp; &nbsp; &nbsp; &nbsp;Email: service@rock-chips.com</div> If you need the Firefly-RK3399 board,you can browse the following url&nbsp;for more details: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">[http://www.t-firefly.com/zh/firenow/Firefly-rk3399/ http://www.t-firefly.com/zh/firenow/Firefly-rk3399/]</div> = See also = [[RK3288|RK3288]] [[RK3328|RK3328]] &nbsp; = References = [https://en.wikipedia.org/wiki/ARM_Cortex-A72 https://en.wikipedia.org/wiki/ARM_Cortex-A72] [http://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html http://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html] [https://www.arm.com/zh/products/multimedia/mali-gpu/high-performance/mali-t860-t880.php https://www.arm.com/zh/products/multimedia/mali-gpu/high-performance/mali-t860-t880.php] 56fefe2f94e808078469dd010a402bb8d1b7fe59 1178 1174 2017-06-21T02:36:48Z Kevan 10 wikitext text/x-wiki Rockchip RK3399 SoC integrates&nbsp;dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor, and with&nbsp;ARM Mali-T864 GPU. {| border="0" cellpadding="1" cellspacing="1" class="infobox" style="width: 300px;" |- | [[File:RK3399 Soc.png|RTENOTITLE]] |} = Overview = RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications. &nbsp; = SoC Features = {| border="0" cellpadding="1" cellspacing="1" style="width: 972px;" |- | style="width: 530px;" | *CPU: **Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU **Frequency is over 1.8GHz (Big cluster) **L1 cache ***48KB Icache and 32KB Dcache for each A72 ***32KB Icache and 32KB Dcache for each A53 **L2 cache ***1024KB for big cluster ***512KB for little cluster *Internal SRAM **192KB total **4KB used by bootrom when bootup *GPU: **&nbsp;Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11 **Supports AFBC (ARM Frame Buffer Compression) *Display: **Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600 **Dual channel MIPI-DSI (4 lanes per channel) **eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR **HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2 **DisplayPort 1.2 (4 lanes, up to 4K 60Hz) **Supports Rec.2020 and conversion to Rec.709 *Camera: **&nbsp;Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels *Memory: **Dual channels 64-bit DRAM controller **Support DDR3/DDR3L, LPDDR3, LPDDR4 *Connectivity: **PCIe 2.1 (4 full-duplex lanes with 20Gbps) **Embedded low power MCU for other application **8 channels I2S supports 8 channels RX or 8 channels TX | style="width: 429px;" | [[File:RK3399 Block Diagram.png|RTENOTITLE]] |} &nbsp; &nbsp; &nbsp; = Documentation = #[http://opensource.rock-chips.com/images/6/60/Rockchip_RK3399_Datasheet_V1.6-20170301.pdf Rockchip_RK3399_Datasheet_V1.6-20170301.pdf] #[http://opensource.rock-chips.com/images/f/f9/RK3399_Linux_Debain_V1.1_Development_Guide170620.pdf RK3399_Linux_Debain_V1.1_Development_Guide170620.pdf] #[http://opensource.rock-chips.com/images/5/5d/RK3399_Linux_Debian_v1.1开发说明170620.pdf RK3399 Linux Debian v1.1开发说明170620.pdf] #[http://opensource.rock-chips.com/images/9/92/RK3399_Linux_Buildroot_V1.2_Development_Guide170619.pdf RK3399_Linux_Buildroot_V1.2_Development_Guide170619.pdf] #[http://opensource.rock-chips.com/images/0/05/RK3399_Linux_Buildroot_V1.2开发说明170619.pdf RK3399_Linux_Buildroot_V1.2开发说明170619.pdf] #[http://opensource.rock-chips.com/images/2/20/RK3399_Multimedia_Codec_Benchmark_v1.0.pdf RK3399_Multimedia_Codec_Benchmark_v1.0.pdf] #[[Media:RK3399_Design_Guide_V1.0_20170420.pdf|RK3399 Design Guide_V1.0_20170420.pdf]] = Software = See&nbsp;[[Linux_user_guide|Linux_user_guide]]&nbsp;setup LInux OS generally; See&nbsp;[[U-Boot|U-Boot]]&nbsp;guide to develop U-Boot; See&nbsp;[[Rockchip_Kernel|Rockchip kernel]]&nbsp;or&nbsp;[[Upstream_Kernel|Upstream kernel]]&nbsp;to develop kernel; See&nbsp;[[Distribution|Distribution]]&nbsp;to develop and custimize OS. == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" class="table_style" style="line-height: 1.6; width: 768px;" |- ! style="width: 119px; text-align: center;" | '''board''' ! style="width: 172px; text-align: center;" | '''kernel''' ! style="width: 170px; text-align: center;" | '''uboot''' ! style="width: 277px; text-align: center;" | '''dts''' |- | style="width: 119px; text-align: center;" | rk3399-excavator | style="width: 172px; text-align: center;" | rockchip_linux_defconfig | style="width: 170px; text-align: center;" | evb-rk3399_defconfig | style="width: 277px; text-align: center;" | rk3399-sapphire-excavator-linux.dts |- | style="width: 119px; text-align: center;" | Firefly-RK3399 | style="width: 172px; text-align: center;" | rockchip_linux_defconfig | style="width: 170px; text-align: center;" | firefly-rk3399_defconfig | style="width: 277px; text-align: center;" | rk3399-firefly-linux.dts |} &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" class="table_style" style="width: 859px;" |- ! style="width: 68px; text-align: center;" | '''chip''' ! style="width: 181px; text-align: center;" | '''Kernel eMMC index''' ! style="width: 142px; text-align: center;" | '''Kernel SD index''' ! style="width: 158px; text-align: center;" | '''Uboot eMMC index''' ! style="width: 146px; text-align: center;" | '''Uboot SD index''' ! style="width: 132px; text-align: center;" | '''Baud speed''' |- | style="width: 68px; text-align: center;" | RK3399 | style="width: 181px; text-align: center;" | 1 | style="width: 142px; text-align: center;" | 0 | style="width: 158px; text-align: center;" | 0 | style="width: 146px; text-align: center;" | 1 | style="width: 132px; text-align: center;" | 1500000 |} = Devices = Rockchip: [[Excavator_sapphire_board|Excavator_sapphire_board]] Firefly: [http://wiki.t-firefly.com/index.php/Firefly-RK3399 Firefly-RK3399] Theobroma Systems:&nbsp;[[RK3399-Q7|RK3399-Q7]] If you need the rk3399-excavator&nbsp;board, please communicate through&nbsp;the following&nbsp;contact information: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">Telephone: 4007700590 &nbsp; &nbsp; &nbsp; &nbsp;Email: service@rock-chips.com</div> If you need the Firefly-RK3399 board,you can browse the following url&nbsp;for more details: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">[http://www.t-firefly.com/zh/firenow/Firefly-rk3399/ http://www.t-firefly.com/zh/firenow/Firefly-rk3399/]</div> = See also = [[RK3288|RK3288]] [[RK3328|RK3328]] &nbsp; = References = [https://en.wikipedia.org/wiki/ARM_Cortex-A72 https://en.wikipedia.org/wiki/ARM_Cortex-A72] [http://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html http://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html] [https://www.arm.com/zh/products/multimedia/mali-gpu/high-performance/mali-t860-t880.php https://www.arm.com/zh/products/multimedia/mali-gpu/high-performance/mali-t860-t880.php] 215c4d2424f1e90eba4870d4382d0a3879c00fd8 1221 1178 2017-07-12T09:47:09Z Kevan 10 wikitext text/x-wiki Rockchip RK3399 SoC integrates&nbsp;dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor, and with&nbsp;ARM Mali-T864 GPU. {| border="0" cellpadding="1" cellspacing="1" class="infobox" style="width: 300px;" |- | [[File:RK3399 Soc.png|RTENOTITLE]] |} = Overview = RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications. &nbsp; = SoC Features = {| border="0" cellpadding="1" cellspacing="1" style="width: 972px;" |- | style="width: 530px;" | *CPU: **Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU **Frequency is over 1.8GHz (Big cluster) **L1 cache ***48KB Icache and 32KB Dcache for each A72 ***32KB Icache and 32KB Dcache for each A53 **L2 cache ***1024KB for big cluster ***512KB for little cluster *Internal SRAM **192KB total **4KB used by bootrom when bootup *GPU: **&nbsp;Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11 **Supports AFBC (ARM Frame Buffer Compression) *Display: **Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600 **Dual channel MIPI-DSI (4 lanes per channel) **eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR **HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2 **DisplayPort 1.2 (4 lanes, up to 4K 60Hz) **Supports Rec.2020 and conversion to Rec.709 *Camera: **&nbsp;Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels *Memory: **Dual channels 64-bit DRAM controller **Support DDR3/DDR3L, LPDDR3, LPDDR4 *Connectivity: **PCIe 2.1 (4 full-duplex lanes with 20Gbps) **Embedded low power MCU for other application **8 channels I2S supports 8 channels RX or 8 channels TX | style="width: 429px;" | [[File:RK3399 Block Diagram.png|RTENOTITLE]] |} &nbsp; &nbsp; &nbsp; = Documentation = #[http://opensource.rock-chips.com/images/6/60/Rockchip_RK3399_Datasheet_V1.6-20170301.pdf Rockchip_RK3399_Datasheet_V1.6-20170301.pdf] #[http://opensource.rock-chips.com/images/f/f9/RK3399_Linux_Debain_V1.1_Development_Guide170620.pdf RK3399_Linux_Debain_V1.1_Development_Guide170620.pdf] #[http://opensource.rock-chips.com/images/5/5d/RK3399_Linux_Debian_v1.1开发说明170620.pdf RK3399 Linux Debian v1.1开发说明170620.pdf] #[http://opensource.rock-chips.com/images/9/92/RK3399_Linux_Buildroot_V1.2_Development_Guide170619.pdf RK3399_Linux_Buildroot_V1.2_Development_Guide170619.pdf] #[http://opensource.rock-chips.com/images/0/05/RK3399_Linux_Buildroot_V1.2开发说明170619.pdf RK3399_Linux_Buildroot_V1.2开发说明170619.pdf] #[http://opensource.rock-chips.com/images/2/20/RK3399_Multimedia_Codec_Benchmark_v1.0.pdf RK3399_Multimedia_Codec_Benchmark_v1.0.pdf] #[[Media:RK3399_Design_Guide_V1.0_20170420.pdf|RK3399 Design Guide_V1.0_20170420.pdf]] = Software = See&nbsp;[[Linux_user_guide|Linux_user_guide]]&nbsp;setup LInux OS generally; See&nbsp;[[U-Boot|U-Boot]]&nbsp;guide to develop U-Boot; See&nbsp;[[Rockchip_Kernel|Rockchip kernel]]&nbsp;or&nbsp;[[Upstream_Kernel|Upstream kernel]]&nbsp;to develop kernel; See&nbsp;[[Distribution|Distribution]]&nbsp;to develop and custimize OS. == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" class="table_style" style="line-height: 1.6; width: 768px;" |- ! style="width: 119px; text-align: center;" | '''board''' ! style="width: 172px; text-align: center;" | '''kernel''' ! style="width: 170px; text-align: center;" | '''uboot''' ! style="width: 277px; text-align: center;" | '''dts''' |- | style="width: 119px; text-align: center;" | rk3399-excavator | style="width: 172px; text-align: center;" | rockchip_linux_defconfig | style="width: 170px; text-align: center;" | evb-rk3399_defconfig | style="width: 277px; text-align: center;" | rk3399-sapphire-excavator-linux.dts |- | style="width: 119px; text-align: center;" | rk3399-firefly | style="width: 172px; text-align: center;" | rockchip_linux_defconfig | style="width: 170px; text-align: center;" | firefly-rk3399_defconfig | style="width: 277px; text-align: center;" | rk3399-firefly-linux.dts |} &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" class="table_style" style="width: 859px;" |- ! style="width: 68px; text-align: center;" | '''chip''' ! style="width: 181px; text-align: center;" | '''Kernel eMMC index''' ! style="width: 142px; text-align: center;" | '''Kernel SD index''' ! style="width: 158px; text-align: center;" | '''Uboot eMMC index''' ! style="width: 146px; text-align: center;" | '''Uboot SD index''' ! style="width: 132px; text-align: center;" | '''Baud speed''' |- | style="width: 68px; text-align: center;" | RK3399 | style="width: 181px; text-align: center;" | 1 | style="width: 142px; text-align: center;" | 0 | style="width: 158px; text-align: center;" | 0 | style="width: 146px; text-align: center;" | 1 | style="width: 132px; text-align: center;" | 1500000 |} = Devices = Rockchip: [[Excavator_sapphire_board|Excavator_sapphire_board]] Firefly: [http://wiki.t-firefly.com/index.php/Firefly-RK3399 Firefly-RK3399] Theobroma Systems:&nbsp;[[RK3399-Q7|RK3399-Q7]] If you need the rk3399-excavator&nbsp;board, please communicate through&nbsp;the following&nbsp;contact information: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">Telephone: 4007700590 &nbsp; &nbsp; &nbsp; &nbsp;Email: service@rock-chips.com</div> If you need the Firefly-RK3399 board,you can browse the following url&nbsp;for more details: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">[http://www.t-firefly.com/zh/firenow/Firefly-rk3399/ http://www.t-firefly.com/zh/firenow/Firefly-rk3399/]</div> = See also = [[RK3288|RK3288]] [[RK3328|RK3328]] &nbsp; = References = [https://en.wikipedia.org/wiki/ARM_Cortex-A72 https://en.wikipedia.org/wiki/ARM_Cortex-A72] [http://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html http://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html] [https://www.arm.com/zh/products/multimedia/mali-gpu/high-performance/mali-t860-t880.php https://www.arm.com/zh/products/multimedia/mali-gpu/high-performance/mali-t860-t880.php] b1d6ddce210dbcaa1587fabbda30fcdb85d03702 1222 1221 2017-07-12T09:50:24Z Kevan 10 wikitext text/x-wiki Rockchip RK3399 SoC integrates&nbsp;dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor, and with&nbsp;ARM Mali-T864 GPU. {| border="0" cellpadding="1" cellspacing="1" class="infobox" style="width: 300px;" |- | [[File:RK3399 Soc.png|RTENOTITLE]] |} = Overview = RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications. &nbsp; = SoC Features = {| border="0" cellpadding="1" cellspacing="1" style="width: 972px;" |- | style="width: 530px;" | *CPU: **Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU **Frequency is over 1.8GHz (Big cluster) **L1 cache ***48KB Icache and 32KB Dcache for each A72 ***32KB Icache and 32KB Dcache for each A53 **L2 cache ***1024KB for big cluster ***512KB for little cluster *Internal SRAM **192KB total **4KB used by bootrom when bootup *GPU: **&nbsp;Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11 **Supports AFBC (ARM Frame Buffer Compression) *Display: **Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600 **Dual channel MIPI-DSI (4 lanes per channel) **eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR **HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2 **DisplayPort 1.2 (4 lanes, up to 4K 60Hz) **Supports Rec.2020 and conversion to Rec.709 *Camera: **&nbsp;Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels *Memory: **Dual channels 64-bit DRAM controller **Support DDR3/DDR3L, LPDDR3, LPDDR4 *Connectivity: **PCIe 2.1 (4 full-duplex lanes with 20Gbps) **Embedded low power MCU for other application **8 channels I2S supports 8 channels RX or 8 channels TX | style="width: 429px;" | [[File:RK3399 Block Diagram.png|RTENOTITLE]] |} &nbsp; &nbsp; &nbsp; = Documentation = #[http://opensource.rock-chips.com/images/6/60/Rockchip_RK3399_Datasheet_V1.6-20170301.pdf Rockchip_RK3399_Datasheet_V1.6-20170301.pdf] #[http://opensource.rock-chips.com/images/f/f9/RK3399_Linux_Debain_V1.1_Development_Guide170620.pdf RK3399_Linux_Debain_V1.1_Development_Guide170620.pdf] #[http://opensource.rock-chips.com/images/5/5d/RK3399_Linux_Debian_v1.1开发说明170620.pdf RK3399 Linux Debian v1.1开发说明170620.pdf] #[http://opensource.rock-chips.com/images/9/92/RK3399_Linux_Buildroot_V1.2_Development_Guide170619.pdf RK3399_Linux_Buildroot_V1.2_Development_Guide170619.pdf] #[http://opensource.rock-chips.com/images/0/05/RK3399_Linux_Buildroot_V1.2开发说明170619.pdf RK3399_Linux_Buildroot_V1.2开发说明170619.pdf] #[http://opensource.rock-chips.com/images/2/20/RK3399_Multimedia_Codec_Benchmark_v1.0.pdf RK3399_Multimedia_Codec_Benchmark_v1.0.pdf] #[[Media:RK3399_Design_Guide_V1.0_20170420.pdf|RK3399 Design Guide_V1.0_20170420.pdf]] = Software = See&nbsp;[[Linux_user_guide|Linux_user_guide]]&nbsp;setup LInux OS generally; See&nbsp;[[U-Boot|U-Boot]]&nbsp;guide to develop U-Boot; See&nbsp;[[Rockchip_Kernel|Rockchip kernel]]&nbsp;or&nbsp;[[Upstream_Kernel|Upstream kernel]]&nbsp;to develop kernel; See&nbsp;[[Distribution|Distribution]]&nbsp;to develop and custimize OS. == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" class="table_style" style="line-height: 1.6; width: 768px;" |- ! style="width: 119px; text-align: center;" | '''board''' ! style="width: 172px; text-align: center;" | '''kernel''' ! style="width: 170px; text-align: center;" | '''uboot''' ! style="width: 277px; text-align: center;" | '''dts''' |- | style="width: 119px; text-align: center;" | rk3399-excavator | style="width: 172px; text-align: center;" | rockchip_linux_defconfig | style="width: 170px; text-align: center;" | evb-rk3399_defconfig | style="width: 277px; text-align: center;" | rk3399-sapphire-excavator-linux.dts |- | style="width: 119px; text-align: center;" | rk3399-firefly | style="width: 172px; text-align: center;" | rockchip_linux_defconfig | style="width: 170px; text-align: center;" | firefly-rk3399_defconfig | style="width: 277px; text-align: center;" | rk3399-firefly-linux.dts |} &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" class="table_style" style="width: 859px;" |- ! style="width: 68px; text-align: center;" | '''chip''' ! style="width: 181px; text-align: center;" | '''Kernel eMMC index''' ! style="width: 142px; text-align: center;" | '''Kernel SD index''' ! style="width: 158px; text-align: center;" | '''Uboot eMMC index''' ! style="width: 146px; text-align: center;" | '''Uboot SD index''' ! style="width: 132px; text-align: center;" | '''Baud speed''' |- | style="width: 68px; text-align: center;" | RK3399 | style="width: 181px; text-align: center;" | 1 | style="width: 142px; text-align: center;" | 0 | style="width: 158px; text-align: center;" | 0 | style="width: 146px; text-align: center;" | 1 | style="width: 132px; text-align: center;" | 1500000 |} = Devices = Rockchip: [[Excavator_sapphire_board|Excavator_sapphire_board]] Firefly: [http://wiki.t-firefly.com/index.php/Firefly-RK3399 rk3399-f][http://wiki.t-firefly.com/index.php/Firefly-RK3399 irefly] Theobroma Systems:&nbsp;[[RK3399-Q7|RK3399-Q7]] If you need the rk3399-excavator&nbsp;board, please communicate through&nbsp;the following&nbsp;contact information: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">Telephone: 4007700590 &nbsp; &nbsp; &nbsp; &nbsp;Email: service@rock-chips.com</div> If you need the Firefly-RK3399 board,you can browse the following url&nbsp;for more details: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">[http://www.t-firefly.com/zh/firenow/Firefly-rk3399/ http://www.t-firefly.com/zh/firenow/Firefly-rk3399/]</div> = See also = [[RK3288|RK3288]] [[RK3328|RK3328]] &nbsp; = References = [https://en.wikipedia.org/wiki/ARM_Cortex-A72 https://en.wikipedia.org/wiki/ARM_Cortex-A72] [http://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html http://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html] [https://www.arm.com/zh/products/multimedia/mali-gpu/high-performance/mali-t860-t880.php https://www.arm.com/zh/products/multimedia/mali-gpu/high-performance/mali-t860-t880.php] 7ca06932f364b38034ea3d117b149315c7384795 1223 1222 2017-07-12T09:51:35Z Kevan 10 wikitext text/x-wiki Rockchip RK3399 SoC integrates&nbsp;dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor, and with&nbsp;ARM Mali-T864 GPU. {| border="0" cellpadding="1" cellspacing="1" class="infobox" style="width: 300px;" |- | [[File:RK3399 Soc.png|RTENOTITLE]] |} = Overview = RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications. &nbsp; = SoC Features = {| border="0" cellpadding="1" cellspacing="1" style="width: 972px;" |- | style="width: 530px;" | *CPU: **Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU **Frequency is over 1.8GHz (Big cluster) **L1 cache ***48KB Icache and 32KB Dcache for each A72 ***32KB Icache and 32KB Dcache for each A53 **L2 cache ***1024KB for big cluster ***512KB for little cluster *Internal SRAM **192KB total **4KB used by bootrom when bootup *GPU: **&nbsp;Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11 **Supports AFBC (ARM Frame Buffer Compression) *Display: **Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600 **Dual channel MIPI-DSI (4 lanes per channel) **eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR **HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2 **DisplayPort 1.2 (4 lanes, up to 4K 60Hz) **Supports Rec.2020 and conversion to Rec.709 *Camera: **&nbsp;Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels *Memory: **Dual channels 64-bit DRAM controller **Support DDR3/DDR3L, LPDDR3, LPDDR4 *Connectivity: **PCIe 2.1 (4 full-duplex lanes with 20Gbps) **Embedded low power MCU for other application **8 channels I2S supports 8 channels RX or 8 channels TX | style="width: 429px;" | [[File:RK3399 Block Diagram.png|RTENOTITLE]] |} &nbsp; &nbsp; &nbsp; = Documentation = #[http://opensource.rock-chips.com/images/6/60/Rockchip_RK3399_Datasheet_V1.6-20170301.pdf Rockchip_RK3399_Datasheet_V1.6-20170301.pdf] #[http://opensource.rock-chips.com/images/f/f9/RK3399_Linux_Debain_V1.1_Development_Guide170620.pdf RK3399_Linux_Debain_V1.1_Development_Guide170620.pdf] #[http://opensource.rock-chips.com/images/5/5d/RK3399_Linux_Debian_v1.1开发说明170620.pdf RK3399 Linux Debian v1.1开发说明170620.pdf] #[http://opensource.rock-chips.com/images/9/92/RK3399_Linux_Buildroot_V1.2_Development_Guide170619.pdf RK3399_Linux_Buildroot_V1.2_Development_Guide170619.pdf] #[http://opensource.rock-chips.com/images/0/05/RK3399_Linux_Buildroot_V1.2开发说明170619.pdf RK3399_Linux_Buildroot_V1.2开发说明170619.pdf] #[http://opensource.rock-chips.com/images/2/20/RK3399_Multimedia_Codec_Benchmark_v1.0.pdf RK3399_Multimedia_Codec_Benchmark_v1.0.pdf] #[[Media:RK3399_Design_Guide_V1.0_20170420.pdf|RK3399 Design Guide_V1.0_20170420.pdf]] = Software = See&nbsp;[[Linux_user_guide|Linux_user_guide]]&nbsp;setup LInux OS generally; See&nbsp;[[U-Boot|U-Boot]]&nbsp;guide to develop U-Boot; See&nbsp;[[Rockchip_Kernel|Rockchip kernel]]&nbsp;or&nbsp;[[Upstream_Kernel|Upstream kernel]]&nbsp;to develop kernel; See&nbsp;[[Distribution|Distribution]]&nbsp;to develop and custimize OS. == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" class="table_style" style="line-height: 1.6; width: 768px;" |- ! style="width: 119px; text-align: center;" | '''board''' ! style="width: 172px; text-align: center;" | '''kernel''' ! style="width: 170px; text-align: center;" | '''uboot''' ! style="width: 277px; text-align: center;" | '''dts''' |- | style="width: 119px; text-align: center;" | rk3399-excavator | style="width: 172px; text-align: center;" | rockchip_linux_defconfig | style="width: 170px; text-align: center;" | evb-rk3399_defconfig | style="width: 277px; text-align: center;" | rk3399-sapphire-excavator-linux.dts |- | style="width: 119px; text-align: center;" | rk3399-firefly | style="width: 172px; text-align: center;" | rockchip_linux_defconfig | style="width: 170px; text-align: center;" | firefly-rk3399_defconfig | style="width: 277px; text-align: center;" | rk3399-firefly-linux.dts |} &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" class="table_style" style="width: 859px;" |- ! style="width: 68px; text-align: center;" | '''chip''' ! style="width: 181px; text-align: center;" | '''Kernel eMMC index''' ! style="width: 142px; text-align: center;" | '''Kernel SD index''' ! style="width: 158px; text-align: center;" | '''Uboot eMMC index''' ! style="width: 146px; text-align: center;" | '''Uboot SD index''' ! style="width: 132px; text-align: center;" | '''Baud speed''' |- | style="width: 68px; text-align: center;" | RK3399 | style="width: 181px; text-align: center;" | 1 | style="width: 142px; text-align: center;" | 0 | style="width: 158px; text-align: center;" | 0 | style="width: 146px; text-align: center;" | 1 | style="width: 132px; text-align: center;" | 1500000 |} = Devices = Rockchip: [[Excavator_sapphire_board|Excavator_sapphire_board]] Firefly: [http://wiki.t-firefly.com/index.php/Firefly-RK3399 rk3399-firefly] Theobroma Systems:&nbsp;[[RK3399-Q7|RK3399-Q7]] If you need the rk3399-excavator&nbsp;board, please communicate through&nbsp;the following&nbsp;contact information: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">Telephone: 4007700590 &nbsp; &nbsp; &nbsp; &nbsp;Email: service@rock-chips.com</div> If you need the Firefly-RK3399 board,you can browse the following url&nbsp;for more details: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">[http://www.t-firefly.com/zh/firenow/Firefly-rk3399/ http://www.t-firefly.com/zh/firenow/Firefly-rk3399/]</div> = See also = [[RK3288|RK3288]] [[RK3328|RK3328]] &nbsp; = References = [https://en.wikipedia.org/wiki/ARM_Cortex-A72 https://en.wikipedia.org/wiki/ARM_Cortex-A72] [http://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html http://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html] [https://www.arm.com/zh/products/multimedia/mali-gpu/high-performance/mali-t860-t880.php https://www.arm.com/zh/products/multimedia/mali-gpu/high-performance/mali-t860-t880.php] 0e59674f2c4a0114a1d15b712c4e02fadd7058d0 Devices 0 49 1131 421 2017-06-02T11:34:51Z Kever 2 wikitext text/x-wiki Here list the boards that appear&nbsp;at upstream or Rockchip github&nbsp;source code. = RK3288 Boards = [[Firefly-RK3288]] [[ASUS_Tinker|ASUS Tinker Board]] &nbsp; &nbsp; = RK3399 Boards = Rockchip: RK3399&nbsp;[[Excavator_sapphire_board|Excavator sapphire]] Firefly: [[Firefly-RK3399|Firefly-RK3399]] &nbsp;[https://www.theobroma-systems.com/ Theobroma Systems]: [[RK3399-Q7]] = RK3328 Boards = 8695b50d650375afb1e4104bad1e64c7c1732ba8 1136 1131 2017-06-09T01:45:01Z Kever 2 wikitext text/x-wiki Here list the boards that appear&nbsp;at upstream or Rockchip github&nbsp;source code. = RK3288 Boards = Firefly:&nbsp;[[Firefly-RK3288|Firefly-RK3288]] ASUS:&nbsp;[[ASUS_Tinker|Tinker Board]] Mqmaker: [[MiQi]] &nbsp; = RK3399 Boards = Rockchip: RK3399&nbsp;[[Excavator_sapphire_board|Excavator sapphire]] Firefly: [[Firefly-RK3399|Firefly-RK3399]] &nbsp;[https://www.theobroma-systems.com/ Theobroma Systems]: [[RK3399-Q7]] = RK3328 Boards = f3f69e3743ebc7bdc4a4aae13e691fc20641171c 1138 1136 2017-06-09T01:47:16Z Kever 2 wikitext text/x-wiki Here list the boards that appear&nbsp;at upstream or Rockchip github&nbsp;source code. = RK3288 Boards = Firefly:&nbsp;[[Firefly-RK3288|Firefly-RK3288]] ASUS:&nbsp;[[ASUS_Tinker|Tinker Board]] Mqmaker: [[MiQi|MiQi]] PHYTEC: [[PhyCORE-RK3288|phyCore-RK3288]] = RK3399 Boards = Rockchip: RK3399&nbsp;[[Excavator_sapphire_board|Excavator sapphire]] Firefly: [[Firefly-RK3399|Firefly-RK3399]] &nbsp;[https://www.theobroma-systems.com/ Theobroma Systems]: [[RK3399-Q7]] = RK3328 Boards = 861b25cc5f9c5f6429e046e206db4f6e148fc4d2 1140 1138 2017-06-09T01:53:26Z Kever 2 wikitext text/x-wiki Here list the boards that appear&nbsp;at upstream or Rockchip github&nbsp;source code. = RK3288 Boards = Firefly:&nbsp;[[Firefly-RK3288|Firefly-RK3288]] ASUS:&nbsp;[[ASUS_Tinker|Tinker Board]] Mqmaker: [[MiQi|MiQi]] PHYTEC: [[PhyCORE-RK3288|phyCore-RK3288]] Linksprite:&nbsp;[[Fennec|PcDuino9 Fennec]] = RK3399 Boards = Rockchip: RK3399&nbsp;[[Excavator_sapphire_board|Excavator sapphire]] Firefly: [[Firefly-RK3399|Firefly-RK3399]] &nbsp;[https://www.theobroma-systems.com/ Theobroma Systems]: [[RK3399-Q7]] = RK3328 Boards = 893acf00954db9440c607901f42a794f1cadd6a9 1147 1140 2017-06-09T02:08:10Z Kever 2 wikitext text/x-wiki Here list the boards that appear&nbsp;at upstream or Rockchip github&nbsp;source code. = RK3288 Boards = Firefly:&nbsp;[[Firefly-RK3288|Firefly-RK3288]] ASUS:&nbsp;[[ASUS_Tinker|Tinker Board]] Mqmaker: [[MiQi|MiQi]] PHYTEC: [[PhyCORE-RK3288|phyCore-RK3288]] Linksprite:&nbsp;[[Fennec|PcDuino9 Fennec]] = RK3399 Boards = Rockchip: RK3399&nbsp;[[Excavator_sapphire_board|Excavator sapphire]] Firefly: [[Firefly-RK3399|Firefly-RK3399]] &nbsp;[https://www.theobroma-systems.com/ Theobroma Systems]: [[RK3399-Q7]] = RK3328 Boards = [[ROCK64]] 8dca224250ca2e3caa6920ecd9c6929659b54776 1150 1147 2017-06-09T02:11:13Z Kever 2 wikitext text/x-wiki Here list the boards that appear&nbsp;at upstream or Rockchip github&nbsp;source code. = RK3288 Boards = Firefly:&nbsp;[[Firefly-RK3288|Firefly-RK3288]] ASUS:&nbsp;[[ASUS_Tinker|Tinker Board]] Mqmaker: [[MiQi|MiQi]] PHYTEC: [[PhyCORE-RK3288|phyCore-RK3288]] Linksprite:&nbsp;[[Fennec|PcDuino9 Fennec]] = RK3399 Boards = Rockchip: RK3399&nbsp;[[Excavator_sapphire_board|Excavator sapphire]] Firefly: [[Firefly-RK3399|Firefly-RK3399]] [https://www.theobroma-systems.com/ Theobroma Systems]: [[RK3399-Q7|RK3399-Q7]] = RK3328 Boards = [[ROCK64]] 9ec156504881382d76d6f572d41129909e1d4f27 Popmetal 0 29 1141 877 2017-06-09T01:53:51Z Kever 2 wikitext text/x-wiki &nbsp;&nbsp; &nbsp; = Image = = See also = #[http://10.10.10.12:8444/index.php?title=Firefly-RK3288 Firefly-RK3288] #[[Firefly-RK3288_reload|Firefly-RK3288_reload]] #[[Rock2_Square|Rock2_Square]] #[[Rock2_Full|Rock2_Full]] #[[MiQi|MiQi]] #[[Fennec|Fennec]] #[[PhyCORE-RK3288|phyCORE-RK328]][[PhyCORE-RK3288|8]] = References = 1.[http://10.10.10.12:8444/images/f/f4/PopMetal_EVB.rar PopMetal_EVB] aa7436fe66ca5253a2b8a810c175c356dd506f64 RK3288 0 20 1149 914 2017-06-09T02:10:05Z Kever 2 wikitext text/x-wiki {{Infobox SoC | title = RK3288 | image = [[File:rk3288_soc.png|200px]] | manufacturer = Rockcihp | process = 28nm | cpu = Quad-Core ARM Cortex-A17 | ltwo = | extensions = | memory = 2-channel LPDDR3/LPDDR2/DDR3/DDR3L | gpu = ARM Mali-T764 | vpu = | apu = | video = HDMI 1.4, MIPI DSI, LVDS, RGB LCD | audio = I2S, PCM | network = | storage = 4x SD Card, eMMC, NAND | usb = OTG, 2x Host | other = | release_date = June 2014 | website = http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html }} &nbsp; &nbsp; &nbsp; Integrated with a Quad-Core [https://en.wikipedia.org/wiki/ARM_Cortex-A17 Cortex-A17]&nbsp;which up to 1.8GHz and ARMMali-T764&nbsp;which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant&nbsp;interfaces provide&nbsp;a friendly solution for product&nbsp;development. Futhermore &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; = Overview = The RK3288 offers<big><var>&nbsp;</var></big>an extensible, <big><small><tt>leading&nbsp;performance</tt></small></big>, long-standing heritage platform,ideally suited for &nbsp;set-top box solution, tablet and chromebook.The platform is integrated with a Quad-Core Cortex-A17 which up to 1.8GHz and ARM Mali-T764&nbsp;which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant&nbsp;interfaces provide&nbsp;a friendly solution for product&nbsp;development. Futhermore, the power consumption is&nbsp;optimal for applications such as imaging/video, communication and broadband infrastructure,and performance audio applications. &nbsp; &nbsp; = RK3288 SoC Features = {| border="0" cellpadding="1" cellspacing="1" style="width: 972px;" |- | style="width: 530px;" | *CPU: **Quad Core Cortex-A17&nbsp;up to 1.8GHz **32KB L1-Cache **1MB L2-Cache *Internal SRAM **96KB total **First 16KB used by Bootrom when bootup *GPU: **ARM Mali-T764 GPU, with TE, ASTC, AFBC technology **Quad core 3D Graphics engine **Dual core 2D Graphics engine **Comply with&nbsp;OpenGL ES1.1/2.0/3.0, OpenVG1.1, OpenCL, DirectX11 *Display: **4Kx2K@60fpsHDMI2.0 **Up to 3840X2160 display resolution **Support dual-channel LVDS/dual-channel MIPI-DSI/eDP1.1 *Camera: **Support up to 5M pixels **8bits/10bits/12bits raw data interface&nbsp; *Memory: **Dual channels 64-bit DRAM controller **Support DDR3/DDR3L, LPDDR2, LPDDR3 *Connectivity: **Embedded 13M ISP and MIPI-CSI2 interface *Audio: **I2S/PCM with 8 channels | style="width: 429px;" | [[File:3288.png|RTENOTITLE]] |} = Devices = Rockchip: EVB-RK3288 Firefly: [[Firefly-RK3288|Firefly-RK3288]]<br/> [[Rock2_Full|Rock2 Full]]<br/> [[MiQi|MiQi]]<br/> [[Fennec|Fennec]]<br/> [[PhyCORE-RK3288|phyCORE-RK3288]] ASUS: [[ASUS_Tinker|Tinker board]] &nbsp; = Documentation = #[[Media:Rockchip_RK3288_TRM_V1.2_Part1-20170321.pdf|Rockchip RK3288 TRM V1.2 Part1-20170321.pdf]] #[http://opensource.rock-chips.com/images/a/ae/Rk3288_hardware_reference.zip Rk3288_hardware_reference.zip] &nbsp; = Software = See [[Linux_user_guide|Linux_user_guide]] setup Linux OS generally; See [[U-Boot|U-Boot]] guide to develop U-Boot; See [[Rockchip_Kernel|Rockchip kernel]] or [[Upstream_Kernel|Upstream kernel]] to develop kernel; See [[Distribution|Distribution]] to develop and custimize OS. &nbsp; == Board configuration == {| border="1" cellpadding="1" cellspacing="1" class="table_style" |- ! '''board''' ! '''kernel''' ! '''uboot''' ! '''dts''' |- | RK3288_MAINBOARD_V3.0 | rockchip_linux_defconfig | rk3288_linux_defconfig | rk-linux.dts |} &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" class="table_style" |- ! '''chip''' ! '''Kernel eMMC index''' ! '''Kernel SD index''' ! '''Uboot eMMC index''' ! '''Uboot SD index''' ! '''Baud speed''' |- | RK3288 | 1 | 0 | 0 | 1 | 115200 |} = See also = [[RK3328|RK3328]] [[RK3399|RK3399]] = References = #[https://en.wikipedia.org/wiki/ARM_Cortex-A17 https://en.wikipedia.org/wiki/ARM_Cortex-A17] #[http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html] 7cb3a7a3b177f63dd782a4c106fd418b9f194bc7 1166 1149 2017-06-14T09:37:08Z Admin 1 wikitext text/x-wiki {{Infobox SoC | title = RK3288 | image = [[File:rk3288_soc.png|200px]] | manufacturer = Rockcihp | process = 28nm | cpu = Quad-Core ARM Cortex-A17 | ltwo = | extensions = | memory = 2-channel LPDDR3/LPDDR2/DDR3/DDR3L | gpu = ARM Mali-T764 | vpu = | apu = | video = HDMI 1.4, MIPI DSI, LVDS, RGB LCD | audio = I2S, PCM | network = | storage = 4x SD Card, eMMC, NAND | usb = OTG, 2x Host | other = | release_date = June 2014 | website = http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html }} &nbsp; &nbsp; &nbsp; Integrated with a Quad-Core [https://en.wikipedia.org/wiki/ARM_Cortex-A17 Cortex-A17]&nbsp;which up to 1.8GHz and ARMMali-T764&nbsp;which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant&nbsp;interfaces provide&nbsp;a friendly solution for product&nbsp;development. Futhermore &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; = Overview = The RK3288 offers<big><var>&nbsp;</var></big>an extensible, <big><small><tt>leading&nbsp;performance</tt></small></big>, long-standing heritage platform,ideally suited for &nbsp;set-top box solution, tablet and chromebook.The platform is integrated with a Quad-Core Cortex-A17 which up to 1.8GHz and ARM Mali-T764&nbsp;which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant&nbsp;interfaces provide&nbsp;a friendly solution for product&nbsp;development. Futhermore, the power consumption is&nbsp;optimal for applications such as imaging/video, communication and broadband infrastructure,and performance audio applications. &nbsp; &nbsp; = RK3288 SoC Features = {| border="0" cellpadding="1" cellspacing="1" style="width: 972px;" |- | style="width: 530px;" | *CPU: **Quad Core Cortex-A17&nbsp;up to 1.8GHz **32KB L1-Cache **1MB L2-Cache *Internal SRAM **96KB total **First 16KB used by Bootrom when bootup *GPU: **ARM Mali-T764 GPU, with TE, ASTC, AFBC technology **Quad core 3D Graphics engine **Dual core 2D Graphics engine **Comply with&nbsp;OpenGL ES1.1/2.0/3.0, OpenVG1.1, OpenCL, DirectX11 *Display: **4Kx2K@60fpsHDMI2.0 **Up to 3840X2160 display resolution **Support dual-channel LVDS/dual-channel MIPI-DSI/eDP1.1 *Camera: **Support up to 5M pixels **8bits/10bits/12bits raw data interface&nbsp; *Memory: **Dual channels 64-bit DRAM controller **Support DDR3/DDR3L, LPDDR2, LPDDR3 *Connectivity: **Embedded 13M ISP and MIPI-CSI2 interface *Audio: **I2S/PCM with 8 channels | style="width: 429px;" | [[File:3288.png|RTENOTITLE]] |} &nbsp; = Devices = Rockchip: EVB-RK3288 Firefly: [[Firefly-RK3288|Firefly-RK3288]]<br/> [[Rock2_Full|Rock2 Full]]<br/> [[MiQi|MiQi]]<br/> [[Fennec|Fennec]]<br/> [[PhyCORE-RK3288|phyCORE-RK3288]] ASUS: [[ASUS_Tinker|Tinker board]] &nbsp; = Documentation = #[[Media:Rockchip_RK3288_TRM_V1.2_Part1-20170321.pdf|Rockchip RK3288 TRM V1.2 Part1-20170321.pdf]] #[http://opensource.rock-chips.com/images/a/ae/Rk3288_hardware_reference.zip Rk3288_hardware_reference.zip] &nbsp; = Software = See [http://opensource.rock-chips.com/wiki_Linux_user_guide Linux_user_guide] setup Linux OS generally; See [[U-Boot|U-Boot]] guide to develop U-Boot; See [[Rockchip_Kernel|Rockchip kernel]] or [[Upstream_Kernel|Upstream kernel]] to develop kernel; See [[Distribution|Distribution]] to develop and custimize OS. &nbsp; == Board configuration == {| border="1" cellpadding="1" cellspacing="1" class="table_style" |- ! '''board''' ! '''kernel''' ! '''uboot''' ! '''dts''' |- | RK3288_MAINBOARD_V3.0 | rockchip_linux_defconfig | rk3288_linux_defconfig | rk-linux.dts |} &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" class="table_style" |- ! '''chip''' ! '''Kernel eMMC index''' ! '''Kernel SD index''' ! '''Uboot eMMC index''' ! '''Uboot SD index''' ! '''Baud speed''' |- | RK3288 | 1 | 0 | 0 | 1 | 115200 |} = See also = [[RK3328|RK3328]] [[RK3399|RK3399]] = References = #[https://en.wikipedia.org/wiki/ARM_Cortex-A17 https://en.wikipedia.org/wiki/ARM_Cortex-A17] #[http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html] 3dab8f277c495d628cff29129dafe29de562f1c5 File:RK3399 Design Guide V1.0 20170420.docx 6 148 1151 2017-06-12T03:13:07Z Chery 9 RK3399 Hardware Design Guide wikitext text/x-wiki RK3399 Hardware Design Guide a1cdacdbe699c1a5bcd8750e434cb0d5b6bd8684 File:RK3399 Design Guide V1.0 20170420.pdf 6 149 1153 2017-06-12T03:38:00Z Chery 9 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 Excavator sapphire board 0 59 1169 844 2017-06-14T10:28:08Z Kevan 10 wikitext text/x-wiki {{Infobox | image = [[File:RK3399 Excavator Board.jpg |500px]] }} = Rockchip github = You can download code from github,See&nbsp;[[Linux_user_guide|Linux_user_guide]]&nbsp;setup Linux OS generally. = Upstream&nbsp; &nbsp; = WIP... = Documentation = [[Media:RK3399_EVB_User_Guide-20160920.pdf|RK3399 EVB User Guide]] [[Media:Design_documents.rar|Design documents]] [[Media:Component_datasheet.rar|Component datasheet]] == RK3399 Excavator EVB == [[Media:RK_Excavator_MainBoard.rar|RK_Excavator_MainBoard]] [[Media:RK_Excavator_ExtBoard_MipiDisplay.rar|RK_Excavator_ExtBoard_MipiDisplay]] [[Media:RK_Sapphire_RK3399.rar|RK_Sapphire_RK3399]] = Image = &nbsp;You can download image directly from below link if available. &nbsp; = See also = Firefly: [http://wiki.t-firefly.com/index.php/Firefly-RK3399 Firefly-RK3399] = References = &nbsp;&nbsp;http://www.rock-chips.com/a/en/News/Press_Releases/2017/0224/832.html d0256b50b7432807c724caa7e20f34bfb7425785 File:RK3399 Linux Buildroot V1.2开发说明170619.pdf 6 150 1171 2017-06-19T07:30:31Z Kevan 10 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 1220 1171 2017-07-12T09:43:38Z Kevan 10 Kevan uploaded a new version of [[File:RK3399 Linux Buildroot V1.2开发说明170619.pdf]] wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 File:RK3399 Linux Buildroot V1.2 Development Guide170619.pdf 6 151 1172 2017-06-19T07:34:00Z Kevan 10 RK3399 Linux Buildroot V1.2 Development Guide170619.pdf wikitext text/x-wiki RK3399 Linux Buildroot V1.2 Development Guide170619.pdf ab31c28b07cc3878a13e1a3e8624b35fd9beca25 1175 1172 2017-06-21T02:32:28Z Kevan 10 Kevan uploaded a new version of [[File:RK3399 Linux Buildroot V1.2 Development Guide170619.pdf]] wikitext text/x-wiki RK3399 Linux Buildroot V1.2 Development Guide170619.pdf ab31c28b07cc3878a13e1a3e8624b35fd9beca25 1219 1175 2017-07-12T09:42:57Z Kevan 10 Kevan uploaded a new version of [[File:RK3399 Linux Buildroot V1.2 Development Guide170619.pdf]] wikitext text/x-wiki RK3399 Linux Buildroot V1.2 Development Guide170619.pdf ab31c28b07cc3878a13e1a3e8624b35fd9beca25 File:RK3399 Linux Debain V1.1 Development Guide170620.pdf 6 152 1176 2017-06-21T02:33:25Z Kevan 10 RK3399_Linux_Debain_V1.1 Development Guide wikitext text/x-wiki RK3399_Linux_Debain_V1.1 Development Guide 7e3d521977619346f72d1df0841e6586c45f872a 1218 1176 2017-07-12T09:42:21Z Kevan 10 Kevan uploaded a new version of [[File:RK3399 Linux Debain V1.1 Development Guide170620.pdf]] wikitext text/x-wiki RK3399_Linux_Debain_V1.1 Development Guide 7e3d521977619346f72d1df0841e6586c45f872a File:RK3399 Linux Debian v1.1开发说明170620.pdf 6 153 1177 2017-06-21T02:33:52Z Kevan 10 RK3399_Linux_Debian_v1.1开发说明 wikitext text/x-wiki RK3399_Linux_Debian_v1.1开发说明 ea80a7eec829ea80686a0bb9f3f6dbca94e4be60 1217 1177 2017-07-12T09:41:08Z Kevan 10 Kevan uploaded a new version of [[File:RK3399 Linux Debian v1.1开发说明170620.pdf]] wikitext text/x-wiki RK3399_Linux_Debian_v1.1开发说明 ea80a7eec829ea80686a0bb9f3f6dbca94e4be60 Rockchip Kernel 0 104 1179 960 2017-06-22T07:51:46Z Kever 2 wikitext text/x-wiki = Download Kernel = You can clone the rockchip kernel repository from github which is kernel 4.4 based: <pre>git clone https://github.com/rockchip-linux/kernel.git</pre> = Supported SoCs and Devices = Rockchip kernel 4.4 supports: RK3036, RK3066, RK312X, RK3188, RK322X,[[RK3288|RK3288]], [[RK3328]], RK3368, [[RK3399]] = Configure and Build = You will need to use rockchip_linux_defconfig for Linux OS For ARM v7 <pre>make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- rockchip_linux_defconfig make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- -j4 </pre> For ARM V8 <pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- -j4</pre> Then you can get Image/zImage and dtb file. = Install Boot/kernel = We use distro boot in U-Boot, so we need to make a boot partition for U-Boot with kernel image and dtb inside. <pre>mkdir boot cp arch/arm64/boot/dts/rockchip/rockchip/rk3399-evb.dtb boot/rk3399.dtb cp arch/arm64/boot/Image boot/</pre> Add extlinux/extlinux.conf for distro boot. <pre>mkdir boot/extlinux vi boot/extlinux/extlinux.conf</pre> &nbsp; <pre>label rockchip-kernel-4.4 kernel /Image fdt /rk3399.dtb append earlycon=uart8250,mmio,0xff1a0000 root=dev/mmcblk1p7 rootwait rootfstype=ext4 init=/sbin/init</pre> You need to change the base address of debug UART, root partition for your board. Pls reference to [[Partitions|rockchip Linux parttion definition]]&nbsp;for rootfs partition and where boot to flash. After all these files prepare completely, we write the file to the boot partition &nbsp; == Generate ext2fs&nbsp;boot partition == by genext2fs: <pre>genext2fs -b 32768 -B $((32*1024*1024/32768)) -d boot/ -i 8192 -U boot_rk3399.img</pre> According to Rockchip partition definition, you need to flash this image to boot partiton which offset is 0x8000. &nbsp; === Generate boot.img in fatfs === Below commands can generate a fatfs boot.img <pre>dd if=/dev/zero of=boot.img bs=1M count=32 sudo mkfs.fat boot.img mkdir tmp sudo mount boot.img tmp/ cp -r boot/* tmp/ umount tmp</pre> Done! &nbsp; == Generate fatfs boot partition == === Via U-Boot in target === After flash and&nbsp;boot the U-Boot, write the gpt table from default partition table <pre>gpt write mmc 1 $partitions gpt verify mmc 1 $partitions</pre> connect target to PC and start the ums in command line: <pre>ums 0 mmc 1:6</pre> We should able to see a device connect to PC, formate and copy data into the partition(dev/sdb6 for example). <pre>sudo mkfs.fat /dev/sdb6 cp -r boot/* /media/machine/9F35-9565/ </pre> Done! Flash this boot.img to boot partition, which is offset 0x8000 in Rockchip partition definition. &nbsp; == Boot from U-Boot == If you are using genext2fs to genarate the boot.img, you need write the gpt table in U-Boot command line: <pre>gpt write mmc 1 $partitions</pre> Then boot from eMMC or reset: <pre>boot</pre> If everything is OK, you should able to see the U-Boot log like this: <pre>switch to partitions #0, OK mmc0(part 0) is current device Scanning mmc 0:6... Found /extlinux/extlinux.conf Retrieving file: /extlinux/extlinux.conf 205 bytes read in 82 ms (2 KiB/s) 1: upstream-4.10 Retrieving file: /Image 13484040 bytes read in 1833 ms (7 MiB/s) append: earlycon=uart8250,mmio32,0xff1a0000 console=ttyS2,1500000n8 rw root=/dev/mmcblk0p7 rootwait rootfstype=ext4 init=/sbin/init Retrieving file: /rk3399.dtb 61714 bytes read in 54 ms (1.1 MiB/s) ## Flattened Device Tree blob at 01f00000 Booting using the fdt blob at 0x1f00000 Loading Device Tree to 000000007df14000, end 000000007df26111 ... OK Starting kernel ... </pre> 850204177a719dd736530065098437f91ae19733 RK3328 0 24 1189 862 2017-06-29T03:12:01Z Sysproduct1 15 wikitext text/x-wiki {{Infobox SoC | title = RK3328 | image = [[File:rk3328_soc.png|250px]] | manufacturer = Rockcihp | process = 28nm | cpu = Quad-Core ARM Cortex-A53 | ltwo = | extensions = | memory = DDR3/DDR3L/LPDDR3/DDR4 | gpu = Mali-450MP4 | vpu = 4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps | apu = | video = HDMI 2.0a, | audio = 8 channels I2S/PDM | storage = 4x SD Card, eMMC | usb = 1* USB2.0 otg, 1* USB 2.0 Host, 1* USB 3.0 Host | other = | release_date = December 2016 | website = http://www.rock-chips.com/a/en/products/RK33_Series/2017/0118/829.html | Product Page }} &nbsp; &nbsp; &nbsp; = Overview = RK3328 offers a high-integration and power efficiency&nbsp;SOC for 4K HDR OTT/IPTV. It support HDR10 ,HLG HDR ,&nbsp;4K 10bits 30fps H.264 video decoder and 4K 10bits 60fps H265 video decoder.Comply with lots of high-performance interface,such as multi-channel display with HDMI2.0a, TV Encoder, the Quad-core GPU can acheive&nbsp;high-resolution display and game. == Cortex-A53 == Quad-core Cortex-A53 is integrated with separate Neon and FPU coprocessor, also with shared L2 Cache.&nbsp; &nbsp; &nbsp; &nbsp; = RK3328 SoC Features = {| border="0" cellpadding="1" cellspacing="1" style="width: 972px;" |- | style="width: 530px;" | *CPU: **ARM Cortex-A53&nbsp;Quad-Core&nbsp; **32KB L1&nbsp;I cache and D cache for each CPU **256KB L2 cache *Internal SRAM **32KB total *GPU **&nbsp;Mali-450MP4 **Comply with Open GL ES1.1/2.0 *Multi-Media: **4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps **1080P other video decoders (VC-1, MPEG-1/2/4, VP8) **1080P video encoder for H.264 and H.265 **Support HDR10 ,HLG HDR , Support conversion between SDR and HDR *Display: **HDMI 2.0a for 4K@60Hz with HDCP 1.4/2.2 **Support conversion between Rec.2020 and Rec.709 *Memory: **LPDDR3/DDR3/DDR3L/DDR4 **eMMC 4.51,SDCard, SPI Flash *External interface **USB 2.0 x2 and USB 3.0 x1 **100M Ethernet w/ built-in PHY **Built-in CVBS and audio DAC **8 channels I2S IO and 8 chanel digital PDM input (for MIC array) | style="width: 429px;" | [[File:3328.png|RTENOTITLE]] |} &nbsp; = Devices = &nbsp; #REDIRECT &nbsp; &nbsp; = Documentation = #[http://opensource.rock-chips.com/images/d/d7/Rockchip_RK3328_Datasheet_V1.1-20170309.pdf Rockchip_RK3328_Datasheet_V1.1-20170309.pdf] &nbsp; &nbsp; &nbsp; = Software = See [[Linux_user_guide|Linux_user_guide]] setup LInux OS generally; See [[U-Boot|U-Boot]] guide to develop U-Boot; See [[Rockchip_Kernel|Rockchip kernel]] or [[Upstream_Kernel|Upstream kernel]] to develop kernel; See [[Distribution|Distribution]] to develop and custimize OS. == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" class="table_style" |- ! '''board''' ! '''kernel''' ! '''uboot''' ! '''dts''' |- | RK_EVB_RK3228H_BOX_RK805_DDR3 | rockchip_linux_defconfig | rk3328_linux_defconfig | rk3328r-linux.dts |} &nbsp; &nbsp; &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" class="table_style" |- ! '''chip''' ! '''Kernel eMMC index''' ! '''Kernel SD index''' ! '''Uboot eMMC index''' ! '''Uboot SD index''' ! '''Baud speed''' |- | RK3328 | 1 | 0 | 0 | 1 | 1500000 |} &nbsp; = See also = [[RK3288|RK3288]] [[RK3399|RK3399]] = References = 1.[https://en.wikipedia.org/wiki/ARM_Cortex-A53 https://en.wikipedia.org/wiki/ARM_Cortex-A53] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 98b1553518c22cc1eb66e633df7c0c0ac3c6b1d6 1190 1189 2017-06-29T03:12:53Z Sysproduct1 15 wikitext text/x-wiki {{Infobox SoC | title = RK3328 | image = [[File:rk3328_soc.png|250px]] | manufacturer = Rockcihp | process = 28nm | cpu = Quad-Core ARM Cortex-A53 | ltwo = | extensions = | memory = DDR3/DDR3L/LPDDR3/DDR4 | gpu = Mali-450MP4 | vpu = 4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps | apu = | video = HDMI 2.0a, | audio = 8 channels I2S/PDM | storage = 4x SD Card, eMMC | usb = 1* USB2.0 otg, 1* USB 2.0 Host, 1* USB 3.0 Host | other = | release_date = December 2016 | website = http://www.rock-chips.com/a/en/products/RK33_Series/2017/0118/829.html | Product Page }} &nbsp; &nbsp; &nbsp; = Overview = RK3328 offers a high-integration and power efficiency&nbsp;SOC for 4K HDR OTT/IPTV. It support HDR10 ,HLG HDR ,&nbsp;4K 10bits 30fps H.264 video decoder and 4K 10bits 60fps H265 video decoder.Comply with lots of high-performance interface,such as multi-channel display with HDMI2.0a, TV Encoder, the Quad-core GPU can acheive&nbsp;high-resolution display and game. == Cortex-A53 == Quad-core Cortex-A53 is integrated with separate Neon and FPU coprocessor, also with shared L2 Cache.&nbsp; &nbsp; &nbsp; &nbsp; = RK3328 SoC Features = {| border="0" cellpadding="1" cellspacing="1" style="width: 972px;" |- | style="width: 530px;" | *CPU: **ARM Cortex-A53&nbsp;Quad-Core&nbsp; **32KB L1&nbsp;I cache and D cache for each CPU **256KB L2 cache *Internal SRAM **32KB total *GPU **&nbsp;Mali-450MP4 **Comply with Open GL ES1.1/2.0 *Multi-Media: **4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps **1080P other video decoders (VC-1, MPEG-1/2/4, VP8) **1080P video encoder for H.264 and H.265 **Support HDR10 ,HLG HDR , Support conversion between SDR and HDR *Display: **HDMI 2.0a for 4K@60Hz with HDCP 1.4/2.2 **Support conversion between Rec.2020 and Rec.709 *Memory: **LPDDR3/DDR3/DDR3L/DDR4 **eMMC 4.51,SDCard, SPI Flash *External interface **USB 2.0 x2 and USB 3.0 x1 **100M Ethernet w/ built-in PHY **Built-in CVBS and audio DAC **8 channels I2S IO and 8 chanel digital PDM input (for MIC array) | style="width: 429px;" | [[File:3328.png|RTENOTITLE]] |} &nbsp; = Devices = [[ROCK64]] &nbsp; &nbsp; = Documentation = #[http://opensource.rock-chips.com/images/d/d7/Rockchip_RK3328_Datasheet_V1.1-20170309.pdf Rockchip_RK3328_Datasheet_V1.1-20170309.pdf] &nbsp; &nbsp; &nbsp; = Software = See [[Linux_user_guide|Linux_user_guide]] setup LInux OS generally; See [[U-Boot|U-Boot]] guide to develop U-Boot; See [[Rockchip_Kernel|Rockchip kernel]] or [[Upstream_Kernel|Upstream kernel]] to develop kernel; See [[Distribution|Distribution]] to develop and custimize OS. == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" class="table_style" |- ! '''board''' ! '''kernel''' ! '''uboot''' ! '''dts''' |- | RK_EVB_RK3228H_BOX_RK805_DDR3 | rockchip_linux_defconfig | rk3328_linux_defconfig | rk3328r-linux.dts |} &nbsp; &nbsp; &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" class="table_style" |- ! '''chip''' ! '''Kernel eMMC index''' ! '''Kernel SD index''' ! '''Uboot eMMC index''' ! '''Uboot SD index''' ! '''Baud speed''' |- | RK3328 | 1 | 0 | 0 | 1 | 1500000 |} &nbsp; = See also = [[RK3288|RK3288]] [[RK3399|RK3399]] = References = 1.[https://en.wikipedia.org/wiki/ARM_Cortex-A53 https://en.wikipedia.org/wiki/ARM_Cortex-A53] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2ea572b6095d63445a9709149452115f2207cfb5 1191 1190 2017-06-29T03:16:48Z Sysproduct1 15 wikitext text/x-wiki {{Infobox SoC | title = RK3328 | image = [[File:rk3328_soc.png|250px]] | manufacturer = Rockcihp | process = 28nm | cpu = Quad-Core ARM Cortex-A53 | ltwo = | extensions = | memory = DDR3/DDR3L/LPDDR3/DDR4 | gpu = Mali-450MP4 | vpu = 4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps | apu = | video = HDMI 2.0a, | audio = 8 channels I2S/PDM | storage = 4x SD Card, eMMC | usb = 1* USB2.0 otg, 1* USB 2.0 Host, 1* USB 3.0 Host | other = | release_date = December 2016 | website = http://www.rock-chips.com/a/en/products/RK33_Series/2017/0118/829.html | Product Page }} &nbsp; &nbsp; &nbsp; = Overview = RK3328 offers a high-integration and power efficiency&nbsp;SOC for 4K HDR OTT/IPTV. It support HDR10 ,HLG HDR ,&nbsp;4K 10bits 30fps H.264 video decoder and 4K 10bits 60fps H265 video decoder.Comply with lots of high-performance interface,such as multi-channel display with HDMI2.0a, TV Encoder, the Quad-core GPU can acheive&nbsp;high-resolution display and game. == Cortex-A53 == Quad-core Cortex-A53 is integrated with separate Neon and FPU coprocessor, also with shared L2 Cache.&nbsp; &nbsp; &nbsp; &nbsp; = RK3328 SoC Features = {| border="0" cellpadding="1" cellspacing="1" style="width: 972px;" |- | style="width: 530px;" | *CPU: **ARM Cortex-A53&nbsp;Quad-Core&nbsp; **32KB L1&nbsp;I cache and D cache for each CPU **256KB L2 cache *Internal SRAM **32KB total *GPU **&nbsp;Mali-450MP4 **Comply with Open GL ES1.1/2.0 *Multi-Media: **4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps **1080P other video decoders (VC-1, MPEG-1/2/4, VP8) **1080P video encoder for H.264 and H.265 **Support HDR10 ,HLG HDR , Support conversion between SDR and HDR *Display: **HDMI 2.0a for 4K@60Hz with HDCP 1.4/2.2 **Support conversion between Rec.2020 and Rec.709 *Memory: **LPDDR3/DDR3/DDR3L/DDR4 **eMMC 4.51,SDCard, SPI Flash *External interface **USB 2.0 x2 and USB 3.0 x1 **100M Ethernet w/ built-in PHY **Built-in CVBS and audio DAC **8 channels I2S IO and 8 chanel digital PDM input (for MIC array) | style="width: 429px;" | [[File:3328.png|RTENOTITLE]] |} &nbsp; = Devices = PINE64:[[ROCK64|ROCK64]] &nbsp; &nbsp; = Documentation = #[http://opensource.rock-chips.com/images/d/d7/Rockchip_RK3328_Datasheet_V1.1-20170309.pdf Rockchip_RK3328_Datasheet_V1.1-20170309.pdf] &nbsp; &nbsp; &nbsp; = Software = See [[Linux_user_guide|Linux_user_guide]] setup LInux OS generally; See [[U-Boot|U-Boot]] guide to develop U-Boot; See [[Rockchip_Kernel|Rockchip kernel]] or [[Upstream_Kernel|Upstream kernel]] to develop kernel; See [[Distribution|Distribution]] to develop and custimize OS. == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" class="table_style" |- ! '''board''' ! '''kernel''' ! '''uboot''' ! '''dts''' |- | RK_EVB_RK3228H_BOX_RK805_DDR3 | rockchip_linux_defconfig | rk3328_linux_defconfig | rk3328r-linux.dts |} &nbsp; &nbsp; &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" class="table_style" |- ! '''chip''' ! '''Kernel eMMC index''' ! '''Kernel SD index''' ! '''Uboot eMMC index''' ! '''Uboot SD index''' ! '''Baud speed''' |- | RK3328 | 1 | 0 | 0 | 1 | 1500000 |} &nbsp; = See also = [[RK3288|RK3288]] [[RK3399|RK3399]] = References = 1.[https://en.wikipedia.org/wiki/ARM_Cortex-A53 https://en.wikipedia.org/wiki/ARM_Cortex-A53] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 806e9d53c0179e4b99de447a12180e5e4d1b5055 1198 1191 2017-06-29T03:25:44Z Sysproduct1 15 wikitext text/x-wiki {{Infobox SoC | title = RK3328 | image = [[File:rk3328_soc.png|250px]] | manufacturer = Rockcihp | process = 28nm | cpu = Quad-Core ARM Cortex-A53 | ltwo = | extensions = | memory = DDR3/DDR3L/LPDDR3/DDR4 | gpu = Mali-450MP4 | vpu = 4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps | apu = | video = HDMI 2.0a, | audio = 8 channels I2S/PDM | storage = 4x SD Card, eMMC | usb = 1* USB2.0 otg, 1* USB 2.0 Host, 1* USB 3.0 Host | other = | release_date = December 2016 | website = http://www.rock-chips.com/a/en/products/RK33_Series/2017/0118/829.html | Product Page }} &nbsp; &nbsp; &nbsp; = Overview = RK3328 offers a high-integration and power efficiency&nbsp;SOC for 4K HDR OTT/IPTV. It support HDR10 ,HLG HDR ,&nbsp;4K 10bits 30fps H.264 video decoder and 4K 10bits 60fps H265 video decoder.Comply with lots of high-performance interface,such as multi-channel display with HDMI2.0a, TV Encoder, the Quad-core GPU can acheive&nbsp;high-resolution display and game. == Cortex-A53 == Quad-core Cortex-A53 is integrated with separate Neon and FPU coprocessor, also with shared L2 Cache.&nbsp; &nbsp; = RK3328 SoC Features = {| border="0" cellpadding="1" cellspacing="1" style="width: 972px;" |- | style="width: 530px;" | *CPU: **ARM Cortex-A53&nbsp;Quad-Core&nbsp; **32KB L1&nbsp;I cache and D cache for each CPU **256KB L2 cache *Internal SRAM **32KB total *GPU **&nbsp;Mali-450MP4 **Comply with Open GL ES1.1/2.0 *Multi-Media: **4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps **1080P other video decoders (VC-1, MPEG-1/2/4, VP8) **1080P video encoder for H.264 and H.265 **Support HDR10 ,HLG HDR , Support conversion between SDR and HDR *Display: **HDMI 2.0a for 4K@60Hz with HDCP 1.4/2.2 **Support conversion between Rec.2020 and Rec.709 *Memory: **LPDDR3/DDR3/DDR3L/DDR4 **eMMC 4.51,SDCard, SPI Flash *External interface **USB 2.0 x2 and USB 3.0 x1 **100M Ethernet w/ built-in PHY **Built-in CVBS and audio DAC **8 channels I2S IO and 8 chanel digital PDM input (for MIC array) | style="width: 429px;" | [[File:3328.png|RTENOTITLE]] |} &nbsp; &nbsp; &nbsp; = Devices = PINE64:[[ROCK64|ROCK64]] &nbsp; &nbsp; = Documentation = #[http://opensource.rock-chips.com/images/d/d7/Rockchip_RK3328_Datasheet_V1.1-20170309.pdf Rockchip_RK3328_Datasheet_V1.1-20170309.pdf] &nbsp; &nbsp; &nbsp; = Software = See [[Linux_user_guide|Linux_user_guide]] setup LInux OS generally; See [[U-Boot|U-Boot]] guide to develop U-Boot; See [[Rockchip_Kernel|Rockchip kernel]] or [[Upstream_Kernel|Upstream kernel]] to develop kernel; See [[Distribution|Distribution]] to develop and custimize OS. == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" class="table_style" |- ! '''board''' ! '''kernel''' ! '''uboot''' ! '''dts''' |- | RK_EVB_RK3228H_BOX_RK805_DDR3 | rockchip_linux_defconfig | rk3328_linux_defconfig | rk3328r-linux.dts |} &nbsp; &nbsp; &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" class="table_style" |- ! '''chip''' ! '''Kernel eMMC index''' ! '''Kernel SD index''' ! '''Uboot eMMC index''' ! '''Uboot SD index''' ! '''Baud speed''' |- | RK3328 | 1 | 0 | 0 | 1 | 1500000 |} &nbsp; = See also = [[RK3288|RK3288]] [[RK3399|RK3399]] = References = 1.[https://en.wikipedia.org/wiki/ARM_Cortex-A53 https://en.wikipedia.org/wiki/ARM_Cortex-A53] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 42d654b445980f4c825c93cbeb0a5e404a3bec99 1203 1198 2017-06-29T03:44:43Z Sysproduct1 15 wikitext text/x-wiki {{Infobox SoC | title = RK3328 | image = [[File:rk3328_soc.png|250px]] | manufacturer = Rockcihp | process = 28nm | cpu = Quad-Core ARM Cortex-A53 | ltwo = | extensions = | memory = DDR3/DDR3L/LPDDR3/DDR4 | gpu = Mali-450MP4 | vpu = 4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps | apu = | video = HDMI 2.0a, | audio = 8 channels I2S/PDM | storage = 4x SD Card, eMMC | usb = 1* USB2.0 otg, 1* USB 2.0 Host, 1* USB 3.0 Host | other = | release_date = December 2016 | website = http://www.rock-chips.com/a/en/products/RK33_Series/2017/0118/829.html | Product Page }} &nbsp; &nbsp; &nbsp; = Overview = RK3328 offers a high-integration and power efficiency&nbsp;SOC for 4K HDR OTT/IPTV. It support HDR10 ,HLG HDR ,&nbsp;4K 10bits 30fps H.264 video decoder and 4K 10bits 60fps H265 video decoder.Comply with lots of high-performance interface,such as multi-channel display with HDMI2.0a, TV Encoder, the Quad-core GPU can acheive&nbsp;high-resolution display and game. == Cortex-A53 == Quad-core Cortex-A53 is integrated with separate Neon and FPU coprocessor, also with shared L2 Cache.&nbsp; &nbsp; = RK3328 SoC Features = {| border="0" cellpadding="1" cellspacing="1" style="width: 972px;" |- | style="width: 530px;" | *CPU: **ARM Cortex-A53&nbsp;Quad-Core&nbsp; **32KB L1&nbsp;I cache and D cache for each CPU **256KB L2 cache *Internal SRAM **32KB total *GPU **&nbsp;Mali-450MP4 **Comply with Open GL ES1.1/2.0 *Multi-Media: **4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps **1080P other video decoders (VC-1, MPEG-1/2/4, VP8) **1080P video encoder for H.264 and H.265 **Support HDR10 ,HLG HDR , Support conversion between SDR and HDR *Display: **HDMI 2.0a for 4K@60Hz with HDCP 1.4/2.2 **Support conversion between Rec.2020 and Rec.709 *Memory: **LPDDR3/DDR3/DDR3L/DDR4 **eMMC 4.51,SDCard, SPI Flash *External interface **USB 2.0 x2 and USB 3.0 x1 **100M Ethernet w/ built-in PHY **Built-in CVBS and audio DAC **8 channels I2S IO and 8 chanel digital PDM input (for MIC array) | style="width: 429px;" | [[File:3328.png|RTENOTITLE]] |} &nbsp; &nbsp; &nbsp; = Devices = PINE64:&nbsp;[[ROCK64|ROCK64]] &nbsp; &nbsp; = Documentation = #[http://opensource.rock-chips.com/images/d/d7/Rockchip_RK3328_Datasheet_V1.1-20170309.pdf Rockchip_RK3328_Datasheet_V1.1-20170309.pdf] &nbsp; &nbsp; &nbsp; = Software = See [[Linux_user_guide|Linux_user_guide]] setup LInux OS generally; See [[U-Boot|U-Boot]] guide to develop U-Boot; See [[Rockchip_Kernel|Rockchip kernel]] or [[Upstream_Kernel|Upstream kernel]] to develop kernel; See [[Distribution|Distribution]] to develop and custimize OS. == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" class="table_style" |- ! '''board''' ! '''kernel''' ! '''uboot''' ! '''dts''' |- | RK_EVB_RK3228H_BOX_RK805_DDR3 | rockchip_linux_defconfig | rk3328_linux_defconfig | rk3328r-linux.dts |} &nbsp; &nbsp; &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" class="table_style" |- ! '''chip''' ! '''Kernel eMMC index''' ! '''Kernel SD index''' ! '''Uboot eMMC index''' ! '''Uboot SD index''' ! '''Baud speed''' |- | RK3328 | 1 | 0 | 0 | 1 | 1500000 |} &nbsp; = See also = [[RK3288|RK3288]] [[RK3399|RK3399]] = References = 1.[https://en.wikipedia.org/wiki/ARM_Cortex-A53 https://en.wikipedia.org/wiki/ARM_Cortex-A53] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cbaba83fedaf0fd269ab6067954cdf1b08f8c442 1204 1203 2017-06-29T03:52:20Z Sysproduct1 15 wikitext text/x-wiki {{Infobox SoC | title = RK3328 | image = [[File:rk3328_soc.png|250px]] | manufacturer = Rockcihp | process = 28nm | cpu = Quad-Core ARM Cortex-A53 | ltwo = | extensions = | memory = DDR3/DDR3L/LPDDR3/DDR4 | gpu = Mali-450MP4 | vpu = 4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps | apu = | video = HDMI 2.0a, | audio = 8 channels I2S/PDM | storage = 4x SD Card, eMMC | usb = 1* USB2.0 otg, 1* USB 2.0 Host, 1* USB 3.0 Host | other = | release_date = December 2016 | website = http://www.rock-chips.com/a/en/products/RK33_Series/2017/0118/829.html | Product Page }} &nbsp; &nbsp; &nbsp; = Overview = RK3328 offers a high-integration and power efficiency&nbsp;SOC for 4K HDR OTT/IPTV. It support HDR10 ,HLG HDR ,&nbsp;4K 10bits 30fps H.264 video decoder and 4K 10bits 60fps H265 video decoder.Comply with lots of high-performance interface,such as multi-channel display with HDMI2.0a, TV Encoder, the Quad-core GPU can acheive&nbsp;high-resolution display and game. == Cortex-A53 == Quad-core Cortex-A53 is integrated with separate Neon and FPU coprocessor, also with shared L2 Cache.&nbsp; &nbsp; = RK3328 SoC Features = {| border="0" cellpadding="1" cellspacing="1" style="width: 972px;" |- | style="width: 530px;" | *CPU: **ARM Cortex-A53&nbsp;Quad-Core&nbsp; **32KB L1&nbsp;I cache and D cache for each CPU **256KB L2 cache *Internal SRAM **32KB total *GPU **&nbsp;Mali-450MP4 **Comply with Open GL ES1.1/2.0 *Multi-Media: **4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps **1080P other video decoders (VC-1, MPEG-1/2/4, VP8) **1080P video encoder for H.264 and H.265 **Support HDR10 ,HLG HDR , Support conversion between SDR and HDR *Display: **HDMI 2.0a for 4K@60Hz with HDCP 1.4/2.2 **Support conversion between Rec.2020 and Rec.709 *Memory: **LPDDR3/DDR3/DDR3L/DDR4 **eMMC 4.51,SDCard, SPI Flash *External interface **USB 2.0 x2 and USB 3.0 x1 **100M Ethernet w/ built-in PHY **Built-in CVBS and audio DAC **8 channels I2S IO and 8 chanel digital PDM input (for MIC array) | style="width: 429px;" | [[File:3328.png|RTENOTITLE]] |} &nbsp; &nbsp; &nbsp; = Devices = PINE64:&nbsp;[[ROCK64|ROCK64]] &nbsp; &nbsp; = Documentation = #[http://opensource.rock-chips.com/images/d/d7/Rockchip_RK3328_Datasheet_V1.1-20170309.pdf Rockchip_RK3328_Datasheet_V1.1-20170309.pdf] &nbsp; &nbsp; &nbsp; = Software = See [[Linux_user_guide|Linux_user_guide]] setup Linux OS generally; See [[U-Boot|U-Boot]] guide to develop U-Boot; See [[Rockchip_Kernel|Rockchip kernel]] or [[Upstream_Kernel|Upstream kernel]] to develop kernel; See [[Distribution|Distribution]] to develop and custimize OS. == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" class="table_style" |- ! '''board''' ! '''kernel''' ! '''uboot''' ! '''dts''' |- | RK_EVB_RK3228H_BOX_RK805_DDR3 | rockchip_linux_defconfig | rk3328_linux_defconfig | rk3328r-linux.dts |} &nbsp; &nbsp; &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" class="table_style" |- ! '''chip''' ! '''Kernel eMMC index''' ! '''Kernel SD index''' ! '''Uboot eMMC index''' ! '''Uboot SD index''' ! '''Baud speed''' |- | RK3328 | 1 | 0 | 0 | 1 | 1500000 |} &nbsp; = See also = [[RK3288|RK3288]] [[RK3399|RK3399]] = References = 1.[https://en.wikipedia.org/wiki/ARM_Cortex-A53 https://en.wikipedia.org/wiki/ARM_Cortex-A53] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 6380f0b33cace97ce77e023a446b66305e0f2eba 1205 1204 2017-06-29T03:52:54Z Sysproduct1 15 wikitext text/x-wiki {{Infobox SoC | title = RK3328 | image = [[File:rk3328_soc.png|250px]] | manufacturer = Rockcihp | process = 28nm | cpu = Quad-Core ARM Cortex-A53 | ltwo = | extensions = | memory = DDR3/DDR3L/LPDDR3/DDR4 | gpu = Mali-450MP4 | vpu = 4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps | apu = | video = HDMI 2.0a, | audio = 8 channels I2S/PDM | storage = 4x SD Card, eMMC | usb = 1* USB2.0 otg, 1* USB 2.0 Host, 1* USB 3.0 Host | other = | release_date = December 2016 | website = http://www.rock-chips.com/a/en/products/RK33_Series/2017/0118/829.html | Product Page }} &nbsp; &nbsp; &nbsp; = Overview = RK3328 offers a high-integration and power efficiency&nbsp;SOC for 4K HDR OTT/IPTV. It support HDR10 ,HLG HDR ,&nbsp;4K 10bits 30fps H.264 video decoder and 4K 10bits 60fps H265 video decoder.Comply with lots of high-performance interface,such as multi-channel display with HDMI2.0a, TV Encoder, the Quad-core GPU can acheive&nbsp;high-resolution display and game. == Cortex-A53 == Quad-core Cortex-A53 is integrated with separate Neon and FPU coprocessor, also with shared L2 Cache.&nbsp; &nbsp; = RK3328 SoC Features = {| border="0" cellpadding="1" cellspacing="1" style="width: 972px;" |- | style="width: 530px;" | *CPU: **ARM Cortex-A53&nbsp;Quad-Core&nbsp; **32KB L1&nbsp;I cache and D cache for each CPU **256KB L2 cache *Internal SRAM **32KB total *GPU **&nbsp;Mali-450MP4 **Comply with Open GL ES1.1/2.0 *Multi-Media: **4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps **1080P other video decoders (VC-1, MPEG-1/2/4, VP8) **1080P video encoder for H.264 and H.265 **Support HDR10 ,HLG HDR , Support conversion between SDR and HDR *Display: **HDMI 2.0a for 4K@60Hz with HDCP 1.4/2.2 **Support conversion between Rec.2020 and Rec.709 *Memory: **LPDDR3/DDR3/DDR3L/DDR4 **eMMC 4.51,SDCard, SPI Flash *External interface **USB 2.0 x2 and USB 3.0 x1 **100M Ethernet w/ built-in PHY **Built-in CVBS and audio DAC **8 channels I2S IO and 8 chanel digital PDM input (for MIC array) | style="width: 429px;" | [[File:3328.png|RTENOTITLE]] |} &nbsp; &nbsp; &nbsp; = Devices = PINE64:&nbsp;[[ROCK64|ROCK64]] &nbsp; &nbsp; = Documentation = #[http://opensource.rock-chips.com/images/d/d7/Rockchip_RK3328_Datasheet_V1.1-20170309.pdf Rockchip_RK3328_Datasheet_V1.1-20170309.pdf] &nbsp; &nbsp; &nbsp; = Software = See [[Linux_user_guide|Linux_user_guide]] setup Linux OS generally; See [[U-Boot|U-Boot]] guide to develop U-Boot; See [[Rockchip_Kernel|Rockchip kernel]] or [[Upstream_Kernel|Upstream kernel]] to develop kernel; See [[Distribution|Distribution]] to develop and custimize OS. == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" class="table_style" |- ! '''board''' ! '''kernel''' ! '''uboot''' ! '''dts''' |- | RK_EVB_RK3228H_BOX_RK805_DDR3 | rockchip_linux_defconfig | rk3328_linux_defconfig | rk3328-evb.dts |} &nbsp; &nbsp; &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" class="table_style" |- ! '''chip''' ! '''Kernel eMMC index''' ! '''Kernel SD index''' ! '''Uboot eMMC index''' ! '''Uboot SD index''' ! '''Baud speed''' |- | RK3328 | 1 | 0 | 0 | 1 | 1500000 |} &nbsp; = See also = [[RK3288|RK3288]] [[RK3399|RK3399]] = References = 1.[https://en.wikipedia.org/wiki/ARM_Cortex-A53 https://en.wikipedia.org/wiki/ARM_Cortex-A53] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; edb370882abd889c17d0a4f15b328586502fb2b6 1206 1205 2017-06-29T03:53:41Z Sysproduct1 15 wikitext text/x-wiki {{Infobox SoC | title = RK3328 | image = [[File:rk3328_soc.png|250px]] | manufacturer = Rockcihp | process = 28nm | cpu = Quad-Core ARM Cortex-A53 | ltwo = | extensions = | memory = DDR3/DDR3L/LPDDR3/DDR4 | gpu = Mali-450MP4 | vpu = 4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps | apu = | video = HDMI 2.0a, | audio = 8 channels I2S/PDM | storage = 4x SD Card, eMMC | usb = 1* USB2.0 otg, 1* USB 2.0 Host, 1* USB 3.0 Host | other = | release_date = December 2016 | website = http://www.rock-chips.com/a/en/products/RK33_Series/2017/0118/829.html | Product Page }} &nbsp; &nbsp; &nbsp; = Overview = RK3328 offers a high-integration and power efficiency&nbsp;SOC for 4K HDR OTT/IPTV. It support HDR10 ,HLG HDR ,&nbsp;4K 10bits 30fps H.264 video decoder and 4K 10bits 60fps H265 video decoder.Comply with lots of high-performance interface,such as multi-channel display with HDMI2.0a, TV Encoder, the Quad-core GPU can acheive&nbsp;high-resolution display and game. == Cortex-A53 == Quad-core Cortex-A53 is integrated with separate Neon and FPU coprocessor, also with shared L2 Cache.&nbsp; &nbsp; = RK3328 SoC Features = {| border="0" cellpadding="1" cellspacing="1" style="width: 972px;" |- | style="width: 530px;" | *CPU: **ARM Cortex-A53&nbsp;Quad-Core&nbsp; **32KB L1&nbsp;I cache and D cache for each CPU **256KB L2 cache *Internal SRAM **32KB total *GPU **&nbsp;Mali-450MP4 **Comply with Open GL ES1.1/2.0 *Multi-Media: **4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps **1080P other video decoders (VC-1, MPEG-1/2/4, VP8) **1080P video encoder for H.264 and H.265 **Support HDR10 ,HLG HDR , Support conversion between SDR and HDR *Display: **HDMI 2.0a for 4K@60Hz with HDCP 1.4/2.2 **Support conversion between Rec.2020 and Rec.709 *Memory: **LPDDR3/DDR3/DDR3L/DDR4 **eMMC 4.51,SDCard, SPI Flash *External interface **USB 2.0 x2 and USB 3.0 x1 **100M Ethernet w/ built-in PHY **Built-in CVBS and audio DAC **8 channels I2S IO and 8 chanel digital PDM input (for MIC array) | style="width: 429px;" | [[File:3328.png|RTENOTITLE]] |} &nbsp; &nbsp; &nbsp; = Devices = PINE64:&nbsp;[[ROCK64|ROCK64]] &nbsp; &nbsp; = Documentation = #[http://opensource.rock-chips.com/images/d/d7/Rockchip_RK3328_Datasheet_V1.1-20170309.pdf Rockchip_RK3328_Datasheet_V1.1-20170309.pdf] &nbsp; &nbsp; &nbsp; = Software = See [[Linux_user_guide|Linux_user_guide]] setup Linux OS generally; See [[U-Boot|U-Boot]] guide to develop U-Boot; See [[Rockchip_Kernel|Rockchip kernel]] or [[Upstream_Kernel|Upstream kernel]] to develop kernel; See [[Distribution|Distribution]] to develop and custimize OS. == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" class="table_style" |- ! '''board''' ! '''kernel''' ! '''uboot''' ! '''dts''' |- | RK_EVB_RK3228H_BOX_RK805_DDR3 | rockchip_linux_defconfig | rk3328_linux_defconfig | rk3328-evb.dts |} &nbsp; &nbsp; &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" class="table_style" |- ! '''chip''' ! '''Kernel eMMC index''' ! '''Kernel SD index''' ! '''Uboot eMMC index''' ! '''Uboot SD index''' ! '''Baud speed''' |- | RK3328 | 2 | 0 | 0 | 1 | 1500000 |} &nbsp; = See also = [[RK3288|RK3288]] [[RK3399|RK3399]] = References = 1.[https://en.wikipedia.org/wiki/ARM_Cortex-A53 https://en.wikipedia.org/wiki/ARM_Cortex-A53] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; f688a5fbc487c574e046dd21fb459ae79c7d0776 Distribution 0 105 1230 741 2017-07-21T02:02:24Z Kevan 10 wikitext text/x-wiki The release rootfs image is based on linaro-alip-jessie.If you want to use other distributions, you need to compile and install components we provide.Do not install the deb under rk-rootfs-build directly. We currently provide several components, the guide below only help you make xserver work.<br/> For more details Please refer to each package's wiki. There are also many other districbutions support by community or developers. = ARCH Linux = Here is the guide from Arch Linux to support RK3288 and RK3399 based Chromebook: [https://archlinuxarm.org/platforms/armv7/rockchip https://archlinuxarm.org/platforms/armv7/rockchip] [https://archlinuxarm.org/platforms/armv8/rockchip/ https://archlinuxarm.org/platforms/armv8/rockchip/] and source code here: [https://www.google.com/url?q=https://github.com/archlinuxarm/PKGBUILDs/tree/master/core/linux-gru&sa=D&sntz=1&usg=AFQjCNE-M4mxRkDn10G8xLOVN02TsJJKag https://github.com/archlinuxarm/PKGBUILDs/tree/master/core/linux-gru] &nbsp; = Fedora = Here is the guide from Fedora to support RK3288 chromebook: [https://fedoraproject.org/wiki/Architectures/ARM/Chromebook https://fedoraproject.org/wiki/Architectures/ARM/Chromebook] &nbsp; = Ubuntu 16.04 = download and extract ubuntu-xenial <pre>wget http://cdimage.ubuntu.com/ubuntu-base/releases/16.04/release/ubuntu-base-16.04-core-armhf.tar.gz sudo tar -xpf ubuntu-base-16.04-core-armhf.tar.gz </pre> copy qemu <pre>sudo apt-get install qemu-user-static sudo cp /usr/bin/qemu-arm-static usr/bin/ </pre> copy host's dns to rootfs <pre>sudo cp -b /etc/resolv.conf etc/resolv.conf </pre> add the following repository to etc/apt/source.list(for compiling xserver) <pre>deb http://ports.ubuntu.com/ubuntu-ports/ deb-src http://ports.ubuntu.com/ubuntu-ports/ </pre> chroot to target rootfs<br/> [https://github.com/wzyy2/Scripts/blob/master/ch-mount.sh ch-mount.sh] <pre>ch-mount.sh -m ubuntu/ </pre> install desktop <pre>apt-get install lightdm vim git apt-get build-dep xserver-xorg-core </pre> extract libmali-rk-dev_1.4-4_armhf.deb and libmali-rk-midgard0_1.4-4_armhf.deb(only debian/ubutnu, link by yourself if you are using other distributions) and copy them to target system.<br/> delete origin egl,gles library(For insurance) <pre>rm -rf /usr/lib/arm-linux-gnueabihf/mesa-egl </pre> download xserver <pre>git clone https://github.com/rockchip-linux/xserver.git </pre> delete those in configure.ac <pre>AC_CHECK_DECL(GBM_BO_USE_LINEAR, [AC_DEFINE(GLAMOR_HAS_GBM_LINEAR, 1, [Have GBM_BO_USE_LINEAR])], [] </pre> build xserver<br/> (You can also use 'make install DESTDIR=/opt/x-build' to get files and copy them to a clean system)<br/> (This method is easy but slow, it'better to cross compile xserver under the ubuntu/debian multiarch environment) <pre>./autogen.sh --prefix=/usr --enable-aiglx --enable-composite --enable-record --enable-xv --enable-xvmc --enable-dga --enable-screensaver --enable-xdmcp --enable-xdm-auth-1 --enable-glx --enable-dri --enable-dri2 --enable-glamor --enable-dri3 --enable-libdrm --enable-present --enable-xinerama --enable-xf86vidmode --enable-xace --enable-xselinux --enable-xfree86-utils --enable-xwayland --enable-systemd-logind --with-systemd-daemon --enable-suid-wrapper --enable-dmx --enable-xvfb --enable-xnest --enable-kdrive --enable-xephyr --enable-xmir --with-sha1=libgcrypt --enable-xcsecurity --with-log-dir=/var/log make make install </pre> set password <pre>useradd -s '/bin/bash' -m -G adm,sudo rk echo "Set password for rk:" passwd rk echo "Set password for root:" passwd root </pre> exit chroot <pre>exit ch-mount.sh -u ubuntu/ </pre> <br/> copy ttyS2.conf and udev directory to target rootfs from&nbsp;[https://github.com/rockchip-linux/rk-rootfs-build/tree/master/overlay rk-rootfs.build] make image <pre>dd if=/dev/zero of=ubuntu.img bs=1M count=3000 sudo mkfs.ext4 ubuntu.img mkdir ubuntu-mount sudo mount ubuntu.img ubuntu-mount sudo cp -rfp ubuntu ubuntu-mount sudo umount ubuntu-mount e2fsck -p -f ubuntu.img resize2fs -M ubuntu.img </pre> ==== Build from packages ==== There is a ubuntu build script in our&nbsp;[https://github.com/rockchip-linux/rk-rootfs-build rootfs-build]&nbsp;repo. It's different from the above example, it unpack the debian packages rather than compile from source.<br/> Please refer to the readme. = See also = [[Yocto|yocto]] [[Buildroot|buildroot]] 2148190c283716ec051f5aed67c7d58051827ee4 1263 1230 2017-08-09T03:24:09Z Kever 2 wikitext text/x-wiki The release rootfs image is based on linaro-alip-jessie.If you want to use other distributions, you need to compile and install components we provide.Do not install the deb under rk-rootfs-build directly. We currently provide several components, the guide below only help you make xserver work.<br/> For more details Please refer to each package's wiki. There are also many other districbutions support by community or developers. = ARCH Linux = Here is the guide from Arch Linux to support RK3288 and RK3399 based Chromebook: [https://archlinuxarm.org/platforms/armv7/rockchip https://archlinuxarm.org/platforms/armv7/rockchip] [https://archlinuxarm.org/platforms/armv8/rockchip/ https://archlinuxarm.org/platforms/armv8/rockchip/] and source code here: [https://www.google.com/url?q=https://github.com/archlinuxarm/PKGBUILDs/tree/master/core/linux-gru&sa=D&sntz=1&usg=AFQjCNE-M4mxRkDn10G8xLOVN02TsJJKag https://github.com/archlinuxarm/PKGBUILDs/tree/master/core/linux-gru] &nbsp; = Fedora = Here is the guide from Fedora to support RK3288 chromebook: [https://fedoraproject.org/wiki/Architectures/ARM/Chromebook https://fedoraproject.org/wiki/Architectures/ARM/Chromebook] &nbsp; = Ubuntu 16.04 = download and extract ubuntu-xenial <pre>wget http://cdimage.ubuntu.com/ubuntu-base/releases/16.04/release/ubuntu-base-16.04-core-armhf.tar.gz sudo tar -xpf ubuntu-base-16.04-core-armhf.tar.gz </pre> copy qemu <pre>sudo apt-get install qemu-user-static sudo cp /usr/bin/qemu-arm-static usr/bin/ </pre> copy host's dns to rootfs <pre>sudo cp -b /etc/resolv.conf etc/resolv.conf </pre> add the following repository to etc/apt/sources.list(for compiling xserver) <pre>deb http://ports.ubuntu.com/ubuntu-ports/ deb-src http://ports.ubuntu.com/ubuntu-ports/ </pre> chroot to target rootfs<br/> [https://github.com/wzyy2/Scripts/blob/master/ch-mount.sh ch-mount.sh] <pre>ch-mount.sh -m ubuntu/ </pre> install desktop <pre>apt-get install lightdm vim git apt-get build-dep xserver-xorg-core </pre> extract libmali-rk-dev_1.4-4_armhf.deb and libmali-rk-midgard0_1.4-4_armhf.deb(only debian/ubutnu, link by yourself if you are using other distributions) and copy them to target system.<br/> delete origin egl,gles library(For insurance) <pre>rm -rf /usr/lib/arm-linux-gnueabihf/mesa-egl </pre> download xserver <pre>git clone https://github.com/rockchip-linux/xserver.git </pre> delete those in configure.ac <pre>AC_CHECK_DECL(GBM_BO_USE_LINEAR, [AC_DEFINE(GLAMOR_HAS_GBM_LINEAR, 1, [Have GBM_BO_USE_LINEAR])], [] </pre> build xserver<br/> (You can also use 'make install DESTDIR=/opt/x-build' to get files and copy them to a clean system)<br/> (This method is easy but slow, it'better to cross compile xserver under the ubuntu/debian multiarch environment) <pre>./autogen.sh --prefix=/usr --enable-aiglx --enable-composite --enable-record --enable-xv --enable-xvmc --enable-dga --enable-screensaver --enable-xdmcp --enable-xdm-auth-1 --enable-glx --enable-dri --enable-dri2 --enable-glamor --enable-dri3 --enable-libdrm --enable-present --enable-xinerama --enable-xf86vidmode --enable-xace --enable-xselinux --enable-xfree86-utils --enable-xwayland --enable-systemd-logind --with-systemd-daemon --enable-suid-wrapper --enable-dmx --enable-xvfb --enable-xnest --enable-kdrive --enable-xephyr --enable-xmir --with-sha1=libgcrypt --enable-xcsecurity --with-log-dir=/var/log make make install </pre> set password <pre>useradd -s '/bin/bash' -m -G adm,sudo rk echo "Set password for rk:" passwd rk echo "Set password for root:" passwd root </pre> exit chroot <pre>exit ch-mount.sh -u ubuntu/ </pre> <br/> copy ttyS2.conf and udev directory to target rootfs from&nbsp;[https://github.com/rockchip-linux/rk-rootfs-build/tree/master/overlay rk-rootfs.build] make image <pre>dd if=/dev/zero of=ubuntu.img bs=1M count=3000 sudo mkfs.ext4 ubuntu.img mkdir ubuntu-mount sudo mount ubuntu.img ubuntu-mount sudo cp -rfp ubuntu ubuntu-mount sudo umount ubuntu-mount e2fsck -p -f ubuntu.img resize2fs -M ubuntu.img </pre> ==== Build from packages ==== There is a ubuntu build script in our&nbsp;[https://github.com/rockchip-linux/rk-rootfs-build rootfs-build]&nbsp;repo. It's different from the above example, it unpack the debian packages rather than compile from source.<br/> Please refer to the readme. = See also = [[Yocto|yocto]] [[Buildroot|buildroot]] ec0b4bedb83ba33cad0e6bcb9c55b35961f2f057 1264 1263 2017-08-09T03:31:59Z Kever 2 wikitext text/x-wiki The release rootfs image is based on linaro-alip-jessie.If you want to use other distributions, you need to compile and install components we provide.Do not install the deb under rk-rootfs-build directly. We currently provide several components, the guide below only help you make xserver work.<br/> For more details Please refer to each package's wiki. There are also many other districbutions support by community or developers. = ARCH Linux = Here is the guide from Arch Linux to support RK3288 and RK3399 based Chromebook: [https://archlinuxarm.org/platforms/armv7/rockchip https://archlinuxarm.org/platforms/armv7/rockchip] [https://archlinuxarm.org/platforms/armv8/rockchip/ https://archlinuxarm.org/platforms/armv8/rockchip/] and source code here: [https://www.google.com/url?q=https://github.com/archlinuxarm/PKGBUILDs/tree/master/core/linux-gru&sa=D&sntz=1&usg=AFQjCNE-M4mxRkDn10G8xLOVN02TsJJKag https://github.com/archlinuxarm/PKGBUILDs/tree/master/core/linux-gru] &nbsp; = Fedora = Here is the guide from Fedora to support RK3288 chromebook: [https://fedoraproject.org/wiki/Architectures/ARM/Chromebook https://fedoraproject.org/wiki/Architectures/ARM/Chromebook] &nbsp; = Ubuntu 16.04 = download and extract ubuntu-xenial <pre>wget http://cdimage.ubuntu.com/ubuntu-base/releases/16.04/release/ubuntu-base-16.04-core-armhf.tar.gz sudo tar -xpf ubuntu-base-16.04-core-armhf.tar.gz </pre> copy qemu <pre>sudo apt-get install qemu-user-static sudo cp /usr/bin/qemu-arm-static usr/bin/ </pre> copy host's dns to rootfs <pre>sudo cp -b /etc/resolv.conf etc/resolv.conf </pre> add the following repository to etc/apt/sources.list(for compiling xserver) <pre># See http://help.ubuntu.com/community/UpgradeNotes for how to upgrade to # newer versions of the distribution. deb http://ports.ubuntu.com/ubuntu-ports/ xenial main &nbsp;restricted deb-src http://ports.ubuntu.com/ubuntu-ports/ xenial main restricted ## Major bug fix updates produced after the final release of the ## distribution. deb http://ports.ubuntu.com/ubuntu-ports/ xenial-updates main restricted deb-src http://ports.ubuntu.com/ubuntu-ports/ xenial-updates main restricted ## Uncomment the following two lines to add software from the 'universe' ## repository. ## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu ## team. Also, please note that software in universe WILL NOT receive any ## review or updates from the Ubuntu security team. deb http://ports.ubuntu.com/ubuntu-ports/ xenial universe deb-src http://ports.ubuntu.com/ubuntu-ports/ xenial universe deb http://ports.ubuntu.com/ubuntu-ports/ xenial-updates universe deb-src http://ports.ubuntu.com/ubuntu-ports/ xenial-updates universe ## N.B. software from this repository may not have been tested as ## extensively as that contained in the main release, although it includes ## newer versions of some applications which may provide useful features. ## Also, please note that software in backports WILL NOT receive any review ## or updates from the Ubuntu security team. deb http://ports.ubuntu.com/ubuntu-ports/ xenial-backports main restricted deb-src http://ports.ubuntu.com/ubuntu-ports/ xenial-backports main restricted deb http://ports.ubuntu.com/ubuntu-ports/ xenial-security main restricted deb-src http://ports.ubuntu.com/ubuntu-ports/ xenial-security main restricted #deb http://ports.ubuntu.com/ubuntu-ports/ xenial-security universe #deb-src http://ports.ubuntu.com/ubuntu-ports/ xenial-security universe #deb http://ports.ubuntu.com/ubuntu-ports/ xenial-security multiverse #deb-src http://ports.ubuntu.com/ubuntu-ports/ xenial-security multiverse deb http://ports.ubuntu.com/ubuntu-ports/ xenial-proposed main restricted deb-src http://ports.ubuntu.com/ubuntu-ports/ xenial-proposed main restricted </pre> chroot to target rootfs<br/> [https://github.com/wzyy2/Scripts/blob/master/ch-mount.sh ch-mount.sh] <pre>ch-mount.sh -m ubuntu/ </pre> install desktop <pre>apt-get update apt-get install lightdm vim git apt-get build-dep xserver-xorg-core </pre> extract libmali-rk-dev_1.4-4_armhf.deb and libmali-rk-midgard0_1.4-4_armhf.deb(only debian/ubutnu, link by yourself if you are using other distributions) and copy them to target system.<br/> delete origin egl,gles library(For insurance) <pre>rm -rf /usr/lib/arm-linux-gnueabihf/mesa-egl </pre> download xserver <pre>git clone https://github.com/rockchip-linux/xserver.git </pre> delete those in configure.ac <pre>AC_CHECK_DECL(GBM_BO_USE_LINEAR, [AC_DEFINE(GLAMOR_HAS_GBM_LINEAR, 1, [Have GBM_BO_USE_LINEAR])], [] </pre> build xserver<br/> (You can also use 'make install DESTDIR=/opt/x-build' to get files and copy them to a clean system)<br/> (This method is easy but slow, it'better to cross compile xserver under the ubuntu/debian multiarch environment) <pre>./autogen.sh --prefix=/usr --enable-aiglx --enable-composite --enable-record --enable-xv --enable-xvmc --enable-dga --enable-screensaver --enable-xdmcp --enable-xdm-auth-1 --enable-glx --enable-dri --enable-dri2 --enable-glamor --enable-dri3 --enable-libdrm --enable-present --enable-xinerama --enable-xf86vidmode --enable-xace --enable-xselinux --enable-xfree86-utils --enable-xwayland --enable-systemd-logind --with-systemd-daemon --enable-suid-wrapper --enable-dmx --enable-xvfb --enable-xnest --enable-kdrive --enable-xephyr --enable-xmir --with-sha1=libgcrypt --enable-xcsecurity --with-log-dir=/var/log make make install </pre> set password <pre>useradd -s '/bin/bash' -m -G adm,sudo rk echo "Set password for rk:" passwd rk echo "Set password for root:" passwd root </pre> exit chroot <pre>exit ch-mount.sh -u ubuntu/ </pre> <br/> copy ttyS2.conf and udev directory to target rootfs from&nbsp;[https://github.com/rockchip-linux/rk-rootfs-build/tree/master/overlay rk-rootfs.build] make image <pre>dd if=/dev/zero of=ubuntu.img bs=1M count=3000 sudo mkfs.ext4 ubuntu.img mkdir ubuntu-mount sudo mount ubuntu.img ubuntu-mount sudo cp -rfp ubuntu ubuntu-mount sudo umount ubuntu-mount e2fsck -p -f ubuntu.img resize2fs -M ubuntu.img </pre> ==== Build from packages ==== There is a ubuntu build script in our&nbsp;[https://github.com/rockchip-linux/rk-rootfs-build rootfs-build]&nbsp;repo. It's different from the above example, it unpack the debian packages rather than compile from source.<br/> Please refer to the readme. = See also = [[Yocto|yocto]] [[Buildroot|buildroot]] e13429e9aaa3d0c7ffed0ac1bcfb2364d359ef5a Boot option 0 116 1231 1124 2017-07-21T02:54:05Z Sysproduct1 15 wikitext text/x-wiki &nbsp; &nbsp; &nbsp; = Boot introduce = &nbsp; First, let's make the concept clear, there are many boot stages when we boot up a Linux OS; Then we need to know about how the image should packaged, where&nbsp;the image locate; At last, we will explain how to write to different&nbsp;media and boot from there. Here is Rockchip pre-released binaries which may be mentioned later: [https://github.com/rockchip-linux/rkbin https://github.com/rockchip-linux/rkbin] &nbsp; == Boot stage == Here is a table show the detail what we may use in Rockchip platform, for 2 boot stage: - use U-Boot SPL; - &nbsp;use Rockchp idbLoader which is combinded by Rockchip ddr init bin and miniloader bin; <pre>+--------+----------------+----------+-------------+---------+ | Boot | Terminology #1 | Actual | Rockchip | | | stage | | program | Image | | | number | | name | Name | | +--------+----------------+----------+-------------+---------+ | 1 | Primary | ROM code | BootRom | | | | Program | | | | | | Loader | | | | | | | | | | | 2 | Secondary | U-Boot |idbloader.img| 0x40 |including u-boot if not use miniloader | | Program | SPL |idbspl.img | | | | Loader (SPL) | | | | | | | | | | | 3 | - | U-Boot | bl3.itb | 0x200 | including u-boot and atf | | | | u-boot.bin | 0x200 | | | | | uboot.img | 0x4000 | only used with miniloader | | | | | | | | | ATF | trust.img | 0x6000 | only used with miniloader for armv8 | | | | | | | 4 | - | kernel | boot.img | 0x8000 | | | | | | | | 5 | - | rootfs | rootfs.img | 0x40000 | +--------+----------------+----------+-------------+---------+ </pre> Then when we talking about boot from eMMC/SD/U-Disk/net, they are in different concept: *Stage 1 is always in boot rom, it loads stage 2 and may load stage 3(when SPL_BACK_TO_BROM option enabled). *Boot from SPI flash means firmware for stage 2 and 3(SPL and U-Boot only) in SPI flash and stage 4/5 in other place; *Boot from eMMC means all the firmware(including stage 2, 3, 4, 5) in eMMC; *Boot from SD card means all the firmware(including stage 2, 3, 4, 5) in SD card; *Boot from U-Disk means firmware for stage 4 and 5(not including SPL and U-Boot) in Disk, optionally only including stage 5; *Boot from net/tftp means firmeware for stage 4 and 5(not including SPL and U-Boot) on the network; == Package option == After we know about the boot stages, Here are the file list before package for stage 2~4: *From source code: **From U-Boot: u-boot-spl.bin, u-boot.bin(may use u-boot-nodtb.bin and u-boot.dtb instead), **From kernel: kernel Image/zImage file, kernel dtb, **From ATF: bl31.bin; *From Rockchip binary: **ddr, usbplug, miniloader, bl31, (all with&nbsp;chip 'rkxx_'&nbsp; prefix and with version '_x.xx.bin' postfix); Here are the types to&nbsp;package image from those files: === idbspl.img === U-Boot SPL, with&nbsp;SPL_BACK_TO_BROM option '''disabled'''. <pre>mkimage -n rkxxxx -T rksd -d spl/u-boot-spl.bin idbspl.img</pre> Flash the idbspl.img to offset 0x40 which only including stage 2, and need flash stage 3 &nbsp;image to 0x200(which is defineded by CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR), the stage 3 image may be&nbsp;u-boot.bin directly(when there no ATF requirement), or FIT image bl3.itb(for ATF load from SPL, including bl31.bin, u-boot-nodtb.bin and u-boot.dtb). &nbsp; === idbloader.img === U-Boot SPL, with&nbsp;SPL_BACK_TO_BROM option '''enabled''': <pre>tools/mkimage -n rkxxxx -T rksd -d spl/u-boot-spl.bin idbloader.img cat u-boot.bin >> idbloader.img</pre> Flash the idbloader.img to offset 0x40 which including boot stage 2 and 3. Package the image from Rockchip binary: <pre>dd if=rkxx_ddr_vx.xx.bin of=ddr.bin bs=4 skip=1 tools/mkimage -n rkxxxx -T rksd -d ddr.bin idbloader.img rm ddr.bin cat rkxx_miniloader_vx.xx.bin >> idbloader.img</pre> Flash the idbloader.img to offset 0x40 which including stage 2, and you will need a uboot.img for boot stage 3. === bl3.itb === When using SPL to load the ATF, package the bl31.bin, u-boot-nodtb.bin and uboot.dtb into one FIT image. <pre>tools/mkimage -f fit4spl.its -E bl3.itb </pre> Flash the bl3.itb to offset 0x200, while&nbsp;need idbspl.img flasht to offset 0x40. === uboot.img === When using idbLoader from&nbsp;Rockchip miniloader, need package u-boot.bin into miniloader loadable format by Rockchip tool loaderimage. <pre>tools/loaderimage --pack --uboot u-boot.bin uboot.img</pre> Flash the uboot.img to offset 0x4000 which is stage 3; === trust.img === When using idbLoader from&nbsp;Rockchip miniloader, need package bl31.bin into miniloader loadable format by Rockchip tool trustmerge. <pre>tools/trustmerge tools/rk_tools/RKTRUST_RKXXXXTRUST.ini</pre> Flash the trust.img to offset 0x6000 which is for using Rockchip miniloader &nbsp; &nbsp; === rkxx_loader_vx.xx.xxx.bin === This is provide by Rockchip in binary mode, which is used for firmware upgrade to eMMC with [[Rkdeveloptool|rkdeveloptool]], can not be wirte to media device directly. This is a package from ddr.bin, usbplug.bin, miniloader.bin, Rockchip tool ''DB ''command will make usbplug.bin running in target which perform as a Rockusb device. === boot.img === This image is package the kernel Image and dtb file into a know filesystem(FAT or EXT2) image for distro boot. See [[Rockchip_Kernel#Install_Boot.2Fkernel|Install kernel]] for detail about generate boot.img from kernel zImage/Image, dtb. Flash the boot.img to offset 0x8000 which is stage 4. === rootfs.img === Flash the rootfs.img to offset 0x40000 which is stage 5. &nbsp; = Flash and boot from Media device = Here we introduce how to write image to different Medeia device. Get image Ready: *For armv7 with SPL with SPL_BACK_TO_BROM option enabled: **idbLoader.img **boot.img or boot folder with zImage, dtb and exitlinulx inside **rootfs.img *For armv7 with SPL with SPL_BACK_TO_BROM option disabled: **idbspl.img **u-boot.bin **boot.img or boot folder with zImage, dtb and exitlinulx inside **rootfs.img *For armv7 with miniloader **idbLoader.img **uboot.img **boot.img or&nbsp;boot folder with zImage, dtb and exitlinulx inside **rootfs.img *For armv8 with SPL: **idbspl.img **bl3.itb **boot.img or&nbsp;boot folder with Image, dtb and exitlinulx inside **rootfs.img *For armv8 with miniloader **idbLoader.img **uboot.img **trust.img **boot.img or&nbsp;boot folder with Image, dtb and exitlinulx inside **rootfs.img &nbsp; &nbsp; == Boot from eMMC == The eMMC is on the hardware board, so we need: *Get the board into [[Rockusb#Maskrom_mode|maskrom mode]]; *Connect the target to PC with USB cable; *Flash the image to eMMC with [[Rkdeveloptool|rkdeveloptool]] Example commands for flash image to target. Flash the gpt partition to target: <pre style="margin-left: 40px;">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool gpt parameter_gpt.txt</pre> *For armv7 with SPL with SPL_BACK_TO_BROM option enabled(rk3036, rk3188, rk3288): <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbloader.img rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> *For armv7 with SPL with SPL_BACK_TO_BROM option disabled(rk3288): <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbspl.img rkdeveloptool wl 0x200 u-boot.bin rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> *For armv7 with miniloader(rk3036, rk3188, rk3288) <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbloader.img rkdeveloptool wl 0x4000 uboot.img rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> *For armv8 with SPL(rk3399): <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbspl.img rkdeveloptool wl 0x200 bl3.itb rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> *For armv8 with miniloader(rk3399, rk3328) <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbloader.img rkdeveloptool wl 0x4000 uboot.img rkdeveloptool wl 0x6000 trust.img rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd</pre> &nbsp; == Boot from SD/TF Card == We can write SD/TF card with Linux PC ''dd'' command very easily. Insert SD card to PC and we assume the /dev/sdb is the SD card device. *For armv7 with SPL with SPL_BACK_TO_BROM option enabled(rk3036, rk3188, rk3288): <pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64 dd if=boot.img of=sdb seek=32768 dd if=rootfs.img of=sdb seek=262144 </pre> *For armv7 with SPL with SPL_BACK_TO_BROM option disabled(rk3288): <pre style="margin-left: 40px">dd if=idbspl.img of=sdb seek=64 dd if=u-boot.bin of=sdb seek=512 dd if=boot.img of=sdb seek=32768 dd if=rootfs.img of=sdb seek=262144 </pre> *For armv7 with miniloader(rk3036, rk3188, rk3288) <pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64 dd if=uboot.img of=sdb seek=16384 dd if=boot.img of=sdb seek=32768 dd if=rootfs.img of=sdb seek=262144 </pre> *For armv8 with SPL(rk3399): <pre style="margin-left: 40px">dd if=idbspl.img of=sdb seek=64 dd if=bl3.itb of=sdb seek=512 dd if=boot.img of=sdb seek=32768 dd if=rootfs.img of=sdb seek=262144 </pre> *For armv8 with miniloader(rk3399, rk3328) <pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64 dd if=uboot.img of=sdb seek=16384 dd if=trust.img of=sdb seek=24576 dd if=boot.img of=sdb seek=32768 dd if=rootfs.img of=sdb seek=262144</pre> In order to make sure everything has write to SD card before unpluged, recommand to run below command: <pre style="margin-left: 40px">sync</pre> Note, when using boot from SD card, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value. <pre>append earlyprintk console=ttyS2,115200n8 rw root=/dev/mmcblk1p7 rootwait rootfstype=ext4 init=/sbin/init </pre> Write GPT partition table to SD card&nbsp;in U-Boot, and then U-Boot can find the boot partition and run into kernel. <pre>gpt write mmc 0 $partitions</pre> &nbsp; == Boot from U-Disk == Same as&nbsp;[[#Boot_from_SD.2FTF_Card|boot-from-sdcard]], but please note that U-Disk&nbsp;only support stage 4 and 5, see [[#Boot_Stage|Boot Stage]] for detail. If U-Disk used for stage 4 and 5, format the U-Disk in gpt format and at least 2 partitions, write ''boot.img'' and ''rootfs.img'' in those partitions; if U-Dist is only used for stage 5, we can ''dd ''the ''rootfs.img'' to U-Disk device directly. Note, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value. <pre> append earlyprintk console=ttyS2,115200n8 rw root=/dev/sda1 rootwait rootfstype=ext4 init=/sbin/init </pre> == Boot from Network == &nbsp; = See also = [[Rkdeveloptool|rkdeveloptool]] [[Rockusb|rockusb]] [[Partitions|Rockchip Linux partition definition]] f21e7b3e83bb0053954bf5d422be71abbc01bdc4 1232 1231 2017-07-21T02:54:58Z Sysproduct1 15 wikitext text/x-wiki &nbsp; &nbsp; &nbsp; = Boot introduce = &nbsp; First, let's make the concept clear, there are many boot stages when we boot up a Linux OS; Then we need to know about how the image should packaged, where&nbsp;the image locate; At last, we will explain how to write to different&nbsp;media and boot from there. Here is Rockchip pre-released binaries which may be mentioned later: [https://github.com/rockchip-linux/rkbin https://github.com/rockchip-linux/rkbin] &nbsp; == Boot stage == Here is a table show the detail what we may use in Rockchip platform, for 2 boot stage: - use U-Boot SPL; - use Rockchp idbLoader which is combinded by Rockchip ddr init bin and miniloader bin; <pre>+--------+----------------+----------+-------------+---------+ | Boot | Terminology #1 | Actual | Rockchip | | | stage | | program | Image | | | number | | name | Name | | +--------+----------------+----------+-------------+---------+ | 1 | Primary | ROM code | BootRom | | | | Program | | | | | | Loader | | | | | | | | | | | 2 | Secondary | U-Boot |idbloader.img| 0x40 |including u-boot if not use miniloader | | Program | SPL |idbspl.img | | | | Loader (SPL) | | | | | | | | | | | 3 | - | U-Boot | bl3.itb | 0x200 | including u-boot and atf | | | | u-boot.bin | 0x200 | | | | | uboot.img | 0x4000 | only used with miniloader | | | | | | | | | ATF | trust.img | 0x6000 | only used with miniloader for armv8 | | | | | | | 4 | - | kernel | boot.img | 0x8000 | | | | | | | | 5 | - | rootfs | rootfs.img | 0x40000 | +--------+----------------+----------+-------------+---------+ </pre> Then when we talking about boot from eMMC/SD/U-Disk/net, they are in different concept: *Stage 1 is always in boot rom, it loads stage 2 and may load stage 3(when SPL_BACK_TO_BROM option enabled). *Boot from SPI flash means firmware for stage 2 and 3(SPL and U-Boot only) in SPI flash and stage 4/5 in other place; *Boot from eMMC means all the firmware(including stage 2, 3, 4, 5) in eMMC; *Boot from SD card means all the firmware(including stage 2, 3, 4, 5) in SD card; *Boot from U-Disk means firmware for stage 4 and 5(not including SPL and U-Boot) in Disk, optionally only including stage 5; *Boot from net/tftp means firmeware for stage 4 and 5(not including SPL and U-Boot) on the network; == Package option == After we know about the boot stages, Here are the file list before package for stage 2~4: *From source code: **From U-Boot: u-boot-spl.bin, u-boot.bin(may use u-boot-nodtb.bin and u-boot.dtb instead), **From kernel: kernel Image/zImage file, kernel dtb, **From ATF: bl31.bin; *From Rockchip binary: **ddr, usbplug, miniloader, bl31, (all with&nbsp;chip 'rkxx_'&nbsp; prefix and with version '_x.xx.bin' postfix); Here are the types to&nbsp;package image from those files: === idbspl.img === U-Boot SPL, with&nbsp;SPL_BACK_TO_BROM option '''disabled'''. <pre>mkimage -n rkxxxx -T rksd -d spl/u-boot-spl.bin idbspl.img</pre> Flash the idbspl.img to offset 0x40 which only including stage 2, and need flash stage 3 &nbsp;image to 0x200(which is defineded by CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR), the stage 3 image may be&nbsp;u-boot.bin directly(when there no ATF requirement), or FIT image bl3.itb(for ATF load from SPL, including bl31.bin, u-boot-nodtb.bin and u-boot.dtb). &nbsp; === idbloader.img === U-Boot SPL, with&nbsp;SPL_BACK_TO_BROM option '''enabled''': <pre>tools/mkimage -n rkxxxx -T rksd -d spl/u-boot-spl.bin idbloader.img cat u-boot.bin >> idbloader.img</pre> Flash the idbloader.img to offset 0x40 which including boot stage 2 and 3. Package the image from Rockchip binary: <pre>dd if=rkxx_ddr_vx.xx.bin of=ddr.bin bs=4 skip=1 tools/mkimage -n rkxxxx -T rksd -d ddr.bin idbloader.img rm ddr.bin cat rkxx_miniloader_vx.xx.bin >> idbloader.img</pre> Flash the idbloader.img to offset 0x40 which including stage 2, and you will need a uboot.img for boot stage 3. === bl3.itb === When using SPL to load the ATF, package the bl31.bin, u-boot-nodtb.bin and uboot.dtb into one FIT image. <pre>tools/mkimage -f fit4spl.its -E bl3.itb </pre> Flash the bl3.itb to offset 0x200, while&nbsp;need idbspl.img flasht to offset 0x40. === uboot.img === When using idbLoader from&nbsp;Rockchip miniloader, need package u-boot.bin into miniloader loadable format by Rockchip tool loaderimage. <pre>tools/loaderimage --pack --uboot u-boot.bin uboot.img</pre> Flash the uboot.img to offset 0x4000 which is stage 3; === trust.img === When using idbLoader from&nbsp;Rockchip miniloader, need package bl31.bin into miniloader loadable format by Rockchip tool trustmerge. <pre>tools/trustmerge tools/rk_tools/RKTRUST_RKXXXXTRUST.ini</pre> Flash the trust.img to offset 0x6000 which is for using Rockchip miniloader &nbsp; &nbsp; === rkxx_loader_vx.xx.xxx.bin === This is provide by Rockchip in binary mode, which is used for firmware upgrade to eMMC with [[Rkdeveloptool|rkdeveloptool]], can not be wirte to media device directly. This is a package from ddr.bin, usbplug.bin, miniloader.bin, Rockchip tool ''DB ''command will make usbplug.bin running in target which perform as a Rockusb device. === boot.img === This image is package the kernel Image and dtb file into a know filesystem(FAT or EXT2) image for distro boot. See [[Rockchip_Kernel#Install_Boot.2Fkernel|Install kernel]] for detail about generate boot.img from kernel zImage/Image, dtb. Flash the boot.img to offset 0x8000 which is stage 4. === rootfs.img === Flash the rootfs.img to offset 0x40000 which is stage 5. &nbsp; = Flash and boot from Media device = Here we introduce how to write image to different Medeia device. Get image Ready: *For armv7 with SPL with SPL_BACK_TO_BROM option enabled: **idbLoader.img **boot.img or boot folder with zImage, dtb and exitlinulx inside **rootfs.img *For armv7 with SPL with SPL_BACK_TO_BROM option disabled: **idbspl.img **u-boot.bin **boot.img or boot folder with zImage, dtb and exitlinulx inside **rootfs.img *For armv7 with miniloader **idbLoader.img **uboot.img **boot.img or&nbsp;boot folder with zImage, dtb and exitlinulx inside **rootfs.img *For armv8 with SPL: **idbspl.img **bl3.itb **boot.img or&nbsp;boot folder with Image, dtb and exitlinulx inside **rootfs.img *For armv8 with miniloader **idbLoader.img **uboot.img **trust.img **boot.img or&nbsp;boot folder with Image, dtb and exitlinulx inside **rootfs.img &nbsp; &nbsp; == Boot from eMMC == The eMMC is on the hardware board, so we need: *Get the board into [[Rockusb#Maskrom_mode|maskrom mode]]; *Connect the target to PC with USB cable; *Flash the image to eMMC with [[Rkdeveloptool|rkdeveloptool]] Example commands for flash image to target. Flash the gpt partition to target: <pre style="margin-left: 40px;">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool gpt parameter_gpt.txt</pre> *For armv7 with SPL with SPL_BACK_TO_BROM option enabled(rk3036, rk3188, rk3288): <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbloader.img rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> *For armv7 with SPL with SPL_BACK_TO_BROM option disabled(rk3288): <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbspl.img rkdeveloptool wl 0x200 u-boot.bin rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> *For armv7 with miniloader(rk3036, rk3188, rk3288) <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbloader.img rkdeveloptool wl 0x4000 uboot.img rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> *For armv8 with SPL(rk3399): <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbspl.img rkdeveloptool wl 0x200 bl3.itb rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> *For armv8 with miniloader(rk3399, rk3328) <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbloader.img rkdeveloptool wl 0x4000 uboot.img rkdeveloptool wl 0x6000 trust.img rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd</pre> &nbsp; == Boot from SD/TF Card == We can write SD/TF card with Linux PC ''dd'' command very easily. Insert SD card to PC and we assume the /dev/sdb is the SD card device. *For armv7 with SPL with SPL_BACK_TO_BROM option enabled(rk3036, rk3188, rk3288): <pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64 dd if=boot.img of=sdb seek=32768 dd if=rootfs.img of=sdb seek=262144 </pre> *For armv7 with SPL with SPL_BACK_TO_BROM option disabled(rk3288): <pre style="margin-left: 40px">dd if=idbspl.img of=sdb seek=64 dd if=u-boot.bin of=sdb seek=512 dd if=boot.img of=sdb seek=32768 dd if=rootfs.img of=sdb seek=262144 </pre> *For armv7 with miniloader(rk3036, rk3188, rk3288) <pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64 dd if=uboot.img of=sdb seek=16384 dd if=boot.img of=sdb seek=32768 dd if=rootfs.img of=sdb seek=262144 </pre> *For armv8 with SPL(rk3399): <pre style="margin-left: 40px">dd if=idbspl.img of=sdb seek=64 dd if=bl3.itb of=sdb seek=512 dd if=boot.img of=sdb seek=32768 dd if=rootfs.img of=sdb seek=262144 </pre> *For armv8 with miniloader(rk3399, rk3328) <pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64 dd if=uboot.img of=sdb seek=16384 dd if=trust.img of=sdb seek=24576 dd if=boot.img of=sdb seek=32768 dd if=rootfs.img of=sdb seek=262144</pre> In order to make sure everything has write to SD card before unpluged, recommand to run below command: <pre style="margin-left: 40px">sync</pre> Note, when using boot from SD card, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value. <pre>append earlyprintk console=ttyS2,115200n8 rw root=/dev/mmcblk1p7 rootwait rootfstype=ext4 init=/sbin/init </pre> Write GPT partition table to SD card&nbsp;in U-Boot, and then U-Boot can find the boot partition and run into kernel. <pre>gpt write mmc 0 $partitions</pre> &nbsp; == Boot from U-Disk == Same as&nbsp;[[#Boot_from_SD.2FTF_Card|boot-from-sdcard]], but please note that U-Disk&nbsp;only support stage 4 and 5, see [[#Boot_Stage|Boot Stage]] for detail. If U-Disk used for stage 4 and 5, format the U-Disk in gpt format and at least 2 partitions, write ''boot.img'' and ''rootfs.img'' in those partitions; if U-Dist is only used for stage 5, we can ''dd ''the ''rootfs.img'' to U-Disk device directly. Note, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value. <pre> append earlyprintk console=ttyS2,115200n8 rw root=/dev/sda1 rootwait rootfstype=ext4 init=/sbin/init </pre> == Boot from Network == &nbsp; = See also = [[Rkdeveloptool|rkdeveloptool]] [[Rockusb|rockusb]] [[Partitions|Rockchip Linux partition definition]] a7226c203b0ad4b4ac89712f0a0901dbbcd6ad15 1249 1232 2017-08-07T08:59:06Z Kever 2 wikitext text/x-wiki &nbsp; &nbsp; &nbsp; = Boot introduce = &nbsp; First, let's make the concept clear, there are many boot stages when we boot up a Linux OS; Then we need to know about how the image should packaged, where&nbsp;the image locate; At last, we will explain how to write to different&nbsp;media and boot from there. Here is Rockchip pre-released binaries which may be mentioned later: [https://github.com/rockchip-linux/rkbin https://github.com/rockchip-linux/rkbin] &nbsp; == Boot stage == Here is a table show the detail what we may use in Rockchip platform, for 2 boot stage: - use U-Boot SPL; - use Rockchp idbLoader which is combinded by Rockchip ddr init bin and miniloader bin; <pre>+--------+----------------+----------+-------------+---------+ | Boot | Terminology #1 | Actual | Rockchip | | | stage | | program | Image | | | number | | name | Name | | +--------+----------------+----------+-------------+---------+ | 1 | Primary | ROM code | BootRom | | | | Program | | | | | | Loader | | | | | | | | | | | 2 | Secondary | U-Boot |idbloader.img| 0x40 |including u-boot if not use miniloader | | Program | SPL |idbspl.img | | | | Loader (SPL) | | | | | | | | | | | 3 | - | U-Boot | bl3.itb | 0x200 | including u-boot and atf | | | | u-boot.bin | 0x200 | | | | | uboot.img | 0x4000 | only used with miniloader | | | | | | | | | ATF | trust.img | 0x6000 | only used with miniloader for armv8 | | | | | | | 4 | - | kernel | boot.img | 0x8000 | | | | | | | | 5 | - | rootfs | rootfs.img | 0x40000 | +--------+----------------+----------+-------------+---------+ </pre> Then when we talking about boot from eMMC/SD/U-Disk/net, they are in different concept: *Stage 1 is always in boot rom, it loads stage 2 and may load stage 3(when SPL_BACK_TO_BROM option enabled). *Boot from SPI flash means firmware for stage 2 and 3(SPL and U-Boot only) in SPI flash and stage 4/5 in other place; *Boot from eMMC means all the firmware(including stage 2, 3, 4, 5) in eMMC; *Boot from SD card means all the firmware(including stage 2, 3, 4, 5) in SD card; *Boot from U-Disk means firmware for stage 4 and 5(not including SPL and U-Boot) in Disk, optionally only including stage 5; *Boot from net/tftp means firmeware for stage 4 and 5(not including SPL and U-Boot) on the network; [[File:Rksoc boot storage.jpg]] [[File:Rksoc boot flow.jpg]] Thanks to Fu Wei from RedHat for provide these two flow diagram. == Package option == After we know about the boot stages, Here are the file list before package for stage 2~4: *From source code: **From U-Boot: u-boot-spl.bin, u-boot.bin(may use u-boot-nodtb.bin and u-boot.dtb instead), **From kernel: kernel Image/zImage file, kernel dtb, **From ATF: bl31.bin; *From Rockchip binary: **ddr, usbplug, miniloader, bl31, (all with&nbsp;chip 'rkxx_'&nbsp; prefix and with version '_x.xx.bin' postfix); Here are the types to&nbsp;package image from those files: === idbspl.img === U-Boot SPL, with&nbsp;SPL_BACK_TO_BROM option '''disabled'''. <pre>mkimage -n rkxxxx -T rksd -d spl/u-boot-spl.bin idbspl.img</pre> Flash the idbspl.img to offset 0x40 which only including stage 2, and need flash stage 3 &nbsp;image to 0x200(which is defineded by CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR), the stage 3 image may be&nbsp;u-boot.bin directly(when there no ATF requirement), or FIT image bl3.itb(for ATF load from SPL, including bl31.bin, u-boot-nodtb.bin and u-boot.dtb). &nbsp; === idbloader.img === U-Boot SPL, with&nbsp;SPL_BACK_TO_BROM option '''enabled''': <pre>tools/mkimage -n rkxxxx -T rksd -d spl/u-boot-spl.bin idbloader.img cat u-boot.bin >> idbloader.img</pre> Flash the idbloader.img to offset 0x40 which including boot stage 2 and 3. Package the image from Rockchip binary: <pre>dd if=rkxx_ddr_vx.xx.bin of=ddr.bin bs=4 skip=1 tools/mkimage -n rkxxxx -T rksd -d ddr.bin idbloader.img rm ddr.bin cat rkxx_miniloader_vx.xx.bin >> idbloader.img</pre> Flash the idbloader.img to offset 0x40 which including stage 2, and you will need a uboot.img for boot stage 3. === bl3.itb === When using SPL to load the ATF, package the bl31.bin, u-boot-nodtb.bin and uboot.dtb into one FIT image. <pre>tools/mkimage -f fit4spl.its -E bl3.itb </pre> Flash the bl3.itb to offset 0x200, while&nbsp;need idbspl.img flasht to offset 0x40. === uboot.img === When using idbLoader from&nbsp;Rockchip miniloader, need package u-boot.bin into miniloader loadable format by Rockchip tool loaderimage. <pre>tools/loaderimage --pack --uboot u-boot.bin uboot.img</pre> Flash the uboot.img to offset 0x4000 which is stage 3; === trust.img === When using idbLoader from&nbsp;Rockchip miniloader, need package bl31.bin into miniloader loadable format by Rockchip tool trustmerge. <pre>tools/trustmerge tools/rk_tools/RKTRUST_RKXXXXTRUST.ini</pre> Flash the trust.img to offset 0x6000 which is for using Rockchip miniloader &nbsp; &nbsp; === rkxx_loader_vx.xx.xxx.bin === This is provide by Rockchip in binary mode, which is used for firmware upgrade to eMMC with [[Rkdeveloptool|rkdeveloptool]], can not be wirte to media device directly. This is a package from ddr.bin, usbplug.bin, miniloader.bin, Rockchip tool ''DB ''command will make usbplug.bin running in target which perform as a Rockusb device. === boot.img === This image is package the kernel Image and dtb file into a know filesystem(FAT or EXT2) image for distro boot. See [[Rockchip_Kernel#Install_Boot.2Fkernel|Install kernel]] for detail about generate boot.img from kernel zImage/Image, dtb. Flash the boot.img to offset 0x8000 which is stage 4. === rootfs.img === Flash the rootfs.img to offset 0x40000 which is stage 5. &nbsp; = Flash and boot from Media device = Here we introduce how to write image to different Medeia device. Get image Ready: *For armv7 with SPL with SPL_BACK_TO_BROM option enabled: **idbLoader.img **boot.img or boot folder with zImage, dtb and exitlinulx inside **rootfs.img *For armv7 with SPL with SPL_BACK_TO_BROM option disabled: **idbspl.img **u-boot.bin **boot.img or boot folder with zImage, dtb and exitlinulx inside **rootfs.img *For armv7 with miniloader **idbLoader.img **uboot.img **boot.img or&nbsp;boot folder with zImage, dtb and exitlinulx inside **rootfs.img *For armv8 with SPL: **idbspl.img **bl3.itb **boot.img or&nbsp;boot folder with Image, dtb and exitlinulx inside **rootfs.img *For armv8 with miniloader **idbLoader.img **uboot.img **trust.img **boot.img or&nbsp;boot folder with Image, dtb and exitlinulx inside **rootfs.img &nbsp; &nbsp; == Boot from eMMC == The eMMC is on the hardware board, so we need: *Get the board into [[Rockusb#Maskrom_mode|maskrom mode]]; *Connect the target to PC with USB cable; *Flash the image to eMMC with [[Rkdeveloptool|rkdeveloptool]] Example commands for flash image to target. Flash the gpt partition to target: <pre style="margin-left: 40px;">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool gpt parameter_gpt.txt</pre> *For armv7 with SPL with SPL_BACK_TO_BROM option enabled(rk3036, rk3188, rk3288): <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbloader.img rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> *For armv7 with SPL with SPL_BACK_TO_BROM option disabled(rk3288): <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbspl.img rkdeveloptool wl 0x200 u-boot.bin rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> *For armv7 with miniloader(rk3036, rk3188, rk3288) <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbloader.img rkdeveloptool wl 0x4000 uboot.img rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> *For armv8 with SPL(rk3399): <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbspl.img rkdeveloptool wl 0x200 bl3.itb rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> *For armv8 with miniloader(rk3399, rk3328) <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbloader.img rkdeveloptool wl 0x4000 uboot.img rkdeveloptool wl 0x6000 trust.img rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd</pre> &nbsp; == Boot from SD/TF Card == We can write SD/TF card with Linux PC ''dd'' command very easily. Insert SD card to PC and we assume the /dev/sdb is the SD card device. *For armv7 with SPL with SPL_BACK_TO_BROM option enabled(rk3036, rk3188, rk3288): <pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64 dd if=boot.img of=sdb seek=32768 dd if=rootfs.img of=sdb seek=262144 </pre> *For armv7 with SPL with SPL_BACK_TO_BROM option disabled(rk3288): <pre style="margin-left: 40px">dd if=idbspl.img of=sdb seek=64 dd if=u-boot.bin of=sdb seek=512 dd if=boot.img of=sdb seek=32768 dd if=rootfs.img of=sdb seek=262144 </pre> *For armv7 with miniloader(rk3036, rk3188, rk3288) <pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64 dd if=uboot.img of=sdb seek=16384 dd if=boot.img of=sdb seek=32768 dd if=rootfs.img of=sdb seek=262144 </pre> *For armv8 with SPL(rk3399): <pre style="margin-left: 40px">dd if=idbspl.img of=sdb seek=64 dd if=bl3.itb of=sdb seek=512 dd if=boot.img of=sdb seek=32768 dd if=rootfs.img of=sdb seek=262144 </pre> *For armv8 with miniloader(rk3399, rk3328) <pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64 dd if=uboot.img of=sdb seek=16384 dd if=trust.img of=sdb seek=24576 dd if=boot.img of=sdb seek=32768 dd if=rootfs.img of=sdb seek=262144</pre> In order to make sure everything has write to SD card before unpluged, recommand to run below command: <pre style="margin-left: 40px">sync</pre> Note, when using boot from SD card, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value. <pre>append earlyprintk console=ttyS2,115200n8 rw root=/dev/mmcblk1p7 rootwait rootfstype=ext4 init=/sbin/init </pre> Write GPT partition table to SD card&nbsp;in U-Boot, and then U-Boot can find the boot partition and run into kernel. <pre>gpt write mmc 0 $partitions</pre> &nbsp; == Boot from U-Disk == Same as&nbsp;[[#Boot_from_SD.2FTF_Card|boot-from-sdcard]], but please note that U-Disk&nbsp;only support stage 4 and 5, see [[#Boot_Stage|Boot Stage]] for detail. If U-Disk used for stage 4 and 5, format the U-Disk in gpt format and at least 2 partitions, write ''boot.img'' and ''rootfs.img'' in those partitions; if U-Dist is only used for stage 5, we can ''dd ''the ''rootfs.img'' to U-Disk device directly. Note, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value. <pre> append earlyprintk console=ttyS2,115200n8 rw root=/dev/sda1 rootwait rootfstype=ext4 init=/sbin/init </pre> == Boot from Network == &nbsp; = See also = [[Rkdeveloptool|rkdeveloptool]] [[Rockusb|rockusb]] [[Partitions|Rockchip Linux partition definition]] 91098166c68589a60ae6db1e8991fb0218abf300 1250 1249 2017-08-07T09:09:03Z Admin 1 wikitext text/x-wiki &nbsp; &nbsp; &nbsp; &nbsp; = Boot introduce = &nbsp; First, let's make the concept clear, there are many boot stages when we boot up a Linux OS; Then we need to know about how the image should packaged, where&nbsp;the image locate; At last, we will explain how to write to different&nbsp;media and boot from there. Here is Rockchip pre-released binaries which may be mentioned later: [https://github.com/rockchip-linux/rkbin https://github.com/rockchip-linux/rkbin] &nbsp; &nbsp; == Boot stage == Here is a table show the detail what we may use in Rockchip platform, for 2 boot stage: - use U-Boot SPL; - use Rockchp idbLoader which is combinded by Rockchip ddr init bin and miniloader bin; <pre>+--------+----------------+----------+-------------+---------+ | Boot | Terminology #1 | Actual | Rockchip | | | stage | | program | Image | | | number | | name | Name | | +--------+----------------+----------+-------------+---------+ | 1 | Primary | ROM code | BootRom | | | | Program | | | | | | Loader | | | | | | | | | | | 2 | Secondary | U-Boot |idbloader.img| 0x40 |including u-boot if not use miniloader | | Program | SPL |idbspl.img | | | | Loader (SPL) | | | | | | | | | | | 3 | - | U-Boot | bl3.itb | 0x200 | including u-boot and atf | | | | u-boot.bin | 0x200 | | | | | uboot.img | 0x4000 | only used with miniloader | | | | | | | | | ATF | trust.img | 0x6000 | only used with miniloader for armv8 | | | | | | | 4 | - | kernel | boot.img | 0x8000 | | | | | | | | 5 | - | rootfs | rootfs.img | 0x40000 | +--------+----------------+----------+-------------+---------+ </pre> Then when we talking about boot from eMMC/SD/U-Disk/net, they are in different concept: *Stage 1 is always in boot rom, it loads stage 2 and may load stage 3(when SPL_BACK_TO_BROM option enabled). *Boot from SPI flash means firmware for stage 2 and 3(SPL and U-Boot only) in SPI flash and stage 4/5 in other place; *Boot from eMMC means all the firmware(including stage 2, 3, 4, 5) in eMMC; *Boot from SD card means all the firmware(including stage 2, 3, 4, 5) in SD card; *Boot from U-Disk means firmware for stage 4 and 5(not including SPL and U-Boot) in Disk, optionally only including stage 5; *Boot from net/tftp means firmeware for stage 4 and 5(not including SPL and U-Boot) on the network; [[File:Rksoc boot storage.jpg|100px|RTENOTITLE]] [[File:Rksoc boot flow.jpg|100px|RTENOTITLE]] Thanks to Fu Wei from RedHat for provide these two flow diagram. == Package option == After we know about the boot stages, Here are the file list before package for stage 2~4: *From source code: **From U-Boot: u-boot-spl.bin, u-boot.bin(may use u-boot-nodtb.bin and u-boot.dtb instead), **From kernel: kernel Image/zImage file, kernel dtb, **From ATF: bl31.bin; *From Rockchip binary: **ddr, usbplug, miniloader, bl31, (all with&nbsp;chip 'rkxx_'&nbsp; prefix and with version '_x.xx.bin' postfix); Here are the types to&nbsp;package image from those files: === idbspl.img === U-Boot SPL, with&nbsp;SPL_BACK_TO_BROM option '''disabled'''. <pre>mkimage -n rkxxxx -T rksd -d spl/u-boot-spl.bin idbspl.img</pre> Flash the idbspl.img to offset 0x40 which only including stage 2, and need flash stage 3 &nbsp;image to 0x200(which is defineded by CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR), the stage 3 image may be&nbsp;u-boot.bin directly(when there no ATF requirement), or FIT image bl3.itb(for ATF load from SPL, including bl31.bin, u-boot-nodtb.bin and u-boot.dtb). &nbsp; === idbloader.img === U-Boot SPL, with&nbsp;SPL_BACK_TO_BROM option '''enabled''': <pre>tools/mkimage -n rkxxxx -T rksd -d spl/u-boot-spl.bin idbloader.img cat u-boot.bin >> idbloader.img</pre> Flash the idbloader.img to offset 0x40 which including boot stage 2 and 3. Package the image from Rockchip binary: <pre>dd if=rkxx_ddr_vx.xx.bin of=ddr.bin bs=4 skip=1 tools/mkimage -n rkxxxx -T rksd -d ddr.bin idbloader.img rm ddr.bin cat rkxx_miniloader_vx.xx.bin >> idbloader.img</pre> Flash the idbloader.img to offset 0x40 which including stage 2, and you will need a uboot.img for boot stage 3. === bl3.itb === When using SPL to load the ATF, package the bl31.bin, u-boot-nodtb.bin and uboot.dtb into one FIT image. <pre>tools/mkimage -f fit4spl.its -E bl3.itb </pre> Flash the bl3.itb to offset 0x200, while&nbsp;need idbspl.img flasht to offset 0x40. === uboot.img === When using idbLoader from&nbsp;Rockchip miniloader, need package u-boot.bin into miniloader loadable format by Rockchip tool loaderimage. <pre>tools/loaderimage --pack --uboot u-boot.bin uboot.img</pre> Flash the uboot.img to offset 0x4000 which is stage 3; === trust.img === When using idbLoader from&nbsp;Rockchip miniloader, need package bl31.bin into miniloader loadable format by Rockchip tool trustmerge. <pre>tools/trustmerge tools/rk_tools/RKTRUST_RKXXXXTRUST.ini</pre> Flash the trust.img to offset 0x6000 which is for using Rockchip miniloader &nbsp; &nbsp; === rkxx_loader_vx.xx.xxx.bin === This is provide by Rockchip in binary mode, which is used for firmware upgrade to eMMC with [[Rkdeveloptool|rkdeveloptool]], can not be wirte to media device directly. This is a package from ddr.bin, usbplug.bin, miniloader.bin, Rockchip tool ''DB ''command will make usbplug.bin running in target which perform as a Rockusb device. === boot.img === This image is package the kernel Image and dtb file into a know filesystem(FAT or EXT2) image for distro boot. See [[Rockchip_Kernel#Install_Boot.2Fkernel|Install kernel]] for detail about generate boot.img from kernel zImage/Image, dtb. Flash the boot.img to offset 0x8000 which is stage 4. === rootfs.img === Flash the rootfs.img to offset 0x40000 which is stage 5. &nbsp; = Flash and boot from Media device = Here we introduce how to write image to different Medeia device. Get image Ready: *For armv7 with SPL with SPL_BACK_TO_BROM option enabled: **idbLoader.img **boot.img or boot folder with zImage, dtb and exitlinulx inside **rootfs.img *For armv7 with SPL with SPL_BACK_TO_BROM option disabled: **idbspl.img **u-boot.bin **boot.img or boot folder with zImage, dtb and exitlinulx inside **rootfs.img *For armv7 with miniloader **idbLoader.img **uboot.img **boot.img or&nbsp;boot folder with zImage, dtb and exitlinulx inside **rootfs.img *For armv8 with SPL: **idbspl.img **bl3.itb **boot.img or&nbsp;boot folder with Image, dtb and exitlinulx inside **rootfs.img *For armv8 with miniloader **idbLoader.img **uboot.img **trust.img **boot.img or&nbsp;boot folder with Image, dtb and exitlinulx inside **rootfs.img &nbsp; &nbsp; &nbsp; == Boot from eMMC == The eMMC is on the hardware board, so we need: *Get the board into [[Rockusb#Maskrom_mode|maskrom mode]]; *Connect the target to PC with USB cable; *Flash the image to eMMC with [[Rkdeveloptool|rkdeveloptool]] Example commands for flash image to target. Flash the gpt partition to target: <pre style="margin-left: 40px;">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool gpt parameter_gpt.txt</pre> *For armv7 with SPL with SPL_BACK_TO_BROM option enabled(rk3036, rk3188, rk3288): <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbloader.img rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> *For armv7 with SPL with SPL_BACK_TO_BROM option disabled(rk3288): <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbspl.img rkdeveloptool wl 0x200 u-boot.bin rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> *For armv7 with miniloader(rk3036, rk3188, rk3288) <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbloader.img rkdeveloptool wl 0x4000 uboot.img rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> *For armv8 with SPL(rk3399): <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbspl.img rkdeveloptool wl 0x200 bl3.itb rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> *For armv8 with miniloader(rk3399, rk3328) <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbloader.img rkdeveloptool wl 0x4000 uboot.img rkdeveloptool wl 0x6000 trust.img rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd</pre> &nbsp; &nbsp; == Boot from SD/TF Card == We can write SD/TF card with Linux PC ''dd'' command very easily. Insert SD card to PC and we assume the /dev/sdb is the SD card device. *For armv7 with SPL with SPL_BACK_TO_BROM option enabled(rk3036, rk3188, rk3288): <pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64 dd if=boot.img of=sdb seek=32768 dd if=rootfs.img of=sdb seek=262144 </pre> *For armv7 with SPL with SPL_BACK_TO_BROM option disabled(rk3288): <pre style="margin-left: 40px">dd if=idbspl.img of=sdb seek=64 dd if=u-boot.bin of=sdb seek=512 dd if=boot.img of=sdb seek=32768 dd if=rootfs.img of=sdb seek=262144 </pre> *For armv7 with miniloader(rk3036, rk3188, rk3288) <pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64 dd if=uboot.img of=sdb seek=16384 dd if=boot.img of=sdb seek=32768 dd if=rootfs.img of=sdb seek=262144 </pre> *For armv8 with SPL(rk3399): <pre style="margin-left: 40px">dd if=idbspl.img of=sdb seek=64 dd if=bl3.itb of=sdb seek=512 dd if=boot.img of=sdb seek=32768 dd if=rootfs.img of=sdb seek=262144 </pre> *For armv8 with miniloader(rk3399, rk3328) <pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64 dd if=uboot.img of=sdb seek=16384 dd if=trust.img of=sdb seek=24576 dd if=boot.img of=sdb seek=32768 dd if=rootfs.img of=sdb seek=262144</pre> In order to make sure everything has write to SD card before unpluged, recommand to run below command: <pre style="margin-left: 40px">sync</pre> Note, when using boot from SD card, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value. <pre>append earlyprintk console=ttyS2,115200n8 rw root=/dev/mmcblk1p7 rootwait rootfstype=ext4 init=/sbin/init </pre> Write GPT partition table to SD card&nbsp;in U-Boot, and then U-Boot can find the boot partition and run into kernel. <pre>gpt write mmc 0 $partitions</pre> &nbsp; == Boot from U-Disk == Same as&nbsp;[[#Boot_from_SD.2FTF_Card|boot-from-sdcard]], but please note that U-Disk&nbsp;only support stage 4 and 5, see [[#Boot_Stage|Boot Stage]] for detail. If U-Disk used for stage 4 and 5, format the U-Disk in gpt format and at least 2 partitions, write ''boot.img'' and ''rootfs.img'' in those partitions; if U-Dist is only used for stage 5, we can ''dd ''the ''rootfs.img'' to U-Disk device directly. Note, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value. <pre> append earlyprintk console=ttyS2,115200n8 rw root=/dev/sda1 rootwait rootfstype=ext4 init=/sbin/init </pre> == Boot from Network == &nbsp; &nbsp; = See also = [[Rkdeveloptool|rkdeveloptool]] [[Rockusb|rockusb]] [[Partitions|Rockchip Linux partition definition]] 43c98bb4ba2e09a578148e433474f42ed04cc8a8 1251 1250 2017-08-07T09:10:06Z Admin 1 wikitext text/x-wiki &nbsp; &nbsp; &nbsp; &nbsp; = Boot introduce = &nbsp; First, let's make the concept clear, there are many boot stages when we boot up a Linux OS; Then we need to know about how the image should packaged, where&nbsp;the image locate; At last, we will explain how to write to different&nbsp;media and boot from there. Here is Rockchip pre-released binaries which may be mentioned later: [https://github.com/rockchip-linux/rkbin https://github.com/rockchip-linux/rkbin] &nbsp; &nbsp; == Boot stage == Here is a table show the detail what we may use in Rockchip platform, for 2 boot stage: - use U-Boot SPL; - use Rockchp idbLoader which is combinded by Rockchip ddr init bin and miniloader bin; <pre>+--------+----------------+----------+-------------+---------+ | Boot | Terminology #1 | Actual | Rockchip | | | stage | | program | Image | | | number | | name | Name | | +--------+----------------+----------+-------------+---------+ | 1 | Primary | ROM code | BootRom | | | | Program | | | | | | Loader | | | | | | | | | | | 2 | Secondary | U-Boot |idbloader.img| 0x40 |including u-boot if not use miniloader | | Program | SPL |idbspl.img | | | | Loader (SPL) | | | | | | | | | | | 3 | - | U-Boot | bl3.itb | 0x200 | including u-boot and atf | | | | u-boot.bin | 0x200 | | | | | uboot.img | 0x4000 | only used with miniloader | | | | | | | | | ATF | trust.img | 0x6000 | only used with miniloader for armv8 | | | | | | | 4 | - | kernel | boot.img | 0x8000 | | | | | | | | 5 | - | rootfs | rootfs.img | 0x40000 | +--------+----------------+----------+-------------+---------+ </pre> Then when we talking about boot from eMMC/SD/U-Disk/net, they are in different concept: *Stage 1 is always in boot rom, it loads stage 2 and may load stage 3(when SPL_BACK_TO_BROM option enabled). *Boot from SPI flash means firmware for stage 2 and 3(SPL and U-Boot only) in SPI flash and stage 4/5 in other place; *Boot from eMMC means all the firmware(including stage 2, 3, 4, 5) in eMMC; *Boot from SD card means all the firmware(including stage 2, 3, 4, 5) in SD card; *Boot from U-Disk means firmware for stage 4 and 5(not including SPL and U-Boot) in Disk, optionally only including stage 5; *Boot from net/tftp means firmeware for stage 4 and 5(not including SPL and U-Boot) on the network; [[File:Rksoc boot storage.jpg|1000px|RTENOTITLE]] [[File:Rksoc boot flow.jpg|1000px|RTENOTITLE]] Thanks to Fu Wei from RedHat for provide these two flow diagram. == Package option == After we know about the boot stages, Here are the file list before package for stage 2~4: *From source code: **From U-Boot: u-boot-spl.bin, u-boot.bin(may use u-boot-nodtb.bin and u-boot.dtb instead), **From kernel: kernel Image/zImage file, kernel dtb, **From ATF: bl31.bin; *From Rockchip binary: **ddr, usbplug, miniloader, bl31, (all with&nbsp;chip 'rkxx_'&nbsp; prefix and with version '_x.xx.bin' postfix); Here are the types to&nbsp;package image from those files: === idbspl.img === U-Boot SPL, with&nbsp;SPL_BACK_TO_BROM option '''disabled'''. <pre>mkimage -n rkxxxx -T rksd -d spl/u-boot-spl.bin idbspl.img</pre> Flash the idbspl.img to offset 0x40 which only including stage 2, and need flash stage 3 &nbsp;image to 0x200(which is defineded by CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR), the stage 3 image may be&nbsp;u-boot.bin directly(when there no ATF requirement), or FIT image bl3.itb(for ATF load from SPL, including bl31.bin, u-boot-nodtb.bin and u-boot.dtb). &nbsp; === idbloader.img === U-Boot SPL, with&nbsp;SPL_BACK_TO_BROM option '''enabled''': <pre>tools/mkimage -n rkxxxx -T rksd -d spl/u-boot-spl.bin idbloader.img cat u-boot.bin >> idbloader.img</pre> Flash the idbloader.img to offset 0x40 which including boot stage 2 and 3. Package the image from Rockchip binary: <pre>dd if=rkxx_ddr_vx.xx.bin of=ddr.bin bs=4 skip=1 tools/mkimage -n rkxxxx -T rksd -d ddr.bin idbloader.img rm ddr.bin cat rkxx_miniloader_vx.xx.bin >> idbloader.img</pre> Flash the idbloader.img to offset 0x40 which including stage 2, and you will need a uboot.img for boot stage 3. === bl3.itb === When using SPL to load the ATF, package the bl31.bin, u-boot-nodtb.bin and uboot.dtb into one FIT image. <pre>tools/mkimage -f fit4spl.its -E bl3.itb </pre> Flash the bl3.itb to offset 0x200, while&nbsp;need idbspl.img flasht to offset 0x40. === uboot.img === When using idbLoader from&nbsp;Rockchip miniloader, need package u-boot.bin into miniloader loadable format by Rockchip tool loaderimage. <pre>tools/loaderimage --pack --uboot u-boot.bin uboot.img</pre> Flash the uboot.img to offset 0x4000 which is stage 3; === trust.img === When using idbLoader from&nbsp;Rockchip miniloader, need package bl31.bin into miniloader loadable format by Rockchip tool trustmerge. <pre>tools/trustmerge tools/rk_tools/RKTRUST_RKXXXXTRUST.ini</pre> Flash the trust.img to offset 0x6000 which is for using Rockchip miniloader &nbsp; &nbsp; === rkxx_loader_vx.xx.xxx.bin === This is provide by Rockchip in binary mode, which is used for firmware upgrade to eMMC with [[Rkdeveloptool|rkdeveloptool]], can not be wirte to media device directly. This is a package from ddr.bin, usbplug.bin, miniloader.bin, Rockchip tool ''DB ''command will make usbplug.bin running in target which perform as a Rockusb device. === boot.img === This image is package the kernel Image and dtb file into a know filesystem(FAT or EXT2) image for distro boot. See [[Rockchip_Kernel#Install_Boot.2Fkernel|Install kernel]] for detail about generate boot.img from kernel zImage/Image, dtb. Flash the boot.img to offset 0x8000 which is stage 4. === rootfs.img === Flash the rootfs.img to offset 0x40000 which is stage 5. &nbsp; = Flash and boot from Media device = Here we introduce how to write image to different Medeia device. Get image Ready: *For armv7 with SPL with SPL_BACK_TO_BROM option enabled: **idbLoader.img **boot.img or boot folder with zImage, dtb and exitlinulx inside **rootfs.img *For armv7 with SPL with SPL_BACK_TO_BROM option disabled: **idbspl.img **u-boot.bin **boot.img or boot folder with zImage, dtb and exitlinulx inside **rootfs.img *For armv7 with miniloader **idbLoader.img **uboot.img **boot.img or&nbsp;boot folder with zImage, dtb and exitlinulx inside **rootfs.img *For armv8 with SPL: **idbspl.img **bl3.itb **boot.img or&nbsp;boot folder with Image, dtb and exitlinulx inside **rootfs.img *For armv8 with miniloader **idbLoader.img **uboot.img **trust.img **boot.img or&nbsp;boot folder with Image, dtb and exitlinulx inside **rootfs.img &nbsp; &nbsp; &nbsp; == Boot from eMMC == The eMMC is on the hardware board, so we need: *Get the board into [[Rockusb#Maskrom_mode|maskrom mode]]; *Connect the target to PC with USB cable; *Flash the image to eMMC with [[Rkdeveloptool|rkdeveloptool]] Example commands for flash image to target. Flash the gpt partition to target: <pre style="margin-left: 40px;">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool gpt parameter_gpt.txt</pre> *For armv7 with SPL with SPL_BACK_TO_BROM option enabled(rk3036, rk3188, rk3288): <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbloader.img rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> *For armv7 with SPL with SPL_BACK_TO_BROM option disabled(rk3288): <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbspl.img rkdeveloptool wl 0x200 u-boot.bin rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> *For armv7 with miniloader(rk3036, rk3188, rk3288) <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbloader.img rkdeveloptool wl 0x4000 uboot.img rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> *For armv8 with SPL(rk3399): <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbspl.img rkdeveloptool wl 0x200 bl3.itb rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> *For armv8 with miniloader(rk3399, rk3328) <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbloader.img rkdeveloptool wl 0x4000 uboot.img rkdeveloptool wl 0x6000 trust.img rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd</pre> &nbsp; &nbsp; == Boot from SD/TF Card == We can write SD/TF card with Linux PC ''dd'' command very easily. Insert SD card to PC and we assume the /dev/sdb is the SD card device. *For armv7 with SPL with SPL_BACK_TO_BROM option enabled(rk3036, rk3188, rk3288): <pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64 dd if=boot.img of=sdb seek=32768 dd if=rootfs.img of=sdb seek=262144 </pre> *For armv7 with SPL with SPL_BACK_TO_BROM option disabled(rk3288): <pre style="margin-left: 40px">dd if=idbspl.img of=sdb seek=64 dd if=u-boot.bin of=sdb seek=512 dd if=boot.img of=sdb seek=32768 dd if=rootfs.img of=sdb seek=262144 </pre> *For armv7 with miniloader(rk3036, rk3188, rk3288) <pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64 dd if=uboot.img of=sdb seek=16384 dd if=boot.img of=sdb seek=32768 dd if=rootfs.img of=sdb seek=262144 </pre> *For armv8 with SPL(rk3399): <pre style="margin-left: 40px">dd if=idbspl.img of=sdb seek=64 dd if=bl3.itb of=sdb seek=512 dd if=boot.img of=sdb seek=32768 dd if=rootfs.img of=sdb seek=262144 </pre> *For armv8 with miniloader(rk3399, rk3328) <pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64 dd if=uboot.img of=sdb seek=16384 dd if=trust.img of=sdb seek=24576 dd if=boot.img of=sdb seek=32768 dd if=rootfs.img of=sdb seek=262144</pre> In order to make sure everything has write to SD card before unpluged, recommand to run below command: <pre style="margin-left: 40px">sync</pre> Note, when using boot from SD card, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value. <pre>append earlyprintk console=ttyS2,115200n8 rw root=/dev/mmcblk1p7 rootwait rootfstype=ext4 init=/sbin/init </pre> Write GPT partition table to SD card&nbsp;in U-Boot, and then U-Boot can find the boot partition and run into kernel. <pre>gpt write mmc 0 $partitions</pre> &nbsp; == Boot from U-Disk == Same as&nbsp;[[#Boot_from_SD.2FTF_Card|boot-from-sdcard]], but please note that U-Disk&nbsp;only support stage 4 and 5, see [[#Boot_Stage|Boot Stage]] for detail. If U-Disk used for stage 4 and 5, format the U-Disk in gpt format and at least 2 partitions, write ''boot.img'' and ''rootfs.img'' in those partitions; if U-Dist is only used for stage 5, we can ''dd ''the ''rootfs.img'' to U-Disk device directly. Note, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value. <pre> append earlyprintk console=ttyS2,115200n8 rw root=/dev/sda1 rootwait rootfstype=ext4 init=/sbin/init </pre> == Boot from Network == &nbsp; &nbsp; = See also = [[Rkdeveloptool|rkdeveloptool]] [[Rockusb|rockusb]] [[Partitions|Rockchip Linux partition definition]] 9be812df86cc0f3a5e0229341f9998abb1f25518 1252 1251 2017-08-07T09:23:30Z Kever 2 wikitext text/x-wiki &nbsp; &nbsp; &nbsp; &nbsp; = Boot introduce = &nbsp; First, let's make the concept clear, there are many boot stages when we boot up a Linux OS; Then we need to know about how the image should packaged, where&nbsp;the image locate; At last, we will explain how to write to different&nbsp;media and boot from there. Here is Rockchip pre-released binaries which may be mentioned later: [https://github.com/rockchip-linux/rkbin https://github.com/rockchip-linux/rkbin] &nbsp; &nbsp; == Boot stage == Here is a table show the detail what we may use in Rockchip platform, for 2 boot stage: - use U-Boot SPL; - use Rockchp idbLoader which is combinded by Rockchip ddr init bin and miniloader bin; <pre>+--------+----------------+----------+-------------+---------+ | Boot | Terminology #1 | Actual | Rockchip | | | stage | | program | Image | | | number | | name | Name | | +--------+----------------+----------+-------------+---------+ | 1 | Primary | ROM code | BootRom | | | | Program | | | | | | Loader | | | | | | | | | | | 2 | Secondary | U-Boot |idbloader.img| 0x40 |including u-boot if not use miniloader | | Program | SPL |idbspl.img | | | | Loader (SPL) | | | | | | | | | | | 3 | - | U-Boot | bl3.itb | 0x200 | including u-boot and atf | | | | u-boot.bin | 0x200 | | | | | uboot.img | 0x4000 | only used with miniloader | | | | | | | | | ATF | trust.img | 0x6000 | only used with miniloader for armv8 | | | | | | | 4 | - | kernel | boot.img | 0x8000 | | | | | | | | 5 | - | rootfs | rootfs.img | 0x40000 | +--------+----------------+----------+-------------+---------+ </pre> Then when we talking about boot from eMMC/SD/U-Disk/net, they are in different concept: *Stage 1 is always in boot rom, it loads stage 2 and may load stage 3(when SPL_BACK_TO_BROM option enabled). *Boot from SPI flash means firmware for stage 2 and 3(SPL and U-Boot only) in SPI flash and stage 4/5 in other place; *Boot from eMMC means all the firmware(including stage 2, 3, 4, 5) in eMMC; *Boot from SD card means all the firmware(including stage 2, 3, 4, 5) in SD card; *Boot from U-Disk means firmware for stage 4 and 5(not including SPL and U-Boot) in Disk, optionally only including stage 5; *Boot from net/tftp means firmeware for stage 4 and 5(not including SPL and U-Boot) on the network; [[File:Rksoc boot storage.jpg|1000px|RTENOTITLE]] [[File:Rksoc boot flow.jpg|1000px|RTENOTITLE]] Thanks to Fu Wei from RedHat who is the author of&nbsp;these two flow diagram. == Package option == After we know about the boot stages, Here are the file list before package for stage 2~4: *From source code: **From U-Boot: u-boot-spl.bin, u-boot.bin(may use u-boot-nodtb.bin and u-boot.dtb instead), **From kernel: kernel Image/zImage file, kernel dtb, **From ATF: bl31.bin; *From Rockchip binary: **ddr, usbplug, miniloader, bl31, (all with&nbsp;chip 'rkxx_'&nbsp; prefix and with version '_x.xx.bin' postfix); Here are the types to&nbsp;package image from those files: === idbspl.img === U-Boot SPL, with&nbsp;SPL_BACK_TO_BROM option '''disabled'''. <pre>mkimage -n rkxxxx -T rksd -d spl/u-boot-spl.bin idbspl.img</pre> Flash the idbspl.img to offset 0x40 which only including stage 2, and need flash stage 3 &nbsp;image to 0x200(which is defineded by CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR), the stage 3 image may be&nbsp;u-boot.bin directly(when there no ATF requirement), or FIT image bl3.itb(for ATF load from SPL, including bl31.bin, u-boot-nodtb.bin and u-boot.dtb). &nbsp; === idbloader.img === U-Boot SPL, with&nbsp;SPL_BACK_TO_BROM option '''enabled''': <pre>tools/mkimage -n rkxxxx -T rksd -d spl/u-boot-spl.bin idbloader.img cat u-boot.bin >> idbloader.img</pre> Flash the idbloader.img to offset 0x40 which including boot stage 2 and 3. Package the image from Rockchip binary: <pre>dd if=rkxx_ddr_vx.xx.bin of=ddr.bin bs=4 skip=1 tools/mkimage -n rkxxxx -T rksd -d ddr.bin idbloader.img rm ddr.bin cat rkxx_miniloader_vx.xx.bin >> idbloader.img</pre> Flash the idbloader.img to offset 0x40 which including stage 2, and you will need a uboot.img for boot stage 3. === bl3.itb === When using SPL to load the ATF, package the bl31.bin, u-boot-nodtb.bin and uboot.dtb into one FIT image. <pre>tools/mkimage -f fit4spl.its -E bl3.itb </pre> Flash the bl3.itb to offset 0x200, while&nbsp;need idbspl.img flasht to offset 0x40. === uboot.img === When using idbLoader from&nbsp;Rockchip miniloader, need package u-boot.bin into miniloader loadable format by Rockchip tool loaderimage. <pre>tools/loaderimage --pack --uboot u-boot.bin uboot.img</pre> Flash the uboot.img to offset 0x4000 which is stage 3; === trust.img === When using idbLoader from&nbsp;Rockchip miniloader, need package bl31.bin into miniloader loadable format by Rockchip tool trustmerge. <pre>tools/trustmerge tools/rk_tools/RKTRUST_RKXXXXTRUST.ini</pre> Flash the trust.img to offset 0x6000 which is for using Rockchip miniloader &nbsp; &nbsp; === rkxx_loader_vx.xx.xxx.bin === This is provide by Rockchip in binary mode, which is used for firmware upgrade to eMMC with [[Rkdeveloptool|rkdeveloptool]], can not be wirte to media device directly. This is a package from ddr.bin, usbplug.bin, miniloader.bin, Rockchip tool ''DB ''command will make usbplug.bin running in target which perform as a Rockusb device. === boot.img === This image is package the kernel Image and dtb file into a know filesystem(FAT or EXT2) image for distro boot. See [[Rockchip_Kernel#Install_Boot.2Fkernel|Install kernel]] for detail about generate boot.img from kernel zImage/Image, dtb. Flash the boot.img to offset 0x8000 which is stage 4. === rootfs.img === Flash the rootfs.img to offset 0x40000 which is stage 5. &nbsp; = Flash and boot from Media device = Here we introduce how to write image to different Medeia device. Get image Ready: *For armv7 with SPL with SPL_BACK_TO_BROM option enabled: **idbLoader.img **boot.img or boot folder with zImage, dtb and exitlinulx inside **rootfs.img *For armv7 with SPL with SPL_BACK_TO_BROM option disabled: **idbspl.img **u-boot.bin **boot.img or boot folder with zImage, dtb and exitlinulx inside **rootfs.img *For armv7 with miniloader **idbLoader.img **uboot.img **boot.img or&nbsp;boot folder with zImage, dtb and exitlinulx inside **rootfs.img *For armv8 with SPL: **idbspl.img **bl3.itb **boot.img or&nbsp;boot folder with Image, dtb and exitlinulx inside **rootfs.img *For armv8 with miniloader **idbLoader.img **uboot.img **trust.img **boot.img or&nbsp;boot folder with Image, dtb and exitlinulx inside **rootfs.img &nbsp; &nbsp; &nbsp; == Boot from eMMC == The eMMC is on the hardware board, so we need: *Get the board into [[Rockusb#Maskrom_mode|maskrom mode]]; *Connect the target to PC with USB cable; *Flash the image to eMMC with [[Rkdeveloptool|rkdeveloptool]] Example commands for flash image to target. Flash the gpt partition to target: <pre style="margin-left: 40px;">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool gpt parameter_gpt.txt</pre> *For armv7 with SPL with SPL_BACK_TO_BROM option enabled(rk3036, rk3188, rk3288): <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbloader.img rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> *For armv7 with SPL with SPL_BACK_TO_BROM option disabled(rk3288): <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbspl.img rkdeveloptool wl 0x200 u-boot.bin rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> *For armv7 with miniloader(rk3036, rk3188, rk3288) <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbloader.img rkdeveloptool wl 0x4000 uboot.img rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> *For armv8 with SPL(rk3399): <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbspl.img rkdeveloptool wl 0x200 bl3.itb rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> *For armv8 with miniloader(rk3399, rk3328) <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbloader.img rkdeveloptool wl 0x4000 uboot.img rkdeveloptool wl 0x6000 trust.img rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd</pre> &nbsp; &nbsp; == Boot from SD/TF Card == We can write SD/TF card with Linux PC ''dd'' command very easily. Insert SD card to PC and we assume the /dev/sdb is the SD card device. *For armv7 with SPL with SPL_BACK_TO_BROM option enabled(rk3036, rk3188, rk3288): <pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64 dd if=boot.img of=sdb seek=32768 dd if=rootfs.img of=sdb seek=262144 </pre> *For armv7 with SPL with SPL_BACK_TO_BROM option disabled(rk3288): <pre style="margin-left: 40px">dd if=idbspl.img of=sdb seek=64 dd if=u-boot.bin of=sdb seek=512 dd if=boot.img of=sdb seek=32768 dd if=rootfs.img of=sdb seek=262144 </pre> *For armv7 with miniloader(rk3036, rk3188, rk3288) <pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64 dd if=uboot.img of=sdb seek=16384 dd if=boot.img of=sdb seek=32768 dd if=rootfs.img of=sdb seek=262144 </pre> *For armv8 with SPL(rk3399): <pre style="margin-left: 40px">dd if=idbspl.img of=sdb seek=64 dd if=bl3.itb of=sdb seek=512 dd if=boot.img of=sdb seek=32768 dd if=rootfs.img of=sdb seek=262144 </pre> *For armv8 with miniloader(rk3399, rk3328) <pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64 dd if=uboot.img of=sdb seek=16384 dd if=trust.img of=sdb seek=24576 dd if=boot.img of=sdb seek=32768 dd if=rootfs.img of=sdb seek=262144</pre> In order to make sure everything has write to SD card before unpluged, recommand to run below command: <pre style="margin-left: 40px">sync</pre> Note, when using boot from SD card, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value. <pre>append earlyprintk console=ttyS2,115200n8 rw root=/dev/mmcblk1p7 rootwait rootfstype=ext4 init=/sbin/init </pre> Write GPT partition table to SD card&nbsp;in U-Boot, and then U-Boot can find the boot partition and run into kernel. <pre>gpt write mmc 0 $partitions</pre> &nbsp; == Boot from U-Disk == Same as&nbsp;[[#Boot_from_SD.2FTF_Card|boot-from-sdcard]], but please note that U-Disk&nbsp;only support stage 4 and 5, see [[#Boot_Stage|Boot Stage]] for detail. If U-Disk used for stage 4 and 5, format the U-Disk in gpt format and at least 2 partitions, write ''boot.img'' and ''rootfs.img'' in those partitions; if U-Dist is only used for stage 5, we can ''dd ''the ''rootfs.img'' to U-Disk device directly. Note, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value. <pre> append earlyprintk console=ttyS2,115200n8 rw root=/dev/sda1 rootwait rootfstype=ext4 init=/sbin/init </pre> == Boot from Network == &nbsp; &nbsp; = See also = [[Rkdeveloptool|rkdeveloptool]] [[Rockusb|rockusb]] [[Partitions|Rockchip Linux partition definition]] dc4bcae741288109caf31ffcf32a1134d6dcc301 File:Rockchip RK3328TRM V1.1-Part1-20170321.pdf 6 139 1233 1091 2017-07-24T07:23:30Z Sysproduct1 15 Sysproduct1 uploaded a new version of [[File:Rockchip RK3328TRM V1.1-Part1-20170321.pdf]] wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 Status Matrix 0 154 1237 2017-08-03T02:47:53Z Jacob 6 Created page with " == Rockchip 4.4 Kernel Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! RK3288..." wikitext text/x-wiki == Rockchip 4.4 Kernel Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! RK3288 ! RK3328 ! RK3399 |- | rowspan="2" style="text-align: left;" | ADC | style="text-align: left;" | SARADC | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | TSADC | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | Clocks | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | CPUFreq | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | Crypto | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | CSI/ISP | style="background: orange;" | WIP | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | CIF | style="background: orange;" | WIP | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | rowspan="7" style="text-align: left;" | Display (DRM) | style="text-align: left;" | RGB | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | LVDS | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | MIPI DSI | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | CVBS | N/A | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | VGA | N/A | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | HDMI | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | CEC | style="background: yellow;" | NO | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | DMA | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | DDR DVFS | style="background: lightgreen;" | NO | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | rowspan="2" style="text-align: left;" | Ethernet | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | GMAC | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | EMAC | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | I2S | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align:" | I2C | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | MsgBox | N/A | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | Pinctrl | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | PWM | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | Power Domain | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | PCIE | N/A | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="tex" | style="background: grey; color: white;" &#124; SUPPORTlightgreen;" &#124; SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | SD / SDIO / MMC | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | SPDIF | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | SPI | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | SUSPEND / RESUME | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp; | style="background: grey; color: white;" | &nbsp; |- | colspan="2" style="text-align: left;" | USB | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | USB OTG | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | TYPEC | N/A | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | Watchdog | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | GPU | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | VPU | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | RGA | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | IEP | style="background: lightgreen;" | NO | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |} &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 5a347324543e9683a0c33bf7c535463cd8d30dcd 1238 1237 2017-08-03T03:01:00Z Jacob 6 wikitext text/x-wiki == Rockchip 4.4 Kernel Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! RK3288 ! RK3328 ! RK3399 |- | rowspan="2" style="text-align: left;" | ADC | style="text-align: left;" | SARADC | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | TSADC | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | Clocks | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | CPUFreq | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | Crypto | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | CSI/ISP | style="background: orange;" | WIP | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | CIF | style="background: orange;" | WIP | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | rowspan="7" style="text-align: left;" | Display (DRM) | style="text-align: left;" | RGB | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | LVDS | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | MIPI DSI | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | CVBS | N/A | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | VGA | N/A | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | HDMI | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | CEC | style="background: red;" | NO | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | DMA | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | DDR DVFS | style="background: red;" | NO | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | rowspan="2" style="text-align: left;" | Ethernet | style="text-align: left;" | GMAC | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | EMAC | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | I2S | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left" | I2C | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | MsgBox | N/A | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | Pinctrl | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | PWM | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | Power Domain | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | PCIE | N/A | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | SD / SDIO / MMC | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | SPDIF | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | SPI | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | SUSPEND / RESUME | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp; | style="background: grey; color: white;" | &nbsp; |- | colspan="2" style="text-align: left;" | USB | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | USB OTG | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | TYPEC | N/A | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | Watchdog | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | GPU | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | VPU | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | RGA | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" | IEP | style="background: red;" | NO | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |} &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 0d9a3141302829aca2f2f597b043b94ea78a2ee0 1239 1238 2017-08-03T03:12:21Z Jacob 6 wikitext text/x-wiki == Rockchip 4.4 Kernel Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! RK3288 ! RK3328 ! RK3399 |- | rowspan="2" style="text-align: left;" | ADC | style="text-align: left;" | SARADC | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | TSADC | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | Clocks | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | CPUFreq | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | Crypto | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | CSI/ISP | style="background: orange;" | WIP | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | CIF | style="background: orange;" | WIP | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | rowspan="7" style="text-align: left;" | Display (DRM) | style="text-align: left;" | RGB | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | LVDS | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | MIPI DSI | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | CVBS | N/A | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | VGA | N/A | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | HDMI | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | CEC | style="background: red;" | NO | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | DMA | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | DDR DVFS | style="background: red;" | NO | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | rowspan="2" style="text-align: left;" | Ethernet | style="text-align: left;" | GMAC | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | EMAC | N/A | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | I2S | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left" | I2C | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | MsgBox | N/A | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | Pinctrl | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | PWM | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | Power Domain | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | PCIE | N/A | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | SD / SDIO / MMC | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | SPDIF | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | SPI | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | SUSPEND / RESUME | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp; | style="background: grey; color: white;" | &nbsp; |- | colspan="2" style="text-align: left;" | USB | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | USB OTG | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | TYPEC | N/A | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | Watchdog | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | GPU | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | VPU | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | RGA | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | IEP | style="background: red;" | NO | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |} &nbsp; &nbsp; == Mainline Kernel Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! RK3288 ! RK3328 ! RK3399 |- | rowspan="2" style="text-align: left;" | ADC | style="text-align: left;" | SARADC | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | TSADC | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | Clocks | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | CPUFreq | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | Crypto | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | CSI/ISP | style="background: orange;" | WIP | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | CIF | style="background: orange;" | WIP | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | rowspan="7" style="text-align: left;" | Display (DRM) | style="text-align: left;" | RGB | style="background: red;" | NO | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | LVDS | style="background: red;" | NO | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | MIPI DSI | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | CVBS | N/A | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | VGA | N/A | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | HDMI | style="background: darkgreen;" | UNCOMPLETE | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | CEC | style="background: red;" | NO | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | DMA | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | DDR DVFS | style="background: red;" | NO | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | rowspan="2" style="text-align: left;" | Ethernet | style="text-align: left;" | GMAC | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | EMAC | N/A | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | I2S | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left" | I2C | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | MsgBox | N/A | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | Pinctrl | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | PWM | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | Power Domain | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | PCIE | N/A | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | SD / SDIO / MMC | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | SPDIF | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | SPI | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | SUSPEND / RESUME | style="background: darkgreen;" | UNCOMPLETE | style="background: grey; color: white;" | &nbsp; | style="background: grey; color: white;" | &nbsp; |- | colspan="2" style="text-align: left;" | USB | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | USB OTG | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | TYPEC | N/A | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | Watchdog | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | GPU | style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE] | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | VPU | style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE] | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | RGA | style="background: orange;" | WIP | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | IEP | style="background: red;" | NO | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |} &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 1eafe86007932d66b2faf261df67c129e7cc9ba0 1240 1239 2017-08-03T03:13:42Z Jacob 6 wikitext text/x-wiki == Rockchip 4.4 Kernel Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! RK3288 ! RK3328 ! RK3399 |- | rowspan="2" style="text-align: left;" | ADC | style="text-align: left;" | SARADC | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | TSADC | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | Clocks | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | CPUFreq | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | Crypto | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | CSI/ISP | style="background: orange;" | WIP | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | CIF | style="background: orange;" | WIP | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | rowspan="8" style="text-align: left;" | Display (DRM) | style="text-align: left;" | RGB | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | EDP | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp; | style="background: grey; color: white;" | &nbsp; |- | style="text-align: left;" | LVDS | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | MIPI DSI | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | CVBS | N/A | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | VGA | N/A | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | HDMI | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | CEC | style="background: red;" | NO | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | DMA | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | DDR DVFS | style="background: red;" | NO | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | rowspan="2" style="text-align: left;" | Ethernet | style="text-align: left;" | GMAC | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | EMAC | N/A | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | I2S | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left" | I2C | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | MsgBox | N/A | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | Pinctrl | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | PWM | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | Power Domain | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | PCIE | N/A | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | SD / SDIO / MMC | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | SPDIF | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | SPI | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | SUSPEND / RESUME | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp; | style="background: grey; color: white;" | &nbsp; |- | colspan="2" style="text-align: left;" | USB | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | USB OTG | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | TYPEC | N/A | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | Watchdog | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | GPU | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | VPU | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | RGA | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | IEP | style="background: red;" | NO | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |} &nbsp; &nbsp; == Mainline Kernel Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! RK3288 ! RK3328 ! RK3399 |- | rowspan="2" style="text-align: left;" | ADC | style="text-align: left;" | SARADC | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | TSADC | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | Clocks | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | CPUFreq | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | Crypto | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | CSI/ISP | style="background: orange;" | WIP | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | CIF | style="background: orange;" | WIP | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | rowspan="7" style="text-align: left;" | Display (DRM) | style="text-align: left;" | RGB | style="background: red;" | NO | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | LVDS | style="background: red;" | NO | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | MIPI DSI | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | CVBS | N/A | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | VGA | N/A | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | HDMI | style="background: darkgreen;" | UNCOMPLETE | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | CEC | style="background: red;" | NO | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | DMA | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | DDR DVFS | style="background: red;" | NO | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | rowspan="2" style="text-align: left;" | Ethernet | style="text-align: left;" | GMAC | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | EMAC | N/A | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | I2S | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left" | I2C | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | MsgBox | N/A | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | Pinctrl | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | PWM | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | Power Domain | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | PCIE | N/A | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | SD / SDIO / MMC | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | SPDIF | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | SPI | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | SUSPEND / RESUME | style="background: darkgreen;" | UNCOMPLETE | style="background: grey; color: white;" | &nbsp; | style="background: grey; color: white;" | &nbsp; |- | colspan="2" style="text-align: left;" | USB | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | USB OTG | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | TYPEC | N/A | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | Watchdog | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | GPU | style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE] | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | VPU | style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE] | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | RGA | style="background: orange;" | WIP | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | IEP | style="background: red;" | NO | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |} &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; e4c6ade0f9b72ee1fb3af98d5b7d16d66e86712d 1241 1240 2017-08-03T03:35:36Z Jacob 6 wikitext text/x-wiki &nbsp; == Rockchip 4.4 Kernel Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! RK3288 ! RK3328 ! RK3399 |- | rowspan="2" style="text-align: left;" | ADC | style="text-align: left;" | SARADC | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | TSADC | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | Clocks | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | CPUFreq | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | Crypto | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | CSI/ISP | style="background: orange;" | WIP | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | CIF | style="background: orange;" | WIP | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | rowspan="8" style="text-align: left;" | Display (DRM) | style="text-align: left;" | RGB | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | EDP | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | LVDS | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | MIPI DSI | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | CVBS | N/A | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | VGA | N/A | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | HDMI | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | CEC | style="background: red;" | NO | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | DMA | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | DDR DVFS | style="background: red;" | NO | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | rowspan="2" style="text-align: left;" | Ethernet | style="text-align: left;" | GMAC | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | EMAC | N/A | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | I2S | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left" | I2C | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | MsgBox | N/A | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | Pinctrl | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | PWM | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | Power Domain | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | PCIE | N/A | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | SD / SDIO / MMC | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | SPDIF | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | SPI | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | SUSPEND / RESUME | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | USB | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | USB OTG | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | TYPEC | N/A | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | Watchdog | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | GPU | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | VPU | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | RGA | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | IEP | style="background: red;" | NO | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |} &nbsp; &nbsp; == Mainline Kernel Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! RK3288 ! RK3328 ! RK3399 |- | rowspan="2" style="text-align: left;" | ADC | style="text-align: left;" | SARADC | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | TSADC | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | Clocks | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | CPUFreq | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | Crypto | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | CSI/ISP | style="background: orange;" | WIP | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | CIF | style="background: orange;" | WIP | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | rowspan="8" style="text-align: left;" | Display (DRM) | style="text-align: left;" | RGB | style="background: red;" | NO | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | EDP | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | LVDS | style="background: red;" | NO | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | MIPI DSI | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | CVBS | N/A | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | VGA | N/A | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | HDMI | style="background: darkgreen;" | UNCOMPLETE | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | CEC | style="background: red;" | NO | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | DMA | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | DDR DVFS | style="background: red;" | NO | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | rowspan="2" style="text-align: left;" | Ethernet | style="text-align: left;" | GMAC | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | EMAC | N/A | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | I2S | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left" | I2C | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | MsgBox | N/A | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | Pinctrl | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | PWM | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | Power Domain | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | PCIE | N/A | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | SD / SDIO / MMC | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | SPDIF | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | SPI | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | SUSPEND / RESUME | style="background: darkgreen;" | UNCOMPLETE | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | USB | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | USB OTG | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | TYPEC | N/A | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | Watchdog | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | GPU | style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE] | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | VPU | style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE] | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | RGA | style="background: orange;" | WIP | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | IEP | style="background: red;" | NO | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |} &nbsp; == Linux SDK CHIP Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! RK3288 ! RK3328 ! RK3399 |- | colspan="2" style="text-align: left;" | Debian | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | rowspan="3" style="text-align: left;" | Yocto | style="text-align: left;" | X11 | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp; | style="background: grey; color: white;" | &nbsp; |- | style="text-align: left;" | QT EGLFS | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | WESTON | style="background: darkgreen;" | UNCOMPLETE | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | Buildroot | N/A | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | rowspan="5" style="text-align: left;" | Decode | style="text-align: left;" | H264 | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | H265 | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp; | style="background: grey; color: white;" | &nbsp; |- | style="text-align: left;" | VP8 | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp; | style="background: grey; color: white;" | &nbsp; |- | style="text-align: left;" | VP9 | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp; | style="background: grey; color: white;" | &nbsp; |- | style="text-align: left;" | JPEG | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | rowspan="3" style="text-align: left;" | Encode | style="text-align: left;" | H264 | style="background: darkgreen;" | UNCOMPLETE | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | H265 | N/A | style="background: grey; color: white;" | &nbsp; | style="background: grey; color: white;" | &nbsp; |- | style="text-align: left;" | JPEG | style="background: red;" | NO | style="background: grey; color: white;" | &nbsp; | style="background: grey; color: white;" | &nbsp; |- | colspan="2" style="text-align: left;" | ISP(3A) | style="background: orange;" | WIP | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |} <br/> &nbsp; == Linux SDK Funciton Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! Status |- | rowspan="4" style="text-align: left;" | Gstreamer | style="text-align: left;" | Graphics | style="background: lightgreen;" | kmssink(qt eglfs),rkximagesink(x11), waylandsink(wayland) |- | style="text-align: left;" | Decode&nbsp; | style="background: lightgreen;" | h264, h265, vp8, vp9, jpeg |- | style="text-align: left;" | Encode | style="background: lightgreen;" | h264 |- | style="text-align: left;" | Transform | style="background: orange;" | WIP |- | colspan="2" style="text-align: left;" | FFmpeg | style="background: yellow;" | Community |- | colspan="2" style="text-align: left;" | MPV | style="background: yellow;" | Community |- | colspan="2" style="text-align: left;" | Browser | style="background: orange;" | WIP |} &nbsp; &nbsp; &nbsp; e1a4a9aa58bed80b471554d2a2d578df957d3a57 1242 1241 2017-08-03T03:39:31Z Jacob 6 wikitext text/x-wiki &nbsp; == Rockchip 4.4 Kernel Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! RK3288 ! RK3328 ! RK3399 |- | rowspan="2" style="text-align: left;" | ADC | style="text-align: left;" | SARADC | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | TSADC | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | Clocks | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | CPUFreq | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | Crypto | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | CSI/ISP | style="background: orange;" | WIP | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | CIF | style="background: orange;" | WIP | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | rowspan="8" style="text-align: left;" | Display (DRM) | style="text-align: left;" | RGB | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | EDP | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | LVDS | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | MIPI DSI | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | CVBS | N/A | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | VGA | N/A | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | HDMI | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | CEC | style="background: red;" | NO | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | DMA | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | DDR DVFS | style="background: red;" | NO | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | rowspan="2" style="text-align: left;" | Ethernet | style="text-align: left;" | GMAC | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | EMAC | N/A | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | I2S | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left" | I2C | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | MsgBox | N/A | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | Pinctrl | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | PWM | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | Power Domain | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | PCIE | N/A | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | SD / SDIO / MMC | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | SPDIF | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | SPI | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | SUSPEND / RESUME | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | USB | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | USB OTG | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | TYPEC | N/A | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | Watchdog | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | GPU | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | VPU | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | RGA | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | IEP | style="background: red;" | NO | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |} &nbsp; &nbsp; == Mainline Kernel Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! RK3288 ! RK3328 ! RK3399 |- | rowspan="2" style="text-align: left;" | ADC | style="text-align: left;" | SARADC | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | TSADC | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | Clocks | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | CPUFreq | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | Crypto | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | CSI/ISP | style="background: orange;" | WIP | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | CIF | style="background: orange;" | WIP | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | rowspan="8" style="text-align: left;" | Display (DRM) | style="text-align: left;" | RGB | style="background: red;" | NO | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | EDP | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | LVDS | style="background: red;" | NO | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | MIPI DSI | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | CVBS | N/A | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | VGA | N/A | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | HDMI | style="background: darkgreen;" | UNCOMPLETE | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | CEC | style="background: red;" | NO | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | DMA | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | DDR DVFS | style="background: red;" | NO | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | rowspan="2" style="text-align: left;" | Ethernet | style="text-align: left;" | GMAC | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | EMAC | N/A | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | I2S | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left" | I2C | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | MsgBox | N/A | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | Pinctrl | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | PWM | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | Power Domain | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | PCIE | N/A | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | SD / SDIO / MMC | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | SPDIF | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | SPI | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | SUSPEND / RESUME | style="background: darkgreen;" | UNCOMPLETE | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | USB | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | USB OTG | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | TYPEC | N/A | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | Watchdog | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | GPU | style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE] | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | VPU | style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE] | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | RGA | style="background: orange;" | WIP | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | IEP | style="background: red;" | NO | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |} &nbsp; == Linux SDK CHIP Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! RK3288 ! RK3328 ! RK3399 |- | colspan="2" style="text-align: left;" | Debian | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | rowspan="3" style="text-align: left;" | Yocto | style="text-align: left;" | X11 | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp; | style="background: grey; color: white;" | &nbsp; |- | style="text-align: left;" | QT EGLFS | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | WESTON | style="background: darkgreen;" | UNCOMPLETE | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | Buildroot | N/A | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | rowspan="5" style="text-align: left;" | Decode | style="text-align: left;" | H264 | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | H265 | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp; | style="background: grey; color: white;" | &nbsp; |- | style="text-align: left;" | VP8 | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp; | style="background: grey; color: white;" | &nbsp; |- | style="text-align: left;" | VP9 | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp; | style="background: grey; color: white;" | &nbsp; |- | style="text-align: left;" | JPEG | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | rowspan="3" style="text-align: left;" | Encode | style="text-align: left;" | H264 | style="background: darkgreen;" | UNCOMPLETE | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | H265 | N/A | style="background: grey; color: white;" | &nbsp; | style="background: grey; color: white;" | &nbsp; |- | style="text-align: left;" | JPEG | style="background: red;" | NO | style="background: grey; color: white;" | &nbsp; | style="background: grey; color: white;" | &nbsp; |- | colspan="2" style="text-align: left;" | ISP(3A) | style="background: orange;" | WIP | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |} <br/> &nbsp; == Linux&nbsp;Funciton Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! Status |- | rowspan="4" style="text-align: left;" | Gstreamer | style="text-align: left;" | Display | style="background: lightgreen;" | kmssink(qt eglfs),rkximagesink(x11), waylandsink(wayland) |- | style="text-align: left;" | Decode&nbsp; | style="background: lightgreen;" | h264, h265, vp8, vp9, jpeg |- | style="text-align: left;" | Encode | style="background: lightgreen;" | h264 |- | style="text-align: left;" | Transform | style="background: orange;" | WIP |- | colspan="2" rowspan="1" style="text-align: left;" | Browser | style="background: orange;" | WIP |- | colspan="2" style="text-align: left;" | QT | style="background: lightgreen;" | QT 5.x |- | colspan="2" style="text-align: left;" | IOT | style="background: orange;" | WIP |- | colspan="2" style="text-align: left;" | FFmpeg | style="background: yellow;" | Community |- | colspan="2" style="text-align: left;" | MPV | style="background: yellow;" | Community |- | colspan="2" style="text-align: left;" | KODI | style="background: yellow;" | Community |} &nbsp; &nbsp; &nbsp; 513388014294e0ab8f3d5ab2ffb0e22f3dd94daa 1243 1242 2017-08-03T03:43:36Z Jacob 6 wikitext text/x-wiki &nbsp; == Rockchip 4.4 Kernel Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! RK3288 ! RK3328 ! RK3399 |- | rowspan="2" style="text-align: left;" | ADC | style="text-align: left;" | SARADC | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | TSADC | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | Clocks | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | CPUFreq | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | Crypto | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | CSI/ISP | style="background: orange;" | WIP | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | CIF | style="background: orange;" | WIP | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | rowspan="8" style="text-align: left;" | Display (DRM) | style="text-align: left;" | RGB | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | EDP | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | LVDS | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | MIPI DSI | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | CVBS | N/A | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | VGA | N/A | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | HDMI | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | CEC | style="background: red;" | NO | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | DMA | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | DDR DVFS | style="background: red;" | NO | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | rowspan="2" style="text-align: left;" | Ethernet | style="text-align: left;" | GMAC | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | EMAC | N/A | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | I2S | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left" | I2C | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | MsgBox | N/A | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | Pinctrl | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | PWM | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | Power Domain | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | PCIE | N/A | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | SD / SDIO / MMC | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | SPDIF | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | SPI | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | SUSPEND / RESUME | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | USB | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | USB OTG | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | TYPEC | N/A | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | Watchdog | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | GPU | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | VPU | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | RGA | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | IEP | style="background: red;" | NO | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |} &nbsp; &nbsp; == Mainline Kernel Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! RK3288 ! RK3328 ! RK3399 |- | rowspan="2" style="text-align: left;" | ADC | style="text-align: left;" | SARADC | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | TSADC | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | Clocks | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | CPUFreq | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | Crypto | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | CSI/ISP | style="background: orange;" | WIP | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | CIF | style="background: orange;" | WIP | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | rowspan="8" style="text-align: left;" | Display (DRM) | style="text-align: left;" | RGB | style="background: red;" | NO | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | EDP | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | LVDS | style="background: red;" | NO | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | MIPI DSI | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | CVBS | N/A | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | VGA | N/A | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | HDMI | style="background: darkgreen;" | UNCOMPLETE | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | CEC | style="background: red;" | NO | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | DMA | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | DDR DVFS | style="background: red;" | NO | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | rowspan="2" style="text-align: left;" | Ethernet | style="text-align: left;" | GMAC | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | EMAC | N/A | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | I2S | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left" | I2C | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | MsgBox | N/A | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | Pinctrl | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | PWM | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | Power Domain | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | PCIE | N/A | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | SD / SDIO / MMC | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | SPDIF | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | SPI | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | SUSPEND / RESUME | style="background: darkgreen;" | UNCOMPLETE | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | USB | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | USB OTG | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | TYPEC | N/A | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | Watchdog | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | GPU | style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE] | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | VPU | style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE] | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | RGA | style="background: orange;" | WIP | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | IEP | style="background: red;" | NO | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |} &nbsp; == Linux SDK CHIP Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! RK3288 ! RK3328 ! RK3399 |- | colspan="2" style="text-align: left;" | Debian | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | rowspan="3" style="text-align: left;" | Yocto | style="text-align: left;" | X11 | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp; | style="background: grey; color: white;" | &nbsp; |- | style="text-align: left;" | QT EGLFS | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | WESTON | style="background: darkgreen;" | UNCOMPLETE | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | Buildroot | N/A | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | rowspan="5" style="text-align: left;" | Decode | style="text-align: left;" | H264 | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | H265 | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp; | style="background: grey; color: white;" | &nbsp; |- | style="text-align: left;" | VP8 | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp; | style="background: grey; color: white;" | &nbsp; |- | style="text-align: left;" | VP9 | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp; | style="background: grey; color: white;" | &nbsp; |- | style="text-align: left;" | JPEG | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | rowspan="3" style="text-align: left;" | Encode | style="text-align: left;" | H264 | style="background: darkgreen;" | UNCOMPLETE | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | H265 | N/A | style="background: grey; color: white;" | &nbsp; | style="background: grey; color: white;" | &nbsp; |- | style="text-align: left;" | JPEG | style="background: red;" | NO | style="background: grey; color: white;" | &nbsp; | style="background: grey; color: white;" | &nbsp; |- | colspan="2" style="text-align: left;" | ISP(3A) | style="background: orange;" | WIP | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |} <br/> &nbsp; == Linux&nbsp;Funciton Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! Status |- | rowspan="4" style="text-align: left;" | Gstreamer | style="text-align: left;" | Display | style="background: lightgreen;" | kmssink(qt eglfs),rkximagesink(x11), waylandsink(wayland) |- | style="text-align: left;" | Decode&nbsp; | style="background: lightgreen;" | h264, h265, vp8, vp9, jpeg |- | style="text-align: left;" | Encode | style="background: lightgreen;" | h264 |- | style="text-align: left;" | Transform | style="background: orange;" | WIP |- | rowspan="2" style="text-align: left;" | GPU | style="text-align: left;" | GLES | style="background: lightgreen;" | libmali |- | style="text-align: left;" | OPENCL | style="background: lightgreen;" | libmali |- | colspan="2" rowspan="1" style="text-align: left;" | QT | style="background: lightgreen;" | QT 5.x |- | colspan="2" style="text-align: left;" | Browser(HTML5 Accelerate) | style="background: orange;" | WIP |- | colspan="2" style="text-align: left;" | IOT(Third part Could Service) | style="background: orange;" | WIP |- | colspan="2" style="text-align: left;" | FFmpeg | style="background: yellow;" | Community |- | colspan="2" style="text-align: left;" | MPV | style="background: yellow;" | Community |- | colspan="2" style="text-align: left;" | KODI | style="background: yellow;" | Community |} &nbsp; &nbsp; &nbsp; 3c45cd7ff4155d12648fb6ce4190a36574bba055 1244 1243 2017-08-03T03:48:42Z Jacob 6 wikitext text/x-wiki &nbsp; == Rockchip 4.4 Kernel Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! RK3288 ! RK3328 ! RK3399 |- | rowspan="2" style="text-align: left;" | ADC | style="text-align: left;" | SARADC | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | TSADC | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | Clocks | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | CPUFreq | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | Crypto | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | CSI/ISP | style="background: orange;" | WIP | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | CIF | style="background: orange;" | WIP | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | rowspan="8" style="text-align: left;" | Display (DRM) | style="text-align: left;" | RGB | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | EDP | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | LVDS | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | MIPI DSI | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | CVBS | N/A | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | VGA | N/A | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | HDMI | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | CEC | style="background: red;" | NO | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | DMA | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | DDR DVFS | style="background: red;" | NO | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | rowspan="2" style="text-align: left;" | Ethernet | style="text-align: left;" | GMAC | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | EMAC | N/A | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | I2S | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left" | I2C | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | MsgBox | N/A | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | Pinctrl | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | PWM | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | Power Domain | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | PCIE | N/A | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | SD / SDIO / MMC | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | SPDIF | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | SPI | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | SUSPEND / RESUME | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | USB | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | USB OTG | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | TYPEC | N/A | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | Watchdog | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | GPU | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | VPU | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | RGA | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | IEP | style="background: red;" | NO | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |} &nbsp; &nbsp; == Mainline Kernel Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! RK3288 ! RK3328 ! RK3399 |- | rowspan="2" style="text-align: left;" | ADC | style="text-align: left;" | SARADC | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | TSADC | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | Clocks | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | CPUFreq | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | Crypto | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | CSI/ISP | style="background: orange;" | WIP | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | CIF | style="background: orange;" | WIP | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | rowspan="8" style="text-align: left;" | Display (DRM) | style="text-align: left;" | RGB | style="background: red;" | NO | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | EDP | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | LVDS | style="background: red;" | NO | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | MIPI DSI | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | CVBS | N/A | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | VGA | N/A | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | HDMI | style="background: darkgreen;" | UNCOMPLETE | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | CEC | style="background: red;" | NO | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | DMA | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | DDR DVFS | style="background: red;" | NO | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | rowspan="2" style="text-align: left;" | Ethernet | style="text-align: left;" | GMAC | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | EMAC | N/A | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | I2S | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left" | I2C | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | MsgBox | N/A | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | Pinctrl | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | PWM | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | Power Domain | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | PCIE | N/A | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | SD / SDIO / MMC | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | SPDIF | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | SPI | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | SUSPEND / RESUME | style="background: darkgreen;" | UNCOMPLETE | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | USB | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | USB OTG | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | TYPEC | N/A | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | Watchdog | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | GPU | style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE] | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | VPU | style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE] | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | RGA | style="background: orange;" | WIP | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | IEP | style="background: red;" | NO | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |} &nbsp; == Linux SDK CHIP Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! RK3288 ! RK3328 ! RK3399 |- | colspan="2" style="text-align: left;" | Debian | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | rowspan="3" style="text-align: left;" | Yocto | style="text-align: left;" | X11 | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp; | style="background: grey; color: white;" | &nbsp; |- | style="text-align: left;" | QT EGLFS | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | WESTON | style="background: darkgreen;" | UNCOMPLETE | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | Buildroot | N/A | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | rowspan="5" style="text-align: left;" | Decode | style="text-align: left;" | H264 | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | H265 | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp; | style="background: grey; color: white;" | &nbsp; |- | style="text-align: left;" | VP8 | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp; | style="background: grey; color: white;" | &nbsp; |- | style="text-align: left;" | VP9 | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp; | style="background: grey; color: white;" | &nbsp; |- | style="text-align: left;" | JPEG | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | rowspan="3" style="text-align: left;" | Encode | style="text-align: left;" | H264 | style="background: darkgreen;" | UNCOMPLETE | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | H265 | N/A | style="background: grey; color: white;" | &nbsp; | style="background: grey; color: white;" | &nbsp; |- | style="text-align: left;" | JPEG | style="background: red;" | NO | style="background: grey; color: white;" | &nbsp; | style="background: grey; color: white;" | &nbsp; |- | colspan="2" style="text-align: left;" | ISP(3A) | style="background: orange;" | WIP | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |} <br/> &nbsp; == Linux&nbsp;Funciton Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! Status |- | rowspan="5" style="text-align: left;" | Gstreamer | style="text-align: left;" | Display | style="background: lightgreen;" | kmssink(qt eglfs),rkximagesink(x11), waylandsink(wayland) |- | style="text-align: left;" | Decode&nbsp; | style="background: lightgreen;" | h264, h265, vp8, vp9, jpeg |- | style="text-align: left;" | Encode | style="background: lightgreen;" | h264 |- | style="text-align: left;" | Camera | style="background: orange;" | Without 3A |- | style="text-align: left;" | Transform | style="background: orange;" | WIP |- | rowspan="2" style="text-align: left;" | GPU | style="text-align: left;" | GLES | style="background: lightgreen;" | libmali |- | style="text-align: left;" | OPENCL | style="background: lightgreen;" | libmali |- | colspan="2" rowspan="1" style="text-align: left;" | QT | style="background: lightgreen;" | QT 5.x |- | colspan="2" style="text-align: left;" | Browser(HTML5 Accelerate) | style="background: orange;" | WIP |- | colspan="2" style="text-align: left;" | IOT(Third part Could Service) | style="background: orange;" | WIP |- | colspan="2" style="text-align: left;" | FFmpeg | style="background: yellow;" | Community |- | colspan="2" style="text-align: left;" | MPV | style="background: yellow;" | Community |- | colspan="2" style="text-align: left;" | KODI | style="background: yellow;" | Community |} &nbsp; &nbsp; &nbsp; b4c48dea2eed072c25a34975767cc0916f621732 1256 1244 2017-08-08T07:39:11Z Kevan 10 wikitext text/x-wiki &nbsp; == Rockchip 4.4 Kernel Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! RK3288 ! RK3328 ! RK3399 |- | rowspan="2" style="text-align: left;" | ADC | style="text-align: left;" | SARADC | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | TSADC | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | Clocks | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | CPUFreq | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | Crypto | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | CSI/ISP | style="background: orange;" | WIP | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | CIF | style="background: orange;" | WIP | style="background: grey; color: white;" | &nbsp;? | style="background: orange;" | WIP |- | rowspan="8" style="text-align: left;" | Display (DRM) | style="text-align: left;" | RGB | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | EDP | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | LVDS | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | MIPI DSI | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | CVBS | N/A | style="background: grey; color: white;" | &nbsp;? | N/A |- | style="text-align: left;" | VGA | N/A | style="background: grey; color: white;" | &nbsp;? | N/A |- | style="text-align: left;" | HDMI | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | CEC | style="background: red;" | NO | style="background: grey; color: white;" | &nbsp;? | style="background: red;" | NO |- | colspan="2" style="text-align: left;" | DMA | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | DDR DVFS | style="background: red;" | NO | style="background: grey; color: white;" | &nbsp;? | style="background: red;" | NO |- | rowspan="2" style="text-align: left;" | Ethernet | style="text-align: left;" | GMAC | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | EMAC | N/A | style="background: grey; color: white;" | &nbsp;? | N/A |- | colspan="2" style="text-align: left;" | I2S | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left" | I2C | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | MsgBox | N/A | style="background: grey; color: white;" | &nbsp;? | N/A |- | colspan="2" style="text-align: left;" | Pinctrl | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | PWM | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | Power Domain | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | PCIE | N/A | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | SD / SDIO / MMC | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | SPDIF | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | SPI | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | SUSPEND / RESUME | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | USB | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | USB OTG | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | TYPEC | N/A | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | Watchdog | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | GPU | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | VPU | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | RGA | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | IEP | style="background: red;" | NO | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |} &nbsp; &nbsp; == Mainline Kernel Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! RK3288 ! RK3328 ! RK3399 |- | rowspan="2" style="text-align: left;" | ADC | style="text-align: left;" | SARADC | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | TSADC | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | Clocks | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | CPUFreq | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | Crypto | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | CSI/ISP | style="background: orange;" | WIP | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | CIF | style="background: orange;" | WIP | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | rowspan="8" style="text-align: left;" | Display (DRM) | style="text-align: left;" | RGB | style="background: red;" | NO | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | EDP | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | LVDS | style="background: red;" | NO | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | MIPI DSI | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | CVBS | N/A | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | VGA | N/A | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | HDMI | style="background: darkgreen;" | UNCOMPLETE | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | CEC | style="background: red;" | NO | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | DMA | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | DDR DVFS | style="background: red;" | NO | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | rowspan="2" style="text-align: left;" | Ethernet | style="text-align: left;" | GMAC | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | EMAC | N/A | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | I2S | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left" | I2C | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | MsgBox | N/A | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | Pinctrl | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | PWM | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | Power Domain | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | PCIE | N/A | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | SD / SDIO / MMC | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | SPDIF | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | SPI | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | SUSPEND / RESUME | style="background: darkgreen;" | UNCOMPLETE | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | USB | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | USB OTG | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | TYPEC | N/A | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | Watchdog | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | GPU | style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE] | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | VPU | style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE] | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | RGA | style="background: orange;" | WIP | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | IEP | style="background: red;" | NO | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |} &nbsp; == Linux SDK CHIP Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! RK3288 ! RK3328 ! RK3399 |- | colspan="2" style="text-align: left;" | Debian | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | rowspan="3" style="text-align: left;" | Yocto | style="text-align: left;" | X11 | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp; | style="background: grey; color: white;" | &nbsp; |- | style="text-align: left;" | QT EGLFS | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | WESTON | style="background: darkgreen;" | UNCOMPLETE | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | Buildroot | N/A | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | rowspan="5" style="text-align: left;" | Decode | style="text-align: left;" | H264 | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | H265 | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp; | style="background: grey; color: white;" | &nbsp; |- | style="text-align: left;" | VP8 | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp; | style="background: grey; color: white;" | &nbsp; |- | style="text-align: left;" | VP9 | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp; | style="background: grey; color: white;" | &nbsp; |- | style="text-align: left;" | JPEG | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | rowspan="3" style="text-align: left;" | Encode | style="text-align: left;" | H264 | style="background: darkgreen;" | UNCOMPLETE | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | H265 | N/A | style="background: grey; color: white;" | &nbsp; | style="background: grey; color: white;" | &nbsp; |- | style="text-align: left;" | JPEG | style="background: red;" | NO | style="background: grey; color: white;" | &nbsp; | style="background: grey; color: white;" | &nbsp; |- | colspan="2" style="text-align: left;" | ISP(3A) | style="background: orange;" | WIP | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |} <br/> &nbsp; == Linux&nbsp;Funciton Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! Status |- | rowspan="5" style="text-align: left;" | Gstreamer | style="text-align: left;" | Display | style="background: lightgreen;" | kmssink(qt eglfs),rkximagesink(x11), waylandsink(wayland) |- | style="text-align: left;" | Decode&nbsp; | style="background: lightgreen;" | h264, h265, vp8, vp9, jpeg |- | style="text-align: left;" | Encode | style="background: lightgreen;" | h264 |- | style="text-align: left;" | Camera | style="background: orange;" | Without 3A |- | style="text-align: left;" | Transform | style="background: orange;" | WIP |- | rowspan="2" style="text-align: left;" | GPU | style="text-align: left;" | GLES | style="background: lightgreen;" | libmali |- | style="text-align: left;" | OPENCL | style="background: lightgreen;" | libmali |- | colspan="2" rowspan="1" style="text-align: left;" | QT | style="background: lightgreen;" | QT 5.x |- | colspan="2" style="text-align: left;" | Browser(HTML5 Accelerate) | style="background: orange;" | WIP |- | colspan="2" style="text-align: left;" | IOT(Third part Could Service) | style="background: orange;" | WIP |- | colspan="2" style="text-align: left;" | FFmpeg | style="background: yellow;" | Community |- | colspan="2" style="text-align: left;" | MPV | style="background: yellow;" | Community |- | colspan="2" style="text-align: left;" | KODI | style="background: yellow;" | Community |} &nbsp; &nbsp; &nbsp; ea011fadf670bafc75cb7e0dd956a1a4251591a2 1257 1256 2017-08-08T07:44:05Z Kevan 10 wikitext text/x-wiki &nbsp; == Rockchip 4.4 Kernel Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! RK3288 ! RK3328 ! RK3399 |- | rowspan="2" style="text-align: left;" | ADC | style="text-align: left;" | SARADC | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | TSADC | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | Clocks | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | CPUFreq | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | Crypto | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | CSI/ISP | style="background: orange;" | WIP | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | CIF | style="background: orange;" | WIP | style="background: grey; color: white;" | &nbsp;? | style="background: orange;" | WIP |- | rowspan="8" style="text-align: left;" | Display (DRM) | style="text-align: left;" | RGB | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | EDP | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | LVDS | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | MIPI DSI | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | CVBS | N/A | style="background: grey; color: white;" | &nbsp;? | N/A |- | style="text-align: left;" | VGA | N/A | style="background: grey; color: white;" | &nbsp;? | N/A |- | style="text-align: left;" | HDMI | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | CEC | style="background: red;" | NO | style="background: grey; color: white;" | &nbsp;? | style="background: red;" | NO |- | colspan="2" style="text-align: left;" | DMA | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | DDR DVFS | style="background: red;" | NO | style="background: grey; color: white;" | &nbsp;? | style="background: red;" | NO |- | rowspan="2" style="text-align: left;" | Ethernet | style="text-align: left;" | GMAC | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | EMAC | N/A | style="background: grey; color: white;" | &nbsp;? | N/A |- | colspan="2" style="text-align: left;" | I2S | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left" | I2C | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | MsgBox | N/A | style="background: grey; color: white;" | &nbsp;? | N/A |- | colspan="2" style="text-align: left;" | Pinctrl | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | PWM | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | Power Domain | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | PCIE | N/A | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | SD / SDIO / MMC | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | SPDIF | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | SPI | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | SUSPEND / RESUME | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | USB | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | USB OTG | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | TYPEC | N/A | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | Watchdog | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | GPU | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | VPU | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | RGA | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | IEP | style="background: red;" | NO | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |} &nbsp; &nbsp; == Mainline Kernel Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! RK3288 ! RK3328 ! RK3399 |- | rowspan="2" style="text-align: left;" | ADC | style="text-align: left;" | SARADC | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | TSADC | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | Clocks | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | CPUFreq | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | Crypto | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | CSI/ISP | style="background: orange;" | WIP | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | CIF | style="background: orange;" | WIP | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | rowspan="8" style="text-align: left;" | Display (DRM) | style="text-align: left;" | RGB | style="background: red;" | NO | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | EDP | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | LVDS | style="background: red;" | NO | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | MIPI DSI | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | CVBS | N/A | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | VGA | N/A | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | HDMI | style="background: darkgreen;" | UNCOMPLETE | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | CEC | style="background: red;" | NO | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | DMA | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | DDR DVFS | style="background: red;" | NO | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | rowspan="2" style="text-align: left;" | Ethernet | style="text-align: left;" | GMAC | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | EMAC | N/A | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | I2S | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left" | I2C | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | MsgBox | N/A | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | Pinctrl | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | PWM | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | Power Domain | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | PCIE | N/A | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | SD / SDIO / MMC | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | SPDIF | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | SPI | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | SUSPEND / RESUME | style="background: darkgreen;" | UNCOMPLETE | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | USB | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | USB OTG | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | TYPEC | N/A | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | Watchdog | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | GPU | style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE] | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | VPU | style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE] | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | RGA | style="background: orange;" | WIP | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | IEP | style="background: red;" | NO | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |} &nbsp; == Linux SDK CHIP Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! RK3288 ! RK3328 ! RK3399 |- | colspan="2" style="text-align: left;" | Debian | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | rowspan="3" style="text-align: left;" | Yocto | style="text-align: left;" | X11 | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp; | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | QT EGLFS | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | WESTON | style="background: darkgreen;" | UNCOMPLETE | style="background: grey; color: white;" | &nbsp;? | style="background: darkgreen;" | UNCOMPLETE |- | colspan="2" style="text-align: left;" | Buildroot | N/A | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | rowspan="5" style="text-align: left;" | Decode | style="text-align: left;" | H264 | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | H265 | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp; | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | VP8 | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp; | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | VP9 | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp; | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | JPEG | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | rowspan="3" style="text-align: left;" | Encode | style="text-align: left;" | H264 | style="background: darkgreen;" | UNCOMPLETE | style="background: grey; color: white;" | &nbsp;? | style="background: darkgreen;" | UNCOMPLETE |- | style="text-align: left;" | H265 | N/A | style="background: grey; color: white;" | &nbsp; | N/A |- | style="text-align: left;" | JPEG | style="background: red;" | NO | style="background: grey; color: white;" | &nbsp; | style="background: red;" | NO |- | colspan="2" style="text-align: left;" | ISP(3A) | style="background: orange;" | WIP | style="background: grey; color: white;" | &nbsp;? | style="background: orange;" | WIP |} <br/> &nbsp; == Linux&nbsp;Funciton Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! Status |- | rowspan="5" style="text-align: left;" | Gstreamer | style="text-align: left;" | Display | style="background: lightgreen;" | kmssink(qt eglfs),rkximagesink(x11), waylandsink(wayland) |- | style="text-align: left;" | Decode&nbsp; | style="background: lightgreen;" | h264, h265, vp8, vp9, jpeg |- | style="text-align: left;" | Encode | style="background: lightgreen;" | h264 |- | style="text-align: left;" | Camera | style="background: orange;" | Without 3A |- | style="text-align: left;" | Transform | style="background: orange;" | WIP |- | rowspan="2" style="text-align: left;" | GPU | style="text-align: left;" | GLES | style="background: lightgreen;" | libmali |- | style="text-align: left;" | OPENCL | style="background: lightgreen;" | libmali |- | colspan="2" rowspan="1" style="text-align: left;" | QT | style="background: lightgreen;" | QT 5.x |- | colspan="2" style="text-align: left;" | Browser(HTML5 Accelerate) | style="background: orange;" | WIP |- | colspan="2" style="text-align: left;" | IOT(Third part Could Service) | style="background: orange;" | WIP |- | colspan="2" style="text-align: left;" | FFmpeg | style="background: yellow;" | Community |- | colspan="2" style="text-align: left;" | MPV | style="background: yellow;" | Community |- | colspan="2" style="text-align: left;" | KODI | style="background: yellow;" | Community |} &nbsp; &nbsp; &nbsp; a3ffe41fa9ffa1316b3764a9520690398662a30e 1258 1257 2017-08-08T07:46:00Z Kevan 10 wikitext text/x-wiki &nbsp; == Rockchip 4.4 Kernel Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! RK3288 ! RK3328 ! RK3399 |- | rowspan="2" style="text-align: left;" | ADC | style="text-align: left;" | SARADC | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | TSADC | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | Clocks | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | CPUFreq | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | Crypto | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | CSI/ISP | style="background: orange;" | WIP | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | CIF | style="background: orange;" | WIP | style="background: grey; color: white;" | &nbsp;? | style="background: orange;" | WIP |- | rowspan="8" style="text-align: left;" | Display (DRM) | style="text-align: left;" | RGB | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | EDP | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | LVDS | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | MIPI DSI | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | CVBS | N/A | style="background: grey; color: white;" | &nbsp;? | N/A |- | style="text-align: left;" | VGA | N/A | style="background: grey; color: white;" | &nbsp;? | N/A |- | style="text-align: left;" | HDMI | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | CEC | style="background: red;" | NO | style="background: grey; color: white;" | &nbsp;? | style="background: red;" | NO |- | colspan="2" style="text-align: left;" | DMA | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | DDR DVFS | style="background: red;" | NO | style="background: grey; color: white;" | &nbsp;? | style="background: red;" | NO |- | rowspan="2" style="text-align: left;" | Ethernet | style="text-align: left;" | GMAC | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | EMAC | N/A | style="background: grey; color: white;" | &nbsp;? | N/A |- | colspan="2" style="text-align: left;" | I2S | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left" | I2C | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | MsgBox | N/A | style="background: grey; color: white;" | &nbsp;? | N/A |- | colspan="2" style="text-align: left;" | Pinctrl | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | PWM | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | Power Domain | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | PCIE | N/A | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | SD / SDIO / MMC | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | SPDIF | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | SPI | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | SUSPEND / RESUME | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | USB | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | USB OTG | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | TYPEC | N/A | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | Watchdog | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | GPU | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | VPU | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | RGA | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | IEP | style="background: red;" | NO | style="background: grey; color: white;" | &nbsp;? | style="background: red;" | NO |} &nbsp; &nbsp; == Mainline Kernel Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! RK3288 ! RK3328 ! RK3399 |- | rowspan="2" style="text-align: left;" | ADC | style="text-align: left;" | SARADC | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | TSADC | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | Clocks | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | CPUFreq | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | Crypto | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | CSI/ISP | style="background: orange;" | WIP | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | CIF | style="background: orange;" | WIP | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | rowspan="8" style="text-align: left;" | Display (DRM) | style="text-align: left;" | RGB | style="background: red;" | NO | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | EDP | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | LVDS | style="background: red;" | NO | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | MIPI DSI | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | CVBS | N/A | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | VGA | N/A | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | HDMI | style="background: darkgreen;" | UNCOMPLETE | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | CEC | style="background: red;" | NO | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | DMA | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | DDR DVFS | style="background: red;" | NO | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | rowspan="2" style="text-align: left;" | Ethernet | style="text-align: left;" | GMAC | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | EMAC | N/A | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | I2S | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left" | I2C | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | MsgBox | N/A | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | Pinctrl | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | PWM | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | Power Domain | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | PCIE | N/A | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | SD / SDIO / MMC | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | SPDIF | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | SPI | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | SUSPEND / RESUME | style="background: darkgreen;" | UNCOMPLETE | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | USB | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | USB OTG | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | TYPEC | N/A | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | Watchdog | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | GPU | style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE] | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | VPU | style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE] | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | RGA | style="background: orange;" | WIP | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | IEP | style="background: red;" | NO | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |} &nbsp; == Linux SDK CHIP Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! RK3288 ! RK3328 ! RK3399 |- | colspan="2" style="text-align: left;" | Debian | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | rowspan="3" style="text-align: left;" | Yocto | style="text-align: left;" | X11 | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp; | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | QT EGLFS | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | WESTON | style="background: darkgreen;" | UNCOMPLETE | style="background: grey; color: white;" | &nbsp;? | style="background: darkgreen;" | UNCOMPLETE |- | colspan="2" style="text-align: left;" | Buildroot | N/A | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | rowspan="5" style="text-align: left;" | Decode | style="text-align: left;" | H264 | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | H265 | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp; | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | VP8 | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp; | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | VP9 | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp; | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | JPEG | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | rowspan="3" style="text-align: left;" | Encode | style="text-align: left;" | H264 | style="background: darkgreen;" | UNCOMPLETE | style="background: grey; color: white;" | &nbsp;? | style="background: darkgreen;" | UNCOMPLETE |- | style="text-align: left;" | H265 | N/A | style="background: grey; color: white;" | &nbsp; | N/A |- | style="text-align: left;" | JPEG | style="background: red;" | NO | style="background: grey; color: white;" | &nbsp; | style="background: red;" | NO |- | colspan="2" style="text-align: left;" | ISP(3A) | style="background: orange;" | WIP | style="background: grey; color: white;" | &nbsp;? | style="background: orange;" | WIP |} <br/> &nbsp; == Linux&nbsp;Funciton Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! Status |- | rowspan="5" style="text-align: left;" | Gstreamer | style="text-align: left;" | Display | style="background: lightgreen;" | kmssink(qt eglfs),rkximagesink(x11), waylandsink(wayland) |- | style="text-align: left;" | Decode&nbsp; | style="background: lightgreen;" | h264, h265, vp8, vp9, jpeg |- | style="text-align: left;" | Encode | style="background: lightgreen;" | h264 |- | style="text-align: left;" | Camera | style="background: orange;" | Without 3A |- | style="text-align: left;" | Transform | style="background: orange;" | WIP |- | rowspan="2" style="text-align: left;" | GPU | style="text-align: left;" | GLES | style="background: lightgreen;" | libmali |- | style="text-align: left;" | OPENCL | style="background: lightgreen;" | libmali |- | colspan="2" rowspan="1" style="text-align: left;" | QT | style="background: lightgreen;" | QT 5.x |- | colspan="2" style="text-align: left;" | Browser(HTML5 Accelerate) | style="background: orange;" | WIP |- | colspan="2" style="text-align: left;" | IOT(Third part Could Service) | style="background: orange;" | WIP |- | colspan="2" style="text-align: left;" | FFmpeg | style="background: yellow;" | Community |- | colspan="2" style="text-align: left;" | MPV | style="background: yellow;" | Community |- | colspan="2" style="text-align: left;" | KODI | style="background: yellow;" | Community |} &nbsp; &nbsp; &nbsp; f9e1e38053cd8c17038161964ae5525b3129ca65 1259 1258 2017-08-08T07:51:34Z Kevan 10 wikitext text/x-wiki &nbsp; == Rockchip 4.4 Kernel Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! RK3288 ! RK3328 ! RK3399 |- | rowspan="2" style="text-align: left;" | ADC | style="text-align: left;" | SARADC | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | TSADC | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | Clocks | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | CPUFreq | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | Crypto | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | CSI/ISP | style="background: orange;" | WIP | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | CIF | style="background: orange;" | WIP | style="background: grey; color: white;" | &nbsp;? | style="background: orange;" | WIP |- | rowspan="8" style="text-align: left;" | Display (DRM) | style="text-align: left;" | RGB | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | EDP | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | LVDS | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | MIPI DSI | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | CVBS | N/A | style="background: grey; color: white;" | &nbsp;? | N/A |- | style="text-align: left;" | VGA | N/A | style="background: grey; color: white;" | &nbsp;? | N/A |- | style="text-align: left;" | HDMI | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | CEC | style="background: red;" | NO | style="background: grey; color: white;" | &nbsp;? | style="background: red;" | NO |- | colspan="2" style="text-align: left;" | DMA | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | DDR DVFS | style="background: red;" | NO | style="background: grey; color: white;" | &nbsp;? | style="background: red;" | NO |- | rowspan="2" style="text-align: left;" | Ethernet | style="text-align: left;" | GMAC | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | EMAC | N/A | style="background: grey; color: white;" | &nbsp;? | N/A |- | colspan="2" style="text-align: left;" | I2S | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left" | I2C | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | MsgBox | N/A | style="background: grey; color: white;" | &nbsp;? | N/A |- | colspan="2" style="text-align: left;" | Pinctrl | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | PWM | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | Power Domain | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | PCIE | N/A | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | SD / SDIO / MMC | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | SPDIF | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | SPI | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | SUSPEND / RESUME | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | USB | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | USB OTG | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | TYPEC | N/A | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | Watchdog | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | GPU | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | VPU | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | RGA | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | IEP | style="background: red;" | NO | style="background: grey; color: white;" | &nbsp;? | style="background: red;" | NO |} &nbsp; &nbsp; == Mainline Kernel Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! RK3288 ! RK3328 ! RK3399 |- | rowspan="2" style="text-align: left;" | ADC | style="text-align: left;" | SARADC | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | style="text-align: left;" | TSADC | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | Clocks | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | CPUFreq | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | Crypto | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | CSI/ISP | style="background: orange;" | WIP | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | CIF | style="background: orange;" | WIP | style="background: grey; color: white;" | &nbsp;? | style="background: orange;" | WIP |- | rowspan="8" style="text-align: left;" | Display (DRM) | style="text-align: left;" | RGB | style="background: red;" | NO | style="background: grey; color: white;" | &nbsp;? | style="background: red;" | NO |- | style="text-align: left;" | EDP | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | style="text-align: left;" | LVDS | style="background: red;" | NO | style="background: grey; color: white;" | &nbsp;? | style="background: red;" | NO |- | style="text-align: left;" | MIPI DSI | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | style="text-align: left;" | CVBS | N/A | style="background: grey; color: white;" | &nbsp;? | N/A |- | style="text-align: left;" | VGA | N/A | style="background: grey; color: white;" | &nbsp;? | N/A |- | style="text-align: left;" | HDMI | style="background: darkgreen;" | INCOMPLETE | style="background: grey; color: white;" | &nbsp;? | style="background: darkgreen;" | INCOMPLETE |- | style="text-align: left;" | CEC | style="background: red;" | NO | style="background: grey; color: white;" | &nbsp;? | style="background: red;" | NO |- | colspan="2" style="text-align: left;" | DMA | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | DDR DVFS | style="background: red;" | NO | style="background: grey; color: white;" | &nbsp;? | style="background: red;" | NO |- | rowspan="2" style="text-align: left;" | Ethernet | style="text-align: left;" | GMAC | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | style="text-align: left;" | EMAC | N/A | style="background: grey; color: white;" | &nbsp;? | N/A |- | colspan="2" style="text-align: left;" | I2S | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left" | I2C | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | MsgBox | N/A | style="background: grey; color: white;" | &nbsp;? | N/A |- | colspan="2" style="text-align: left;" | Pinctrl | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | PWM | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | Power Domain | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | PCIE | N/A | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | SD / SDIO / MMC | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | SPDIF | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | SPI | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | SUSPEND / RESUME | style="background: darkgreen;" | INCOMPLETE | style="background: grey; color: white;" | &nbsp;? | style="background: darkgreen;" | INCOMPLETE |- | colspan="2" style="text-align: left;" | USB | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | USB OTG | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | TYPEC | N/A | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | Watchdog | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | GPU | style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE] | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | VPU | style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE] | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | RGA | style="background: orange;" | WIP | style="background: grey; color: white;" | &nbsp;? | style="background: orange;" | WIP |- | colspan="2" style="text-align: left;" | IEP | style="background: red;" | NO | style="background: grey; color: white;" | &nbsp;? | style="background: red;" | NO |} &nbsp; == Linux SDK CHIP Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! RK3288 ! RK3328 ! RK3399 |- | colspan="2" style="text-align: left;" | Debian | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | rowspan="3" style="text-align: left;" | Yocto | style="text-align: left;" | X11 | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp; | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | QT EGLFS | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | WESTON | style="background: darkgreen;" | UNCOMPLETE | style="background: grey; color: white;" | &nbsp;? | style="background: darkgreen;" | UNCOMPLETE |- | colspan="2" style="text-align: left;" | Buildroot | N/A | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | rowspan="5" style="text-align: left;" | Decode | style="text-align: left;" | H264 | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | H265 | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp; | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | VP8 | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp; | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | VP9 | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp; | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | JPEG | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | rowspan="3" style="text-align: left;" | Encode | style="text-align: left;" | H264 | style="background: darkgreen;" | UNCOMPLETE | style="background: grey; color: white;" | &nbsp;? | style="background: darkgreen;" | UNCOMPLETE |- | style="text-align: left;" | H265 | N/A | style="background: grey; color: white;" | &nbsp; | N/A |- | style="text-align: left;" | JPEG | style="background: red;" | NO | style="background: grey; color: white;" | &nbsp; | style="background: red;" | NO |- | colspan="2" style="text-align: left;" | ISP(3A) | style="background: orange;" | WIP | style="background: grey; color: white;" | &nbsp;? | style="background: orange;" | WIP |} <br/> &nbsp; == Linux&nbsp;Funciton Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! Status |- | rowspan="5" style="text-align: left;" | Gstreamer | style="text-align: left;" | Display | style="background: lightgreen;" | kmssink(qt eglfs),rkximagesink(x11), waylandsink(wayland) |- | style="text-align: left;" | Decode&nbsp; | style="background: lightgreen;" | h264, h265, vp8, vp9, jpeg |- | style="text-align: left;" | Encode | style="background: lightgreen;" | h264 |- | style="text-align: left;" | Camera | style="background: orange;" | Without 3A |- | style="text-align: left;" | Transform | style="background: orange;" | WIP |- | rowspan="2" style="text-align: left;" | GPU | style="text-align: left;" | GLES | style="background: lightgreen;" | libmali |- | style="text-align: left;" | OPENCL | style="background: lightgreen;" | libmali |- | colspan="2" rowspan="1" style="text-align: left;" | QT | style="background: lightgreen;" | QT 5.x |- | colspan="2" style="text-align: left;" | Browser(HTML5 Accelerate) | style="background: orange;" | WIP |- | colspan="2" style="text-align: left;" | IOT(Third part Could Service) | style="background: orange;" | WIP |- | colspan="2" style="text-align: left;" | FFmpeg | style="background: yellow;" | Community |- | colspan="2" style="text-align: left;" | MPV | style="background: yellow;" | Community |- | colspan="2" style="text-align: left;" | KODI | style="background: yellow;" | Community |} &nbsp; &nbsp; &nbsp; 31a54dab1469b10f04295233e0b495cbc1e93ff0 1260 1259 2017-08-08T07:57:02Z Kevan 10 wikitext text/x-wiki &nbsp; == Rockchip 4.4 Kernel Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! RK3288 ! RK3328 ! RK3399 |- | rowspan="2" style="text-align: left;" | ADC | style="text-align: left;" | SARADC | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | TSADC | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | Clocks | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | CPUFreq | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | Crypto | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | CSI/ISP | style="background: orange;" | WIP | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | CIF | style="background: orange;" | WIP | style="background: grey; color: white;" | &nbsp;? | style="background: orange;" | WIP |- | rowspan="8" style="text-align: left;" | Display (DRM) | style="text-align: left;" | RGB | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | EDP | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | LVDS | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | MIPI DSI | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | CVBS | N/A | style="background: grey; color: white;" | &nbsp;? | N/A |- | style="text-align: left;" | VGA | N/A | style="background: grey; color: white;" | &nbsp;? | N/A |- | style="text-align: left;" | HDMI | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | CEC | style="background: red;" | NO | style="background: grey; color: white;" | &nbsp;? | style="background: red;" | NO |- | colspan="2" style="text-align: left;" | DMA | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | DDR DVFS | style="background: red;" | NO | style="background: grey; color: white;" | &nbsp;? | style="background: red;" | NO |- | rowspan="2" style="text-align: left;" | Ethernet | style="text-align: left;" | GMAC | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | EMAC | N/A | style="background: grey; color: white;" | &nbsp;? | N/A |- | colspan="2" style="text-align: left;" | I2S | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left" | I2C | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | MsgBox | N/A | style="background: grey; color: white;" | &nbsp;? | N/A |- | colspan="2" style="text-align: left;" | Pinctrl | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | PWM | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | Power Domain | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | PCIE | N/A | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | SD / SDIO / MMC | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | SPDIF | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | SPI | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | SUSPEND / RESUME | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | USB | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | USB OTG | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | TYPEC | N/A | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | Watchdog | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | GPU | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | VPU | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | RGA | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | IEP | style="background: red;" | NO | style="background: grey; color: white;" | &nbsp;? | style="background: red;" | NO |} &nbsp; &nbsp; == Mainline Kernel Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! RK3288 ! RK3328 ! RK3399 |- | rowspan="2" style="text-align: left;" | ADC | style="text-align: left;" | SARADC | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | style="text-align: left;" | TSADC | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | Clocks | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | CPUFreq | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | Crypto | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | CSI/ISP | style="background: orange;" | WIP | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | CIF | style="background: orange;" | WIP | style="background: grey; color: white;" | &nbsp;? | style="background: orange;" | WIP |- | rowspan="8" style="text-align: left;" | Display (DRM) | style="text-align: left;" | RGB | style="background: red;" | NO | style="background: grey; color: white;" | &nbsp;? | style="background: red;" | NO |- | style="text-align: left;" | EDP | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | style="text-align: left;" | LVDS | style="background: red;" | NO | style="background: grey; color: white;" | &nbsp;? | style="background: red;" | NO |- | style="text-align: left;" | MIPI DSI | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | style="text-align: left;" | CVBS | N/A | style="background: grey; color: white;" | &nbsp;? | N/A |- | style="text-align: left;" | VGA | N/A | style="background: grey; color: white;" | &nbsp;? | N/A |- | style="text-align: left;" | HDMI | style="background: darkgreen;" | INCOMPLETE | style="background: grey; color: white;" | &nbsp;? | style="background: darkgreen;" | INCOMPLETE |- | style="text-align: left;" | CEC | style="background: red;" | NO | style="background: grey; color: white;" | &nbsp;? | style="background: red;" | NO |- | colspan="2" style="text-align: left;" | DMA | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | DDR DVFS | style="background: red;" | NO | style="background: grey; color: white;" | &nbsp;? | style="background: red;" | NO |- | rowspan="2" style="text-align: left;" | Ethernet | style="text-align: left;" | GMAC | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | style="text-align: left;" | EMAC | N/A | style="background: grey; color: white;" | &nbsp;? | N/A |- | colspan="2" style="text-align: left;" | I2S | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left" | I2C | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | MsgBox | N/A | style="background: grey; color: white;" | &nbsp;? | N/A |- | colspan="2" style="text-align: left;" | Pinctrl | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | PWM | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | Power Domain | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | PCIE | N/A | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | SD / SDIO / MMC | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | SPDIF | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | SPI | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | SUSPEND / RESUME | style="background: darkgreen;" | INCOMPLETE | style="background: grey; color: white;" | &nbsp;? | style="background: darkgreen;" | INCOMPLETE |- | colspan="2" style="text-align: left;" | USB | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | USB OTG | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | TYPEC | N/A | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | Watchdog | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | GPU | style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE] | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | VPU | style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE] | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | RGA | style="background: orange;" | WIP | style="background: grey; color: white;" | &nbsp;? | style="background: orange;" | WIP |- | colspan="2" style="text-align: left;" | IEP | style="background: red;" | NO | style="background: grey; color: white;" | &nbsp;? | style="background: red;" | NO |} &nbsp; == Linux SDK CHIP Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! RK3288 ! RK3328 ! RK3399 |- | colspan="2" style="text-align: left;" | Debian | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | rowspan="3" style="text-align: left;" | Yocto | style="text-align: left;" | X11 | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp; | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | QT EGLFS | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | WESTON | style="background: darkgreen;" | UNCOMPLETE | style="background: grey; color: white;" | &nbsp;? | style="background: darkgreen;" | UNCOMPLETE |- | colspan="2" style="text-align: left;" | Buildroot | N/A | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | rowspan="5" style="text-align: left;" | Decode | style="text-align: left;" | H264 | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | H265 | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp; | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | VP8 | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp; | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | VP9 | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp; | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | JPEG | style="background: darkgreen;" | INCOMPLETE | style="background: grey; color: white;" | &nbsp;? | style="background: darkgreen;" | INCOMPLETE |- | rowspan="3" style="text-align: left;" | Encode | style="text-align: left;" | H264 | style="background: darkgreen;" | INCOMPLETE | style="background: grey; color: white;" | &nbsp;? | style="background: darkgreen;" | INCOMPLETE |- | style="text-align: left;" | H265 | N/A | style="background: grey; color: white;" | &nbsp; | N/A |- | style="text-align: left;" | JPEG | style="background: red;" | NO | style="background: grey; color: white;" | &nbsp; | style="background: red;" | NO |- | colspan="2" style="text-align: left;" | ISP(3A) | style="background: orange;" | WIP | style="background: grey; color: white;" | &nbsp;? | style="background: orange;" | WIP |} <br/> &nbsp; == Linux&nbsp;Funciton Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! Status |- | rowspan="5" style="text-align: left;" | Gstreamer | style="text-align: left;" | Display | style="background: lightgreen;" | kmssink(qt eglfs),rkximagesink(x11), waylandsink(wayland) |- | style="text-align: left;" | Decode&nbsp; | style="background: lightgreen;" | h264, h265, vp8, vp9, jpeg |- | style="text-align: left;" | Encode | style="background: lightgreen;" | h264 |- | style="text-align: left;" | Camera | style="background: orange;" | Without 3A |- | style="text-align: left;" | Transform | style="background: orange;" | WIP |- | rowspan="2" style="text-align: left;" | GPU | style="text-align: left;" | GLES | style="background: lightgreen;" | libmali |- | style="text-align: left;" | OPENCL | style="background: lightgreen;" | libmali |- | colspan="2" rowspan="1" style="text-align: left;" | QT | style="background: lightgreen;" | QT 5.x |- | colspan="2" style="text-align: left;" | Browser(HTML5 Accelerate) | style="background: orange;" | WIP |- | colspan="2" style="text-align: left;" | IOT(Third part Could Service) | style="background: orange;" | WIP |- | colspan="2" style="text-align: left;" | FFmpeg | style="background: yellow;" | Community |- | colspan="2" style="text-align: left;" | MPV | style="background: yellow;" | Community |- | colspan="2" style="text-align: left;" | KODI | style="background: yellow;" | Community |} &nbsp; &nbsp; &nbsp; 4e29b16c9391c101e1064eed742d987fe8d1fe38 1261 1260 2017-08-08T07:57:32Z Kevan 10 wikitext text/x-wiki &nbsp; == Rockchip 4.4 Kernel Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! RK3288 ! RK3328 ! RK3399 |- | rowspan="2" style="text-align: left;" | ADC | style="text-align: left;" | SARADC | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | TSADC | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | Clocks | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | CPUFreq | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | Crypto | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | CSI/ISP | style="background: orange;" | WIP | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | CIF | style="background: orange;" | WIP | style="background: grey; color: white;" | &nbsp;? | style="background: orange;" | WIP |- | rowspan="8" style="text-align: left;" | Display (DRM) | style="text-align: left;" | RGB | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | EDP | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | LVDS | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | MIPI DSI | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | CVBS | N/A | style="background: grey; color: white;" | &nbsp;? | N/A |- | style="text-align: left;" | VGA | N/A | style="background: grey; color: white;" | &nbsp;? | N/A |- | style="text-align: left;" | HDMI | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | CEC | style="background: red;" | NO | style="background: grey; color: white;" | &nbsp;? | style="background: red;" | NO |- | colspan="2" style="text-align: left;" | DMA | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | DDR DVFS | style="background: red;" | NO | style="background: grey; color: white;" | &nbsp;? | style="background: red;" | NO |- | rowspan="2" style="text-align: left;" | Ethernet | style="text-align: left;" | GMAC | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | EMAC | N/A | style="background: grey; color: white;" | &nbsp;? | N/A |- | colspan="2" style="text-align: left;" | I2S | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left" | I2C | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | MsgBox | N/A | style="background: grey; color: white;" | &nbsp;? | N/A |- | colspan="2" style="text-align: left;" | Pinctrl | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | PWM | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | Power Domain | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | PCIE | N/A | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | SD / SDIO / MMC | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | SPDIF | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | SPI | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | SUSPEND / RESUME | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | USB | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | USB OTG | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | TYPEC | N/A | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | Watchdog | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | GPU | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | VPU | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | RGA | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | IEP | style="background: red;" | NO | style="background: grey; color: white;" | &nbsp;? | style="background: red;" | NO |} &nbsp; &nbsp; == Mainline Kernel Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! RK3288 ! RK3328 ! RK3399 |- | rowspan="2" style="text-align: left;" | ADC | style="text-align: left;" | SARADC | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | style="text-align: left;" | TSADC | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | Clocks | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | CPUFreq | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | Crypto | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | CSI/ISP | style="background: orange;" | WIP | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | CIF | style="background: orange;" | WIP | style="background: grey; color: white;" | &nbsp;? | style="background: orange;" | WIP |- | rowspan="8" style="text-align: left;" | Display (DRM) | style="text-align: left;" | RGB | style="background: red;" | NO | style="background: grey; color: white;" | &nbsp;? | style="background: red;" | NO |- | style="text-align: left;" | EDP | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | style="text-align: left;" | LVDS | style="background: red;" | NO | style="background: grey; color: white;" | &nbsp;? | style="background: red;" | NO |- | style="text-align: left;" | MIPI DSI | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | style="text-align: left;" | CVBS | N/A | style="background: grey; color: white;" | &nbsp;? | N/A |- | style="text-align: left;" | VGA | N/A | style="background: grey; color: white;" | &nbsp;? | N/A |- | style="text-align: left;" | HDMI | style="background: darkgreen;" | INCOMPLETE | style="background: grey; color: white;" | &nbsp;? | style="background: darkgreen;" | INCOMPLETE |- | style="text-align: left;" | CEC | style="background: red;" | NO | style="background: grey; color: white;" | &nbsp;? | style="background: red;" | NO |- | colspan="2" style="text-align: left;" | DMA | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | DDR DVFS | style="background: red;" | NO | style="background: grey; color: white;" | &nbsp;? | style="background: red;" | NO |- | rowspan="2" style="text-align: left;" | Ethernet | style="text-align: left;" | GMAC | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | style="text-align: left;" | EMAC | N/A | style="background: grey; color: white;" | &nbsp;? | N/A |- | colspan="2" style="text-align: left;" | I2S | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left" | I2C | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | MsgBox | N/A | style="background: grey; color: white;" | &nbsp;? | N/A |- | colspan="2" style="text-align: left;" | Pinctrl | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | PWM | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | Power Domain | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | PCIE | N/A | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | SD / SDIO / MMC | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | SPDIF | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | SPI | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | SUSPEND / RESUME | style="background: darkgreen;" | INCOMPLETE | style="background: grey; color: white;" | &nbsp;? | style="background: darkgreen;" | INCOMPLETE |- | colspan="2" style="text-align: left;" | USB | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | USB OTG | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | TYPEC | N/A | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | Watchdog | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | GPU | style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE] | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | VPU | style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE] | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | colspan="2" style="text-align: left;" | RGA | style="background: orange;" | WIP | style="background: grey; color: white;" | &nbsp;? | style="background: orange;" | WIP |- | colspan="2" style="text-align: left;" | IEP | style="background: red;" | NO | style="background: grey; color: white;" | &nbsp;? | style="background: red;" | NO |} &nbsp; == Linux SDK CHIP Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! RK3288 ! RK3328 ! RK3399 |- | colspan="2" style="text-align: left;" | Debian | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | rowspan="3" style="text-align: left;" | Yocto | style="text-align: left;" | X11 | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp; | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | QT EGLFS | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | WESTON | style="background: darkgreen;" | INCOMPLETE | style="background: grey; color: white;" | &nbsp;? | style="background: darkgreen;" | INCOMPLETE |- | colspan="2" style="text-align: left;" | Buildroot | N/A | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | rowspan="5" style="text-align: left;" | Decode | style="text-align: left;" | H264 | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | H265 | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp; | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | VP8 | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp; | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | VP9 | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp; | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | JPEG | style="background: darkgreen;" | INCOMPLETE | style="background: grey; color: white;" | &nbsp;? | style="background: darkgreen;" | INCOMPLETE |- | rowspan="3" style="text-align: left;" | Encode | style="text-align: left;" | H264 | style="background: darkgreen;" | INCOMPLETE | style="background: grey; color: white;" | &nbsp;? | style="background: darkgreen;" | INCOMPLETE |- | style="text-align: left;" | H265 | N/A | style="background: grey; color: white;" | &nbsp; | N/A |- | style="text-align: left;" | JPEG | style="background: red;" | NO | style="background: grey; color: white;" | &nbsp; | style="background: red;" | NO |- | colspan="2" style="text-align: left;" | ISP(3A) | style="background: orange;" | WIP | style="background: grey; color: white;" | &nbsp;? | style="background: orange;" | WIP |} <br/> &nbsp; == Linux&nbsp;Funciton Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! Status |- | rowspan="5" style="text-align: left;" | Gstreamer | style="text-align: left;" | Display | style="background: lightgreen;" | kmssink(qt eglfs),rkximagesink(x11), waylandsink(wayland) |- | style="text-align: left;" | Decode&nbsp; | style="background: lightgreen;" | h264, h265, vp8, vp9, jpeg |- | style="text-align: left;" | Encode | style="background: lightgreen;" | h264 |- | style="text-align: left;" | Camera | style="background: orange;" | Without 3A |- | style="text-align: left;" | Transform | style="background: orange;" | WIP |- | rowspan="2" style="text-align: left;" | GPU | style="text-align: left;" | GLES | style="background: lightgreen;" | libmali |- | style="text-align: left;" | OPENCL | style="background: lightgreen;" | libmali |- | colspan="2" rowspan="1" style="text-align: left;" | QT | style="background: lightgreen;" | QT 5.x |- | colspan="2" style="text-align: left;" | Browser(HTML5 Accelerate) | style="background: orange;" | WIP |- | colspan="2" style="text-align: left;" | IOT(Third part Could Service) | style="background: orange;" | WIP |- | colspan="2" style="text-align: left;" | FFmpeg | style="background: yellow;" | Community |- | colspan="2" style="text-align: left;" | MPV | style="background: yellow;" | Community |- | colspan="2" style="text-align: left;" | KODI | style="background: yellow;" | Community |} &nbsp; &nbsp; &nbsp; 69761d492359bf18d91d814033ec4dc72b1d4a68 1262 1261 2017-08-08T07:58:41Z Kevan 10 wikitext text/x-wiki &nbsp; == Rockchip 4.4 Kernel Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! RK3288 ! RK3328 ! RK3399 |- | rowspan="2" style="text-align: left;" | ADC | style="text-align: left;" | SARADC | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | TSADC | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | Clocks | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | CPUFreq | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | Crypto | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | CSI/ISP | style="background: orange;" | WIP | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | CIF | style="background: orange;" | WIP | style="background: grey; color: white;" | &nbsp;? | style="background: orange;" | WIP |- | rowspan="8" style="text-align: left;" | Display (DRM) | style="text-align: left;" | RGB | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | EDP | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | LVDS | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | MIPI DSI | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | CVBS | N/A | style="background: grey; color: white;" | &nbsp;? | N/A |- | style="text-align: left;" | VGA | N/A | style="background: grey; color: white;" | &nbsp;? | N/A |- | style="text-align: left;" | HDMI | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | CEC | style="background: red;" | NO | style="background: grey; color: white;" | &nbsp;? | style="background: red;" | NO |- | colspan="2" style="text-align: left;" | DMA | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | DDR DVFS | style="background: red;" | NO | style="background: grey; color: white;" | &nbsp;? | style="background: red;" | NO |- | rowspan="2" style="text-align: left;" | Ethernet | style="text-align: left;" | GMAC | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | EMAC | N/A | style="background: grey; color: white;" | &nbsp;? | N/A |- | colspan="2" style="text-align: left;" | I2S | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left" | I2C | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | MsgBox | N/A | style="background: grey; color: white;" | &nbsp;? | N/A |- | colspan="2" style="text-align: left;" | Pinctrl | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | PWM | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | Power Domain | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | PCIE | N/A | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | SD / SDIO / MMC | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | SPDIF | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | SPI | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | SUSPEND / RESUME | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | USB | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | USB OTG | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | TYPEC | N/A | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | Watchdog | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | GPU | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | VPU | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | RGA | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | IEP | style="background: red;" | NO | style="background: grey; color: white;" | &nbsp;? | style="background: red;" | NO |} &nbsp; &nbsp; == Mainline Kernel Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! RK3288 ! RK3328 ! RK3399 |- | rowspan="2" style="text-align: left;" | ADC | style="text-align: left;" | SARADC | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | style="text-align: left;" | TSADC | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | Clocks | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | CPUFreq | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | Crypto | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | CSI/ISP | style="background: orange;" | WIP | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | CIF | style="background: orange;" | WIP | style="background: grey; color: white;" | &nbsp;? | style="background: orange;" | WIP |- | rowspan="8" style="text-align: left;" | Display (DRM) | style="text-align: left;" | RGB | style="background: red;" | NO | style="background: grey; color: white;" | &nbsp;? | style="background: red;" | NO |- | style="text-align: left;" | EDP | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | style="text-align: left;" | LVDS | style="background: red;" | NO | style="background: grey; color: white;" | &nbsp;? | style="background: red;" | NO |- | style="text-align: left;" | MIPI DSI | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | style="text-align: left;" | CVBS | N/A | style="background: grey; color: white;" | &nbsp;? | N/A |- | style="text-align: left;" | VGA | N/A | style="background: grey; color: white;" | &nbsp;? | N/A |- | style="text-align: left;" | HDMI | style="background: darkgreen;" | INCOMPLETE | style="background: grey; color: white;" | &nbsp;? | style="background: darkgreen;" | INCOMPLETE |- | style="text-align: left;" | CEC | style="background: red;" | NO | style="background: grey; color: white;" | &nbsp;? | style="background: red;" | NO |- | colspan="2" style="text-align: left;" | DMA | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | DDR DVFS | style="background: red;" | NO | style="background: grey; color: white;" | &nbsp;? | style="background: red;" | NO |- | rowspan="2" style="text-align: left;" | Ethernet | style="text-align: left;" | GMAC | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | style="text-align: left;" | EMAC | N/A | style="background: grey; color: white;" | &nbsp;? | N/A |- | colspan="2" style="text-align: left;" | I2S | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left" | I2C | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | MsgBox | N/A | style="background: grey; color: white;" | &nbsp;? | N/A |- | colspan="2" style="text-align: left;" | Pinctrl | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | PWM | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | Power Domain | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | PCIE | N/A | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | SD / SDIO / MMC | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | SPDIF | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | SPI | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | SUSPEND / RESUME | style="background: darkgreen;" | INCOMPLETE | style="background: grey; color: white;" | &nbsp;? | style="background: darkgreen;" | INCOMPLETE |- | colspan="2" style="text-align: left;" | USB | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | USB OTG | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | TYPEC | N/A | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | Watchdog | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | GPU | style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE] | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE] |- | colspan="2" style="text-align: left;" | VPU | style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE] | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE] |- | colspan="2" style="text-align: left;" | RGA | style="background: orange;" | WIP | style="background: grey; color: white;" | &nbsp;? | style="background: orange;" | WIP |- | colspan="2" style="text-align: left;" | IEP | style="background: red;" | NO | style="background: grey; color: white;" | &nbsp;? | style="background: red;" | NO |} &nbsp; == Linux SDK CHIP Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! RK3288 ! RK3328 ! RK3399 |- | colspan="2" style="text-align: left;" | Debian | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | rowspan="3" style="text-align: left;" | Yocto | style="text-align: left;" | X11 | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp; | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | QT EGLFS | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | WESTON | style="background: darkgreen;" | INCOMPLETE | style="background: grey; color: white;" | &nbsp;? | style="background: darkgreen;" | INCOMPLETE |- | colspan="2" style="text-align: left;" | Buildroot | N/A | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | rowspan="5" style="text-align: left;" | Decode | style="text-align: left;" | H264 | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | H265 | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp; | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | VP8 | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp; | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | VP9 | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp; | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | JPEG | style="background: darkgreen;" | INCOMPLETE | style="background: grey; color: white;" | &nbsp;? | style="background: darkgreen;" | INCOMPLETE |- | rowspan="3" style="text-align: left;" | Encode | style="text-align: left;" | H264 | style="background: darkgreen;" | INCOMPLETE | style="background: grey; color: white;" | &nbsp;? | style="background: darkgreen;" | INCOMPLETE |- | style="text-align: left;" | H265 | N/A | style="background: grey; color: white;" | &nbsp; | N/A |- | style="text-align: left;" | JPEG | style="background: red;" | NO | style="background: grey; color: white;" | &nbsp; | style="background: red;" | NO |- | colspan="2" style="text-align: left;" | ISP(3A) | style="background: orange;" | WIP | style="background: grey; color: white;" | &nbsp;? | style="background: orange;" | WIP |} <br/> &nbsp; == Linux&nbsp;Funciton Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! Status |- | rowspan="5" style="text-align: left;" | Gstreamer | style="text-align: left;" | Display | style="background: lightgreen;" | kmssink(qt eglfs),rkximagesink(x11), waylandsink(wayland) |- | style="text-align: left;" | Decode&nbsp; | style="background: lightgreen;" | h264, h265, vp8, vp9, jpeg |- | style="text-align: left;" | Encode | style="background: lightgreen;" | h264 |- | style="text-align: left;" | Camera | style="background: orange;" | Without 3A |- | style="text-align: left;" | Transform | style="background: orange;" | WIP |- | rowspan="2" style="text-align: left;" | GPU | style="text-align: left;" | GLES | style="background: lightgreen;" | libmali |- | style="text-align: left;" | OPENCL | style="background: lightgreen;" | libmali |- | colspan="2" rowspan="1" style="text-align: left;" | QT | style="background: lightgreen;" | QT 5.x |- | colspan="2" style="text-align: left;" | Browser(HTML5 Accelerate) | style="background: orange;" | WIP |- | colspan="2" style="text-align: left;" | IOT(Third part Could Service) | style="background: orange;" | WIP |- | colspan="2" style="text-align: left;" | FFmpeg | style="background: yellow;" | Community |- | colspan="2" style="text-align: left;" | MPV | style="background: yellow;" | Community |- | colspan="2" style="text-align: left;" | KODI | style="background: yellow;" | Community |} &nbsp; &nbsp; &nbsp; 44e45b2202efcab61c6fb24f308be5151d299b06 1267 1262 2017-08-15T08:05:39Z Sysproduct1 15 wikitext text/x-wiki &nbsp; == Rockchip 4.4 Kernel Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! RK3288 ! RK3328 ! RK3399 |- | rowspan="2" style="text-align: left;" | ADC | style="text-align: left;" | SARADC | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | TSADC | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | Clocks | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | CPUFreq | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | Crypto | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | CSI/ISP | style="background: orange;" | WIP | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | CIF | style="background: orange;" | WIP | style="background: grey; color: white;" | &nbsp;? | style="background: orange;" | WIP |- | rowspan="8" style="text-align: left;" | Display (DRM) | style="text-align: left;" | RGB | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | EDP | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | LVDS | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | MIPI DSI | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | CVBS | N/A | style="background: grey; color: white;" | &nbsp;? | N/A |- | style="text-align: left;" | VGA | N/A | style="background: grey; color: white;" | &nbsp;? | N/A |- | style="text-align: left;" | HDMI | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | CEC | style="background: red;" | NO | style="background: grey; color: white;" | &nbsp;? | style="background: red;" | NO |- | colspan="2" style="text-align: left;" | DMA | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | DDR DVFS | style="background: red;" | NO | style="background: grey; color: white;" | &nbsp;? | style="background: red;" | NO |- | rowspan="2" style="text-align: left;" | Ethernet | style="text-align: left;" | GMAC | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | EMAC | N/A | style="background: grey; color: white;" | &nbsp;? | N/A |- | colspan="2" style="text-align: left;" | I2S | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left" | I2C | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | MsgBox | N/A | style="background: grey; color: white;" | &nbsp;? | N/A |- | colspan="2" style="text-align: left;" | Pinctrl | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | PWM | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | Power Domain | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | PCIE | N/A | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | SD / SDIO / MMC | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | SPDIF | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | SPI | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | SUSPEND / RESUME | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | USB | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | USB OTG | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | TYPEC | N/A | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | Watchdog | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | GPU | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | VPU | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | RGA | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | IEP | style="background: red;" | NO | style="background: grey; color: white;" | &nbsp;? | style="background: red;" | NO |} &nbsp; &nbsp; == Mainline Kernel Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! RK3288 ! RK3328 ! RK3399 |- | rowspan="2" style="text-align: left;" | ADC | style="text-align: left;" | SARADC | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | style="text-align: left;" | TSADC | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | Clocks | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | CPUFreq | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | Crypto | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | CSI/ISP | style="background: orange;" | WIP | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | CIF | style="background: orange;" | WIP | style="background: grey; color: white;" | &nbsp;? | style="background: orange;" | WIP |- | rowspan="8" style="text-align: left;" | Display (DRM) | style="text-align: left;" | RGB | style="background: red;" | NO | style="background: grey; color: white;" | &nbsp;? | style="background: red;" | NO |- | style="text-align: left;" | EDP | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | style="text-align: left;" | LVDS | style="background: red;" | NO | style="background: grey; color: white;" | &nbsp;? | style="background: red;" | NO |- | style="text-align: left;" | MIPI DSI | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | style="text-align: left;" | CVBS | N/A | style="background: grey; color: white;" | &nbsp;? | N/A |- | style="text-align: left;" | VGA | N/A | style="background: grey; color: white;" | &nbsp;? | N/A |- | style="text-align: left;" | HDMI | style="background: darkgreen;" | INCOMPLETE | style="background: grey; color: white;" | &nbsp;? | style="background: darkgreen;" | INCOMPLETE |- | style="text-align: left;" | CEC | style="background: red;" | NO | style="background: grey; color: white;" | &nbsp;? | style="background: red;" | NO |- | colspan="2" style="text-align: left;" | DMA | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | DDR DVFS | style="background: red;" | NO | style="background: grey; color: white;" | &nbsp;? | style="background: red;" | NO |- | rowspan="2" style="text-align: left;" | Ethernet | style="text-align: left;" | GMAC | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | style="text-align: left;" | EMAC | N/A | style="background: grey; color: white;" | &nbsp;? | N/A |- | colspan="2" style="text-align: left;" | I2S | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left" | I2C | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | MsgBox | N/A | style="background: grey; color: white;" | &nbsp;? | N/A |- | colspan="2" style="text-align: left;" | Pinctrl | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | PWM | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | Power Domain | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | PCIE | N/A | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | SD / SDIO / MMC | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | SPDIF | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | SPI | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | SUSPEND / RESUME | style="background: darkgreen;" | INCOMPLETE | style="background: grey; color: white;" | &nbsp;? | style="background: darkgreen;" | INCOMPLETE |- | colspan="2" style="text-align: left;" | USB | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | USB OTG | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | TYPEC | N/A | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | Watchdog | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | GPU | style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE] | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE] |- | colspan="2" style="text-align: left;" | VPU | style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE] | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE] |- | colspan="2" style="text-align: left;" | RGA | style="background: orange;" | WIP | style="background: grey; color: white;" | &nbsp;? | style="background: orange;" | WIP |- | colspan="2" style="text-align: left;" | IEP | style="background: red;" | NO | style="background: grey; color: white;" | &nbsp;? | style="background: red;" | NO |} &nbsp; == Linux SDK CHIP Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! RK3288 ! RK3328 ! RK3399 |- | colspan="2" style="text-align: left;" | Debian | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | rowspan="3" style="text-align: left;" | Yocto | style="text-align: left;" | X11 | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp; | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | QT EGLFS | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | WESTON | style="background: darkgreen;" | INCOMPLETE | style="background: grey; color: white;" | &nbsp;? | style="background: darkgreen;" | INCOMPLETE |- | colspan="2" style="text-align: left;" | Buildroot | N/A | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | rowspan="5" style="text-align: left;" | Decode | style="text-align: left;" | H264 | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | H265 | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp; | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | VP8 | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp; | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | VP9 | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp; | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | JPEG | style="background: darkgreen;" | INCOMPLETE | style="background: grey; color: white;" | &nbsp;? | style="background: darkgreen;" | INCOMPLETE |- | rowspan="3" style="text-align: left;" | Encode | style="text-align: left;" | H264 | style="background: darkgreen;" | INCOMPLETE | style="background: grey; color: white;" | &nbsp;? | style="background: darkgreen;" | INCOMPLETE |- | style="text-align: left;" | H265 | N/A | style="background: grey; color: white;" | &nbsp; | N/A |- | style="text-align: left;" | JPEG | style="background: red;" | NO | style="background: grey; color: white;" | &nbsp; | style="background: red;" | NO |- | colspan="2" style="text-align: left;" | ISP(3A) | style="background: orange;" | WIP | style="background: grey; color: white;" | &nbsp;? | style="background: orange;" | WIP |} <br/> &nbsp; == Linux&nbsp;Funciton Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! Status |- | rowspan="5" style="text-align: left;" | Gstreamer | style="text-align: left;" | Display | style="background: lightgreen;" | kmssink(qt eglfs),rkximagesink(x11), waylandsink(wayland) |- | style="text-align: left;" | Decode&nbsp; | style="background: lightgreen;" | h264, h265, vp8, vp9, jpeg |- | style="text-align: left;" | Encode | style="background: lightgreen;" | h264 |- | style="text-align: left;" | Camera | style="background: orange;" | Without 3A |- | style="text-align: left;" | Transform | style="background: orange;" | WIP |- | rowspan="2" style="text-align: left;" | GPU | style="text-align: left;" | GLES | style="background: lightgreen;" | libmali |- | style="text-align: left;" | OPENCL | style="background: lightgreen;" | libmali |- | colspan="2" rowspan="1" style="text-align: left;" | QT | style="background: lightgreen;" | QT 5.x |- | colspan="2" style="text-align: left;" | Browser(HTML5 Accelerate) | style="background: orange;" | WIP |- | colspan="2" style="text-align: left;" | IOT(Third part Could Service) | style="background: orange;" | WIP |- | colspan="2" style="text-align: left;" | FFmpeg | style="background: yellow;" | Community |- | colspan="2" style="text-align: left;" | MPV | style="background: yellow;" | Community |- | colspan="2" style="text-align: left;" | KODI | style="background: yellow;" | Community |} &nbsp; &nbsp; &nbsp; b43d61ff2561a473a187c49b19ba06314a27bdc6 1268 1267 2017-08-15T08:11:50Z Sysproduct1 15 wikitext text/x-wiki &nbsp; == Rockchip 4.4 Kernel Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! RK3288 ! RK3328 ! RK3399 |- | rowspan="2" style="text-align: left;" | ADC | style="text-align: left;" | SARADC | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | TSADC | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | Clocks | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | CPUFreq | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | Crypto | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | CSI/ISP | style="background: orange;" | WIP | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | CIF | style="background: orange;" | WIP | style="background: grey; color: white;" | &nbsp;? | style="background: orange;" | WIP |- | rowspan="8" style="text-align: left;" | Display (DRM) | style="text-align: left;" | RGB | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | EDP | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | LVDS | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | MIPI DSI | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | CVBS | N/A | style="background: grey; color: white;" | &nbsp;? | N/A |- | style="text-align: left;" | VGA | N/A | style="background: grey; color: white;" | &nbsp;? | N/A |- | style="text-align: left;" | HDMI | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | CEC | style="background: red;" | NO | style="background: grey; color: white;" | &nbsp;? | style="background: red;" | NO |- | colspan="2" style="text-align: left;" | DMA | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | DDR DVFS | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |- | rowspan="2" style="text-align: left;" | Ethernet | style="text-align: left;" | GMAC | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | EMAC | N/A | style="background: grey; color: white;" | &nbsp;? | N/A |- | colspan="2" style="text-align: left;" | I2S | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left" | I2C | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | MsgBox | N/A | N/A | N/A |- | colspan="2" style="text-align: left;" | Pinctrl | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | PWM | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | Power Domain | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | PCIE | N/A | N/A | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | SD / SDIO / MMC | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | SPDIF | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | SPI | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | SUSPEND / RESUME | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | USB | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | USB OTG | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | TYPEC | N/A | N/A | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | Watchdog | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | GPU | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | VPU | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | RGA | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | IEP | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |} &nbsp; &nbsp; == Mainline Kernel Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! RK3288 ! RK3328 ! RK3399 |- | rowspan="2" style="text-align: left;" | ADC | style="text-align: left;" | SARADC | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | style="text-align: left;" | TSADC | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | Clocks | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | CPUFreq | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | Crypto | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | CSI/ISP | style="background: orange;" | WIP | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | CIF | style="background: orange;" | WIP | style="background: grey; color: white;" | &nbsp;? | style="background: orange;" | WIP |- | rowspan="8" style="text-align: left;" | Display (DRM) | style="text-align: left;" | RGB | style="background: red;" | NO | style="background: grey; color: white;" | &nbsp;? | style="background: red;" | NO |- | style="text-align: left;" | EDP | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | style="text-align: left;" | LVDS | style="background: red;" | NO | style="background: grey; color: white;" | &nbsp;? | style="background: red;" | NO |- | style="text-align: left;" | MIPI DSI | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | style="text-align: left;" | CVBS | N/A | style="background: grey; color: white;" | &nbsp;? | N/A |- | style="text-align: left;" | VGA | N/A | style="background: grey; color: white;" | &nbsp;? | N/A |- | style="text-align: left;" | HDMI | style="background: darkgreen;" | INCOMPLETE | style="background: grey; color: white;" | &nbsp;? | style="background: darkgreen;" | INCOMPLETE |- | style="text-align: left;" | CEC | style="background: red;" | NO | style="background: grey; color: white;" | &nbsp;? | style="background: red;" | NO |- | colspan="2" style="text-align: left;" | DMA | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | DDR DVFS | style="background: red;" | NO | style="background: grey; color: white;" | &nbsp;? | style="background: red;" | NO |- | rowspan="2" style="text-align: left;" | Ethernet | style="text-align: left;" | GMAC | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | style="text-align: left;" | EMAC | N/A | style="background: grey; color: white;" | &nbsp;? | N/A |- | colspan="2" style="text-align: left;" | I2S | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left" | I2C | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | MsgBox | N/A | style="background: grey; color: white;" | &nbsp;? | N/A |- | colspan="2" style="text-align: left;" | Pinctrl | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | PWM | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | Power Domain | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | PCIE | N/A | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | SD / SDIO / MMC | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | SPDIF | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | SPI | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | SUSPEND / RESUME | style="background: darkgreen;" | INCOMPLETE | style="background: grey; color: white;" | &nbsp;? | style="background: darkgreen;" | INCOMPLETE |- | colspan="2" style="text-align: left;" | USB | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | USB OTG | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | TYPEC | N/A | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | Watchdog | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | GPU | style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE] | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE] |- | colspan="2" style="text-align: left;" | VPU | style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE] | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE] |- | colspan="2" style="text-align: left;" | RGA | style="background: orange;" | WIP | style="background: grey; color: white;" | &nbsp;? | style="background: orange;" | WIP |- | colspan="2" style="text-align: left;" | IEP | style="background: red;" | NO | style="background: grey; color: white;" | &nbsp;? | style="background: red;" | NO |} &nbsp; == Linux SDK CHIP Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! RK3288 ! RK3328 ! RK3399 |- | colspan="2" style="text-align: left;" | Debian | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | rowspan="3" style="text-align: left;" | Yocto | style="text-align: left;" | X11 | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp; | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | QT EGLFS | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | WESTON | style="background: darkgreen;" | INCOMPLETE | style="background: grey; color: white;" | &nbsp;? | style="background: darkgreen;" | INCOMPLETE |- | colspan="2" style="text-align: left;" | Buildroot | N/A | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | rowspan="5" style="text-align: left;" | Decode | style="text-align: left;" | H264 | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | H265 | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp; | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | VP8 | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp; | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | VP9 | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp; | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | JPEG | style="background: darkgreen;" | INCOMPLETE | style="background: grey; color: white;" | &nbsp;? | style="background: darkgreen;" | INCOMPLETE |- | rowspan="3" style="text-align: left;" | Encode | style="text-align: left;" | H264 | style="background: darkgreen;" | INCOMPLETE | style="background: grey; color: white;" | &nbsp;? | style="background: darkgreen;" | INCOMPLETE |- | style="text-align: left;" | H265 | N/A | style="background: grey; color: white;" | &nbsp; | N/A |- | style="text-align: left;" | JPEG | style="background: red;" | NO | style="background: grey; color: white;" | &nbsp; | style="background: red;" | NO |- | colspan="2" style="text-align: left;" | ISP(3A) | style="background: orange;" | WIP | style="background: grey; color: white;" | &nbsp;? | style="background: orange;" | WIP |} <br/> &nbsp; == Linux&nbsp;Funciton Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! Status |- | rowspan="5" style="text-align: left;" | Gstreamer | style="text-align: left;" | Display | style="background: lightgreen;" | kmssink(qt eglfs),rkximagesink(x11), waylandsink(wayland) |- | style="text-align: left;" | Decode&nbsp; | style="background: lightgreen;" | h264, h265, vp8, vp9, jpeg |- | style="text-align: left;" | Encode | style="background: lightgreen;" | h264 |- | style="text-align: left;" | Camera | style="background: orange;" | Without 3A |- | style="text-align: left;" | Transform | style="background: orange;" | WIP |- | rowspan="2" style="text-align: left;" | GPU | style="text-align: left;" | GLES | style="background: lightgreen;" | libmali |- | style="text-align: left;" | OPENCL | style="background: lightgreen;" | libmali |- | colspan="2" rowspan="1" style="text-align: left;" | QT | style="background: lightgreen;" | QT 5.x |- | colspan="2" style="text-align: left;" | Browser(HTML5 Accelerate) | style="background: orange;" | WIP |- | colspan="2" style="text-align: left;" | IOT(Third part Could Service) | style="background: orange;" | WIP |- | colspan="2" style="text-align: left;" | FFmpeg | style="background: yellow;" | Community |- | colspan="2" style="text-align: left;" | MPV | style="background: yellow;" | Community |- | colspan="2" style="text-align: left;" | KODI | style="background: yellow;" | Community |} &nbsp; &nbsp; &nbsp; 308d413905f9c117b211343d7012f81c98b1f720 1269 1268 2017-08-15T08:14:16Z Sysproduct1 15 wikitext text/x-wiki &nbsp; == Rockchip 4.4 Kernel Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! RK3288 ! RK3328 ! RK3399 |- | rowspan="2" style="text-align: left;" | ADC | style="text-align: left;" | SARADC | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | TSADC | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | Clocks | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | CPUFreq | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | Crypto | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | CSI/ISP | style="background: orange;" | WIP | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | CIF | style="background: orange;" | WIP | style="background: orange;" | WIP | style="background: orange;" | WIP |- | rowspan="8" style="text-align: left;" | Display (DRM) | style="text-align: left;" | RGB | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | EDP | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | LVDS | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | MIPI DSI | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | CVBS | N/A | style="background: grey; color: white;" | &nbsp;? | N/A |- | style="text-align: left;" | VGA | N/A | style="background: grey; color: white;" | &nbsp;? | N/A |- | style="text-align: left;" | HDMI | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | CEC | style="background: red;" | NO | style="background: grey; color: white;" | &nbsp;? | style="background: red;" | NO |- | colspan="2" style="text-align: left;" | DMA | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | DDR DVFS | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |- | rowspan="2" style="text-align: left;" | Ethernet | style="text-align: left;" | GMAC | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | EMAC | N/A | style="background: grey; color: white;" | &nbsp;? | N/A |- | colspan="2" style="text-align: left;" | I2S | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left" | I2C | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | MsgBox | N/A | N/A | N/A |- | colspan="2" style="text-align: left;" | Pinctrl | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | PWM | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | Power Domain | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | PCIE | N/A | N/A | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | SD / SDIO / MMC | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | SPDIF | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | SPI | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | SUSPEND / RESUME | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | USB | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | USB OTG | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | TYPEC | N/A | N/A | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | Watchdog | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | GPU | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | VPU | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | RGA | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | IEP | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |} &nbsp; &nbsp; == Mainline Kernel Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! RK3288 ! RK3328 ! RK3399 |- | rowspan="2" style="text-align: left;" | ADC | style="text-align: left;" | SARADC | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | style="text-align: left;" | TSADC | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | Clocks | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | CPUFreq | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | Crypto | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | CSI/ISP | style="background: orange;" | WIP | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | CIF | style="background: orange;" | WIP | style="background: grey; color: white;" | &nbsp;? | style="background: orange;" | WIP |- | rowspan="8" style="text-align: left;" | Display (DRM) | style="text-align: left;" | RGB | style="background: red;" | NO | style="background: grey; color: white;" | &nbsp;? | style="background: red;" | NO |- | style="text-align: left;" | EDP | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | style="text-align: left;" | LVDS | style="background: red;" | NO | style="background: grey; color: white;" | &nbsp;? | style="background: red;" | NO |- | style="text-align: left;" | MIPI DSI | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | style="text-align: left;" | CVBS | N/A | style="background: grey; color: white;" | &nbsp;? | N/A |- | style="text-align: left;" | VGA | N/A | style="background: grey; color: white;" | &nbsp;? | N/A |- | style="text-align: left;" | HDMI | style="background: darkgreen;" | INCOMPLETE | style="background: grey; color: white;" | &nbsp;? | style="background: darkgreen;" | INCOMPLETE |- | style="text-align: left;" | CEC | style="background: red;" | NO | style="background: grey; color: white;" | &nbsp;? | style="background: red;" | NO |- | colspan="2" style="text-align: left;" | DMA | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | DDR DVFS | style="background: red;" | NO | style="background: grey; color: white;" | &nbsp;? | style="background: red;" | NO |- | rowspan="2" style="text-align: left;" | Ethernet | style="text-align: left;" | GMAC | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | style="text-align: left;" | EMAC | N/A | style="background: grey; color: white;" | &nbsp;? | N/A |- | colspan="2" style="text-align: left;" | I2S | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left" | I2C | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | MsgBox | N/A | style="background: grey; color: white;" | &nbsp;? | N/A |- | colspan="2" style="text-align: left;" | Pinctrl | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | PWM | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | Power Domain | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | PCIE | N/A | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | SD / SDIO / MMC | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | SPDIF | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | SPI | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | SUSPEND / RESUME | style="background: darkgreen;" | INCOMPLETE | style="background: grey; color: white;" | &nbsp;? | style="background: darkgreen;" | INCOMPLETE |- | colspan="2" style="text-align: left;" | USB | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | USB OTG | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | TYPEC | N/A | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | Watchdog | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | GPU | style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE] | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE] |- | colspan="2" style="text-align: left;" | VPU | style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE] | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE] |- | colspan="2" style="text-align: left;" | RGA | style="background: orange;" | WIP | style="background: grey; color: white;" | &nbsp;? | style="background: orange;" | WIP |- | colspan="2" style="text-align: left;" | IEP | style="background: red;" | NO | style="background: grey; color: white;" | &nbsp;? | style="background: red;" | NO |} &nbsp; == Linux SDK CHIP Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! RK3288 ! RK3328 ! RK3399 |- | colspan="2" style="text-align: left;" | Debian | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | rowspan="3" style="text-align: left;" | Yocto | style="text-align: left;" | X11 | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp; | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | QT EGLFS | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | WESTON | style="background: darkgreen;" | INCOMPLETE | style="background: grey; color: white;" | &nbsp;? | style="background: darkgreen;" | INCOMPLETE |- | colspan="2" style="text-align: left;" | Buildroot | N/A | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | rowspan="5" style="text-align: left;" | Decode | style="text-align: left;" | H264 | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | H265 | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp; | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | VP8 | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp; | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | VP9 | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp; | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | JPEG | style="background: darkgreen;" | INCOMPLETE | style="background: grey; color: white;" | &nbsp;? | style="background: darkgreen;" | INCOMPLETE |- | rowspan="3" style="text-align: left;" | Encode | style="text-align: left;" | H264 | style="background: darkgreen;" | INCOMPLETE | style="background: grey; color: white;" | &nbsp;? | style="background: darkgreen;" | INCOMPLETE |- | style="text-align: left;" | H265 | N/A | style="background: grey; color: white;" | &nbsp; | N/A |- | style="text-align: left;" | JPEG | style="background: red;" | NO | style="background: grey; color: white;" | &nbsp; | style="background: red;" | NO |- | colspan="2" style="text-align: left;" | ISP(3A) | style="background: orange;" | WIP | style="background: grey; color: white;" | &nbsp;? | style="background: orange;" | WIP |} <br/> &nbsp; == Linux&nbsp;Funciton Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! Status |- | rowspan="5" style="text-align: left;" | Gstreamer | style="text-align: left;" | Display | style="background: lightgreen;" | kmssink(qt eglfs),rkximagesink(x11), waylandsink(wayland) |- | style="text-align: left;" | Decode&nbsp; | style="background: lightgreen;" | h264, h265, vp8, vp9, jpeg |- | style="text-align: left;" | Encode | style="background: lightgreen;" | h264 |- | style="text-align: left;" | Camera | style="background: orange;" | Without 3A |- | style="text-align: left;" | Transform | style="background: orange;" | WIP |- | rowspan="2" style="text-align: left;" | GPU | style="text-align: left;" | GLES | style="background: lightgreen;" | libmali |- | style="text-align: left;" | OPENCL | style="background: lightgreen;" | libmali |- | colspan="2" rowspan="1" style="text-align: left;" | QT | style="background: lightgreen;" | QT 5.x |- | colspan="2" style="text-align: left;" | Browser(HTML5 Accelerate) | style="background: orange;" | WIP |- | colspan="2" style="text-align: left;" | IOT(Third part Could Service) | style="background: orange;" | WIP |- | colspan="2" style="text-align: left;" | FFmpeg | style="background: yellow;" | Community |- | colspan="2" style="text-align: left;" | MPV | style="background: yellow;" | Community |- | colspan="2" style="text-align: left;" | KODI | style="background: yellow;" | Community |} &nbsp; &nbsp; &nbsp; 43120441f6894e5a18c38d86a5da72d2cf74de16 1270 1269 2017-08-15T08:17:59Z Sysproduct1 15 wikitext text/x-wiki &nbsp; == Rockchip 4.4 Kernel Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! RK3288 ! RK3328 ! RK3399 |- | rowspan="2" style="text-align: left;" | ADC | style="text-align: left;" | SARADC | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | TSADC | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | Clocks | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | CPUFreq | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | Crypto | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | CSI/ISP | style="background: orange;" | WIP | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | CIF | style="background: orange;" | WIP | style="background: orange;" | WIP | style="background: orange;" | WIP |- | rowspan="8" style="text-align: left;" | Display (DRM) | style="text-align: left;" | RGB | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | EDP | style="background: lightgreen;" | SUPPORT | N/A | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | LVDS | style="background: lightgreen;" | SUPPORT | N/A | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | MIPI DSI | style="background: lightgreen;" | SUPPORT | N/A | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | CVBS | N/A | style="background: lightgreen;" | SUPPORT | N/A |- | style="text-align: left;" | VGA | N/A | N/A | N/A |- | style="text-align: left;" | HDMI | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | CEC | style="background: red;" | NO | style="background: orange;" | WIP | style="background: red;" | NO |- | colspan="2" style="text-align: left;" | DMA | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | DDR DVFS | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |- | rowspan="2" style="text-align: left;" | Ethernet | style="text-align: left;" | GMAC | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | EMAC | N/A | style="background: grey; color: white;" | &nbsp;? | N/A |- | colspan="2" style="text-align: left;" | I2S | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left" | I2C | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | MsgBox | N/A | N/A | N/A |- | colspan="2" style="text-align: left;" | Pinctrl | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | PWM | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | Power Domain | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | PCIE | N/A | N/A | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | SD / SDIO / MMC | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | SPDIF | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | SPI | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | SUSPEND / RESUME | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | USB | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | USB OTG | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | TYPEC | N/A | N/A | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | Watchdog | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | GPU | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | VPU | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | RGA | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | IEP | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |} &nbsp; &nbsp; == Mainline Kernel Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! RK3288 ! RK3328 ! RK3399 |- | rowspan="2" style="text-align: left;" | ADC | style="text-align: left;" | SARADC | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | style="text-align: left;" | TSADC | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | Clocks | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | CPUFreq | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | Crypto | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | CSI/ISP | style="background: orange;" | WIP | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | CIF | style="background: orange;" | WIP | style="background: grey; color: white;" | &nbsp;? | style="background: orange;" | WIP |- | rowspan="8" style="text-align: left;" | Display (DRM) | style="text-align: left;" | RGB | style="background: red;" | NO | style="background: grey; color: white;" | &nbsp;? | style="background: red;" | NO |- | style="text-align: left;" | EDP | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | style="text-align: left;" | LVDS | style="background: red;" | NO | style="background: grey; color: white;" | &nbsp;? | style="background: red;" | NO |- | style="text-align: left;" | MIPI DSI | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | style="text-align: left;" | CVBS | N/A | style="background: grey; color: white;" | &nbsp;? | N/A |- | style="text-align: left;" | VGA | N/A | style="background: grey; color: white;" | &nbsp;? | N/A |- | style="text-align: left;" | HDMI | style="background: darkgreen;" | INCOMPLETE | style="background: grey; color: white;" | &nbsp;? | style="background: darkgreen;" | INCOMPLETE |- | style="text-align: left;" | CEC | style="background: red;" | NO | style="background: grey; color: white;" | &nbsp;? | style="background: red;" | NO |- | colspan="2" style="text-align: left;" | DMA | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | DDR DVFS | style="background: red;" | NO | style="background: grey; color: white;" | &nbsp;? | style="background: red;" | NO |- | rowspan="2" style="text-align: left;" | Ethernet | style="text-align: left;" | GMAC | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | style="text-align: left;" | EMAC | N/A | style="background: grey; color: white;" | &nbsp;? | N/A |- | colspan="2" style="text-align: left;" | I2S | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left" | I2C | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | MsgBox | N/A | style="background: grey; color: white;" | &nbsp;? | N/A |- | colspan="2" style="text-align: left;" | Pinctrl | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | PWM | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | Power Domain | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | PCIE | N/A | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | SD / SDIO / MMC | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | SPDIF | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | SPI | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | SUSPEND / RESUME | style="background: darkgreen;" | INCOMPLETE | style="background: grey; color: white;" | &nbsp;? | style="background: darkgreen;" | INCOMPLETE |- | colspan="2" style="text-align: left;" | USB | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | USB OTG | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | TYPEC | N/A | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | Watchdog | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | GPU | style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE] | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE] |- | colspan="2" style="text-align: left;" | VPU | style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE] | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE] |- | colspan="2" style="text-align: left;" | RGA | style="background: orange;" | WIP | style="background: grey; color: white;" | &nbsp;? | style="background: orange;" | WIP |- | colspan="2" style="text-align: left;" | IEP | style="background: red;" | NO | style="background: grey; color: white;" | &nbsp;? | style="background: red;" | NO |} &nbsp; == Linux SDK CHIP Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! RK3288 ! RK3328 ! RK3399 |- | colspan="2" style="text-align: left;" | Debian | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | rowspan="3" style="text-align: left;" | Yocto | style="text-align: left;" | X11 | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp; | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | QT EGLFS | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | WESTON | style="background: darkgreen;" | INCOMPLETE | style="background: grey; color: white;" | &nbsp;? | style="background: darkgreen;" | INCOMPLETE |- | colspan="2" style="text-align: left;" | Buildroot | N/A | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | rowspan="5" style="text-align: left;" | Decode | style="text-align: left;" | H264 | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | H265 | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp; | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | VP8 | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp; | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | VP9 | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp; | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | JPEG | style="background: darkgreen;" | INCOMPLETE | style="background: grey; color: white;" | &nbsp;? | style="background: darkgreen;" | INCOMPLETE |- | rowspan="3" style="text-align: left;" | Encode | style="text-align: left;" | H264 | style="background: darkgreen;" | INCOMPLETE | style="background: grey; color: white;" | &nbsp;? | style="background: darkgreen;" | INCOMPLETE |- | style="text-align: left;" | H265 | N/A | style="background: grey; color: white;" | &nbsp; | N/A |- | style="text-align: left;" | JPEG | style="background: red;" | NO | style="background: grey; color: white;" | &nbsp; | style="background: red;" | NO |- | colspan="2" style="text-align: left;" | ISP(3A) | style="background: orange;" | WIP | style="background: grey; color: white;" | &nbsp;? | style="background: orange;" | WIP |} <br/> &nbsp; == Linux&nbsp;Funciton Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! Status |- | rowspan="5" style="text-align: left;" | Gstreamer | style="text-align: left;" | Display | style="background: lightgreen;" | kmssink(qt eglfs),rkximagesink(x11), waylandsink(wayland) |- | style="text-align: left;" | Decode&nbsp; | style="background: lightgreen;" | h264, h265, vp8, vp9, jpeg |- | style="text-align: left;" | Encode | style="background: lightgreen;" | h264 |- | style="text-align: left;" | Camera | style="background: orange;" | Without 3A |- | style="text-align: left;" | Transform | style="background: orange;" | WIP |- | rowspan="2" style="text-align: left;" | GPU | style="text-align: left;" | GLES | style="background: lightgreen;" | libmali |- | style="text-align: left;" | OPENCL | style="background: lightgreen;" | libmali |- | colspan="2" rowspan="1" style="text-align: left;" | QT | style="background: lightgreen;" | QT 5.x |- | colspan="2" style="text-align: left;" | Browser(HTML5 Accelerate) | style="background: orange;" | WIP |- | colspan="2" style="text-align: left;" | IOT(Third part Could Service) | style="background: orange;" | WIP |- | colspan="2" style="text-align: left;" | FFmpeg | style="background: yellow;" | Community |- | colspan="2" style="text-align: left;" | MPV | style="background: yellow;" | Community |- | colspan="2" style="text-align: left;" | KODI | style="background: yellow;" | Community |} &nbsp; &nbsp; &nbsp; 4866352d56153df79af74d3174b085c903a2aa62 1271 1270 2017-08-15T08:19:11Z Sysproduct1 15 wikitext text/x-wiki &nbsp; == Rockchip 4.4 Kernel Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! RK3288 ! RK3328 ! RK3399 |- | rowspan="2" style="text-align: left;" | ADC | style="text-align: left;" | SARADC | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | TSADC | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | Clocks | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | CPUFreq | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | Crypto | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | CSI/ISP | style="background: orange;" | WIP | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | CIF | style="background: orange;" | WIP | style="background: orange;" | WIP | style="background: orange;" | WIP |- | rowspan="8" style="text-align: left;" | Display (DRM) | style="text-align: left;" | RGB | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | EDP | style="background: lightgreen;" | SUPPORT | N/A | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | LVDS | style="background: lightgreen;" | SUPPORT | N/A | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | MIPI DSI | style="background: lightgreen;" | SUPPORT | N/A | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | CVBS | N/A | style="background: lightgreen;" | SUPPORT | N/A |- | style="text-align: left;" | VGA | N/A | N/A | N/A |- | style="text-align: left;" | HDMI | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | CEC | style="background: red;" | NO | style="background: orange;" | WIP | style="background: red;" | NO |- | colspan="2" style="text-align: left;" | DMA | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | DDR DVFS | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |- | rowspan="2" style="text-align: left;" | Ethernet | style="text-align: left;" | GMAC | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | EMAC | N/A | style="background: grey; color: white;" | &nbsp;? | N/A |- | colspan="2" style="text-align: left;" | I2S | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left" | I2C | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | MsgBox | N/A | N/A | N/A |- | colspan="2" style="text-align: left;" | Pinctrl | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | PWM | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | Power Domain | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | PCIE | N/A | N/A | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | SD / SDIO / MMC | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | SPDIF | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | SPI | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | SUSPEND / RESUME | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | USB | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | USB OTG | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | TYPEC | N/A | N/A | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | Watchdog | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | GPU | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | VPU | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | RGA | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | IEP | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |} &nbsp; &nbsp; == Mainline Kernel Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! RK3288 ! RK3328 ! RK3399 |- | rowspan="2" style="text-align: left;" | ADC | style="text-align: left;" | SARADC | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | style="text-align: left;" | TSADC | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | Clocks | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | CPUFreq | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | Crypto | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | CSI/ISP | style="background: orange;" | WIP | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | CIF | style="background: orange;" | WIP | style="background: grey; color: white;" | &nbsp;? | style="background: orange;" | WIP |- | rowspan="8" style="text-align: left;" | Display (DRM) | style="text-align: left;" | RGB | style="background: red;" | NO | style="background: grey; color: white;" | &nbsp;? | style="background: red;" | NO |- | style="text-align: left;" | EDP | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | style="text-align: left;" | LVDS | style="background: red;" | NO | style="background: grey; color: white;" | &nbsp;? | style="background: red;" | NO |- | style="text-align: left;" | MIPI DSI | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | style="text-align: left;" | CVBS | N/A | style="background: grey; color: white;" | &nbsp;? | N/A |- | style="text-align: left;" | VGA | N/A | style="background: grey; color: white;" | &nbsp;? | N/A |- | style="text-align: left;" | HDMI | style="background: darkgreen;" | INCOMPLETE | style="background: grey; color: white;" | &nbsp;? | style="background: darkgreen;" | INCOMPLETE |- | style="text-align: left;" | CEC | style="background: red;" | NO | style="background: grey; color: white;" | &nbsp;? | style="background: red;" | NO |- | colspan="2" style="text-align: left;" | DMA | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | DDR DVFS | style="background: red;" | NO | style="background: grey; color: white;" | &nbsp;? | style="background: red;" | NO |- | rowspan="2" style="text-align: left;" | Ethernet | style="text-align: left;" | GMAC | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | style="text-align: left;" | EMAC | N/A | style="background: grey; color: white;" | &nbsp;? | N/A |- | colspan="2" style="text-align: left;" | I2S | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left" | I2C | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | MsgBox | N/A | style="background: grey; color: white;" | &nbsp;? | N/A |- | colspan="2" style="text-align: left;" | Pinctrl | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | PWM | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | Power Domain | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | PCIE | N/A | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | SD / SDIO / MMC | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | SPDIF | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | SPI | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | SUSPEND / RESUME | style="background: darkgreen;" | INCOMPLETE | style="background: grey; color: white;" | &nbsp;? | style="background: darkgreen;" | INCOMPLETE |- | colspan="2" style="text-align: left;" | USB | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | USB OTG | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | TYPEC | N/A | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | Watchdog | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | GPU | style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE] | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE] |- | colspan="2" style="text-align: left;" | VPU | style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE] | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE] |- | colspan="2" style="text-align: left;" | RGA | style="background: orange;" | WIP | style="background: grey; color: white;" | &nbsp;? | style="background: orange;" | WIP |- | colspan="2" style="text-align: left;" | IEP | style="background: red;" | NO | style="background: grey; color: white;" | &nbsp;? | style="background: red;" | NO |} &nbsp; == Linux SDK CHIP Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! RK3288 ! RK3328 ! RK3399 |- | colspan="2" style="text-align: left;" | Debian | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | rowspan="3" style="text-align: left;" | Yocto | style="text-align: left;" | X11 | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp; | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | QT EGLFS | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | WESTON | style="background: darkgreen;" | INCOMPLETE | style="background: grey; color: white;" | &nbsp;? | style="background: darkgreen;" | INCOMPLETE |- | colspan="2" style="text-align: left;" | Buildroot | N/A | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | rowspan="5" style="text-align: left;" | Decode | style="text-align: left;" | H264 | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | H265 | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp; | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | VP8 | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp; | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | VP9 | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp; | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | JPEG | style="background: darkgreen;" | INCOMPLETE | style="background: grey; color: white;" | &nbsp;? | style="background: darkgreen;" | INCOMPLETE |- | rowspan="3" style="text-align: left;" | Encode | style="text-align: left;" | H264 | style="background: darkgreen;" | INCOMPLETE | style="background: grey; color: white;" | &nbsp;? | style="background: darkgreen;" | INCOMPLETE |- | style="text-align: left;" | H265 | N/A | style="background: grey; color: white;" | &nbsp; | N/A |- | style="text-align: left;" | JPEG | style="background: red;" | NO | style="background: grey; color: white;" | &nbsp; | style="background: red;" | NO |- | colspan="2" style="text-align: left;" | ISP(3A) | style="background: orange;" | WIP | style="background: grey; color: white;" | &nbsp;? | style="background: orange;" | WIP |} <br/> &nbsp; == Linux&nbsp;Funciton Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! Status |- | rowspan="5" style="text-align: left;" | Gstreamer | style="text-align: left;" | Display | style="background: lightgreen;" | kmssink(qt eglfs),rkximagesink(x11), waylandsink(wayland) |- | style="text-align: left;" | Decode&nbsp; | style="background: lightgreen;" | h264, h265, vp8, vp9, jpeg |- | style="text-align: left;" | Encode | style="background: lightgreen;" | h264 |- | style="text-align: left;" | Camera | style="background: orange;" | Without 3A |- | style="text-align: left;" | Transform | style="background: orange;" | WIP |- | rowspan="2" style="text-align: left;" | GPU | style="text-align: left;" | GLES | style="background: lightgreen;" | libmali |- | style="text-align: left;" | OPENCL | style="background: lightgreen;" | libmali |- | colspan="2" rowspan="1" style="text-align: left;" | QT | style="background: lightgreen;" | QT 5.x |- | colspan="2" style="text-align: left;" | Browser(HTML5 Accelerate) | style="background: orange;" | WIP |- | colspan="2" style="text-align: left;" | IOT(Third part Could Service) | style="background: orange;" | WIP |- | colspan="2" style="text-align: left;" | FFmpeg | style="background: yellow;" | Community |- | colspan="2" style="text-align: left;" | MPV | style="background: yellow;" | Community |- | colspan="2" style="text-align: left;" | KODI | style="background: yellow;" | Community |} &nbsp; &nbsp; &nbsp; bd4e4076c7cde140bdc5981e1a1bbb0c42c24f7b 1272 1271 2017-08-15T08:22:18Z Sysproduct1 15 wikitext text/x-wiki &nbsp; == Rockchip 4.4 Kernel Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! RK3288 ! RK3328 ! RK3399 |- | rowspan="2" style="text-align: left;" | ADC | style="text-align: left;" | SARADC | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | TSADC | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | Clocks | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | CPUFreq | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | Crypto | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | CSI/ISP | style="background: orange;" | WIP | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | CIF | style="background: orange;" | WIP | style="background: orange;" | WIP | style="background: orange;" | WIP |- | rowspan="8" style="text-align: left;" | Display (DRM) | style="text-align: left;" | RGB | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | EDP | style="background: lightgreen;" | SUPPORT | N/A | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | LVDS | style="background: lightgreen;" | SUPPORT | N/A | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | MIPI DSI | style="background: lightgreen;" | SUPPORT | N/A | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | CVBS | N/A | style="background: lightgreen;" | SUPPORT | N/A |- | style="text-align: left;" | VGA | N/A | N/A | N/A |- | style="text-align: left;" | HDMI | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | CEC | style="background: red;" | NO | style="background: orange;" | WIP | style="background: red;" | NO |- | colspan="2" style="text-align: left;" | DMA | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | DDR DVFS | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |- | rowspan="2" style="text-align: left;" | Ethernet | style="text-align: left;" | GMAC | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | EMAC | N/A | style="background: grey; color: white;" | &nbsp;? | N/A |- | colspan="2" style="text-align: left;" | I2S | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left" | I2C | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | MsgBox | N/A | N/A | N/A |- | colspan="2" style="text-align: left;" | Pinctrl | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | PWM | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | Power Domain | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | PCIE | N/A | N/A | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | SD / SDIO / MMC | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | SPDIF | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | SPI | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | SUSPEND / RESUME | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | USB | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | USB OTG | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | TYPEC | N/A | N/A | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | Watchdog | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | GPU | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | VPU | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | RGA | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | IEP | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |} &nbsp; &nbsp; == Mainline Kernel Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! RK3288 ! RK3328 ! RK3399 |- | rowspan="2" style="text-align: left;" | ADC | style="text-align: left;" | SARADC | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | style="text-align: left;" | TSADC | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | Clocks | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | CPUFreq | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | Crypto | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | CSI/ISP | style="background: orange;" | WIP | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | CIF | style="background: orange;" | WIP | style="background: grey; color: white;" | &nbsp;? | style="background: orange;" | WIP |- | rowspan="8" style="text-align: left;" | Display (DRM) | style="text-align: left;" | RGB | style="background: red;" | NO | style="background: grey; color: white;" | &nbsp;? | style="background: red;" | NO |- | style="text-align: left;" | EDP | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | style="text-align: left;" | LVDS | style="background: red;" | NO | style="background: grey; color: white;" | &nbsp;? | style="background: red;" | NO |- | style="text-align: left;" | MIPI DSI | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | style="text-align: left;" | CVBS | N/A | style="background: grey; color: white;" | &nbsp;? | N/A |- | style="text-align: left;" | VGA | N/A | style="background: grey; color: white;" | &nbsp;? | N/A |- | style="text-align: left;" | HDMI | style="background: darkgreen;" | INCOMPLETE | style="background: grey; color: white;" | &nbsp;? | style="background: darkgreen;" | INCOMPLETE |- | style="text-align: left;" | CEC | style="background: red;" | NO | style="background: grey; color: white;" | &nbsp;? | style="background: red;" | NO |- | colspan="2" style="text-align: left;" | DMA | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | DDR DVFS | style="background: red;" | NO | style="background: grey; color: white;" | &nbsp;? | style="background: red;" | NO |- | rowspan="2" style="text-align: left;" | Ethernet | style="text-align: left;" | GMAC | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | style="text-align: left;" | EMAC | N/A | style="background: grey; color: white;" | &nbsp;? | N/A |- | colspan="2" style="text-align: left;" | I2S | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left" | I2C | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | MsgBox | N/A | style="background: grey; color: white;" | &nbsp;? | N/A |- | colspan="2" style="text-align: left;" | Pinctrl | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | PWM | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | Power Domain | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | PCIE | N/A | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | SD / SDIO / MMC | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | SPDIF | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | SPI | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | SUSPEND / RESUME | style="background: darkgreen;" | INCOMPLETE | style="background: grey; color: white;" | &nbsp;? | style="background: darkgreen;" | INCOMPLETE |- | colspan="2" style="text-align: left;" | USB | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | USB OTG | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | TYPEC | N/A | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | Watchdog | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | GPU | style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE] | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE] |- | colspan="2" style="text-align: left;" | VPU | style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE] | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE] |- | colspan="2" style="text-align: left;" | RGA | style="background: orange;" | WIP | style="background: grey; color: white;" | &nbsp;? | style="background: orange;" | WIP |- | colspan="2" style="text-align: left;" | IEP | style="background: red;" | NO | style="background: grey; color: white;" | &nbsp;? | style="background: red;" | NO |} &nbsp; == Linux SDK CHIP Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! RK3288 ! RK3328 ! RK3399 |- | colspan="2" style="text-align: left;" | Debian | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | rowspan="3" style="text-align: left;" | Yocto | style="text-align: left;" | X11 | style="background: lightgreen;" | SUPPORT | style="background: orange;" | WIP | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | QT EGLFS | style="background: lightgreen;" | SUPPORT | style="background: orange;" | WIP | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | WESTON | style="background: darkgreen;" | INCOMPLETE | style="background: orange;" | WIP | style="background: darkgreen;" | INCOMPLETE |- | colspan="2" style="text-align: left;" | Buildroot | N/A | N/A | style="background: lightgreen;" | SUPPORT |- | rowspan="5" style="text-align: left;" | Decode | style="text-align: left;" | H264 | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | H265 | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp; | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | VP8 | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp; | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | VP9 | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp; | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | JPEG | style="background: darkgreen;" | INCOMPLETE | style="background: grey; color: white;" | &nbsp;? | style="background: darkgreen;" | INCOMPLETE |- | rowspan="3" style="text-align: left;" | Encode | style="text-align: left;" | H264 | style="background: darkgreen;" | INCOMPLETE | style="background: grey; color: white;" | &nbsp;? | style="background: darkgreen;" | INCOMPLETE |- | style="text-align: left;" | H265 | N/A | style="background: grey; color: white;" | &nbsp; | N/A |- | style="text-align: left;" | JPEG | style="background: red;" | NO | style="background: grey; color: white;" | &nbsp; | style="background: red;" | NO |- | colspan="2" style="text-align: left;" | ISP(3A) | style="background: orange;" | WIP | style="background: grey; color: white;" | &nbsp;? | style="background: orange;" | WIP |} <br/> &nbsp; == Linux&nbsp;Funciton Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! Status |- | rowspan="5" style="text-align: left;" | Gstreamer | style="text-align: left;" | Display | style="background: lightgreen;" | kmssink(qt eglfs),rkximagesink(x11), waylandsink(wayland) |- | style="text-align: left;" | Decode&nbsp; | style="background: lightgreen;" | h264, h265, vp8, vp9, jpeg |- | style="text-align: left;" | Encode | style="background: lightgreen;" | h264 |- | style="text-align: left;" | Camera | style="background: orange;" | Without 3A |- | style="text-align: left;" | Transform | style="background: orange;" | WIP |- | rowspan="2" style="text-align: left;" | GPU | style="text-align: left;" | GLES | style="background: lightgreen;" | libmali |- | style="text-align: left;" | OPENCL | style="background: lightgreen;" | libmali |- | colspan="2" rowspan="1" style="text-align: left;" | QT | style="background: lightgreen;" | QT 5.x |- | colspan="2" style="text-align: left;" | Browser(HTML5 Accelerate) | style="background: orange;" | WIP |- | colspan="2" style="text-align: left;" | IOT(Third part Could Service) | style="background: orange;" | WIP |- | colspan="2" style="text-align: left;" | FFmpeg | style="background: yellow;" | Community |- | colspan="2" style="text-align: left;" | MPV | style="background: yellow;" | Community |- | colspan="2" style="text-align: left;" | KODI | style="background: yellow;" | Community |} &nbsp; &nbsp; &nbsp; d67ab9ad14fda305a279e391b254e9b6cb0d675c 1273 1272 2017-08-15T08:24:44Z Sysproduct1 15 wikitext text/x-wiki &nbsp; == Rockchip 4.4 Kernel Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! RK3288 ! RK3328 ! RK3399 |- | rowspan="2" style="text-align: left;" | ADC | style="text-align: left;" | SARADC | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | TSADC | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | Clocks | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | CPUFreq | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | Crypto | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | CSI/ISP | style="background: orange;" | WIP | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | CIF | style="background: orange;" | WIP | style="background: orange;" | WIP | style="background: orange;" | WIP |- | rowspan="8" style="text-align: left;" | Display (DRM) | style="text-align: left;" | RGB | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | EDP | style="background: lightgreen;" | SUPPORT | N/A | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | LVDS | style="background: lightgreen;" | SUPPORT | N/A | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | MIPI DSI | style="background: lightgreen;" | SUPPORT | N/A | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | CVBS | N/A | style="background: lightgreen;" | SUPPORT | N/A |- | style="text-align: left;" | VGA | N/A | N/A | N/A |- | style="text-align: left;" | HDMI | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | CEC | style="background: red;" | NO | style="background: orange;" | WIP | style="background: red;" | NO |- | colspan="2" style="text-align: left;" | DMA | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | DDR DVFS | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |- | rowspan="2" style="text-align: left;" | Ethernet | style="text-align: left;" | GMAC | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | EMAC | N/A | style="background: grey; color: white;" | &nbsp;? | N/A |- | colspan="2" style="text-align: left;" | I2S | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left" | I2C | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | MsgBox | N/A | N/A | N/A |- | colspan="2" style="text-align: left;" | Pinctrl | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | PWM | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | Power Domain | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | PCIE | N/A | N/A | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | SD / SDIO / MMC | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | SPDIF | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | SPI | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | SUSPEND / RESUME | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | USB | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | USB OTG | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | TYPEC | N/A | N/A | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | Watchdog | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | GPU | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | VPU | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | RGA | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | IEP | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |} &nbsp; &nbsp; == Mainline Kernel Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! RK3288 ! RK3328 ! RK3399 |- | rowspan="2" style="text-align: left;" | ADC | style="text-align: left;" | SARADC | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | style="text-align: left;" | TSADC | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | Clocks | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | CPUFreq | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | Crypto | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | CSI/ISP | style="background: orange;" | WIP | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | CIF | style="background: orange;" | WIP | style="background: grey; color: white;" | &nbsp;? | style="background: orange;" | WIP |- | rowspan="8" style="text-align: left;" | Display (DRM) | style="text-align: left;" | RGB | style="background: red;" | NO | style="background: grey; color: white;" | &nbsp;? | style="background: red;" | NO |- | style="text-align: left;" | EDP | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | style="text-align: left;" | LVDS | style="background: red;" | NO | style="background: grey; color: white;" | &nbsp;? | style="background: red;" | NO |- | style="text-align: left;" | MIPI DSI | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | style="text-align: left;" | CVBS | N/A | style="background: grey; color: white;" | &nbsp;? | N/A |- | style="text-align: left;" | VGA | N/A | style="background: grey; color: white;" | &nbsp;? | N/A |- | style="text-align: left;" | HDMI | style="background: darkgreen;" | INCOMPLETE | style="background: grey; color: white;" | &nbsp;? | style="background: darkgreen;" | INCOMPLETE |- | style="text-align: left;" | CEC | style="background: red;" | NO | style="background: grey; color: white;" | &nbsp;? | style="background: red;" | NO |- | colspan="2" style="text-align: left;" | DMA | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | DDR DVFS | style="background: red;" | NO | style="background: grey; color: white;" | &nbsp;? | style="background: red;" | NO |- | rowspan="2" style="text-align: left;" | Ethernet | style="text-align: left;" | GMAC | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | style="text-align: left;" | EMAC | N/A | style="background: grey; color: white;" | &nbsp;? | N/A |- | colspan="2" style="text-align: left;" | I2S | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left" | I2C | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | MsgBox | N/A | style="background: grey; color: white;" | &nbsp;? | N/A |- | colspan="2" style="text-align: left;" | Pinctrl | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | PWM | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | Power Domain | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | PCIE | N/A | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | SD / SDIO / MMC | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | SPDIF | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | SPI | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | SUSPEND / RESUME | style="background: darkgreen;" | INCOMPLETE | style="background: grey; color: white;" | &nbsp;? | style="background: darkgreen;" | INCOMPLETE |- | colspan="2" style="text-align: left;" | USB | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | USB OTG | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | TYPEC | N/A | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | Watchdog | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | GPU | style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE] | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE] |- | colspan="2" style="text-align: left;" | VPU | style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE] | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE] |- | colspan="2" style="text-align: left;" | RGA | style="background: orange;" | WIP | style="background: grey; color: white;" | &nbsp;? | style="background: orange;" | WIP |- | colspan="2" style="text-align: left;" | IEP | style="background: red;" | NO | style="background: grey; color: white;" | &nbsp;? | style="background: red;" | NO |} &nbsp; == Linux SDK CHIP Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! RK3288 ! RK3328 ! RK3399 |- | colspan="2" style="text-align: left;" | Debian | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | rowspan="3" style="text-align: left;" | Yocto | style="text-align: left;" | X11 | style="background: lightgreen;" | SUPPORT | style="background: orange;" | WIP | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | QT EGLFS | style="background: lightgreen;" | SUPPORT | style="background: orange;" | WIP | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | WESTON | style="background: darkgreen;" | INCOMPLETE | style="background: orange;" | WIP | style="background: darkgreen;" | INCOMPLETE |- | colspan="2" style="text-align: left;" | Buildroot | N/A | N/A | style="background: lightgreen;" | SUPPORT |- | rowspan="5" style="text-align: left;" | Decode | style="text-align: left;" | H264 | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | H265 | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | VP8 | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | VP9 | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | JPEG | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE |- | rowspan="3" style="text-align: left;" | Encode | style="text-align: left;" | H264 | style="background: darkgreen;" | INCOMPLETE | style="background: grey; color: white;" | &nbsp;? | style="background: darkgreen;" | INCOMPLETE |- | style="text-align: left;" | H265 | N/A | style="background: lightgreen;" | SUPPORT | N/A |- | style="text-align: left;" | JPEG | style="background: red;" | NO | style="background: grey; color: white;" | &nbsp; | style="background: red;" | NO |- | colspan="2" style="text-align: left;" | ISP(3A) | style="background: orange;" | WIP | style="background: grey; color: white;" | &nbsp;? | style="background: orange;" | WIP |} <br/> &nbsp; == Linux&nbsp;Funciton Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! Status |- | rowspan="5" style="text-align: left;" | Gstreamer | style="text-align: left;" | Display | style="background: lightgreen;" | kmssink(qt eglfs),rkximagesink(x11), waylandsink(wayland) |- | style="text-align: left;" | Decode&nbsp; | style="background: lightgreen;" | h264, h265, vp8, vp9, jpeg |- | style="text-align: left;" | Encode | style="background: lightgreen;" | h264 |- | style="text-align: left;" | Camera | style="background: orange;" | Without 3A |- | style="text-align: left;" | Transform | style="background: orange;" | WIP |- | rowspan="2" style="text-align: left;" | GPU | style="text-align: left;" | GLES | style="background: lightgreen;" | libmali |- | style="text-align: left;" | OPENCL | style="background: lightgreen;" | libmali |- | colspan="2" rowspan="1" style="text-align: left;" | QT | style="background: lightgreen;" | QT 5.x |- | colspan="2" style="text-align: left;" | Browser(HTML5 Accelerate) | style="background: orange;" | WIP |- | colspan="2" style="text-align: left;" | IOT(Third part Could Service) | style="background: orange;" | WIP |- | colspan="2" style="text-align: left;" | FFmpeg | style="background: yellow;" | Community |- | colspan="2" style="text-align: left;" | MPV | style="background: yellow;" | Community |- | colspan="2" style="text-align: left;" | KODI | style="background: yellow;" | Community |} &nbsp; &nbsp; &nbsp; a3104932b6481ced1a3a29117979fff83b8fb64b 1274 1273 2017-08-15T08:28:24Z Sysproduct1 15 wikitext text/x-wiki &nbsp; == Rockchip 4.4 Kernel Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! RK3288 ! RK3328 ! RK3399 |- | rowspan="2" style="text-align: left;" | ADC | style="text-align: left;" | SARADC | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | TSADC | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | Clocks | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | CPUFreq | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | Crypto | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | CSI/ISP | style="background: orange;" | WIP | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | CIF | style="background: orange;" | WIP | style="background: orange;" | WIP | style="background: orange;" | WIP |- | rowspan="8" style="text-align: left;" | Display (DRM) | style="text-align: left;" | RGB | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | EDP | style="background: lightgreen;" | SUPPORT | N/A | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | LVDS | style="background: lightgreen;" | SUPPORT | N/A | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | MIPI DSI | style="background: lightgreen;" | SUPPORT | N/A | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | CVBS | N/A | style="background: lightgreen;" | SUPPORT | N/A |- | style="text-align: left;" | VGA | N/A | N/A | N/A |- | style="text-align: left;" | HDMI | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | CEC | style="background: red;" | NO | style="background: orange;" | WIP | style="background: red;" | NO |- | colspan="2" style="text-align: left;" | DMA | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | DDR DVFS | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |- | rowspan="2" style="text-align: left;" | Ethernet | style="text-align: left;" | GMAC | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | EMAC | N/A | style="background: grey; color: white;" | &nbsp;? | N/A |- | colspan="2" style="text-align: left;" | I2S | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left" | I2C | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | MsgBox | N/A | N/A | N/A |- | colspan="2" style="text-align: left;" | Pinctrl | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | PWM | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | Power Domain | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | PCIE | N/A | N/A | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | SD / SDIO / MMC | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | SPDIF | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | SPI | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | SUSPEND / RESUME | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | USB | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | USB OTG | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | TYPEC | N/A | N/A | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | Watchdog | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | GPU | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | VPU | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | RGA | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | IEP | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |} &nbsp; &nbsp; == Mainline Kernel Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! RK3288 ! RK3328 ! RK3399 |- | rowspan="2" style="text-align: left;" | ADC | style="text-align: left;" | SARADC | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | style="text-align: left;" | TSADC | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | Clocks | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | CPUFreq | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | Crypto | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | CSI/ISP | style="background: orange;" | WIP | N/A | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | CIF | style="background: orange;" | WIP | style="background: orange;" | WIP | style="background: orange;" | WIP |- | rowspan="8" style="text-align: left;" | Display (DRM) | style="text-align: left;" | RGB | style="background: red;" | NO | tyle="background: red;" | NO | style="background: red;" | NO |- | style="text-align: left;" | EDP | style="background: lightgreen;" | 4.4 | N/A | style="background: lightgreen;" | 4.4 |- | style="text-align: left;" | LVDS | style="background: red;" | NO | N/A | style="background: red;" | NO |- | style="text-align: left;" | MIPI DSI | style="background: lightgreen;" | 4.4 | N/A | style="background: lightgreen;" | 4.4 |- | style="text-align: left;" | CVBS | N/A | style="background: darkgreen;" | INCOMPLETE | N/A |- | style="text-align: left;" | VGA | N/A | N/A | N/A |- | style="text-align: left;" | HDMI | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE |- | style="text-align: left;" | CEC | style="background: red;" | NO | style="background: darkgreen;" | INCOMPLETE | style="background: red;" | NO |- | colspan="2" style="text-align: left;" | DMA | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | DDR DVFS | style="background: red;" | NO | style="background: grey; color: white;" | &nbsp;? | style="background: red;" | NO |- | rowspan="2" style="text-align: left;" | Ethernet | style="text-align: left;" | GMAC | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | style="text-align: left;" | EMAC | N/A | style="background: grey; color: white;" | &nbsp;? | N/A |- | colspan="2" style="text-align: left;" | I2S | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left" | I2C | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | MsgBox | N/A | style="background: grey; color: white;" | &nbsp;? | N/A |- | colspan="2" style="text-align: left;" | Pinctrl | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | PWM | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | Power Domain | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | PCIE | N/A | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | SD / SDIO / MMC | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | SPDIF | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | SPI | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | SUSPEND / RESUME | style="background: darkgreen;" | INCOMPLETE | style="background: grey; color: white;" | &nbsp;? | style="background: darkgreen;" | INCOMPLETE |- | colspan="2" style="text-align: left;" | USB | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | USB OTG | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | TYPEC | N/A | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | Watchdog | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | GPU | style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE] | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE] |- | colspan="2" style="text-align: left;" | VPU | style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE] | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE] |- | colspan="2" style="text-align: left;" | RGA | style="background: orange;" | WIP | style="background: grey; color: white;" | &nbsp;? | style="background: orange;" | WIP |- | colspan="2" style="text-align: left;" | IEP | style="background: red;" | NO | style="background: grey; color: white;" | &nbsp;? | style="background: red;" | NO |} &nbsp; == Linux SDK CHIP Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! RK3288 ! RK3328 ! RK3399 |- | colspan="2" style="text-align: left;" | Debian | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | rowspan="3" style="text-align: left;" | Yocto | style="text-align: left;" | X11 | style="background: lightgreen;" | SUPPORT | style="background: orange;" | WIP | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | QT EGLFS | style="background: lightgreen;" | SUPPORT | style="background: orange;" | WIP | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | WESTON | style="background: darkgreen;" | INCOMPLETE | style="background: orange;" | WIP | style="background: darkgreen;" | INCOMPLETE |- | colspan="2" style="text-align: left;" | Buildroot | N/A | N/A | style="background: lightgreen;" | SUPPORT |- | rowspan="5" style="text-align: left;" | Decode | style="text-align: left;" | H264 | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | H265 | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | VP8 | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | VP9 | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | JPEG | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE |- | rowspan="3" style="text-align: left;" | Encode | style="text-align: left;" | H264 | style="background: darkgreen;" | INCOMPLETE | style="background: grey; color: white;" | &nbsp;? | style="background: darkgreen;" | INCOMPLETE |- | style="text-align: left;" | H265 | N/A | style="background: lightgreen;" | SUPPORT | N/A |- | style="text-align: left;" | JPEG | style="background: red;" | NO | style="background: grey; color: white;" | &nbsp; | style="background: red;" | NO |- | colspan="2" style="text-align: left;" | ISP(3A) | style="background: orange;" | WIP | style="background: grey; color: white;" | &nbsp;? | style="background: orange;" | WIP |} <br/> &nbsp; == Linux&nbsp;Funciton Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! Status |- | rowspan="5" style="text-align: left;" | Gstreamer | style="text-align: left;" | Display | style="background: lightgreen;" | kmssink(qt eglfs),rkximagesink(x11), waylandsink(wayland) |- | style="text-align: left;" | Decode&nbsp; | style="background: lightgreen;" | h264, h265, vp8, vp9, jpeg |- | style="text-align: left;" | Encode | style="background: lightgreen;" | h264 |- | style="text-align: left;" | Camera | style="background: orange;" | Without 3A |- | style="text-align: left;" | Transform | style="background: orange;" | WIP |- | rowspan="2" style="text-align: left;" | GPU | style="text-align: left;" | GLES | style="background: lightgreen;" | libmali |- | style="text-align: left;" | OPENCL | style="background: lightgreen;" | libmali |- | colspan="2" rowspan="1" style="text-align: left;" | QT | style="background: lightgreen;" | QT 5.x |- | colspan="2" style="text-align: left;" | Browser(HTML5 Accelerate) | style="background: orange;" | WIP |- | colspan="2" style="text-align: left;" | IOT(Third part Could Service) | style="background: orange;" | WIP |- | colspan="2" style="text-align: left;" | FFmpeg | style="background: yellow;" | Community |- | colspan="2" style="text-align: left;" | MPV | style="background: yellow;" | Community |- | colspan="2" style="text-align: left;" | KODI | style="background: yellow;" | Community |} &nbsp; &nbsp; &nbsp; 59095ec330b1f49cec82797af14d598d33c71b7f 1275 1274 2017-08-15T08:31:20Z Sysproduct1 15 wikitext text/x-wiki &nbsp; == Rockchip 4.4 Kernel Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! RK3288 ! RK3328 ! RK3399 |- | rowspan="2" style="text-align: left;" | ADC | style="text-align: left;" | SARADC | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | TSADC | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | Clocks | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | CPUFreq | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | Crypto | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | CSI/ISP | style="background: orange;" | WIP | N/A | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | CIF | style="background: orange;" | WIP | style="background: orange;" | WIP | style="background: orange;" | WIP |- | rowspan="8" style="text-align: left;" | Display (DRM) | style="text-align: left;" | RGB | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | EDP | style="background: lightgreen;" | SUPPORT | N/A | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | LVDS | style="background: lightgreen;" | SUPPORT | N/A | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | MIPI DSI | style="background: lightgreen;" | SUPPORT | N/A | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | CVBS | N/A | style="background: lightgreen;" | SUPPORT | N/A |- | style="text-align: left;" | VGA | N/A | N/A | N/A |- | style="text-align: left;" | HDMI | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | CEC | style="background: red;" | NO | style="background: orange;" | WIP | style="background: red;" | NO |- | colspan="2" style="text-align: left;" | DMA | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | DDR DVFS | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |- | rowspan="2" style="text-align: left;" | Ethernet | style="text-align: left;" | GMAC | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | EMAC | N/A | N/A | N/A |- | colspan="2" style="text-align: left;" | I2S | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left" | I2C | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | MsgBox | N/A | N/A | N/A |- | colspan="2" style="text-align: left;" | Pinctrl | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | PWM | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | Power Domain | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | PCIE | N/A | N/A | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | SD / SDIO / MMC | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | SPDIF | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | SPI | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | SUSPEND / RESUME | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | USB | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | USB OTG | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | TYPEC | N/A | N/A | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | Watchdog | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | GPU | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | VPU | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | RGA | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | IEP | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |} &nbsp; &nbsp; == Mainline Kernel Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! RK3288 ! RK3328 ! RK3399 |- | rowspan="2" style="text-align: left;" | ADC | style="text-align: left;" | SARADC | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | style="text-align: left;" | TSADC | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | Clocks | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | CPUFreq | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | Crypto | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | CSI/ISP | style="background: orange;" | WIP | N/A | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | CIF | style="background: orange;" | WIP | style="background: orange;" | WIP | style="background: orange;" | WIP |- | rowspan="8" style="text-align: left;" | Display (DRM) | style="text-align: left;" | RGB | style="background: red;" | NO | tyle="background: red;" | NO | style="background: red;" | NO |- | style="text-align: left;" | EDP | style="background: lightgreen;" | 4.4 | N/A | style="background: lightgreen;" | 4.4 |- | style="text-align: left;" | LVDS | style="background: red;" | NO | N/A | style="background: red;" | NO |- | style="text-align: left;" | MIPI DSI | style="background: lightgreen;" | 4.4 | N/A | style="background: lightgreen;" | 4.4 |- | style="text-align: left;" | CVBS | N/A | style="background: darkgreen;" | INCOMPLETE | N/A |- | style="text-align: left;" | VGA | N/A | N/A | N/A |- | style="text-align: left;" | HDMI | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE |- | style="text-align: left;" | CEC | style="background: red;" | NO | style="background: darkgreen;" | INCOMPLETE | style="background: red;" | NO |- | colspan="2" style="text-align: left;" | DMA | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | DDR DVFS | style="background: red;" | NO | style="background: grey; color: white;" | &nbsp;? | style="background: red;" | NO |- | rowspan="2" style="text-align: left;" | Ethernet | style="text-align: left;" | GMAC | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | style="text-align: left;" | EMAC | N/A | style="background: grey; color: white;" | &nbsp;? | N/A |- | colspan="2" style="text-align: left;" | I2S | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left" | I2C | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | MsgBox | N/A | style="background: grey; color: white;" | &nbsp;? | N/A |- | colspan="2" style="text-align: left;" | Pinctrl | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | PWM | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | Power Domain | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | PCIE | N/A | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | SD / SDIO / MMC | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | SPDIF | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | SPI | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | SUSPEND / RESUME | style="background: darkgreen;" | INCOMPLETE | style="background: grey; color: white;" | &nbsp;? | style="background: darkgreen;" | INCOMPLETE |- | colspan="2" style="text-align: left;" | USB | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | USB OTG | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | TYPEC | N/A | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | Watchdog | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | GPU | style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE] | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE] |- | colspan="2" style="text-align: left;" | VPU | style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE] | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE] |- | colspan="2" style="text-align: left;" | RGA | style="background: orange;" | WIP | style="background: grey; color: white;" | &nbsp;? | style="background: orange;" | WIP |- | colspan="2" style="text-align: left;" | IEP | style="background: red;" | NO | style="background: grey; color: white;" | &nbsp;? | style="background: red;" | NO |} &nbsp; == Linux SDK CHIP Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! RK3288 ! RK3328 ! RK3399 |- | colspan="2" style="text-align: left;" | Debian | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | rowspan="3" style="text-align: left;" | Yocto | style="text-align: left;" | X11 | style="background: lightgreen;" | SUPPORT | style="background: orange;" | WIP | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | QT EGLFS | style="background: lightgreen;" | SUPPORT | style="background: orange;" | WIP | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | WESTON | style="background: darkgreen;" | INCOMPLETE | style="background: orange;" | WIP | style="background: darkgreen;" | INCOMPLETE |- | colspan="2" style="text-align: left;" | Buildroot | N/A | N/A | style="background: lightgreen;" | SUPPORT |- | rowspan="5" style="text-align: left;" | Decode | style="text-align: left;" | H264 | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | H265 | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | VP8 | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | VP9 | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | JPEG | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE |- | rowspan="3" style="text-align: left;" | Encode | style="text-align: left;" | H264 | style="background: darkgreen;" | INCOMPLETE | style="background: grey; color: white;" | &nbsp;? | style="background: darkgreen;" | INCOMPLETE |- | style="text-align: left;" | H265 | N/A | style="background: lightgreen;" | SUPPORT | N/A |- | style="text-align: left;" | JPEG | style="background: red;" | NO | style="background: grey; color: white;" | &nbsp; | style="background: red;" | NO |- | colspan="2" style="text-align: left;" | ISP(3A) | style="background: orange;" | WIP | style="background: grey; color: white;" | &nbsp;? | style="background: orange;" | WIP |} <br/> &nbsp; == Linux&nbsp;Funciton Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! Status |- | rowspan="5" style="text-align: left;" | Gstreamer | style="text-align: left;" | Display | style="background: lightgreen;" | kmssink(qt eglfs),rkximagesink(x11), waylandsink(wayland) |- | style="text-align: left;" | Decode&nbsp; | style="background: lightgreen;" | h264, h265, vp8, vp9, jpeg |- | style="text-align: left;" | Encode | style="background: lightgreen;" | h264 |- | style="text-align: left;" | Camera | style="background: orange;" | Without 3A |- | style="text-align: left;" | Transform | style="background: orange;" | WIP |- | rowspan="2" style="text-align: left;" | GPU | style="text-align: left;" | GLES | style="background: lightgreen;" | libmali |- | style="text-align: left;" | OPENCL | style="background: lightgreen;" | libmali |- | colspan="2" rowspan="1" style="text-align: left;" | QT | style="background: lightgreen;" | QT 5.x |- | colspan="2" style="text-align: left;" | Browser(HTML5 Accelerate) | style="background: orange;" | WIP |- | colspan="2" style="text-align: left;" | IOT(Third part Could Service) | style="background: orange;" | WIP |- | colspan="2" style="text-align: left;" | FFmpeg | style="background: yellow;" | Community |- | colspan="2" style="text-align: left;" | MPV | style="background: yellow;" | Community |- | colspan="2" style="text-align: left;" | KODI | style="background: yellow;" | Community |} &nbsp; &nbsp; &nbsp; 6c071ffcb697b16d2623a456d77a288a324ae6a3 1276 1275 2017-08-15T08:33:00Z Sysproduct1 15 wikitext text/x-wiki &nbsp; == Rockchip 4.4 Kernel Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! RK3288 ! RK3328 ! RK3399 |- | rowspan="2" style="text-align: left;" | ADC | style="text-align: left;" | SARADC | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | TSADC | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | Clocks | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | CPUFreq | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | Crypto | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | CSI/ISP | style="background: orange;" | WIP | N/A | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | CIF | style="background: orange;" | WIP | style="background: orange;" | WIP | style="background: orange;" | WIP |- | rowspan="8" style="text-align: left;" | Display (DRM) | style="text-align: left;" | RGB | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | EDP | style="background: lightgreen;" | SUPPORT | N/A | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | LVDS | style="background: lightgreen;" | SUPPORT | N/A | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | MIPI DSI | style="background: lightgreen;" | SUPPORT | N/A | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | CVBS | N/A | style="background: lightgreen;" | SUPPORT | N/A |- | style="text-align: left;" | VGA | N/A | N/A | N/A |- | style="text-align: left;" | HDMI | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | CEC | style="background: red;" | NO | style="background: orange;" | WIP | style="background: red;" | NO |- | colspan="2" style="text-align: left;" | DMA | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | DDR DVFS | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |- | rowspan="2" style="text-align: left;" | Ethernet | style="text-align: left;" | GMAC | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | EMAC | N/A | N/A | N/A |- | colspan="2" style="text-align: left;" | I2S | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left" | I2C | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | MsgBox | N/A | N/A | N/A |- | colspan="2" style="text-align: left;" | Pinctrl | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | PWM | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | Power Domain | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | PCIE | N/A | N/A | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | SD / SDIO / MMC | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | SPDIF | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | SPI | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | SUSPEND / RESUME | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | USB | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | USB OTG | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | TYPEC | N/A | N/A | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | Watchdog | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | GPU | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | VPU | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | RGA | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | IEP | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |} &nbsp; &nbsp; == Mainline Kernel Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! RK3288 ! RK3328 ! RK3399 |- | rowspan="2" style="text-align: left;" | ADC | style="text-align: left;" | SARADC | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | style="text-align: left;" | TSADC | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | Clocks | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | CPUFreq | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | Crypto | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | CSI/ISP | style="background: orange;" | WIP | N/A | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | CIF | style="background: orange;" | WIP | style="background: orange;" | WIP | style="background: orange;" | WIP |- | rowspan="8" style="text-align: left;" | Display (DRM) | style="text-align: left;" | RGB | style="background: red;" | NO | tyle="background: red;" | NO | style="background: red;" | NO |- | style="text-align: left;" | EDP | style="background: lightgreen;" | 4.4 | N/A | style="background: lightgreen;" | 4.4 |- | style="text-align: left;" | LVDS | style="background: red;" | NO | N/A | style="background: red;" | NO |- | style="text-align: left;" | MIPI DSI | style="background: lightgreen;" | 4.4 | N/A | style="background: lightgreen;" | 4.4 |- | style="text-align: left;" | CVBS | N/A | style="background: darkgreen;" | INCOMPLETE | N/A |- | style="text-align: left;" | VGA | N/A | N/A | N/A |- | style="text-align: left;" | HDMI | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE |- | style="text-align: left;" | CEC | style="background: red;" | NO | style="background: darkgreen;" | INCOMPLETE | style="background: red;" | NO |- | colspan="2" style="text-align: left;" | DMA | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | DDR DVFS | style="background: red;" | NO | style="background: grey; color: white;" | &nbsp;? | style="background: red;" | NO |- | rowspan="2" style="text-align: left;" | Ethernet | style="text-align: left;" | GMAC | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | style="text-align: left;" | EMAC | N/A | style="background: grey; color: white;" | &nbsp;? | N/A |- | colspan="2" style="text-align: left;" | I2S | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left" | I2C | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | MsgBox | N/A | style="background: grey; color: white;" | &nbsp;? | N/A |- | colspan="2" style="text-align: left;" | Pinctrl | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | PWM | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | Power Domain | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | PCIE | N/A | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | SD / SDIO / MMC | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | SPDIF | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | SPI | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | SUSPEND / RESUME | style="background: darkgreen;" | INCOMPLETE | style="background: grey; color: white;" | &nbsp;? | style="background: darkgreen;" | INCOMPLETE |- | colspan="2" style="text-align: left;" | USB | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | USB OTG | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | TYPEC | N/A | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | Watchdog | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | GPU | style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE] | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE] |- | colspan="2" style="text-align: left;" | VPU | style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE] | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE] |- | colspan="2" style="text-align: left;" | RGA | style="background: orange;" | WIP | style="background: grey; color: white;" | &nbsp;? | style="background: orange;" | WIP |- | colspan="2" style="text-align: left;" | IEP | style="background: red;" | NO | style="background: grey; color: white;" | &nbsp;? | style="background: red;" | NO |} &nbsp; == Linux SDK CHIP Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! RK3288 ! RK3328 ! RK3399 |- | colspan="2" style="text-align: left;" | Debian | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | rowspan="3" style="text-align: left;" | Yocto | style="text-align: left;" | X11 | style="background: lightgreen;" | SUPPORT | style="background: orange;" | WIP | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | QT EGLFS | style="background: lightgreen;" | SUPPORT | style="background: orange;" | WIP | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | WESTON | style="background: darkgreen;" | INCOMPLETE | style="background: orange;" | WIP | style="background: darkgreen;" | INCOMPLETE |- | colspan="2" style="text-align: left;" | Buildroot | N/A | N/A | style="background: lightgreen;" | SUPPORT |- | rowspan="5" style="text-align: left;" | Decode | style="text-align: left;" | H264 | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | H265 | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | VP8 | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | VP9 | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | JPEG | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE |- | rowspan="3" style="text-align: left;" | Encode | style="text-align: left;" | H264 | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE |- | style="text-align: left;" | H265 | N/A | style="background: lightgreen;" | SUPPORT | N/A |- | style="text-align: left;" | JPEG | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |- | colspan="2" style="text-align: left;" | ISP(3A) | style="background: orange;" | WIP | N/A | style="background: orange;" | WIP |} <br/> &nbsp; == Linux&nbsp;Funciton Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! Status |- | rowspan="5" style="text-align: left;" | Gstreamer | style="text-align: left;" | Display | style="background: lightgreen;" | kmssink(qt eglfs),rkximagesink(x11), waylandsink(wayland) |- | style="text-align: left;" | Decode&nbsp; | style="background: lightgreen;" | h264, h265, vp8, vp9, jpeg |- | style="text-align: left;" | Encode | style="background: lightgreen;" | h264 |- | style="text-align: left;" | Camera | style="background: orange;" | Without 3A |- | style="text-align: left;" | Transform | style="background: orange;" | WIP |- | rowspan="2" style="text-align: left;" | GPU | style="text-align: left;" | GLES | style="background: lightgreen;" | libmali |- | style="text-align: left;" | OPENCL | style="background: lightgreen;" | libmali |- | colspan="2" rowspan="1" style="text-align: left;" | QT | style="background: lightgreen;" | QT 5.x |- | colspan="2" style="text-align: left;" | Browser(HTML5 Accelerate) | style="background: orange;" | WIP |- | colspan="2" style="text-align: left;" | IOT(Third part Could Service) | style="background: orange;" | WIP |- | colspan="2" style="text-align: left;" | FFmpeg | style="background: yellow;" | Community |- | colspan="2" style="text-align: left;" | MPV | style="background: yellow;" | Community |- | colspan="2" style="text-align: left;" | KODI | style="background: yellow;" | Community |} &nbsp; &nbsp; &nbsp; 70001e24a0def70b3f214def02975c417a26ff67 1277 1276 2017-08-15T08:41:34Z Sysproduct1 15 wikitext text/x-wiki &nbsp; == Rockchip 4.4 Kernel Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! RK3288 ! RK3328 ! RK3399 |- | rowspan="2" style="text-align: left;" | ADC | style="text-align: left;" | SARADC | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | TSADC | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | Clocks | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | CPUFreq | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | Crypto | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | CSI/ISP | style="background: orange;" | WIP | N/A | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | CIF | style="background: orange;" | WIP | style="background: orange;" | WIP | style="background: orange;" | WIP |- | rowspan="8" style="text-align: left;" | Display (DRM) | style="text-align: left;" | RGB | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | EDP | style="background: lightgreen;" | SUPPORT | N/A | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | LVDS | style="background: lightgreen;" | SUPPORT | N/A | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | MIPI DSI | style="background: lightgreen;" | SUPPORT | N/A | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | CVBS | N/A | style="background: lightgreen;" | SUPPORT | N/A |- | style="text-align: left;" | VGA | N/A | N/A | N/A |- | style="text-align: left;" | HDMI | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | CEC | style="background: red;" | NO | style="background: orange;" | WIP | style="background: red;" | NO |- | colspan="2" style="text-align: left;" | DMA | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | DDR DVFS | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |- | rowspan="2" style="text-align: left;" | Ethernet | style="text-align: left;" | GMAC | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | EMAC | N/A | N/A | N/A |- | colspan="2" style="text-align: left;" | I2S | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left" | I2C | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | MsgBox | N/A | N/A | N/A |- | colspan="2" style="text-align: left;" | Pinctrl | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | PWM | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | Power Domain | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | PCIE | N/A | N/A | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | SD / SDIO / MMC | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | SPDIF | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | SPI | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | SUSPEND / RESUME | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | USB | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | USB OTG | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | TYPEC | N/A | N/A | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | Watchdog | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | GPU | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | VPU | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | RGA | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | IEP | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |} &nbsp; &nbsp; == Mainline Kernel Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! RK3288 ! RK3328 ! RK3399 |- | rowspan="2" style="text-align: left;" | ADC | style="text-align: left;" | SARADC | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | style="text-align: left;" | TSADC | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | Clocks | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | CPUFreq | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | Crypto | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | CSI/ISP | style="background: orange;" | WIP | N/A | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | CIF | style="background: orange;" | WIP | style="background: orange;" | WIP | style="background: orange;" | WIP |- | rowspan="8" style="text-align: left;" | Display (DRM) | style="text-align: left;" | RGB | style="background: red;" | NO | NO | style="background: red;" | NO |- | style="text-align: left;" | EDP | style="background: lightgreen;" | 4.4 | N/A | style="background: lightgreen;" | 4.4 |- | style="text-align: left;" | LVDS | style="background: red;" | NO | N/A | style="background: red;" | NO |- | style="text-align: left;" | MIPI DSI | style="background: lightgreen;" | 4.4 | N/A | style="background: lightgreen;" | 4.4 |- | style="text-align: left;" | CVBS | N/A | style="background: darkgreen;" | INCOMPLETE | N/A |- | style="text-align: left;" | VGA | N/A | N/A | N/A |- | style="text-align: left;" | HDMI | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE |- | style="text-align: left;" | CEC | style="background: red;" | NO | style="background: darkgreen;" | INCOMPLETE | style="background: red;" | NO |- | colspan="2" style="text-align: left;" | DMA | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | DDR DVFS | style="background: red;" | NO | style="background: grey; color: white;" | &nbsp;? | style="background: red;" | NO |- | rowspan="2" style="text-align: left;" | Ethernet | style="text-align: left;" | GMAC | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | style="text-align: left;" | EMAC | N/A | style="background: grey; color: white;" | &nbsp;? | N/A |- | colspan="2" style="text-align: left;" | I2S | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left" | I2C | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | MsgBox | N/A | style="background: grey; color: white;" | &nbsp;? | N/A |- | colspan="2" style="text-align: left;" | Pinctrl | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | PWM | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | Power Domain | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | PCIE | N/A | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | SD / SDIO / MMC | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | EMMC Ready | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | SPDIF | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | SPI | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | SUSPEND / RESUME | style="background: darkgreen;" | INCOMPLETE | style="background: grey; color: white;" | &nbsp;? | style="background: darkgreen;" | INCOMPLETE |- | colspan="2" style="text-align: left;" | USB | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | USB OTG | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | TYPEC | N/A | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | Watchdog | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | GPU | style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE] | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE] |- | colspan="2" style="text-align: left;" | VPU | style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE] | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE] |- | colspan="2" style="text-align: left;" | RGA | style="background: orange;" | WIP | style="background: grey; color: white;" | &nbsp;? | style="background: orange;" | WIP |- | colspan="2" style="text-align: left;" | IEP | style="background: red;" | NO | style="background: grey; color: white;" | &nbsp;? | style="background: red;" | NO |} &nbsp; == Linux SDK CHIP Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! RK3288 ! RK3328 ! RK3399 |- | colspan="2" style="text-align: left;" | Debian | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | rowspan="3" style="text-align: left;" | Yocto | style="text-align: left;" | X11 | style="background: lightgreen;" | SUPPORT | style="background: orange;" | WIP | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | QT EGLFS | style="background: lightgreen;" | SUPPORT | style="background: orange;" | WIP | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | WESTON | style="background: darkgreen;" | INCOMPLETE | style="background: orange;" | WIP | style="background: darkgreen;" | INCOMPLETE |- | colspan="2" style="text-align: left;" | Buildroot | N/A | N/A | style="background: lightgreen;" | SUPPORT |- | rowspan="5" style="text-align: left;" | Decode | style="text-align: left;" | H264 | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | H265 | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | VP8 | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | VP9 | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | JPEG | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE |- | rowspan="3" style="text-align: left;" | Encode | style="text-align: left;" | H264 | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE |- | style="text-align: left;" | H265 | N/A | style="background: lightgreen;" | SUPPORT | N/A |- | style="text-align: left;" | JPEG | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |- | colspan="2" style="text-align: left;" | ISP(3A) | style="background: orange;" | WIP | N/A | style="background: orange;" | WIP |} <br/> &nbsp; == Linux&nbsp;Funciton Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! Status |- | rowspan="5" style="text-align: left;" | Gstreamer | style="text-align: left;" | Display | style="background: lightgreen;" | kmssink(qt eglfs),rkximagesink(x11), waylandsink(wayland) |- | style="text-align: left;" | Decode&nbsp; | style="background: lightgreen;" | h264, h265, vp8, vp9, jpeg |- | style="text-align: left;" | Encode | style="background: lightgreen;" | h264 |- | style="text-align: left;" | Camera | style="background: orange;" | Without 3A |- | style="text-align: left;" | Transform | style="background: orange;" | WIP |- | rowspan="2" style="text-align: left;" | GPU | style="text-align: left;" | GLES | style="background: lightgreen;" | libmali |- | style="text-align: left;" | OPENCL | style="background: lightgreen;" | libmali |- | colspan="2" rowspan="1" style="text-align: left;" | QT | style="background: lightgreen;" | QT 5.x |- | colspan="2" style="text-align: left;" | Browser(HTML5 Accelerate) | style="background: orange;" | WIP |- | colspan="2" style="text-align: left;" | IOT(Third part Could Service) | style="background: orange;" | WIP |- | colspan="2" style="text-align: left;" | FFmpeg | style="background: yellow;" | Community |- | colspan="2" style="text-align: left;" | MPV | style="background: yellow;" | Community |- | colspan="2" style="text-align: left;" | KODI | style="background: yellow;" | Community |} &nbsp; &nbsp; &nbsp; ee778075610751b508efc1179b7259afa5e21482 1278 1277 2017-08-15T09:12:51Z Sysproduct1 15 wikitext text/x-wiki &nbsp; == Rockchip 4.4 Kernel Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! RK3288 ! RK3328 ! RK3399 |- | rowspan="2" style="text-align: left;" | ADC | style="text-align: left;" | SARADC | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | TSADC | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | Clocks | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | CPUFreq | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | Crypto | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | CSI/ISP | style="background: orange;" | WIP | N/A | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | CIF | style="background: orange;" | WIP | style="background: orange;" | WIP | style="background: orange;" | WIP |- | rowspan="8" style="text-align: left;" | Display (DRM) | style="text-align: left;" | RGB | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | EDP | style="background: lightgreen;" | SUPPORT | N/A | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | LVDS | style="background: lightgreen;" | SUPPORT | N/A | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | MIPI DSI | style="background: lightgreen;" | SUPPORT | N/A | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | CVBS | N/A | style="background: lightgreen;" | SUPPORT | N/A |- | style="text-align: left;" | VGA | N/A | N/A | N/A |- | style="text-align: left;" | HDMI | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | CEC | style="background: red;" | NO | style="background: orange;" | WIP | style="background: red;" | NO |- | colspan="2" style="text-align: left;" | DMA | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | DDR DVFS | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |- | rowspan="2" style="text-align: left;" | Ethernet | style="text-align: left;" | GMAC | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | EMAC | N/A | N/A | N/A |- | colspan="2" style="text-align: left;" | I2S | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left" | I2C | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | MsgBox | N/A | N/A | N/A |- | colspan="2" style="text-align: left;" | Pinctrl | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | PWM | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | Power Domain | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | PCIE | N/A | N/A | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | SD / SDIO / MMC | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | SPDIF | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | SPI | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | SUSPEND / RESUME | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | USB | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | USB OTG | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | TYPEC | N/A | N/A | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | Watchdog | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | GPU | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | VPU | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | RGA | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | IEP | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |} &nbsp; &nbsp; == Mainline Kernel Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! RK3288 ! RK3328 ! RK3399 |- | rowspan="2" style="text-align: left;" | ADC | style="text-align: left;" | SARADC | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | style="text-align: left;" | TSADC | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | Clocks | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | CPUFreq | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | Crypto | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | CSI/ISP | style="background: orange;" | WIP | N/A | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | CIF | style="background: orange;" | WIP | style="background: orange;" | WIP | style="background: orange;" | WIP |- | rowspan="8" style="text-align: left;" | Display (DRM) | style="text-align: left;" | RGB | style="background: red;" | NO | NO | style="background: red;" | NO |- | style="text-align: left;" | EDP | style="background: lightgreen;" | 4.4 | N/A | style="background: lightgreen;" | 4.4 |- | style="text-align: left;" | LVDS | style="background: red;" | NO | N/A | style="background: red;" | NO |- | style="text-align: left;" | MIPI DSI | style="background: lightgreen;" | 4.4 | N/A | style="background: lightgreen;" | 4.4 |- | style="text-align: left;" | CVBS | N/A | style="background: darkgreen;" | INCOMPLETE | N/A |- | style="text-align: left;" | VGA | N/A | N/A | N/A |- | style="text-align: left;" | HDMI | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE |- | style="text-align: left;" | CEC | style="background: red;" | NO | style="background: darkgreen;" | INCOMPLETE | style="background: red;" | NO |- | colspan="2" style="text-align: left;" | DMA | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | DDR DVFS | style="background: red;" | NO | style="background: grey; color: white;" | &nbsp;? | style="background: red;" | NO |- | rowspan="2" style="text-align: left;" | Ethernet | style="text-align: left;" | GMAC | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | style="text-align: left;" | EMAC | N/A | style="background: grey; color: white;" | &nbsp;? | N/A |- | colspan="2" style="text-align: left;" | I2S | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left" | I2C | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | MsgBox | N/A | style="background: grey; color: white;" | &nbsp;? | N/A |- | colspan="2" style="text-align: left;" | Pinctrl | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | PWM | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | Power Domain | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | PCIE | N/A | N/A | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | SD / SDIO / MMC | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | EMMC Ready | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | SPDIF | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | SPI | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | SUSPEND / RESUME | style="background: darkgreen;" | INCOMPLETE | style="background: grey; color: white;" | &nbsp;? | style="background: darkgreen;" | INCOMPLETE |- | colspan="2" style="text-align: left;" | USB | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | USB OTG | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | TYPEC | N/A | N/A | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | Watchdog | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | GPU | style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE] | style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE] | style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE] |- | colspan="2" style="text-align: left;" | VPU | style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE] | style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE] | style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE] |- | colspan="2" style="text-align: left;" | RGA | style="background: orange;" | WIP | style="background: orange;" | WIP | style="background: orange;" | WIP |- | colspan="2" style="text-align: left;" | IEP | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |} &nbsp; == Linux SDK CHIP Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! RK3288 ! RK3328 ! RK3399 |- | colspan="2" style="text-align: left;" | Debian | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | rowspan="3" style="text-align: left;" | Yocto | style="text-align: left;" | X11 | style="background: lightgreen;" | SUPPORT | style="background: orange;" | WIP | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | QT EGLFS | style="background: lightgreen;" | SUPPORT | style="background: orange;" | WIP | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | WESTON | style="background: darkgreen;" | INCOMPLETE | style="background: orange;" | WIP | style="background: darkgreen;" | INCOMPLETE |- | colspan="2" style="text-align: left;" | Buildroot | N/A | N/A | style="background: lightgreen;" | SUPPORT |- | rowspan="5" style="text-align: left;" | Decode | style="text-align: left;" | H264 | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | H265 | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | VP8 | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | VP9 | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | JPEG | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE |- | rowspan="3" style="text-align: left;" | Encode | style="text-align: left;" | H264 | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE |- | style="text-align: left;" | H265 | N/A | style="background: lightgreen;" | SUPPORT | N/A |- | style="text-align: left;" | JPEG | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |- | colspan="2" style="text-align: left;" | ISP(3A) | style="background: orange;" | WIP | N/A | style="background: orange;" | WIP |} <br/> &nbsp; == Linux&nbsp;Funciton Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! Status |- | rowspan="5" style="text-align: left;" | Gstreamer | style="text-align: left;" | Display | style="background: lightgreen;" | kmssink(qt eglfs),rkximagesink(x11), waylandsink(wayland) |- | style="text-align: left;" | Decode&nbsp; | style="background: lightgreen;" | h264, h265, vp8, vp9, jpeg |- | style="text-align: left;" | Encode | style="background: lightgreen;" | h264 |- | style="text-align: left;" | Camera | style="background: orange;" | Without 3A |- | style="text-align: left;" | Transform | style="background: orange;" | WIP |- | rowspan="2" style="text-align: left;" | GPU | style="text-align: left;" | GLES | style="background: lightgreen;" | libmali |- | style="text-align: left;" | OPENCL | style="background: lightgreen;" | libmali |- | colspan="2" rowspan="1" style="text-align: left;" | QT | style="background: lightgreen;" | QT 5.x |- | colspan="2" style="text-align: left;" | Browser(HTML5 Accelerate) | style="background: orange;" | WIP |- | colspan="2" style="text-align: left;" | IOT(Third part Could Service) | style="background: orange;" | WIP |- | colspan="2" style="text-align: left;" | FFmpeg | style="background: yellow;" | Community |- | colspan="2" style="text-align: left;" | MPV | style="background: yellow;" | Community |- | colspan="2" style="text-align: left;" | KODI | style="background: yellow;" | Community |} &nbsp; &nbsp; &nbsp; 2c7468e50e4ae7bad638af3440cfc482eb911e70 1279 1278 2017-08-15T09:15:56Z Sysproduct1 15 wikitext text/x-wiki &nbsp; == Rockchip 4.4 Kernel Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! RK3288 ! RK3328 ! RK3399 |- | rowspan="2" style="text-align: left;" | ADC | style="text-align: left;" | SARADC | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | TSADC | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | Clocks | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | CPUFreq | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | Crypto | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | CSI/ISP | style="background: orange;" | WIP | N/A | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | CIF | style="background: orange;" | WIP | style="background: orange;" | WIP | style="background: orange;" | WIP |- | rowspan="8" style="text-align: left;" | Display (DRM) | style="text-align: left;" | RGB | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | EDP | style="background: lightgreen;" | SUPPORT | N/A | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | LVDS | style="background: lightgreen;" | SUPPORT | N/A | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | MIPI DSI | style="background: lightgreen;" | SUPPORT | N/A | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | CVBS | N/A | style="background: lightgreen;" | SUPPORT | N/A |- | style="text-align: left;" | VGA | N/A | N/A | N/A |- | style="text-align: left;" | HDMI | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | CEC | style="background: red;" | NO | style="background: orange;" | WIP | style="background: red;" | NO |- | colspan="2" style="text-align: left;" | DMA | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | DDR DVFS | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |- | rowspan="2" style="text-align: left;" | Ethernet | style="text-align: left;" | GMAC | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | EMAC | N/A | N/A | N/A |- | colspan="2" style="text-align: left;" | I2S | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left" | I2C | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | MsgBox | N/A | N/A | N/A |- | colspan="2" style="text-align: left;" | Pinctrl | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | PWM | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | Power Domain | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | PCIE | N/A | N/A | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | SD / SDIO / MMC | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | SPDIF | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | SPI | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | SUSPEND / RESUME | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | USB | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | USB OTG | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | TYPEC | N/A | N/A | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | Watchdog | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | GPU | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | VPU | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | RGA | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | IEP | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |} &nbsp; &nbsp; == Mainline Kernel Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! RK3288 ! RK3328 ! RK3399 |- | rowspan="2" style="text-align: left;" | ADC | style="text-align: left;" | SARADC | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | style="text-align: left;" | TSADC | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | Clocks | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | CPUFreq | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | Crypto | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | CSI/ISP | style="background: orange;" | WIP | N/A | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | CIF | style="background: orange;" | WIP | style="background: orange;" | WIP | style="background: orange;" | WIP |- | rowspan="8" style="text-align: left;" | Display (DRM) | style="text-align: left;" | RGB | style="background: red;" | NO | NO | style="background: red;" | NO |- | style="text-align: left;" | EDP | style="background: lightgreen;" | 4.4 | N/A | style="background: lightgreen;" | 4.4 |- | style="text-align: left;" | LVDS | style="background: red;" | NO | N/A | style="background: red;" | NO |- | style="text-align: left;" | MIPI DSI | style="background: lightgreen;" | 4.4 | N/A | style="background: lightgreen;" | 4.4 |- | style="text-align: left;" | CVBS | N/A | style="background: darkgreen;" | INCOMPLETE | N/A |- | style="text-align: left;" | VGA | N/A | N/A | N/A |- | style="text-align: left;" | HDMI | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE |- | style="text-align: left;" | CEC | style="background: red;" | NO | style="background: darkgreen;" | INCOMPLETE | style="background: red;" | NO |- | colspan="2" style="text-align: left;" | DMA | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | DDR DVFS | style="background: red;" | NO | style="background: grey; color: white;" | &nbsp;? | style="background: red;" | NO |- | rowspan="2" style="text-align: left;" | Ethernet | style="text-align: left;" | GMAC | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | style="text-align: left;" | EMAC | N/A | style="background: grey; color: white;" | &nbsp;? | N/A |- | colspan="2" style="text-align: left;" | I2S | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left" | I2C | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | MsgBox | N/A | style="background: grey; color: white;" | &nbsp;? | N/A |- | colspan="2" style="text-align: left;" | Pinctrl | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | PWM | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | Power Domain | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | PCIE | N/A | N/A | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | SD / SDIO / MMC | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | EMMC Ready | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | SPDIF | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | SPI | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | SUSPEND / RESUME | style="background: darkgreen;" | INCOMPLETE | style="background: grey; color: white;" | &nbsp;? | style="background: darkgreen;" | INCOMPLETE |- | colspan="2" style="text-align: left;" | USB | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | USB OTG | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | TYPEC | N/A | N/A | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | Watchdog | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | GPU | style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE] | style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE] | style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE] |- | colspan="2" style="text-align: left;" | VPU | style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE] | style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE] | style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE] |- | colspan="2" style="text-align: left;" | RGA | style="background: orange;" | WIP | style="background: orange;" | WIP | style="background: orange;" | WIP |- | colspan="2" style="text-align: left;" | IEP | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |} &nbsp; == Linux SDK CHIP Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! RK3288 ! RK3328 ! RK3399 |- | colspan="2" style="text-align: left;" | Debian | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | rowspan="3" style="text-align: left;" | Yocto | style="text-align: left;" | X11 | style="background: lightgreen;" | SUPPORT | style="background: orange;" | WIP | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | QT EGLFS | style="background: lightgreen;" | SUPPORT | style="background: orange;" | WIP | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | WESTON | style="background: darkgreen;" | INCOMPLETE | style="background: orange;" | WIP | style="background: darkgreen;" | INCOMPLETE |- | colspan="2" style="text-align: left;" | Buildroot | N/A | N/A | style="background: lightgreen;" | SUPPORT |- | rowspan="5" style="text-align: left;" | Decode | style="text-align: left;" | H264 | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | H265 | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | VP8 | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | VP9 | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | JPEG | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE |- | rowspan="3" style="text-align: left;" | Encode | style="text-align: left;" | H264 | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE |- | style="text-align: left;" | H265 | N/A | style="background: lightgreen;" | SUPPORT | N/A |- | style="text-align: left;" | JPEG | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |- | colspan="2" style="text-align: left;" | ISP(3A) | style="background: orange;" | WIP | N/A | style="background: orange;" | WIP |} <br/> &nbsp; == Linux&nbsp;Funciton Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! Status |- | rowspan="5" style="text-align: left;" | Gstreamer | style="text-align: left;" | Display | style="background: lightgreen;" | kmssink(qt eglfs),rkximagesink(x11), waylandsink(wayland) |- | style="text-align: left;" | Decode&nbsp; | style="background: lightgreen;" | h264, h265, vp8, vp9, jpeg |- | style="text-align: left;" | Encode | style="background: lightgreen;" | h264 |- | style="text-align: left;" | Camera | style="background: orange;" | Without 3A |- | style="text-align: left;" | Transform | style="background: orange;" | WIP |- | rowspan="2" style="text-align: left;" | GPU | style="text-align: left;" | GLES | style="background: lightgreen;" | libmali |- | style="text-align: left;" | OPENCL | style="background: lightgreen;" | libmali |- | colspan="2" rowspan="1" style="text-align: left;" | QT | style="background: lightgreen;" | QT 5.x |- | colspan="2" style="text-align: left;" | Browser(HTML5 Accelerate) | style="background: orange;" | WIP |- | colspan="2" style="text-align: left;" | IOT(Third part Could Service) | style="background: orange;" | WIP |- | colspan="2" style="text-align: left;" | FFmpeg | style="background: yellow;" | Community |- | colspan="2" style="text-align: left;" | MPV | style="background: yellow;" | Community |- | colspan="2" style="text-align: left;" | KODI | style="background: yellow;" | Community |} &nbsp; &nbsp; &nbsp; 5d0affb56d364f8951655c6e44045e99285b775f 1280 1279 2017-08-15T09:29:07Z Sysproduct1 15 wikitext text/x-wiki &nbsp; == Rockchip 4.4 Kernel Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! RK3288 ! RK3328 ! RK3399 |- | rowspan="2" style="text-align: left;" | ADC | style="text-align: left;" | SARADC | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | TSADC | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | Clocks | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | CPUFreq | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | Crypto | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | CSI/ISP | style="background: orange;" | WIP | N/A | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | CIF | style="background: orange;" | WIP | style="background: orange;" | WIP | style="background: orange;" | WIP |- | rowspan="8" style="text-align: left;" | Display (DRM) | style="text-align: left;" | RGB | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | EDP | style="background: lightgreen;" | SUPPORT | N/A | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | LVDS | style="background: lightgreen;" | SUPPORT | N/A | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | MIPI DSI | style="background: lightgreen;" | SUPPORT | N/A | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | CVBS | N/A | style="background: lightgreen;" | SUPPORT | N/A |- | style="text-align: left;" | VGA | N/A | N/A | N/A |- | style="text-align: left;" | HDMI | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | CEC | style="background: red;" | NO | style="background: orange;" | WIP | style="background: red;" | NO |- | colspan="2" style="text-align: left;" | DMA | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | DDR DVFS | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |- | rowspan="2" style="text-align: left;" | Ethernet | style="text-align: left;" | GMAC | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | EMAC | N/A | N/A | N/A |- | colspan="2" style="text-align: left;" | I2S | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left" | I2C | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | MsgBox | N/A | N/A | N/A |- | colspan="2" style="text-align: left;" | Pinctrl | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | PWM | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | Power Domain | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | PCIE | N/A | N/A | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | SD / SDIO / MMC | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | SPDIF | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | SPI | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | SUSPEND / RESUME | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | USB | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | USB OTG | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | TYPEC | N/A | N/A | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | Watchdog | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | GPU | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | VPU | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | RGA | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | IEP | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |} &nbsp; &nbsp; == Mainline Kernel Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! RK3288 ! RK3328 ! RK3399 |- | rowspan="2" style="text-align: left;" | ADC | style="text-align: left;" | SARADC | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | style="text-align: left;" | TSADC | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | Clocks | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | CPUFreq | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | Crypto | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | CSI/ISP | style="background: orange;" | WIP | N/A | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | CIF | style="background: orange;" | WIP | style="background: orange;" | WIP | style="background: orange;" | WIP |- | rowspan="8" style="text-align: left;" | Display (DRM) | style="text-align: left;" | RGB | style="background: red;" | NO | NO | style="background: red;" | NO |- | style="text-align: left;" | EDP | style="background: lightgreen;" | 4.4 | N/A | style="background: lightgreen;" | 4.4 |- | style="text-align: left;" | LVDS | style="background: red;" | NO | N/A | style="background: red;" | NO |- | style="text-align: left;" | MIPI DSI | style="background: lightgreen;" | 4.4 | N/A | style="background: lightgreen;" | 4.4 |- | style="text-align: left;" | CVBS | N/A | style="background: darkgreen;" | INCOMPLETE | N/A |- | style="text-align: left;" | VGA | N/A | N/A | N/A |- | style="text-align: left;" | HDMI | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE |- | style="text-align: left;" | CEC | style="background: red;" | NO | style="background: darkgreen;" | INCOMPLETE | style="background: red;" | NO |- | colspan="2" style="text-align: left;" | DMA | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | DDR DVFS | style="background: red;" | NO | style="background: grey; color: white;" | &nbsp;? | style="background: red;" | NO |- | rowspan="2" style="text-align: left;" | Ethernet | style="text-align: left;" | GMAC | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | style="text-align: left;" | EMAC | N/A | style="background: grey; color: white;" | &nbsp;? | N/A |- | colspan="2" style="text-align: left;" | I2S | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left" | I2C | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | MsgBox | N/A | style="background: grey; color: white;" | &nbsp;? | N/A |- | colspan="2" style="text-align: left;" | Pinctrl | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | PWM | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | Power Domain | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | PCIE | N/A | N/A | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | SD / SDIO / MMC | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | SPDIF | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | SPI | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | SUSPEND / RESUME | style="background: darkgreen;" | INCOMPLETE | style="background: grey; color: white;" | &nbsp;? | style="background: darkgreen;" | INCOMPLETE |- | colspan="2" style="text-align: left;" | USB | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | USB OTG | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | TYPEC | N/A | N/A | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | Watchdog | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | GPU | style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE] | style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE] | style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE] |- | colspan="2" style="text-align: left;" | VPU | style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE] | style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE] | style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE] |- | colspan="2" style="text-align: left;" | RGA | style="background: orange;" | WIP | style="background: orange;" | WIP | style="background: orange;" | WIP |- | colspan="2" style="text-align: left;" | IEP | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |} &nbsp; == Linux SDK CHIP Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! RK3288 ! RK3328 ! RK3399 |- | colspan="2" style="text-align: left;" | Debian | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | rowspan="3" style="text-align: left;" | Yocto | style="text-align: left;" | X11 | style="background: lightgreen;" | SUPPORT | style="background: orange;" | WIP | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | QT EGLFS | style="background: lightgreen;" | SUPPORT | style="background: orange;" | WIP | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | WESTON | style="background: darkgreen;" | INCOMPLETE | style="background: orange;" | WIP | style="background: darkgreen;" | INCOMPLETE |- | colspan="2" style="text-align: left;" | Buildroot | N/A | N/A | style="background: lightgreen;" | SUPPORT |- | rowspan="5" style="text-align: left;" | Decode | style="text-align: left;" | H264 | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | H265 | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | VP8 | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | VP9 | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | JPEG | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE |- | rowspan="3" style="text-align: left;" | Encode | style="text-align: left;" | H264 | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE |- | style="text-align: left;" | H265 | N/A | style="background: lightgreen;" | SUPPORT | N/A |- | style="text-align: left;" | JPEG | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |- | colspan="2" style="text-align: left;" | ISP(3A) | style="background: orange;" | WIP | N/A | style="background: orange;" | WIP |} <br/> &nbsp; == Linux&nbsp;Funciton Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! Status |- | rowspan="5" style="text-align: left;" | Gstreamer | style="text-align: left;" | Display | style="background: lightgreen;" | kmssink(qt eglfs),rkximagesink(x11), waylandsink(wayland) |- | style="text-align: left;" | Decode&nbsp; | style="background: lightgreen;" | h264, h265, vp8, vp9, jpeg |- | style="text-align: left;" | Encode | style="background: lightgreen;" | h264 |- | style="text-align: left;" | Camera | style="background: orange;" | Without 3A |- | style="text-align: left;" | Transform | style="background: orange;" | WIP |- | rowspan="2" style="text-align: left;" | GPU | style="text-align: left;" | GLES | style="background: lightgreen;" | libmali |- | style="text-align: left;" | OPENCL | style="background: lightgreen;" | libmali |- | colspan="2" rowspan="1" style="text-align: left;" | QT | style="background: lightgreen;" | QT 5.x |- | colspan="2" style="text-align: left;" | Browser(HTML5 Accelerate) | style="background: orange;" | WIP |- | colspan="2" style="text-align: left;" | IOT(Third part Could Service) | style="background: orange;" | WIP |- | colspan="2" style="text-align: left;" | FFmpeg | style="background: yellow;" | Community |- | colspan="2" style="text-align: left;" | MPV | style="background: yellow;" | Community |- | colspan="2" style="text-align: left;" | KODI | style="background: yellow;" | Community |} &nbsp; &nbsp; &nbsp; 6ad47e50d6ba0e42a3a53e08ef28feb88ba72445 1281 1280 2017-08-15T09:30:16Z Sysproduct1 15 wikitext text/x-wiki &nbsp; == Rockchip 4.4 Kernel Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! RK3288 ! RK3328 ! RK3399 |- | rowspan="2" style="text-align: left;" | ADC | style="text-align: left;" | SARADC | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | TSADC | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | Clocks | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | CPUFreq | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | Crypto | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | CSI/ISP | style="background: orange;" | WIP | N/A | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | CIF | style="background: orange;" | WIP | style="background: orange;" | WIP | style="background: orange;" | WIP |- | rowspan="8" style="text-align: left;" | Display (DRM) | style="text-align: left;" | RGB | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | EDP | style="background: lightgreen;" | SUPPORT | N/A | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | LVDS | style="background: lightgreen;" | SUPPORT | N/A | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | MIPI DSI | style="background: lightgreen;" | SUPPORT | N/A | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | CVBS | N/A | style="background: lightgreen;" | SUPPORT | N/A |- | style="text-align: left;" | VGA | N/A | N/A | N/A |- | style="text-align: left;" | HDMI | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | CEC | style="background: red;" | NO | style="background: orange;" | WIP | style="background: red;" | NO |- | colspan="2" style="text-align: left;" | DMA | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | DDR DVFS | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |- | rowspan="2" style="text-align: left;" | Ethernet | style="text-align: left;" | GMAC | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | EMAC | N/A | N/A | N/A |- | colspan="2" style="text-align: left;" | I2S | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left" | I2C | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | MsgBox | N/A | N/A | N/A |- | colspan="2" style="text-align: left;" | Pinctrl | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | PWM | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | Power Domain | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | PCIE | N/A | N/A | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | SD / SDIO / MMC | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | SPDIF | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | SPI | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | SUSPEND / RESUME | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | USB | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | USB OTG | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | TYPEC | N/A | N/A | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | Watchdog | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | GPU | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | VPU | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | RGA | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | IEP | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |} &nbsp; &nbsp; == Mainline Kernel Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! RK3288 ! RK3328 ! RK3399 |- | rowspan="2" style="text-align: left;" | ADC | style="text-align: left;" | SARADC | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | style="text-align: left;" | TSADC | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | Clocks | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | CPUFreq | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | Crypto | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | CSI/ISP | style="background: orange;" | WIP | N/A | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | CIF | style="background: orange;" | WIP | style="background: orange;" | WIP | style="background: orange;" | WIP |- | rowspan="8" style="text-align: left;" | Display (DRM) | style="text-align: left;" | RGB | style="background: red;" | NO | NO | style="background: red;" | NO |- | style="text-align: left;" | EDP | style="background: lightgreen;" | 4.4 | N/A | style="background: lightgreen;" | 4.4 |- | style="text-align: left;" | LVDS | style="background: red;" | NO | N/A | style="background: red;" | NO |- | style="text-align: left;" | MIPI DSI | style="background: lightgreen;" | 4.4 | N/A | style="background: lightgreen;" | 4.4 |- | style="text-align: left;" | CVBS | N/A | style="background: darkgreen;" | INCOMPLETE | N/A |- | style="text-align: left;" | VGA | N/A | N/A | N/A |- | style="text-align: left;" | HDMI | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE |- | style="text-align: left;" | CEC | style="background: red;" | NO | style="background: darkgreen;" | INCOMPLETE | style="background: red;" | NO |- | colspan="2" style="text-align: left;" | DMA | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | DDR DVFS | style="background: red;" | NO | style="background: grey; color: white;" | &nbsp;? | style="background: red;" | NO |- | rowspan="2" style="text-align: left;" | Ethernet | style="text-align: left;" | GMAC | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | style="text-align: left;" | EMAC | N/A | style="background: grey; color: white;" | &nbsp;? | N/A |- | colspan="2" style="text-align: left;" | I2S | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left" | I2C | style="background: lightgreen;" | 4.4 | style="background: orange;" | WIP | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | MsgBox | N/A | style="background: grey; color: white;" | &nbsp;? | N/A |- | colspan="2" style="text-align: left;" | Pinctrl | style="background: lightgreen;" | 4.4 | style="background: orange;" | WIP | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | PWM | style="background: lightgreen;" | 4.4 | style="background: orange;" | WIP | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | Power Domain | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | PCIE | N/A | N/A | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | SD / SDIO / MMC | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | SPDIF | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | SPI | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | SUSPEND / RESUME | style="background: darkgreen;" | INCOMPLETE | style="background: grey; color: white;" | &nbsp;? | style="background: darkgreen;" | INCOMPLETE |- | colspan="2" style="text-align: left;" | USB | style="background: lightgreen;" | 4.4 | style="background: orange;" | WIP | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | USB OTG | style="background: lightgreen;" | 4.4 | style="background: orange;" | WIP | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | TYPEC | N/A | N/A | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | Watchdog | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | GPU | style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE] | style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE] | style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE] |- | colspan="2" style="text-align: left;" | VPU | style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE] | style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE] | style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE] |- | colspan="2" style="text-align: left;" | RGA | style="background: orange;" | WIP | style="background: orange;" | WIP | style="background: orange;" | WIP |- | colspan="2" style="text-align: left;" | IEP | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |} &nbsp; == Linux SDK CHIP Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! RK3288 ! RK3328 ! RK3399 |- | colspan="2" style="text-align: left;" | Debian | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | rowspan="3" style="text-align: left;" | Yocto | style="text-align: left;" | X11 | style="background: lightgreen;" | SUPPORT | style="background: orange;" | WIP | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | QT EGLFS | style="background: lightgreen;" | SUPPORT | style="background: orange;" | WIP | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | WESTON | style="background: darkgreen;" | INCOMPLETE | style="background: orange;" | WIP | style="background: darkgreen;" | INCOMPLETE |- | colspan="2" style="text-align: left;" | Buildroot | N/A | N/A | style="background: lightgreen;" | SUPPORT |- | rowspan="5" style="text-align: left;" | Decode | style="text-align: left;" | H264 | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | H265 | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | VP8 | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | VP9 | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | JPEG | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE |- | rowspan="3" style="text-align: left;" | Encode | style="text-align: left;" | H264 | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE |- | style="text-align: left;" | H265 | N/A | style="background: lightgreen;" | SUPPORT | N/A |- | style="text-align: left;" | JPEG | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |- | colspan="2" style="text-align: left;" | ISP(3A) | style="background: orange;" | WIP | N/A | style="background: orange;" | WIP |} <br/> &nbsp; == Linux&nbsp;Funciton Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! Status |- | rowspan="5" style="text-align: left;" | Gstreamer | style="text-align: left;" | Display | style="background: lightgreen;" | kmssink(qt eglfs),rkximagesink(x11), waylandsink(wayland) |- | style="text-align: left;" | Decode&nbsp; | style="background: lightgreen;" | h264, h265, vp8, vp9, jpeg |- | style="text-align: left;" | Encode | style="background: lightgreen;" | h264 |- | style="text-align: left;" | Camera | style="background: orange;" | Without 3A |- | style="text-align: left;" | Transform | style="background: orange;" | WIP |- | rowspan="2" style="text-align: left;" | GPU | style="text-align: left;" | GLES | style="background: lightgreen;" | libmali |- | style="text-align: left;" | OPENCL | style="background: lightgreen;" | libmali |- | colspan="2" rowspan="1" style="text-align: left;" | QT | style="background: lightgreen;" | QT 5.x |- | colspan="2" style="text-align: left;" | Browser(HTML5 Accelerate) | style="background: orange;" | WIP |- | colspan="2" style="text-align: left;" | IOT(Third part Could Service) | style="background: orange;" | WIP |- | colspan="2" style="text-align: left;" | FFmpeg | style="background: yellow;" | Community |- | colspan="2" style="text-align: left;" | MPV | style="background: yellow;" | Community |- | colspan="2" style="text-align: left;" | KODI | style="background: yellow;" | Community |} &nbsp; &nbsp; &nbsp; e4a09d8c5a278fd5fc6f59779817b35cf2c7970b 1282 1281 2017-08-15T09:33:34Z Sysproduct1 15 wikitext text/x-wiki &nbsp; == Rockchip 4.4 Kernel Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! RK3288 ! RK3328 ! RK3399 |- | rowspan="2" style="text-align: left;" | ADC | style="text-align: left;" | SARADC | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | TSADC | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | Clocks | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | CPUFreq | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | Crypto | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | CSI/ISP | style="background: orange;" | WIP | N/A | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | CIF | style="background: orange;" | WIP | style="background: orange;" | WIP | style="background: orange;" | WIP |- | rowspan="8" style="text-align: left;" | Display (DRM) | style="text-align: left;" | RGB | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | EDP | style="background: lightgreen;" | SUPPORT | N/A | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | LVDS | style="background: lightgreen;" | SUPPORT | N/A | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | MIPI DSI | style="background: lightgreen;" | SUPPORT | N/A | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | CVBS | N/A | style="background: lightgreen;" | SUPPORT | N/A |- | style="text-align: left;" | VGA | N/A | N/A | N/A |- | style="text-align: left;" | HDMI | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | CEC | style="background: red;" | NO | style="background: orange;" | WIP | style="background: red;" | NO |- | colspan="2" style="text-align: left;" | DMA | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | DDR DVFS | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |- | rowspan="2" style="text-align: left;" | Ethernet | style="text-align: left;" | GMAC | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | EMAC | N/A | N/A | N/A |- | colspan="2" style="text-align: left;" | I2S | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left" | I2C | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | MsgBox | N/A | N/A | N/A |- | colspan="2" style="text-align: left;" | Pinctrl | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | PWM | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | Power Domain | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | PCIE | N/A | N/A | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | SD / SDIO / MMC | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | SPDIF | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | SPI | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | SUSPEND / RESUME | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | USB | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | USB OTG | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | TYPEC | N/A | N/A | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | Watchdog | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | GPU | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | VPU | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | RGA | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | IEP | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |} &nbsp; &nbsp; == Mainline Kernel Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! RK3288 ! RK3328 ! RK3399 |- | rowspan="2" style="text-align: left;" | ADC | style="text-align: left;" | SARADC | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | style="text-align: left;" | TSADC | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | Clocks | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | CPUFreq | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | Crypto | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | CSI/ISP | style="background: orange;" | WIP | N/A | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | CIF | style="background: orange;" | WIP | style="background: orange;" | WIP | style="background: orange;" | WIP |- | rowspan="8" style="text-align: left;" | Display (DRM) | style="text-align: left;" | RGB | style="background: red;" | NO | NO | style="background: red;" | NO |- | style="text-align: left;" | EDP | style="background: lightgreen;" | 4.4 | N/A | style="background: lightgreen;" | 4.4 |- | style="text-align: left;" | LVDS | style="background: red;" | NO | N/A | style="background: red;" | NO |- | style="text-align: left;" | MIPI DSI | style="background: lightgreen;" | 4.4 | N/A | style="background: lightgreen;" | 4.4 |- | style="text-align: left;" | CVBS | N/A | style="background: darkgreen;" | INCOMPLETE | N/A |- | style="text-align: left;" | VGA | N/A | N/A | N/A |- | style="text-align: left;" | HDMI | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE |- | style="text-align: left;" | CEC | style="background: red;" | NO | style="background: darkgreen;" | INCOMPLETE | style="background: red;" | NO |- | colspan="2" style="text-align: left;" | DMA | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | DDR DVFS | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |- | rowspan="2" style="text-align: left;" | Ethernet | style="text-align: left;" | GMAC | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | style="text-align: left;" | EMAC | N/A | style="background: grey; color: white;" | &nbsp;? | N/A |- | colspan="2" style="text-align: left;" | I2S | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left" | I2C | style="background: lightgreen;" | 4.4 | style="background: orange;" | WIP | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | MsgBox | N/A | N/A | N/A |- | colspan="2" style="text-align: left;" | Pinctrl | style="background: lightgreen;" | 4.4 | style="background: orange;" | WIP | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | PWM | style="background: lightgreen;" | 4.4 | style="background: orange;" | WIP | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | Power Domain | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | PCIE | N/A | N/A | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | SD / SDIO / MMC | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | SPDIF | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | SPI | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | SUSPEND / RESUME | style="background: darkgreen;" | INCOMPLETE | style="background: grey; color: white;" | &nbsp;? | style="background: darkgreen;" | INCOMPLETE |- | colspan="2" style="text-align: left;" | USB | style="background: lightgreen;" | 4.4 | style="background: orange;" | WIP | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | USB OTG | style="background: lightgreen;" | 4.4 | style="background: orange;" | WIP | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | TYPEC | N/A | N/A | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | Watchdog | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | GPU | style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE] | style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE] | style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE] |- | colspan="2" style="text-align: left;" | VPU | style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE] | style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE] | style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE] |- | colspan="2" style="text-align: left;" | RGA | style="background: orange;" | WIP | style="background: orange;" | WIP | style="background: orange;" | WIP |- | colspan="2" style="text-align: left;" | IEP | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |} &nbsp; == Linux SDK CHIP Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! RK3288 ! RK3328 ! RK3399 |- | colspan="2" style="text-align: left;" | Debian | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | rowspan="3" style="text-align: left;" | Yocto | style="text-align: left;" | X11 | style="background: lightgreen;" | SUPPORT | style="background: orange;" | WIP | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | QT EGLFS | style="background: lightgreen;" | SUPPORT | style="background: orange;" | WIP | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | WESTON | style="background: darkgreen;" | INCOMPLETE | style="background: orange;" | WIP | style="background: darkgreen;" | INCOMPLETE |- | colspan="2" style="text-align: left;" | Buildroot | N/A | N/A | style="background: lightgreen;" | SUPPORT |- | rowspan="5" style="text-align: left;" | Decode | style="text-align: left;" | H264 | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | H265 | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | VP8 | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | VP9 | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | JPEG | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE |- | rowspan="3" style="text-align: left;" | Encode | style="text-align: left;" | H264 | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE |- | style="text-align: left;" | H265 | N/A | style="background: lightgreen;" | SUPPORT | N/A |- | style="text-align: left;" | JPEG | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |- | colspan="2" style="text-align: left;" | ISP(3A) | style="background: orange;" | WIP | N/A | style="background: orange;" | WIP |} <br/> &nbsp; == Linux&nbsp;Funciton Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! Status |- | rowspan="5" style="text-align: left;" | Gstreamer | style="text-align: left;" | Display | style="background: lightgreen;" | kmssink(qt eglfs),rkximagesink(x11), waylandsink(wayland) |- | style="text-align: left;" | Decode&nbsp; | style="background: lightgreen;" | h264, h265, vp8, vp9, jpeg |- | style="text-align: left;" | Encode | style="background: lightgreen;" | h264 |- | style="text-align: left;" | Camera | style="background: orange;" | Without 3A |- | style="text-align: left;" | Transform | style="background: orange;" | WIP |- | rowspan="2" style="text-align: left;" | GPU | style="text-align: left;" | GLES | style="background: lightgreen;" | libmali |- | style="text-align: left;" | OPENCL | style="background: lightgreen;" | libmali |- | colspan="2" rowspan="1" style="text-align: left;" | QT | style="background: lightgreen;" | QT 5.x |- | colspan="2" style="text-align: left;" | Browser(HTML5 Accelerate) | style="background: orange;" | WIP |- | colspan="2" style="text-align: left;" | IOT(Third part Could Service) | style="background: orange;" | WIP |- | colspan="2" style="text-align: left;" | FFmpeg | style="background: yellow;" | Community |- | colspan="2" style="text-align: left;" | MPV | style="background: yellow;" | Community |- | colspan="2" style="text-align: left;" | KODI | style="background: yellow;" | Community |} &nbsp; &nbsp; &nbsp; eca222b23b777e633b8c2853fd71f566143c8d7d 1283 1282 2017-08-15T09:40:38Z Sysproduct1 15 wikitext text/x-wiki &nbsp; == Rockchip 4.4 Kernel Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! RK3288 ! RK3328 ! RK3399 |- | rowspan="2" style="text-align: left;" | ADC | style="text-align: left;" | SARADC | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | TSADC | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | Clocks | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | CPUFreq | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | Crypto | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | CSI/ISP | style="background: orange;" | WIP | N/A | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | CIF | style="background: orange;" | WIP | style="background: orange;" | WIP | style="background: orange;" | WIP |- | rowspan="8" style="text-align: left;" | Display (DRM) | style="text-align: left;" | RGB | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | EDP | style="background: lightgreen;" | SUPPORT | N/A | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | LVDS | style="background: lightgreen;" | SUPPORT | N/A | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | MIPI DSI | style="background: lightgreen;" | SUPPORT | N/A | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | CVBS | N/A | style="background: lightgreen;" | SUPPORT | N/A |- | style="text-align: left;" | VGA | N/A | N/A | N/A |- | style="text-align: left;" | HDMI | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | CEC | style="background: red;" | NO | style="background: orange;" | WIP | style="background: red;" | NO |- | colspan="2" style="text-align: left;" | DMA | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | DDR DVFS | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |- | rowspan="2" style="text-align: left;" | Ethernet | style="text-align: left;" | GMAC | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | EMAC | N/A | N/A | N/A |- | colspan="2" style="text-align: left;" | I2S | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left" | I2C | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | MsgBox | N/A | N/A | N/A |- | colspan="2" style="text-align: left;" | Pinctrl | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | PWM | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | Power Domain | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | PCIE | N/A | N/A | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | SD / SDIO / MMC | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | SPDIF | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | SPI | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | SUSPEND / RESUME | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | USB | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | USB OTG | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | TYPEC | N/A | N/A | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | Watchdog | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | GPU | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | VPU | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | RGA | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | IEP | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |} &nbsp; &nbsp; == Mainline Kernel Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! RK3288 ! RK3328 ! RK3399 |- | rowspan="2" style="text-align: left;" | ADC | style="text-align: left;" | SARADC | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | style="text-align: left;" | TSADC | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | Clocks | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | CPUFreq | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | Crypto | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | CSI/ISP | style="background: orange;" | WIP | N/A | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | CIF | style="background: orange;" | WIP | style="background: orange;" | WIP | style="background: orange;" | WIP |- | rowspan="8" style="text-align: left;" | Display (DRM) | style="text-align: left;" | RGB | style="background: red;" | NO | NO | style="background: red;" | NO |- | style="text-align: left;" | EDP | style="background: lightgreen;" | 4.4 | N/A | style="background: lightgreen;" | 4.4 |- | style="text-align: left;" | LVDS | style="background: red;" | NO | N/A | style="background: red;" | NO |- | style="text-align: left;" | MIPI DSI | style="background: lightgreen;" | 4.4 | N/A | style="background: lightgreen;" | 4.4 |- | style="text-align: left;" | CVBS | N/A | style="background: darkgreen;" | INCOMPLETE | N/A |- | style="text-align: left;" | VGA | N/A | N/A | N/A |- | style="text-align: left;" | HDMI | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE |- | style="text-align: left;" | CEC | style="background: red;" | NO | style="background: darkgreen;" | INCOMPLETE | style="background: red;" | NO |- | colspan="2" style="text-align: left;" | DMA | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | DDR DVFS | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |- | rowspan="2" style="text-align: left;" | Ethernet | style="text-align: left;" | GMAC | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | style="text-align: left;" | EMAC | N/A | style="background: grey; color: white;" | &nbsp;? | N/A |- | colspan="2" style="text-align: left;" | I2S | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left" | I2C | style="background: lightgreen;" | 4.4 | style="background: orange;" | WIP | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | MsgBox | N/A | N/A | N/A |- | colspan="2" style="text-align: left;" | Pinctrl | style="background: lightgreen;" | 4.4 | style="background: orange;" | WIP | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | PWM | style="background: lightgreen;" | 4.4 | style="background: orange;" | WIP | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | Power Domain | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | PCIE | N/A | N/A | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | SD / SDIO / MMC | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | SPDIF | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | SPI | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | SUSPEND / RESUME | style="background: darkgreen;" | INCOMPLETE | style="background: grey; color: white;" | &nbsp;? | style="background: darkgreen;" | INCOMPLETE |- | colspan="2" style="text-align: left;" | USB | style="background: lightgreen;" | 4.4 | style="background: orange;" | WIP | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | USB OTG | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | TYPEC | N/A | N/A | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | Watchdog | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | GPU | style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE] | style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE] | style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE] |- | colspan="2" style="text-align: left;" | VPU | style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE] | style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE] | style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE] |- | colspan="2" style="text-align: left;" | RGA | style="background: orange;" | WIP | style="background: orange;" | WIP | style="background: orange;" | WIP |- | colspan="2" style="text-align: left;" | IEP | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |} &nbsp; == Linux SDK CHIP Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! RK3288 ! RK3328 ! RK3399 |- | colspan="2" style="text-align: left;" | Debian | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | rowspan="3" style="text-align: left;" | Yocto | style="text-align: left;" | X11 | style="background: lightgreen;" | SUPPORT | style="background: orange;" | WIP | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | QT EGLFS | style="background: lightgreen;" | SUPPORT | style="background: orange;" | WIP | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | WESTON | style="background: darkgreen;" | INCOMPLETE | style="background: orange;" | WIP | style="background: darkgreen;" | INCOMPLETE |- | colspan="2" style="text-align: left;" | Buildroot | N/A | N/A | style="background: lightgreen;" | SUPPORT |- | rowspan="5" style="text-align: left;" | Decode | style="text-align: left;" | H264 | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | H265 | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | VP8 | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | VP9 | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | JPEG | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE |- | rowspan="3" style="text-align: left;" | Encode | style="text-align: left;" | H264 | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE |- | style="text-align: left;" | H265 | N/A | style="background: lightgreen;" | SUPPORT | N/A |- | style="text-align: left;" | JPEG | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |- | colspan="2" style="text-align: left;" | ISP(3A) | style="background: orange;" | WIP | N/A | style="background: orange;" | WIP |} <br/> &nbsp; == Linux&nbsp;Funciton Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! Status |- | rowspan="5" style="text-align: left;" | Gstreamer | style="text-align: left;" | Display | style="background: lightgreen;" | kmssink(qt eglfs),rkximagesink(x11), waylandsink(wayland) |- | style="text-align: left;" | Decode&nbsp; | style="background: lightgreen;" | h264, h265, vp8, vp9, jpeg |- | style="text-align: left;" | Encode | style="background: lightgreen;" | h264 |- | style="text-align: left;" | Camera | style="background: orange;" | Without 3A |- | style="text-align: left;" | Transform | style="background: orange;" | WIP |- | rowspan="2" style="text-align: left;" | GPU | style="text-align: left;" | GLES | style="background: lightgreen;" | libmali |- | style="text-align: left;" | OPENCL | style="background: lightgreen;" | libmali |- | colspan="2" rowspan="1" style="text-align: left;" | QT | style="background: lightgreen;" | QT 5.x |- | colspan="2" style="text-align: left;" | Browser(HTML5 Accelerate) | style="background: orange;" | WIP |- | colspan="2" style="text-align: left;" | IOT(Third part Could Service) | style="background: orange;" | WIP |- | colspan="2" style="text-align: left;" | FFmpeg | style="background: yellow;" | Community |- | colspan="2" style="text-align: left;" | MPV | style="background: yellow;" | Community |- | colspan="2" style="text-align: left;" | KODI | style="background: yellow;" | Community |} &nbsp; &nbsp; &nbsp; c4bacbd058d121e1132f9c2c59c038069680743b 1284 1283 2017-08-16T06:21:13Z Sysproduct1 15 wikitext text/x-wiki &nbsp; == Rockchip 4.4 Kernel Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! RK3288 ! RK3328 ! RK3399 |- | rowspan="2" style="text-align: left;" | ADC | style="text-align: left;" | SARADC | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | TSADC | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | Clocks | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | CPUFreq | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | Crypto | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | CSI/ISP | style="background: orange;" | WIP | N/A | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | CIF | style="background: orange;" | WIP | style="background: orange;" | WIP | style="background: orange;" | WIP |- | rowspan="8" style="text-align: left;" | Display (DRM) | style="text-align: left;" | RGB | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | EDP | style="background: lightgreen;" | SUPPORT | N/A | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | LVDS | style="background: lightgreen;" | SUPPORT | N/A | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | MIPI DSI | style="background: lightgreen;" | SUPPORT | N/A | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | CVBS | N/A | style="background: lightgreen;" | SUPPORT | N/A |- | style="text-align: left;" | VGA | N/A | N/A | N/A |- | style="text-align: left;" | HDMI | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | CEC | style="background: red;" | NO | style="background: orange;" | WIP | style="background: red;" | NO |- | colspan="2" style="text-align: left;" | DMA | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | DDR DVFS | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |- | rowspan="2" style="text-align: left;" | Ethernet | style="text-align: left;" | GMAC | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | EMAC | N/A | N/A | N/A |- | colspan="2" style="text-align: left;" | I2S | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left" | I2C | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | MsgBox | N/A | N/A | N/A |- | colspan="2" style="text-align: left;" | Pinctrl | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | PWM | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | Power Domain | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | PCIE | N/A | N/A | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | SD / SDIO / MMC | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | SPDIF | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | SPI | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | SUSPEND / RESUME | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | USB | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | USB OTG | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | TYPEC | N/A | N/A | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | Watchdog | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | GPU | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | VPU | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | RGA | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | IEP | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |} &nbsp; &nbsp; == Mainline Kernel Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! RK3288 ! RK3328 ! RK3399 |- | rowspan="2" style="text-align: left;" | ADC | style="text-align: left;" | SARADC | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | style="text-align: left;" | TSADC | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | Clocks | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | CPUFreq | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | Crypto | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | CSI/ISP | style="background: orange;" | WIP | N/A | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | CIF | style="background: orange;" | WIP | style="background: orange;" | WIP | style="background: orange;" | WIP |- | rowspan="8" style="text-align: left;" | Display (DRM) | style="text-align: left;" | RGB | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |- | style="text-align: left;" | EDP | style="background: lightgreen;" | 4.4 | N/A | style="background: lightgreen;" | 4.4 |- | style="text-align: left;" | LVDS | style="background: red;" | NO | N/A | style="background: red;" | NO |- | style="text-align: left;" | MIPI DSI | style="background: lightgreen;" | 4.4 | N/A | style="background: lightgreen;" | 4.4 |- | style="text-align: left;" | CVBS | N/A | style="background: darkgreen;" | INCOMPLETE | N/A |- | style="text-align: left;" | VGA | N/A | N/A | N/A |- | style="text-align: left;" | HDMI | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE |- | style="text-align: left;" | CEC | style="background: red;" | NO | style="background: darkgreen;" | INCOMPLETE | style="background: red;" | NO |- | colspan="2" style="text-align: left;" | DMA | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | DDR DVFS | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |- | rowspan="2" style="text-align: left;" | Ethernet | style="text-align: left;" | GMAC | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | style="text-align: left;" | EMAC | N/A | style="background: grey; color: white;" | &nbsp;? | N/A |- | colspan="2" style="text-align: left;" | I2S | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left" | I2C | style="background: lightgreen;" | 4.4 | style="background: orange;" | WIP | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | MsgBox | N/A | N/A | N/A |- | colspan="2" style="text-align: left;" | Pinctrl | style="background: lightgreen;" | 4.4 | style="background: orange;" | WIP | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | PWM | style="background: lightgreen;" | 4.4 | style="background: orange;" | WIP | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | Power Domain | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | PCIE | N/A | N/A | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | SD / SDIO / MMC | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | SPDIF | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | SPI | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | SUSPEND / RESUME | style="background: darkgreen;" | INCOMPLETE | style="background: grey; color: white;" | &nbsp;? | style="background: darkgreen;" | INCOMPLETE |- | colspan="2" style="text-align: left;" | USB | style="background: lightgreen;" | 4.4 | style="background: orange;" | WIP | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | USB OTG | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | TYPEC | N/A | N/A | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | Watchdog | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | GPU | style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE] | style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE] | style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE] |- | colspan="2" style="text-align: left;" | VPU | style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE] | style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE] | style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE] |- | colspan="2" style="text-align: left;" | RGA | style="background: orange;" | WIP | style="background: orange;" | WIP | style="background: orange;" | WIP |- | colspan="2" style="text-align: left;" | IEP | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |} &nbsp; == Linux SDK CHIP Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! RK3288 ! RK3328 ! RK3399 |- | colspan="2" style="text-align: left;" | Debian | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | rowspan="3" style="text-align: left;" | Yocto | style="text-align: left;" | X11 | style="background: lightgreen;" | SUPPORT | style="background: orange;" | WIP | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | QT EGLFS | style="background: lightgreen;" | SUPPORT | style="background: orange;" | WIP | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | WESTON | style="background: darkgreen;" | INCOMPLETE | style="background: orange;" | WIP | style="background: darkgreen;" | INCOMPLETE |- | colspan="2" style="text-align: left;" | Buildroot | N/A | N/A | style="background: lightgreen;" | SUPPORT |- | rowspan="5" style="text-align: left;" | Decode | style="text-align: left;" | H264 | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | H265 | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | VP8 | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | VP9 | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | JPEG | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE |- | rowspan="3" style="text-align: left;" | Encode | style="text-align: left;" | H264 | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE |- | style="text-align: left;" | H265 | N/A | style="background: lightgreen;" | SUPPORT | N/A |- | style="text-align: left;" | JPEG | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |- | colspan="2" style="text-align: left;" | ISP(3A) | style="background: orange;" | WIP | N/A | style="background: orange;" | WIP |} <br/> &nbsp; == Linux&nbsp;Funciton Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! Status |- | rowspan="5" style="text-align: left;" | Gstreamer | style="text-align: left;" | Display | style="background: lightgreen;" | kmssink(qt eglfs),rkximagesink(x11), waylandsink(wayland) |- | style="text-align: left;" | Decode&nbsp; | style="background: lightgreen;" | h264, h265, vp8, vp9, jpeg |- | style="text-align: left;" | Encode | style="background: lightgreen;" | h264 |- | style="text-align: left;" | Camera | style="background: orange;" | Without 3A |- | style="text-align: left;" | Transform | style="background: orange;" | WIP |- | rowspan="2" style="text-align: left;" | GPU | style="text-align: left;" | GLES | style="background: lightgreen;" | libmali |- | style="text-align: left;" | OPENCL | style="background: lightgreen;" | libmali |- | colspan="2" rowspan="1" style="text-align: left;" | QT | style="background: lightgreen;" | QT 5.x |- | colspan="2" style="text-align: left;" | Browser(HTML5 Accelerate) | style="background: orange;" | WIP |- | colspan="2" style="text-align: left;" | IOT(Third part Could Service) | style="background: orange;" | WIP |- | colspan="2" style="text-align: left;" | FFmpeg | style="background: yellow;" | Community |- | colspan="2" style="text-align: left;" | MPV | style="background: yellow;" | Community |- | colspan="2" style="text-align: left;" | KODI | style="background: yellow;" | Community |} &nbsp; &nbsp; &nbsp; 0e775a29a26c0f129571c645645b4e3886b7fdad 1285 1284 2017-08-16T06:32:08Z Sysproduct1 15 wikitext text/x-wiki &nbsp; == Rockchip 4.4 Kernel Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! RK3288 ! RK3328 ! RK3399 |- | rowspan="2" style="text-align: left;" | ADC | style="text-align: left;" | SARADC | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | TSADC | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | Clocks | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | CPUFreq | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | Crypto | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | CSI/ISP | style="background: orange;" | WIP | N/A | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | CIF | style="background: orange;" | WIP | style="background: orange;" | WIP | style="background: orange;" | WIP |- | rowspan="8" style="text-align: left;" | Display (DRM) | style="text-align: left;" | RGB | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | EDP | style="background: lightgreen;" | SUPPORT | N/A | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | LVDS | style="background: lightgreen;" | SUPPORT | N/A | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | MIPI DSI | style="background: lightgreen;" | SUPPORT | N/A | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | CVBS | N/A | style="background: lightgreen;" | SUPPORT | N/A |- | style="text-align: left;" | VGA | N/A | N/A | N/A |- | style="text-align: left;" | HDMI | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | CEC | style="background: red;" | NO | style="background: orange;" | WIP | style="background: red;" | NO |- | colspan="2" style="text-align: left;" | DMA | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | DDR DVFS | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |- | rowspan="2" style="text-align: left;" | Ethernet | style="text-align: left;" | GMAC | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | EMAC | N/A | N/A | N/A |- | colspan="2" style="text-align: left;" | I2S | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left" | I2C | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | MsgBox | N/A | N/A | N/A |- | colspan="2" style="text-align: left;" | Pinctrl | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | PWM | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | Power Domain | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | PCIE | N/A | N/A | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | SD / SDIO / MMC | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | SPDIF | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | SPI | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | SUSPEND / RESUME | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | USB | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | USB OTG | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | TYPEC | N/A | N/A | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | Watchdog | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | GPU | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | VPU | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | RGA | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | IEP | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |} &nbsp; &nbsp; == Mainline Kernel Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! RK3288 ! RK3328 ! RK3399 |- | rowspan="2" style="text-align: left;" | ADC | style="text-align: left;" | SARADC | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | style="text-align: left;" | TSADC | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | Clocks | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | CPUFreq | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | Crypto | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | CSI/ISP | style="background: orange;" | WIP | N/A | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | CIF | style="background: orange;" | WIP | style="background: orange;" | WIP | style="background: orange;" | WIP |- | rowspan="8" style="text-align: left;" | Display (DRM) | style="text-align: left;" | RGB | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |- | style="text-align: left;" | EDP | style="background: lightgreen;" | 4.4 | N/A | style="background: lightgreen;" | 4.4 |- | style="text-align: left;" | LVDS | style="background: red;" | NO | N/A | style="background: red;" | NO |- | style="text-align: left;" | MIPI DSI | style="background: lightgreen;" | 4.4 | N/A | style="background: lightgreen;" | 4.4 |- | style="text-align: left;" | CVBS | N/A | style="background: darkgreen;" | INCOMPLETE | N/A |- | style="text-align: left;" | VGA | N/A | N/A | N/A |- | style="text-align: left;" | HDMI | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE |- | style="text-align: left;" | CEC | style="background: red;" | NO | style="background: darkgreen;" | INCOMPLETE | style="background: red;" | NO |- | colspan="2" style="text-align: left;" | DMA | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | DDR DVFS | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |- | rowspan="2" style="text-align: left;" | Ethernet | style="text-align: left;" | GMAC | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | style="text-align: left;" | EMAC | N/A | style="background: grey; color: white;" | &nbsp;? | N/A |- | colspan="2" style="text-align: left;" | I2S | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left" | I2C | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | MsgBox | N/A | N/A | N/A |- | colspan="2" style="text-align: left;" | Pinctrl | style="background: lightgreen;" | 4.4 | style="background: orange;" | WIP | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | PWM | style="background: lightgreen;" | 4.4 | style="background: orange;" | WIP | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | Power Domain | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | PCIE | N/A | N/A | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | SD / SDIO / MMC | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | SPDIF | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | SPI | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | SUSPEND / RESUME | style="background: darkgreen;" | INCOMPLETE | style="background: grey; color: white;" | &nbsp;? | style="background: darkgreen;" | INCOMPLETE |- | colspan="2" style="text-align: left;" | USB | style="background: lightgreen;" | 4.4 | style="background: orange;" | WIP | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | USB OTG | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | TYPEC | N/A | N/A | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | Watchdog | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | GPU | style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE] | style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE] | style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE] |- | colspan="2" style="text-align: left;" | VPU | style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE] | style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE] | style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE] |- | colspan="2" style="text-align: left;" | RGA | style="background: orange;" | WIP | style="background: orange;" | WIP | style="background: orange;" | WIP |- | colspan="2" style="text-align: left;" | IEP | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |} &nbsp; == Linux SDK CHIP Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! RK3288 ! RK3328 ! RK3399 |- | colspan="2" style="text-align: left;" | Debian | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | rowspan="3" style="text-align: left;" | Yocto | style="text-align: left;" | X11 | style="background: lightgreen;" | SUPPORT | style="background: orange;" | WIP | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | QT EGLFS | style="background: lightgreen;" | SUPPORT | style="background: orange;" | WIP | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | WESTON | style="background: darkgreen;" | INCOMPLETE | style="background: orange;" | WIP | style="background: darkgreen;" | INCOMPLETE |- | colspan="2" style="text-align: left;" | Buildroot | N/A | N/A | style="background: lightgreen;" | SUPPORT |- | rowspan="5" style="text-align: left;" | Decode | style="text-align: left;" | H264 | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | H265 | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | VP8 | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | VP9 | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | JPEG | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE |- | rowspan="3" style="text-align: left;" | Encode | style="text-align: left;" | H264 | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE |- | style="text-align: left;" | H265 | N/A | style="background: lightgreen;" | SUPPORT | N/A |- | style="text-align: left;" | JPEG | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |- | colspan="2" style="text-align: left;" | ISP(3A) | style="background: orange;" | WIP | N/A | style="background: orange;" | WIP |} <br/> &nbsp; == Linux&nbsp;Funciton Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! Status |- | rowspan="5" style="text-align: left;" | Gstreamer | style="text-align: left;" | Display | style="background: lightgreen;" | kmssink(qt eglfs),rkximagesink(x11), waylandsink(wayland) |- | style="text-align: left;" | Decode&nbsp; | style="background: lightgreen;" | h264, h265, vp8, vp9, jpeg |- | style="text-align: left;" | Encode | style="background: lightgreen;" | h264 |- | style="text-align: left;" | Camera | style="background: orange;" | Without 3A |- | style="text-align: left;" | Transform | style="background: orange;" | WIP |- | rowspan="2" style="text-align: left;" | GPU | style="text-align: left;" | GLES | style="background: lightgreen;" | libmali |- | style="text-align: left;" | OPENCL | style="background: lightgreen;" | libmali |- | colspan="2" rowspan="1" style="text-align: left;" | QT | style="background: lightgreen;" | QT 5.x |- | colspan="2" style="text-align: left;" | Browser(HTML5 Accelerate) | style="background: orange;" | WIP |- | colspan="2" style="text-align: left;" | IOT(Third part Could Service) | style="background: orange;" | WIP |- | colspan="2" style="text-align: left;" | FFmpeg | style="background: yellow;" | Community |- | colspan="2" style="text-align: left;" | MPV | style="background: yellow;" | Community |- | colspan="2" style="text-align: left;" | KODI | style="background: yellow;" | Community |} &nbsp; &nbsp; &nbsp; d9d6a382402b5ac3dc64eb288b66e69560a63308 1286 1285 2017-08-16T07:49:11Z Sysproduct1 15 wikitext text/x-wiki &nbsp; == Rockchip 4.4 Kernel Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! RK3288 ! RK3328 ! RK3399 |- | rowspan="2" style="text-align: left;" | ADC | style="text-align: left;" | SARADC | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | TSADC | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | Clocks | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | CPUFreq | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | Crypto | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | CSI/ISP | style="background: orange;" | WIP | N/A | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | CIF | style="background: orange;" | WIP | style="background: orange;" | WIP | style="background: orange;" | WIP |- | rowspan="8" style="text-align: left;" | Display (DRM) | style="text-align: left;" | RGB | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | EDP | style="background: lightgreen;" | SUPPORT | N/A | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | LVDS | style="background: lightgreen;" | SUPPORT | N/A | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | MIPI DSI | style="background: lightgreen;" | SUPPORT | N/A | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | CVBS | N/A | style="background: lightgreen;" | SUPPORT | N/A |- | style="text-align: left;" | VGA | N/A | N/A | N/A |- | style="text-align: left;" | HDMI | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | CEC | style="background: red;" | NO | style="background: orange;" | WIP | style="background: red;" | NO |- | colspan="2" style="text-align: left;" | DMA | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | DDR DVFS | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |- | rowspan="2" style="text-align: left;" | Ethernet | style="text-align: left;" | GMAC | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | EMAC | N/A | N/A | N/A |- | colspan="2" style="text-align: left;" | I2S | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left" | I2C | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | MsgBox | N/A | N/A | N/A |- | colspan="2" style="text-align: left;" | Pinctrl | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | PWM | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | Power Domain | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | PCIE | N/A | N/A | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | SD / SDIO / MMC | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | SPDIF | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | SPI | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | SUSPEND / RESUME | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | USB | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | USB OTG | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | TYPEC | N/A | N/A | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | Watchdog | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | GPU | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | VPU | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | RGA | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | IEP | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |} &nbsp; &nbsp; == Mainline Kernel Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! RK3288 ! RK3328 ! RK3399 |- | rowspan="2" style="text-align: left;" | ADC | style="text-align: left;" | SARADC | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | style="text-align: left;" | TSADC | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | Clocks | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | CPUFreq | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | Crypto | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | CSI/ISP | style="background: orange;" | WIP | N/A | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | CIF | style="background: orange;" | WIP | style="background: orange;" | WIP | style="background: orange;" | WIP |- | rowspan="8" style="text-align: left;" | Display (DRM) | style="text-align: left;" | RGB | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |- | style="text-align: left;" | EDP | style="background: lightgreen;" | 4.4 | N/A | style="background: lightgreen;" | 4.4 |- | style="text-align: left;" | LVDS | style="background: red;" | NO | N/A | style="background: red;" | NO |- | style="text-align: left;" | MIPI DSI | style="background: lightgreen;" | 4.4 | N/A | style="background: lightgreen;" | 4.4 |- | style="text-align: left;" | CVBS | N/A | style="background: darkgreen;" | INCOMPLETE | N/A |- | style="text-align: left;" | VGA | N/A | N/A | N/A |- | style="text-align: left;" | HDMI | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE |- | style="text-align: left;" | CEC | style="background: red;" | NO | style="background: darkgreen;" | INCOMPLETE | style="background: red;" | NO |- | colspan="2" style="text-align: left;" | DMA | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | DDR DVFS | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |- | rowspan="2" style="text-align: left;" | Ethernet | style="text-align: left;" | GMAC | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | style="text-align: left;" | EMAC | N/A | style="background: grey; color: white;" | &nbsp;? | N/A |- | colspan="2" style="text-align: left;" | I2S | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left" | I2C | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | MsgBox | N/A | N/A | N/A |- | colspan="2" style="text-align: left;" | Pinctrl | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | PWM | style="background: lightgreen;" | 4.4 | style="background: orange;" | WIP | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | Power Domain | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | PCIE | N/A | N/A | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | SD / SDIO / MMC | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | SPDIF | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | SPI | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | SUSPEND / RESUME | style="background: darkgreen;" | INCOMPLETE | style="background: grey; color: white;" | &nbsp;? | style="background: darkgreen;" | INCOMPLETE |- | colspan="2" style="text-align: left;" | USB | style="background: lightgreen;" | 4.4 | style="background: orange;" | WIP | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | USB OTG | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | TYPEC | N/A | N/A | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | Watchdog | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | GPU | style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE] | style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE] | style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE] |- | colspan="2" style="text-align: left;" | VPU | style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE] | style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE] | style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE] |- | colspan="2" style="text-align: left;" | RGA | style="background: orange;" | WIP | style="background: orange;" | WIP | style="background: orange;" | WIP |- | colspan="2" style="text-align: left;" | IEP | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |} &nbsp; == Linux SDK CHIP Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! RK3288 ! RK3328 ! RK3399 |- | colspan="2" style="text-align: left;" | Debian | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | rowspan="3" style="text-align: left;" | Yocto | style="text-align: left;" | X11 | style="background: lightgreen;" | SUPPORT | style="background: orange;" | WIP | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | QT EGLFS | style="background: lightgreen;" | SUPPORT | style="background: orange;" | WIP | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | WESTON | style="background: darkgreen;" | INCOMPLETE | style="background: orange;" | WIP | style="background: darkgreen;" | INCOMPLETE |- | colspan="2" style="text-align: left;" | Buildroot | N/A | N/A | style="background: lightgreen;" | SUPPORT |- | rowspan="5" style="text-align: left;" | Decode | style="text-align: left;" | H264 | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | H265 | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | VP8 | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | VP9 | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | JPEG | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE |- | rowspan="3" style="text-align: left;" | Encode | style="text-align: left;" | H264 | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE |- | style="text-align: left;" | H265 | N/A | style="background: lightgreen;" | SUPPORT | N/A |- | style="text-align: left;" | JPEG | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |- | colspan="2" style="text-align: left;" | ISP(3A) | style="background: orange;" | WIP | N/A | style="background: orange;" | WIP |} <br/> &nbsp; == Linux&nbsp;Funciton Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! Status |- | rowspan="5" style="text-align: left;" | Gstreamer | style="text-align: left;" | Display | style="background: lightgreen;" | kmssink(qt eglfs),rkximagesink(x11), waylandsink(wayland) |- | style="text-align: left;" | Decode&nbsp; | style="background: lightgreen;" | h264, h265, vp8, vp9, jpeg |- | style="text-align: left;" | Encode | style="background: lightgreen;" | h264 |- | style="text-align: left;" | Camera | style="background: orange;" | Without 3A |- | style="text-align: left;" | Transform | style="background: orange;" | WIP |- | rowspan="2" style="text-align: left;" | GPU | style="text-align: left;" | GLES | style="background: lightgreen;" | libmali |- | style="text-align: left;" | OPENCL | style="background: lightgreen;" | libmali |- | colspan="2" rowspan="1" style="text-align: left;" | QT | style="background: lightgreen;" | QT 5.x |- | colspan="2" style="text-align: left;" | Browser(HTML5 Accelerate) | style="background: orange;" | WIP |- | colspan="2" style="text-align: left;" | IOT(Third part Could Service) | style="background: orange;" | WIP |- | colspan="2" style="text-align: left;" | FFmpeg | style="background: yellow;" | Community |- | colspan="2" style="text-align: left;" | MPV | style="background: yellow;" | Community |- | colspan="2" style="text-align: left;" | KODI | style="background: yellow;" | Community |} &nbsp; &nbsp; &nbsp; 7f1093bf16b15fd74010d9b4f0aaf2f78dcd936c RK3288 0 20 1246 1166 2017-08-04T06:35:51Z Jacob 6 wikitext text/x-wiki {{Infobox SoC | title = RK3288 | image = [[File:rk3288_soc.png|200px]] | manufacturer = Rockcihp | process = 28nm | cpu = Quad-Core ARM Cortex-A17 | ltwo = | extensions = | memory = 2-channel LPDDR3/LPDDR2/DDR3/DDR3L | gpu = ARM Mali-T764 | vpu = | apu = | video = HDMI 1.4, MIPI DSI, LVDS, RGB LCD | audio = I2S, PCM | network = | storage = 4x SD Card, eMMC, NAND | usb = OTG, 2x Host | other = | release_date = June 2014 | website = http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html }} &nbsp; &nbsp; &nbsp; Integrated with a Quad-Core [https://en.wikipedia.org/wiki/ARM_Cortex-A17 Cortex-A17]&nbsp;which up to 1.8GHz and ARMMali-T764&nbsp;which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant&nbsp;interfaces provide&nbsp;a friendly solution for product&nbsp;development. Futhermore &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; = Overview = The RK3288 offers<big><var>&nbsp;</var></big>an extensible, <big><small><tt>leading&nbsp;performance</tt></small></big>, long-standing heritage platform,ideally suited for &nbsp;set-top box solution, tablet and chromebook.The platform is integrated with a Quad-Core Cortex-A17 which up to 1.8GHz and ARM Mali-T764&nbsp;which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant&nbsp;interfaces provide&nbsp;a friendly solution for product&nbsp;development. Futhermore, the power consumption is&nbsp;optimal for applications such as imaging/video, communication and broadband infrastructure,and performance audio applications. &nbsp; &nbsp; = RK3288 SoC Features = {| border="0" cellpadding="1" cellspacing="1" style="width: 972px;" |- | style="width: 530px;" | *CPU: **Quad Core Cortex-A17&nbsp;up to 1.8GHz **32KB L1-Cache **1MB L2-Cache *Internal SRAM **96KB total **First 16KB used by Bootrom when bootup *GPU: **ARM Mali-T764 GPU, with TE, ASTC, AFBC technology **Quad core 3D Graphics engine **Dual core 2D Graphics engine **Comply with&nbsp;OpenGL ES1.1/2.0/3.0, OpenVG1.1, OpenCL, DirectX11 *Display: **4Kx2K@60fpsHDMI2.0 **Up to 3840X2160 display resolution **Support dual-channel LVDS/dual-channel MIPI-DSI/eDP1.1 *Camera: **Support up to 5M pixels **8bits/10bits/12bits raw data interface&nbsp; *Memory: **Dual channels 64-bit DRAM controller **Support DDR3/DDR3L, LPDDR2, LPDDR3 *Connectivity: **Embedded 13M ISP and MIPI-CSI2 interface *Audio: **I2S/PCM with 8 channels | style="width: 429px;" | [[File:3288.png|RTENOTITLE]] |} &nbsp; = Devices = Rockchip: EVB-RK3288 Firefly: [[Firefly-RK3288|Firefly-RK3288]]<br/> [[Rock2_Full|Rock2 Full]]<br/> [[MiQi|MiQi]]<br/> [[Fennec|Fennec]]<br/> [[PhyCORE-RK3288|phyCORE-RK3288]] ASUS: [[ASUS_Tinker|Tinker board]] &nbsp; = Documentation = #[[Media:Rockchip_RK3288_TRM_V1.2_Part1-20170321.pdf|Rockchip RK3288 TRM V1.2 Part1-20170321.pdf]] #[http://opensource.rock-chips.com/images/a/ae/Rk3288_hardware_reference.zip Rk3288_hardware_reference.zip] &nbsp; = Software = See [http://opensource.rock-chips.com/wiki_Linux_user_guide Linux_user_guide] setup Linux OS generally; See [[U-Boot|U-Boot]] guide to develop U-Boot; See [[Rockchip_Kernel|Rockchip kernel]] or [[Upstream_Kernel|Upstream kernel]] to develop kernel; See [[Distribution|Distribution]] to develop and custimize OS. &nbsp; == Board configuration == {| border="1" cellpadding="1" cellspacing="1" class="table_style" |- ! '''board''' ! '''kernel''' ! '''uboot''' ! '''dts''' |- | RK3288_MAINBOARD_V3.0 | rockchip_linux_defconfig | rk3288_linux_defconfig | rk3288-evb-act8846.dts |} &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" class="table_style" |- ! '''chip''' ! '''Kernel eMMC index''' ! '''Kernel SD index''' ! '''Uboot eMMC index''' ! '''Uboot SD index''' ! '''Baud speed''' |- | RK3288 | 1 | 0 | 0 | 1 | 115200 |} = See also = [[RK3328|RK3328]] [[RK3399|RK3399]] = References = #[https://en.wikipedia.org/wiki/ARM_Cortex-A17 https://en.wikipedia.org/wiki/ARM_Cortex-A17] #[http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html] bbf380598e4130b338947101b5cdc8a5db4c6182 File:Rksoc boot storage.jpg 6 155 1247 2017-08-07T08:52:07Z Kever 2 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 Rockchip Kernel 0 104 1253 1179 2017-08-08T04:08:54Z Kever 2 wikitext text/x-wiki = Download Kernel = You can clone the rockchip kernel repository from github which is kernel 4.4 based: <pre>git clone https://github.com/rockchip-linux/kernel.git</pre> = Supported SoCs and Devices = Rockchip kernel 4.4 supports: RK3036, RK3066, RK312X, RK3188, RK322X,[[RK3288|RK3288]], [[RK3328]], RK3368, [[RK3399]] = Configure and Build = You will need to use rockchip_linux_defconfig for Linux OS For ARM v7 <pre>make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- rockchip_linux_defconfig make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- -j4 </pre> For ARM V8 <pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- -j4</pre> Then you can get Image/zImage and dtb file. = Install Boot/kernel = We use distro boot in U-Boot, so we need to make a boot partition for U-Boot with kernel image and dtb inside. <pre>mkdir boot cp arch/arm64/boot/dts/rockchip/rockchip/rk3399-evb.dtb boot/rk3399.dtb cp arch/arm64/boot/Image boot/</pre> Add extlinux/extlinux.conf for distro boot. <pre>mkdir boot/extlinux vi boot/extlinux/extlinux.conf</pre> &nbsp; <pre>label rockchip-kernel-4.4 kernel /Image fdt /rk3399.dtb append earlycon=uart8250,mmio,0xff1a0000 root=dev/mmcblk1p7 rootwait rootfstype=ext4 init=/sbin/init</pre> You need to change the base address of debug UART, root partition for your board. Pls reference to [[Partitions|rockchip Linux parttion definition]]&nbsp;for rootfs partition and where boot to flash. After all these files prepare completely, we write the file to the boot partition &nbsp; == Generate ext2fs&nbsp;boot partition == by genext2fs: <pre>genext2fs -b 32768 -B $((32*1024*1024/32768)) -d boot/ -i 8192 -U boot_rk3399.img</pre> According to Rockchip partition definition, you need to flash this image to boot partiton which offset is 0x8000. &nbsp; == Generate fatfs boot partition == === Generate boot.img in fatfs === Below commands can generate a fatfs boot.img <pre>dd if=/dev/zero of=boot.img bs=1M count=32 sudo mkfs.fat boot.img mkdir tmp sudo mount boot.img tmp/ cp -r boot/* tmp/ umount tmp</pre> Done! Flash this boot.img to boot partition, which is offset 0x8000 in Rockchip partition definition. === Update boot.img via U-Boot in target === After flash and&nbsp;boot the U-Boot, write the gpt table from default partition table <pre>gpt write mmc 1 $partitions gpt verify mmc 1 $partitions</pre> connect target to PC and start the ums in command line: <pre>ums 0 mmc 1:6</pre> We should able to see a device connect to PC, formate and copy data into the partition(dev/sdb6 for example). <pre>sudo mkfs.fat /dev/sdb6 cp -r boot/* /media/machine/9F35-9565/ </pre> Done! &nbsp; == Boot from U-Boot == If you are using genext2fs to genarate the boot.img, you need write the gpt table in U-Boot command line: <pre>gpt write mmc 1 $partitions</pre> Then boot from eMMC or reset: <pre>boot</pre> If everything is OK, you should able to see the U-Boot log like this: <pre>switch to partitions #0, OK mmc0(part 0) is current device Scanning mmc 0:6... Found /extlinux/extlinux.conf Retrieving file: /extlinux/extlinux.conf 205 bytes read in 82 ms (2 KiB/s) 1: upstream-4.10 Retrieving file: /Image 13484040 bytes read in 1833 ms (7 MiB/s) append: earlycon=uart8250,mmio32,0xff1a0000 console=ttyS2,1500000n8 rw root=/dev/mmcblk0p7 rootwait rootfstype=ext4 init=/sbin/init Retrieving file: /rk3399.dtb 61714 bytes read in 54 ms (1.1 MiB/s) ## Flattened Device Tree blob at 01f00000 Booting using the fdt blob at 0x1f00000 Loading Device Tree to 000000007df14000, end 000000007df26111 ... OK Starting kernel ... </pre> 32552cd499c02903c8e467417df2cbdb22912e8a Main Page 0 16 1254 1122 2017-08-08T06:34:51Z Admin 1 wikitext text/x-wiki = '''Source code''' = Rockchip provide open source software on Github including fully support for Linux Based OS: *Github: [https://github.com/rockchip-linux rockchip-linux] You can also find software for Rockchip SoCs from Upstream: *[https://www.kernel.org/ Linux kernel] *[http://www.denx.de/wiki/U-Boot/WebHome U-Boot] *[https://github.com/ARM-software/arm-trusted-firmware ARM Trusted Firmware] If you are using a Chrombook with Rockchip SoC, you can use: *[https://chromium.googlesource.com/chromiumos/third_party/coreboot Chromium OS&nbsp;Coreboot] *[https://chromium.googlesource.com/chromiumos/third_party/kernel Chromium OS kernel] &nbsp; = '''Hardware Document''' = Here are the documents for SoCs, you can find&nbsp;Hardware device/board information on [[Devices|DEVICE PAGE]]. {| border="1" cellpadding="0" cellspacing="0" class="table_style" |- ! style="width:92px;" | <p style="text-align: center;">SoC</p> ! style="width:286px;" | <p style="text-align: center;">Description</p> ! style="width:189px;" | <p style="text-align: center;">Download</p> |- | style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p> | style="width:286px;" | Quad-core Cortex-A17 CPU, MALI-T764 GPU | style="width:189px;" | [[Media:Rockchip_RK3288_TRM_V1.2_Part1-20170321.pdf|TRM]], [[Media:Rockchip_RK3288_Datasheet_V2.2-20170301.pdf|Datasheet]],&nbsp; [[Media:Rk3288_hardware_reference.zip|Schematic&Layout Guide]] |- | style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p> | style="width:286px;" | Quad-core Cortex-A53 CPU,MALI-450MP2 GPU | style="width:189px;" | [[Media:Rockchip_RK3328TRM_V1.1-Part1-20170321.pdf|TRM]], [[Media:Rockchip_RK3328_Datasheet_V1.1-20170309.pdf|Datasheet]],&nbsp; [[Media:Rk3328_hardware_reference.zip|Schematic&Layout Guide]] |- | style="width:92px;" | <p style="text-align: center;">[[RK3399|RK3399]]</p> | style="width:286px;" | Dual-core Cortex-A72, Quad-core Cortex-A53 CPU, MALI-T864 GPU | style="width:189px;" | [[Media:Rockchip_RK3399TRM_V1.4_Part1-20170408.pdf|TRM]], [[Media:Rockchip_RK3399_Datasheet_V1.6-20170301.pdf|Datasheet]],&nbsp; [[Media:Rk3399_hardware_reference.zip|Schematic&Layout Guide]] |} &nbsp; &nbsp; = '''Software development&nbsp;''' = '''&nbsp; &nbsp; &nbsp; &nbsp;Software Status[[Status_Matrix|Matrix]]''' *'''Porting guide for Linux based OS/Distribution''' **[[Linux_user_guide|Linux_user_guide]] **[[Debian|Debian]] **[[Yocto|Yocto]] **[[Buildroot|Buildroot]] **[[Distribution|Other distribution]] *'''BSP module user guide''' **[[U-Boot|U-Boot]]&nbsp; **[[Rockchip_Kernel|Rockchip Kernel]] **[[Upstream_Kernel|Upstream Kernel]] **[[Atf|ARM Trusted&nbsp;Firmware]] *'''Graphics and Multimedia&nbsp;user guide''' **[[Graphics|Graphics and display]] **[[Mpp|Multimedia--Video Codec]] **[[Camera|Multimedia--Camera]] *'''Tool and Firmware Upgrade''' **[[Rockusb|Rockusb]] **[[Rkdeveloptool|Rkdeveloptool]] **[[Boot_option|Boot_option]] '''<span style="font-size:xx-large;">Feedback</span>''' Any question about software module on github, please ask&nbsp;at issue page of github project. If you have any other questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website, Email-to: opensource@rock-chips.com 6002166fb173da834951bd7299472c2b1934675d Xserver 0 114 1265 790 2017-08-09T07:20:39Z Kever 2 wikitext text/x-wiki = Download xserver = Download source code from Rockchip github git&nbsp;repository <pre>git clone https://github.com/rockchip-linux/xserver.git</pre> === Branch rockchip-1.8 === This branch is used for Rockchip Debian SDK, you could easily use it in your Debian. The current xserver version match the one in Debian stretch. But it would work fine with Debian Jessie if you enabled the Debian stretch repository and using x driver(likes fbdev) from it. = Performance = === Without glamor === <pre>200000 reps @ 0.0066 msec (151000.0/sec): 1x1 opaque stippled rectangle (8x8 stipple) 40000 reps @ 0.0286 msec ( 34900.0/sec): 10x10 opaque stippled rectangle (8x8 stipple) 720 reps @ 1.5920 msec ( 628.0/sec): 100x100 opaque stippled rectangle (8x8 stipple) 30 reps @ 43.3108 msec ( 23.1/sec): 500x500 opaque stippled rectangle (8x8 stipple) </pre> === With glamor === <pre>20000 reps @ 0.0634 msec ( 15800.0/sec): 1x1 tiled rectangle (4x4 tile) 20000 reps @ 0.0590 msec ( 16900.0/sec): 10x10 tiled rectangle (4x4 tile) 10800 reps @ 0.1326 msec ( 7540.0/sec): 100x100 tiled rectangle (4x4 tile) 600 reps @ 1.8001 msec ( 556.0/sec): 500x500 tiled rectangle (4x4 tile) </pre> <br/> With the linear growth in points, time-consuming didn‘t have linear growth when enable glamor. === Check whether enable GLAMOR === <pre>cat /var/log/Xorg.0.log | grep glamor </pre> If it shows "glamor initialized", it means the acceleration was enabled. === Why failed to enable === *Kernel space gpu driver is not compatible with userspace(libmali) *Conflict with mesa-egl,mesa-gles. Delete them or make sure libmali is in a high-priority. *Improper depends. Try update libepoxy to 1.31. = How to build xserver = == Cross compile in PC host == We suggestion you to use the Debian build system to build our xserver or you would be too hard to solve dependence problem. You may reference to Debian Package Maintainer Manuel for more information. (Update: now we support build xserver with docker, see&nbsp;[https://github.com/rockchip-linux/docker-rockchip here]&nbsp;) #Install all the build dependency for the xserver. #Install the library mali and development files. You must use the version comes from Rockchip. #Entry the xserver directory. #Build with the Debian build tools. == Local build == apt-get build-dep xserver-xorg &nbsp; = How to debug xserver = You should install a debugging package for xserver-core&nbsp;: xserver-xorg-core-dbg_1.18.4-1_armhf.deb. Also, the Mesa/GL libraries might be involved, installing libgl1-mesa-dri-dbg and libgl1-mesa-glx-dbg might help too. <pre>apt-get install gdb libc6-dbg gdb -p $(pidof X) (inside gdb) set logging overwrite on set logging on break xorg_backtrace continue (X server is stopped from when gdb is attached until "continue" is typed) (do whatever caused the problem) bt full set logging off quit </pre> After this, you get the gdb output in file gdb.txt in the directory where you started gdb (this is what the logging commands did, another solution is to copy-paste the output yourself). Add all this to your bug report, developers will appreciate it. If the backtrace is small, you probably miss several debugging packages, see above. More info please see&nbsp;[https://www.x.org/wiki/Development/Documentation/ServerDebugging/ here]. ==== Untrap signals ==== The X server will by default intercept signals and for instance trap its own crashes and dump a stack trace in /var/log/Xorg.0.log. However, this stack trace is modified by the signal handler itself. To disable this signal interception, add this to your /etc/X11/xorg.conf: <pre>Section "ServerFlags" Option "NoTrapSignals" "true" EndSection </pre> and restart your X server. 39dd0ba63ae29a78dc1be8202fa3232a1615e4cf File:RK3328 Linux-Debian V1.1 Development Guide-20170711.pdf 6 157 1287 2017-08-17T06:24:55Z Sysproduct1 15 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 RK3328 0 24 1288 1206 2017-08-17T06:27:34Z Sysproduct1 15 wikitext text/x-wiki {{Infobox SoC | title = RK3328 | image = [[File:rk3328_soc.png|250px]] | manufacturer = Rockcihp | process = 28nm | cpu = Quad-Core ARM Cortex-A53 | ltwo = | extensions = | memory = DDR3/DDR3L/LPDDR3/DDR4 | gpu = Mali-450MP4 | vpu = 4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps | apu = | video = HDMI 2.0a, | audio = 8 channels I2S/PDM | storage = 4x SD Card, eMMC | usb = 1* USB2.0 otg, 1* USB 2.0 Host, 1* USB 3.0 Host | other = | release_date = December 2016 | website = http://www.rock-chips.com/a/en/products/RK33_Series/2017/0118/829.html | Product Page }} &nbsp; &nbsp; &nbsp; = Overview = RK3328 offers a high-integration and power efficiency&nbsp;SOC for 4K HDR OTT/IPTV. It support HDR10 ,HLG HDR ,&nbsp;4K 10bits 30fps H.264 video decoder and 4K 10bits 60fps H265 video decoder.Comply with lots of high-performance interface,such as multi-channel display with HDMI2.0a, TV Encoder, the Quad-core GPU can acheive&nbsp;high-resolution display and game. == Cortex-A53 == Quad-core Cortex-A53 is integrated with separate Neon and FPU coprocessor, also with shared L2 Cache.&nbsp; &nbsp; = RK3328 SoC Features = {| border="0" cellpadding="1" cellspacing="1" style="width: 972px;" |- | style="width: 530px;" | *CPU: **ARM Cortex-A53&nbsp;Quad-Core&nbsp; **32KB L1&nbsp;I cache and D cache for each CPU **256KB L2 cache *Internal SRAM **32KB total *GPU **&nbsp;Mali-450MP4 **Comply with Open GL ES1.1/2.0 *Multi-Media: **4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps **1080P other video decoders (VC-1, MPEG-1/2/4, VP8) **1080P video encoder for H.264 and H.265 **Support HDR10 ,HLG HDR , Support conversion between SDR and HDR *Display: **HDMI 2.0a for 4K@60Hz with HDCP 1.4/2.2 **Support conversion between Rec.2020 and Rec.709 *Memory: **LPDDR3/DDR3/DDR3L/DDR4 **eMMC 4.51,SDCard, SPI Flash *External interface **USB 2.0 x2 and USB 3.0 x1 **100M Ethernet w/ built-in PHY **Built-in CVBS and audio DAC **8 channels I2S IO and 8 chanel digital PDM input (for MIC array) | style="width: 429px;" | [[File:3328.png|RTENOTITLE]] |} &nbsp; &nbsp; &nbsp; = Devices = PINE64:&nbsp;[[ROCK64|ROCK64]] &nbsp; &nbsp; = Documentation = #[http://opensource.rock-chips.com/images/d/d7/Rockchip_RK3328_Datasheet_V1.1-20170309.pdf Rockchip_RK3328_Datasheet_V1.1-20170309.pdf] #[http://opensource.rock-chips.com/images/d/d5/RK3328_Linux-Debian_V1.1_Development_Guide-20170711.pdf RK3328_Linux-Debian_V1.1_Development_Guide-20170711.pdf] &nbsp; &nbsp; &nbsp; = Software = See [[Linux_user_guide|Linux_user_guide]] setup Linux OS generally; See [[U-Boot|U-Boot]] guide to develop U-Boot; See [[Rockchip_Kernel|Rockchip kernel]] or [[Upstream_Kernel|Upstream kernel]] to develop kernel; See [[Distribution|Distribution]] to develop and custimize OS. == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" class="table_style" |- ! '''board''' ! '''kernel''' ! '''uboot''' ! '''dts''' |- | RK_EVB_RK3228H_BOX_RK805_DDR3 | rockchip_linux_defconfig | rk3328_linux_defconfig | rk3328-evb.dts |} &nbsp; &nbsp; &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" class="table_style" |- ! '''chip''' ! '''Kernel eMMC index''' ! '''Kernel SD index''' ! '''Uboot eMMC index''' ! '''Uboot SD index''' ! '''Baud speed''' |- | RK3328 | 2 | 0 | 0 | 1 | 1500000 |} &nbsp; = See also = [[RK3288|RK3288]] [[RK3399|RK3399]] = References = 1.[https://en.wikipedia.org/wiki/ARM_Cortex-A53 https://en.wikipedia.org/wiki/ARM_Cortex-A53] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 0f8b0f15baf00c4b039022820115bcb1929df0d9 Rockusb 0 122 1289 1118 2017-08-21T03:54:30Z Karen 3 wikitext text/x-wiki = Introduce = Rockusb is a vendor specific USB class from Rockchip, which is for firmware dowmload for Rockchip SoCs. = Get into Rockusb = There are two cases for&nbsp;Rockchip SoCs to get into Rockusb. *maskrom mode, no firmware found on chip, target run maskrom rockusb driver; *miniLoader rockusb mode, target run miniloader rockusb driver. *uboot rockusb mode, WIP, only available in Rockchip legacy version U-Boot. &nbsp; == Maskrom mode == If&nbsp;there is no bootable&nbsp;firmware found on board, the SoC will run&nbsp;Rockusb driver&nbsp;automatically, we call it Bootrom mode or Maskrom mode. If firmware is at somewhere of the board,&nbsp;in order to get into this mode, we can do something to prevent cpu read the firmware successful: *for sd-card, unplug the sd-card; *for eMMC, short the eMMC clock to GND; *for NAND, short the data line or clock line; *for SPI, short the spi signal to GND; *By "reboot bootrom" command in U-Boot and Kernel, WIP. *erase bootable region with non-bootable data&nbsp;in eMMC or other media devices In Maskrom mode, the DRAM is not available, so the download size is limit by the internal memory size. Use db command in rkdeveloptool, system will init the DRAM and run into usbplug(with rockusb driver) mode which have no size limitation in download size. &nbsp; == Miniloader Rockusb&nbsp;mode == The miniloader&nbsp;has Rockusb driver inside, system will run rockusb driver after power on if: - &nbsp;there is no next stage firmware found. erase bootable data in U-Boot: <pre style="margin-left: 40px;">mmc erase 0x4000 0x2000</pre> - &nbsp;run "reboot loader" command in kernel. NOTE: In this miniloader rockusb, the offset for rkdeveloptool&nbsp;is not the phisical address, the physical offset 0~0x2000 is no able to write by wl command; '''The physical address of &nbsp;offset in&nbsp;''wl'' command is&nbsp;the offset plus 0x2000''', eg: "rkdeveloptool wl 0x2000 uboot.img" will write uboot.img to emmc 0x4000 address. Rockusb driver support in U-Boot is WIP, if done, we can also enter bootloader mode with U-Boot. == Usbplug mode == The usbplug is a firmware used for USB download with rkdeveloptool db command, with rockusb driver inside, the DRAM already initialized in this mode. = USB ID = Rockchip Vendor ID is 0x2207, and the product ID for different SoCs are different. Rockusb product ID: *RK3288: 0x320a *RK3328: 0x320c *RK3399: 0x330c Please use ''lsusb ''command in Linux PC to check if there is a Rockusb device connect. = Firmware download = [[Rkdeveloptool|rkdeveloptool]] is the tool to do the firmware upgrade for Rockchip SoCs which is using Rockusb protocol via USB. Please follow the steps for boot from eMMC for how to use the tool. 11d9d3aceaf34b2f3983d361f3a247079cad10aa 1290 1289 2017-08-21T03:57:53Z Karen 3 wikitext text/x-wiki = Introduce = Rockusb is a vendor specific USB class from Rockchip, which is for firmware dowmload for Rockchip SoCs. = Get into Rockusb = There are two cases for&nbsp;Rockchip SoCs to get into Rockusb. *maskrom mode, no firmware found on chip, target run maskrom rockusb driver; *miniLoader rockusb mode, target run miniloader rockusb driver. *uboot rockusb mode, WIP, only available in Rockchip legacy version U-Boot. &nbsp; == Maskrom mode == If&nbsp;there is no bootable&nbsp;firmware found on board, the SoC will run&nbsp;Rockusb driver&nbsp;automatically, we call it Bootrom mode or Maskrom mode. If firmware is at somewhere of the board,&nbsp;in order to get into this mode, we can do something to prevent cpu read the firmware successful: *for sd-card, unplug the sd-card; *for eMMC, short the eMMC clock to GND; *for NAND, short the data line or clock line; *for SPI, short the spi signal to GND; *By "reboot bootrom" command in U-Boot and Kernel, WIP. *erase bootable region with non-bootable data&nbsp;in eMMC or other media devices In Maskrom mode, the DRAM is not available, so the download size is limit by the internal memory size. Use db command in rkdeveloptool, system will init the DRAM and run into usbplug(with rockusb driver) mode which have no size limitation in download size. &nbsp; == Miniloader Rockusb&nbsp;mode == The miniloader&nbsp;has Rockusb driver inside, system will run rockusb driver after power on if: - &nbsp;there is no next stage firmware found. erase bootable data in U-Boot: <pre style="margin-left: 40px;">mmc erase 0x4000 0x2000</pre> - &nbsp;run "reboot loader" command in kernel. NOTE: In this miniloader rockusb, the offset for rkdeveloptool&nbsp;is not the physical address, the physical offset 0~0x2000 is no able to write by wl command; '''The physical address of &nbsp;offset in&nbsp;''wl'' command is&nbsp;the offset plus 0x2000''', eg: "rkdeveloptool wl 0x2000 uboot.img" will write uboot.img to emmc 0x4000 address. Rockusb driver support in U-Boot is WIP, if done, we can also enter bootloader mode with U-Boot. == Usbplug mode == The usbplug is a firmware used for USB download with rkdeveloptool db command, with rockusb driver inside, the DRAM already initialized in this mode. = USB ID = Rockchip Vendor ID is 0x2207, and the product ID for different SoCs are different. Rockusb product ID: *RK3288: 0x320a *RK3328: 0x320c *RK3399: 0x330c Please use ''lsusb ''command in Linux PC to check if there is a Rockusb device connect. = Firmware download = [[Rkdeveloptool|rkdeveloptool]] is the tool to do the firmware upgrade for Rockchip SoCs which is using Rockusb protocol via USB. Please follow the steps for boot from eMMC for how to use the tool. cf4e616cdc7f2361ad9df0465f16bc73166a3400 1291 1290 2017-08-21T06:59:45Z Karen 3 wikitext text/x-wiki = Introduce = Rockusb is a vendor specific USB class from Rockchip, which is for firmware dowmload for Rockchip SoCs. = Get into Rockusb = There are two cases for&nbsp;Rockchip SoCs to get into Rockusb. *maskrom mode, no firmware found on chip, target run maskrom rockusb driver; *miniLoader rockusb mode, target run miniloader rockusb driver. *uboot rockusb mode, WIP, only available in Rockchip legacy version U-Boot. &nbsp; == Maskrom mode == If&nbsp;there is no bootable&nbsp;firmware found on board, the SoC will run&nbsp;Rockusb driver&nbsp;automatically, we call it Bootrom mode or Maskrom mode. If firmware is at somewhere of the board,&nbsp;in order to get into this mode, we can do something to prevent cpu read the firmware successful: *for SD-card, unplug the SD-card; *for eMMC, short the eMMC clock to GND; *for NAND, short the data line or clock line; *for SPI, short the spi signal to GND; *By "reboot bootrom" command in U-Boot and Kernel, WIP. *erase bootable region with non-bootable data&nbsp;in eMMC or other media devices In Maskrom mode, the DRAM is not available, so the download size is limit by the internal memory size. Use db command in rkdeveloptool, system will init the DRAM and run into usbplug(with rockusb driver) mode which have no size limitation in download size. &nbsp; == Miniloader Rockusb&nbsp;mode == The miniloader&nbsp;has Rockusb driver inside, system will run rockusb driver after power on if: - &nbsp;there is no next stage firmware found. erase bootable data in U-Boot: <pre style="margin-left: 40px;">mmc erase 0x4000 0x2000</pre> - &nbsp;run "reboot loader" command in kernel. NOTE: In this miniloader rockusb, the offset for rkdeveloptool&nbsp;is not the physical address, the physical offset 0~0x2000 is no able to write by wl command; '''The physical address of &nbsp;offset in&nbsp;''wl'' command is&nbsp;the offset plus 0x2000''', eg: "rkdeveloptool wl 0x2000 uboot.img" will write uboot.img to emmc 0x4000 address. Rockusb driver support in U-Boot is WIP, if done, we can also enter bootloader mode with U-Boot. == Usbplug mode == The usbplug is a firmware used for USB download with rkdeveloptool db command, with rockusb driver inside, the DRAM already initialized in this mode. = USB ID = Rockchip Vendor ID is 0x2207, and the product ID for different SoCs are different. Rockusb product ID: *RK3288: 0x320a *RK3328: 0x320c *RK3399: 0x330c Please use ''lsusb ''command in Linux PC to check if there is a Rockusb device connect. = Firmware download = [[Rkdeveloptool|rkdeveloptool]] is the tool to do the firmware upgrade for Rockchip SoCs which is using Rockusb protocol via USB. Please follow the steps for boot from eMMC for how to use the tool. 487811ac9c368a4d49c62e4d0ed67854b774eff7 Rockchip Kernel 0 104 1292 1253 2017-08-22T07:54:32Z Karen 3 wikitext text/x-wiki = Download Kernel = You can clone the rockchip kernel repository from github which is kernel 4.4 based: <pre>git clone https://github.com/rockchip-linux/kernel.git</pre> = Supported SoCs and Devices = Rockchip kernel 4.4 supports: RK3036, RK3066, RK312X, RK3188, RK322X,[[RK3288|RK3288]], [[RK3328]], RK3368, [[RK3399]] = Configure and Build = You will need to use rockchip_linux_defconfig for Linux OS For ARM v7 <pre>make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- rockchip_linux_defconfig make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- -j4 </pre> For ARM V8 <pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- -j4</pre> Then you can get Image/zImage and dtb file. = Install Boot/kernel = We use distro boot in U-Boot, so we need to make a boot partition for U-Boot with kernel image and dtb inside. <pre>mkdir boot cp arch/arm64/boot/dts/rockchip/rk3399-evb.dtb boot/rk3399.dtb cp arch/arm64/boot/Image boot/</pre> Add extlinux/extlinux.conf for distro boot. <pre>mkdir boot/extlinux vi boot/extlinux/extlinux.conf</pre> &nbsp; <pre>label rockchip-kernel-4.4 kernel /Image fdt /rk3399.dtb append earlycon=uart8250,mmio,0xff1a0000 root=dev/mmcblk1p7 rootwait rootfstype=ext4 init=/sbin/init</pre> You need to change the base address of debug UART, root partition for your board. Pls reference to [[Partitions|rockchip Linux parttion definition]]&nbsp;for rootfs partition and where boot to flash. After all these files prepare completely, we write the file to the boot partition &nbsp; == Generate ext2fs&nbsp;boot partition == by genext2fs: <pre>genext2fs -b 32768 -B $((32*1024*1024/32768)) -d boot/ -i 8192 -U boot_rk3399.img</pre> According to Rockchip partition definition, you need to flash this image to boot partiton which offset is 0x8000. &nbsp; == Generate fatfs boot partition == === Generate boot.img in fatfs === Below commands can generate a fatfs boot.img <pre>dd if=/dev/zero of=boot.img bs=1M count=32 sudo mkfs.fat boot.img mkdir tmp sudo mount boot.img tmp/ cp -r boot/* tmp/ umount tmp</pre> Done! Flash this boot.img to boot partition, which is offset 0x8000 in Rockchip partition definition. === Update boot.img via U-Boot in target === After flash and&nbsp;boot the U-Boot, write the gpt table from default partition table <pre>gpt write mmc 1 $partitions gpt verify mmc 1 $partitions</pre> connect target to PC and start the ums in command line: <pre>ums 0 mmc 1:6</pre> We should able to see a device connect to PC, formate and copy data into the partition(dev/sdb6 for example). <pre>sudo mkfs.fat /dev/sdb6 cp -r boot/* /media/machine/9F35-9565/ </pre> Done! &nbsp; == Boot from U-Boot == If you are using genext2fs to genarate the boot.img, you need write the gpt table in U-Boot command line: <pre>gpt write mmc 1 $partitions</pre> Then boot from eMMC or reset: <pre>boot</pre> If everything is OK, you should able to see the U-Boot log like this: <pre>switch to partitions #0, OK mmc0(part 0) is current device Scanning mmc 0:6... Found /extlinux/extlinux.conf Retrieving file: /extlinux/extlinux.conf 205 bytes read in 82 ms (2 KiB/s) 1: upstream-4.10 Retrieving file: /Image 13484040 bytes read in 1833 ms (7 MiB/s) append: earlycon=uart8250,mmio32,0xff1a0000 console=ttyS2,1500000n8 rw root=/dev/mmcblk0p7 rootwait rootfstype=ext4 init=/sbin/init Retrieving file: /rk3399.dtb 61714 bytes read in 54 ms (1.1 MiB/s) ## Flattened Device Tree blob at 01f00000 Booting using the fdt blob at 0x1f00000 Loading Device Tree to 000000007df14000, end 000000007df26111 ... OK Starting kernel ... </pre> ea81236550ac3b89f0bb931a8a4b677eb0fe7c7a 1317 1292 2017-10-02T14:08:42Z Jacob 6 wikitext text/x-wiki = Download Kernel = You can clone the rockchip kernel repository from github which is kernel 4.4 based: <pre>git clone https://github.com/rockchip-linux/kernel.git</pre> &nbsp; = Supported SoCs and Devices = Rockchip kernel 4.4 supports: RK3036, RK3066, RK312X, RK3188, RK322X,[[RK3288|RK3288]], [[RK3328|RK3328]], RK3368, [[RK3399|RK3399]] &nbsp; = Configure and Build = You will need to use rockchip_linux_defconfig for Linux OS For ARM v7 <pre>make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- rockchip_linux_defconfig make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- -j4 </pre> For ARM V8 <pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- -j4</pre> Then you can get Image/zImage and dtb file. &nbsp; &nbsp; = Install Boot/kernel = We use distro boot in U-Boot, so we need to make a boot partition for U-Boot with kernel image and dtb inside. <pre>mkdir boot cp arch/arm64/boot/dts/rockchip/rk3399-evb.dtb boot/rk3399.dtb cp arch/arm64/boot/Image boot/</pre> Add extlinux/extlinux.conf for distro boot. <pre>mkdir boot/extlinux vi boot/extlinux/extlinux.conf</pre> &nbsp; <pre>label rockchip-kernel-4.4 kernel /Image fdt /rk3399.dtb append earlycon=uart8250,mmio,0xff1a0000 root=dev/mmcblk1p7 rootwait rootfstype=ext4 init=/sbin/init</pre> You need to change the base address of debug UART, root partition for your board. Pls reference to [[Partitions|rockchip Linux parttion definition]]&nbsp;for rootfs partition and where boot to flash. After all these files prepare completely, we write the file to the boot partition &nbsp; == Generate ext2fs&nbsp;boot partition == by genext2fs: <pre>genext2fs -b 32768 -B $((32*1024*1024/32768)) -d boot/ -i 8192 -U boot_rk3399.img</pre> According to Rockchip partition definition, you need to flash this image to boot partiton which offset is 0x8000. &nbsp; == Generate fatfs boot partition == === Generate boot.img in fatfs === Below commands can generate a fatfs boot.img <pre>dd if=/dev/zero of=boot.img bs=1M count=32 sudo mkfs.fat boot.img mkdir tmp sudo mount boot.img tmp/ cp -r boot/* tmp/ umount tmp</pre> Done! Flash this boot.img to boot partition, which is offset 0x8000 in Rockchip partition definition. === Update boot.img via U-Boot in target === After flash and&nbsp;boot the U-Boot, write the gpt table from default partition table <pre>gpt write mmc 1 $partitions gpt verify mmc 1 $partitions</pre> connect target to PC and start the ums in command line: <pre>ums 0 mmc 1:6</pre> We should able to see a device connect to PC, formate and copy data into the partition(dev/sdb6 for example). <pre>sudo mkfs.fat /dev/sdb6 cp -r boot/* /media/machine/9F35-9565/ </pre> Done! &nbsp; == Boot from U-Boot == If you are using genext2fs to genarate the boot.img, you need write the gpt table in U-Boot command line: <pre>gpt write mmc 1 $partitions</pre> Then boot from eMMC or reset: <pre>boot</pre> If everything is OK, you should able to see the U-Boot log like this: <pre>switch to partitions #0, OK mmc0(part 0) is current device Scanning mmc 0:6... Found /extlinux/extlinux.conf Retrieving file: /extlinux/extlinux.conf 205 bytes read in 82 ms (2 KiB/s) 1: upstream-4.10 Retrieving file: /Image 13484040 bytes read in 1833 ms (7 MiB/s) append: earlycon=uart8250,mmio32,0xff1a0000 console=ttyS2,1500000n8 rw root=/dev/mmcblk0p7 rootwait rootfstype=ext4 init=/sbin/init Retrieving file: /rk3399.dtb 61714 bytes read in 54 ms (1.1 MiB/s) ## Flattened Device Tree blob at 01f00000 Booting using the fdt blob at 0x1f00000 Loading Device Tree to 000000007df14000, end 000000007df26111 ... OK Starting kernel ... </pre> &nbsp; = See also: = [[Rga|RGA]] d96f57407da93d7e68a65124a66aead549475537 1318 1317 2017-10-02T14:08:59Z Jacob 6 wikitext text/x-wiki = Download Kernel = You can clone the rockchip kernel repository from github which is kernel 4.4 based: <pre>git clone https://github.com/rockchip-linux/kernel.git</pre> &nbsp; = Supported SoCs and Devices = Rockchip kernel 4.4 supports: RK3036, RK3066, RK312X, RK3188, RK322X,[[RK3288|RK3288]], [[RK3328|RK3328]], RK3368, [[RK3399|RK3399]] &nbsp; = Configure and Build = You will need to use rockchip_linux_defconfig for Linux OS For ARM v7 <pre>make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- rockchip_linux_defconfig make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- -j4 </pre> For ARM V8 <pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- -j4</pre> Then you can get Image/zImage and dtb file. &nbsp; &nbsp; = Install Boot/kernel = We use distro boot in U-Boot, so we need to make a boot partition for U-Boot with kernel image and dtb inside. <pre>mkdir boot cp arch/arm64/boot/dts/rockchip/rk3399-evb.dtb boot/rk3399.dtb cp arch/arm64/boot/Image boot/</pre> Add extlinux/extlinux.conf for distro boot. <pre>mkdir boot/extlinux vi boot/extlinux/extlinux.conf</pre> &nbsp; <pre>label rockchip-kernel-4.4 kernel /Image fdt /rk3399.dtb append earlycon=uart8250,mmio,0xff1a0000 root=dev/mmcblk1p7 rootwait rootfstype=ext4 init=/sbin/init</pre> You need to change the base address of debug UART, root partition for your board. Pls reference to [[Partitions|rockchip Linux parttion definition]]&nbsp;for rootfs partition and where boot to flash. After all these files prepare completely, we write the file to the boot partition &nbsp; == Generate ext2fs&nbsp;boot partition == by genext2fs: <pre>genext2fs -b 32768 -B $((32*1024*1024/32768)) -d boot/ -i 8192 -U boot_rk3399.img</pre> According to Rockchip partition definition, you need to flash this image to boot partiton which offset is 0x8000. &nbsp; == Generate fatfs boot partition == === Generate boot.img in fatfs === Below commands can generate a fatfs boot.img <pre>dd if=/dev/zero of=boot.img bs=1M count=32 sudo mkfs.fat boot.img mkdir tmp sudo mount boot.img tmp/ cp -r boot/* tmp/ umount tmp</pre> Done! Flash this boot.img to boot partition, which is offset 0x8000 in Rockchip partition definition. === Update boot.img via U-Boot in target === After flash and&nbsp;boot the U-Boot, write the gpt table from default partition table <pre>gpt write mmc 1 $partitions gpt verify mmc 1 $partitions</pre> connect target to PC and start the ums in command line: <pre>ums 0 mmc 1:6</pre> We should able to see a device connect to PC, formate and copy data into the partition(dev/sdb6 for example). <pre>sudo mkfs.fat /dev/sdb6 cp -r boot/* /media/machine/9F35-9565/ </pre> Done! &nbsp; == Boot from U-Boot == If you are using genext2fs to genarate the boot.img, you need write the gpt table in U-Boot command line: <pre>gpt write mmc 1 $partitions</pre> Then boot from eMMC or reset: <pre>boot</pre> If everything is OK, you should able to see the U-Boot log like this: <pre>switch to partitions #0, OK mmc0(part 0) is current device Scanning mmc 0:6... Found /extlinux/extlinux.conf Retrieving file: /extlinux/extlinux.conf 205 bytes read in 82 ms (2 KiB/s) 1: upstream-4.10 Retrieving file: /Image 13484040 bytes read in 1833 ms (7 MiB/s) append: earlycon=uart8250,mmio32,0xff1a0000 console=ttyS2,1500000n8 rw root=/dev/mmcblk0p7 rootwait rootfstype=ext4 init=/sbin/init Retrieving file: /rk3399.dtb 61714 bytes read in 54 ms (1.1 MiB/s) ## Flattened Device Tree blob at 01f00000 Booting using the fdt blob at 0x1f00000 Loading Device Tree to 000000007df14000, end 000000007df26111 ... OK Starting kernel ... </pre> &nbsp; = See also = [[Rga|RGA]] f338645a75677330049b3d60366867da8e3d9509 1432 1318 2017-10-11T01:52:22Z Jacob 6 wikitext text/x-wiki = Download Kernel = You can clone the rockchip kernel repository from github which is kernel 4.4 based: <pre>git clone https://github.com/rockchip-linux/kernel.git</pre> &nbsp; = Supported SoCs and Devices = Rockchip kernel 4.4 supports: RK3036, RK3066, RK312X, RK3188, RK322X,[[RK3288|RK3288]], [[RK3328|RK3328]], RK3368, [[RK3399|RK3399]] &nbsp; = Configure and Build = You will need to use rockchip_linux_defconfig for Linux OS For ARM v7 <pre>make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- rockchip_linux_defconfig make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- -j4 </pre> For ARM V8 <pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- -j4</pre> Then you can get Image/zImage and dtb file. &nbsp; &nbsp; = Install Boot/kernel = We use distro boot in U-Boot, so we need to make a boot partition for U-Boot with kernel image and dtb inside. <pre>mkdir boot cp arch/arm64/boot/dts/rockchip/rk3399-evb.dtb boot/rk3399.dtb cp arch/arm64/boot/Image boot/</pre> Add extlinux/extlinux.conf for distro boot. <pre>mkdir boot/extlinux vi boot/extlinux/extlinux.conf</pre> &nbsp; <pre>label rockchip-kernel-4.4 kernel /Image fdt /rk3399.dtb append earlycon=uart8250,mmio,0xff1a0000 root=dev/mmcblk1p7 rootwait rootfstype=ext4 init=/sbin/init</pre> You need to change the base address of debug UART, root partition for your board. Pls reference to [[Partitions|rockchip Linux parttion definition]]&nbsp;for rootfs partition and where boot to flash. After all these files prepare completely, we write the file to the boot partition &nbsp; == Generate ext2fs&nbsp;boot partition == by genext2fs: <pre>genext2fs -b 32768 -B $((32*1024*1024/32768)) -d boot/ -i 8192 -U boot_rk3399.img</pre> According to Rockchip partition definition, you need to flash this image to boot partiton which offset is 0x8000. &nbsp; == Generate fatfs boot partition == === Generate boot.img in fatfs === Below commands can generate a fatfs boot.img <pre>dd if=/dev/zero of=boot.img bs=1M count=32 sudo mkfs.fat boot.img mkdir tmp sudo mount boot.img tmp/ cp -r boot/* tmp/ umount tmp</pre> Done! Flash this boot.img to boot partition, which is offset 0x8000 in Rockchip partition definition. === Update boot.img via U-Boot in target === After flash and&nbsp;boot the U-Boot, write the gpt table from default partition table <pre>gpt write mmc 1 $partitions gpt verify mmc 1 $partitions</pre> connect target to PC and start the ums in command line: <pre>ums 0 mmc 1:6</pre> We should able to see a device connect to PC, formate and copy data into the partition(dev/sdb6 for example). <pre>sudo mkfs.fat /dev/sdb6 cp -r boot/* /media/machine/9F35-9565/ </pre> Done! &nbsp; == Boot from U-Boot == If you are using genext2fs to genarate the boot.img, you need write the gpt table in U-Boot command line: <pre>gpt write mmc 1 $partitions</pre> Then boot from eMMC or reset: <pre>boot</pre> If everything is OK, you should able to see the U-Boot log like this: <pre>switch to partitions #0, OK mmc0(part 0) is current device Scanning mmc 0:6... Found /extlinux/extlinux.conf Retrieving file: /extlinux/extlinux.conf 205 bytes read in 82 ms (2 KiB/s) 1: upstream-4.10 Retrieving file: /Image 13484040 bytes read in 1833 ms (7 MiB/s) append: earlycon=uart8250,mmio32,0xff1a0000 console=ttyS2,1500000n8 rw root=/dev/mmcblk0p7 rootwait rootfstype=ext4 init=/sbin/init Retrieving file: /rk3399.dtb 61714 bytes read in 54 ms (1.1 MiB/s) ## Flattened Device Tree blob at 01f00000 Booting using the fdt blob at 0x1f00000 Loading Device Tree to 000000007df14000, end 000000007df26111 ... OK Starting kernel ... </pre> &nbsp; 70bbae830d9ea42fc150cd7a08897a474124e143 Distribution 0 105 1293 1264 2017-08-23T08:49:54Z Kever 2 wikitext text/x-wiki The release rootfs image is based on linaro-alip-jessie.If you want to use other distributions, you need to compile and install components we provide.Do not install the deb under rk-rootfs-build directly. We currently provide several components, the guide below only help you make xserver work.<br/> For more details Please refer to each package's wiki. There are also many other districbutions support by community or developers. = ARCH Linux = Here is the guide from Arch Linux to support RK3288 and RK3399 based Chromebook: [https://archlinuxarm.org/platforms/armv7/rockchip https://archlinuxarm.org/platforms/armv7/rockchip] [https://archlinuxarm.org/platforms/armv8/rockchip/ https://archlinuxarm.org/platforms/armv8/rockchip/] and source code here: [https://www.google.com/url?q=https://github.com/archlinuxarm/PKGBUILDs/tree/master/core/linux-gru&sa=D&sntz=1&usg=AFQjCNE-M4mxRkDn10G8xLOVN02TsJJKag https://github.com/archlinuxarm/PKGBUILDs/tree/master/core/linux-gru] &nbsp; = Fedora = Here is the guide from Fedora to support RK3288 chromebook: [https://fedoraproject.org/wiki/Architectures/ARM/Chromebook https://fedoraproject.org/wiki/Architectures/ARM/Chromebook] &nbsp; = Ubuntu 16.04 = download and extract ubuntu-xenial <pre>wget http://cdimage.ubuntu.com/ubuntu-base/releases/16.04/release/ubuntu-base-16.04-core-armhf.tar.gz sudo tar -xpf ubuntu-base-16.04-core-armhf.tar.gz </pre> copy qemu <pre>sudo apt-get install qemu-user-static sudo cp /usr/bin/qemu-arm-static usr/bin/ </pre> copy host's dns to rootfs <pre>sudo cp -b /etc/resolv.conf etc/resolv.conf </pre> add the following repository to etc/apt/sources.list(for compiling xserver) <pre># See http://help.ubuntu.com/community/UpgradeNotes for how to upgrade to # newer versions of the distribution. deb http://ports.ubuntu.com/ubuntu-ports/ xenial main &nbsp;restricted deb-src http://ports.ubuntu.com/ubuntu-ports/ xenial main restricted ## Major bug fix updates produced after the final release of the ## distribution. deb http://ports.ubuntu.com/ubuntu-ports/ xenial-updates main restricted deb-src http://ports.ubuntu.com/ubuntu-ports/ xenial-updates main restricted ## Uncomment the following two lines to add software from the 'universe' ## repository. ## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu ## team. Also, please note that software in universe WILL NOT receive any ## review or updates from the Ubuntu security team. deb http://ports.ubuntu.com/ubuntu-ports/ xenial universe deb-src http://ports.ubuntu.com/ubuntu-ports/ xenial universe deb http://ports.ubuntu.com/ubuntu-ports/ xenial-updates universe deb-src http://ports.ubuntu.com/ubuntu-ports/ xenial-updates universe ## N.B. software from this repository may not have been tested as ## extensively as that contained in the main release, although it includes ## newer versions of some applications which may provide useful features. ## Also, please note that software in backports WILL NOT receive any review ## or updates from the Ubuntu security team. deb http://ports.ubuntu.com/ubuntu-ports/ xenial-backports main restricted deb-src http://ports.ubuntu.com/ubuntu-ports/ xenial-backports main restricted deb http://ports.ubuntu.com/ubuntu-ports/ xenial-security main restricted deb-src http://ports.ubuntu.com/ubuntu-ports/ xenial-security main restricted #deb http://ports.ubuntu.com/ubuntu-ports/ xenial-security universe #deb-src http://ports.ubuntu.com/ubuntu-ports/ xenial-security universe #deb http://ports.ubuntu.com/ubuntu-ports/ xenial-security multiverse #deb-src http://ports.ubuntu.com/ubuntu-ports/ xenial-security multiverse deb http://ports.ubuntu.com/ubuntu-ports/ xenial-proposed main restricted deb-src http://ports.ubuntu.com/ubuntu-ports/ xenial-proposed main restricted </pre> chroot to target rootfs<br/> [https://github.com/wzyy2/Scripts/blob/master/ch-mount.sh ch-mount.sh] <pre>ch-mount.sh -m ubuntu/ </pre> install desktop <pre>apt-get update apt-get install lightdm vim git apt-get build-dep xserver-xorg-core </pre> extract libmali-rk-dev_1.4-4_armhf.deb and libmali-rk-midgard0_1.4-4_armhf.deb(only debian/ubutnu, link by yourself if you are using other distributions) and copy them to target system.<br/> delete origin egl,gles library(For insurance) <pre>rm -rf /usr/lib/arm-linux-gnueabihf/mesa-egl </pre> download xserver <pre>git clone https://github.com/rockchip-linux/xserver.git </pre> delete those in configure.ac <pre>AC_CHECK_DECL(GBM_BO_USE_LINEAR, [AC_DEFINE(GLAMOR_HAS_GBM_LINEAR, 1, [Have GBM_BO_USE_LINEAR])], [] </pre> build xserver<br/> (You can also use 'make install DESTDIR=/opt/x-build' to get files and copy them to a clean system)<br/> (This method is easy but slow, it'better to cross compile xserver under the ubuntu/debian multiarch environment) <pre>./autogen.sh --prefix=/usr --enable-aiglx --enable-composite --enable-record --enable-xv --enable-xvmc --enable-dga --enable-screensaver --enable-xdmcp --enable-xdm-auth-1 --enable-glx --enable-dri --enable-dri2 --enable-glamor --enable-dri3 --enable-libdrm --enable-present --enable-xinerama --enable-xf86vidmode --enable-xace --enable-xselinux --enable-xfree86-utils --enable-xwayland --enable-systemd-logind --with-systemd-daemon --enable-suid-wrapper --enable-dmx --enable-xvfb --enable-xnest --enable-kdrive --enable-xephyr --enable-xmir --with-sha1=libgcrypt --enable-xcsecurity --with-log-dir=/var/log make make install </pre> set password <pre>useradd -s '/bin/bash' -m -G adm,sudo rk echo "Set password for rk:" passwd rk echo "Set password for root:" passwd root </pre> exit chroot <pre>exit ch-mount.sh -u ubuntu/ </pre> <br/> copy ttyS2.conf and udev directory to target rootfs from&nbsp;[https://github.com/rockchip-linux/rk-rootfs-build/tree/master/overlay rk-rootfs.build] make image <pre>dd if=/dev/zero of=ubuntu.img bs=1M count=3000 sudo mkfs.ext4 ubuntu.img mkdir ubuntu-mount sudo mount ubuntu.img ubuntu-mount sudo cp -rfp ubuntu/* ubuntu-mount sudo umount ubuntu-mount e2fsck -p -f ubuntu.img resize2fs -M ubuntu.img </pre> ==== Build from packages ==== There is a ubuntu build script in our&nbsp;[https://github.com/rockchip-linux/rk-rootfs-build rootfs-build]&nbsp;repo. It's different from the above example, it unpack the debian packages rather than compile from source.<br/> Please refer to the readme. = See also = [[Yocto|yocto]] [[Buildroot|buildroot]] 37b59c3b241b5d01dd084e69df3696bb5060fb5c Rkdeveloptool 0 106 1294 1115 2017-08-30T06:39:15Z Sysproduct1 15 wikitext text/x-wiki rkdeveloptool is a tool from Rockchip to communicate with Rockusb devices, consider to be a opensource version of ''upgrade_tool'' with very little&nbsp;difference. &nbsp; = Download rkdeveloptool = Get the source code for rkdeveloptool <pre>git clone https://github.com/rockchip-linux/rkdeveloptool.git </pre> = Build rkdeveloptool = First, install the libusb and udev. In Ubuntu,&nbsp; <pre>sudo apt-get install libudev-dev libusb-1.0-0-dev dh-autoreconf</pre> Then&nbsp; <pre>autoreconf -i ./configure make make install </pre> = Usage = == Support commands == ---- Tool Usage --------------------- Help: &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; -H<br/> Version: &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;-V<br/> DownloadBoot:&nbsp;&nbsp; &nbsp;DB <Loader><br/> UpgradeLoader:&nbsp;&nbsp; &nbsp;UL <Loader><br/> ReadLBA:&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;RL &nbsp;<BeginSec> <SectorLen> <File><br/> WriteLBA:&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;WL &nbsp;<BeginSec> <File><br/> WriteGPT: &nbsp; &nbsp; &nbsp; GPT <parameter><br/> EraseFlash:&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;EF&nbsp;<br/> TestDevice:&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;TD<br/> ResetDevice:&nbsp;&nbsp; &nbsp;RD [subcode]<br/> ReadFlashID:&nbsp;&nbsp; &nbsp;RID<br/> ReadFlashInfo:&nbsp;&nbsp; &nbsp;RFI<br/> ReadChipInfo:&nbsp;&nbsp; &nbsp;RCI<br/> -------------------------------------------------------<br/> &nbsp; &nbsp; &nbsp; == Flash image to target emmc == In order to flash image to target emmc,&nbsp; #Make target&nbsp;&nbsp;get into [[Rockusb|rockusb mode]]; #Connect target to Host PC via USB; #Write the image to the eMMC with tool command; <ul style="margin-left: 40px;"> <li>use&nbsp;download boot command to make target init DRAM and run usbplug;</li> </ul> <pre style="margin-left: 80px;">rkdeveloptool db rkxx_loader_vx.xx.bin</pre> <ul style="margin-left: 40px;"> <li>use ''wl'' command to write image to target, this step can be repeat for many times;</li> </ul> <pre style="margin-left: 80px;">rkdeveloptool wl 0x40 idbLoader.img rkdeveloptool wl 0x4000 uboot.img rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img</pre> <ul style="margin-left: 40px;"> <li>usb ''ul'' command to write idbloader into idb from rockchip loader</li> </ul> <pre style="margin-left: 80px;">rkdeveloptool ul rkxx_loader_vx.xx.bin</pre> '''NOTE''':&nbsp;The ''ul'' command is the same operation with below command when using Rockchip miniloader, but using different source. <pre style="margin-left: 80px;">rkdeveloptool wl 0x40 idbLoader.img</pre> '''NOTE2''': The ''ul&nbsp;''command in rkdeveloptool(ul= wl idbloader) is different with the command in '''upgrade_tool'''(ul = db + wl idbloader + rd). <ul style="margin-left: 40px;"> <li>use ''gpt'' command to write gpt table with parameter_gpt.txt</li> </ul> <pre style="margin-left: 80px;">rkdeveloptool gpt parameter_gpt.txt</pre> <ul style="margin-left: 40px;"> <li>use ''rd'' comamnd to reset the target after image write complete</li> </ul> <pre style="margin-left: 80px;">rkdeveloptool rd</pre> &nbsp; = See also = [[Partitions|Rockchip Linux partitions definition]] [[Boot_option|Boot_option]] [[Rockusb|Rockusb]] 99b6e288c586b9c3b6240f7577132e8b1eed8909 1295 1294 2017-08-30T07:36:38Z Sysproduct1 15 wikitext text/x-wiki rkdeveloptool is a tool from Rockchip to communicate with Rockusb devices, consider to be a opensource version of ''upgrade_tool'' with very little&nbsp;difference. &nbsp; = Download rkdeveloptool = Get the source code for rkdeveloptool <pre>git clone https://github.com/rockchip-linux/rkdeveloptool.git </pre> = Build rkdeveloptool = First, install the libusb and udev. In Ubuntu,&nbsp; <pre>sudo apt-get install libudev-dev libusb-1.0-0-dev dh-autoreconf</pre> Then&nbsp; <pre>autoreconf -i ./configure make make install </pre> &nbsp; If you encounter compile error like below <pre>./configure: line 4269: syntax error near unexpected token `LIBUSB1,libusb-1.0' ./configure: line 4269: `PKG_CHECK_MODULES(LIBUSB1,libusb-1.0)' </pre> You should install pkg-config libusb-1.0 <pre>sudo&nbsp;apt-get&nbsp;install&nbsp;pkg-config&nbsp;libusb-1.0&nbsp; </pre> = Usage = == Support commands == ---- Tool Usage --------------------- Help: &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; -H<br/> Version: &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;-V<br/> DownloadBoot:&nbsp;&nbsp; &nbsp;DB <Loader><br/> UpgradeLoader:&nbsp;&nbsp; &nbsp;UL <Loader><br/> ReadLBA:&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;RL &nbsp;<BeginSec> <SectorLen> <File><br/> WriteLBA:&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;WL &nbsp;<BeginSec> <File><br/> WriteGPT: &nbsp; &nbsp; &nbsp; GPT <parameter><br/> EraseFlash:&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;EF&nbsp;<br/> TestDevice:&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;TD<br/> ResetDevice:&nbsp;&nbsp; &nbsp;RD [subcode]<br/> ReadFlashID:&nbsp;&nbsp; &nbsp;RID<br/> ReadFlashInfo:&nbsp;&nbsp; &nbsp;RFI<br/> ReadChipInfo:&nbsp;&nbsp; &nbsp;RCI<br/> -------------------------------------------------------<br/> &nbsp; &nbsp; &nbsp; == Flash image to target emmc == In order to flash image to target emmc,&nbsp; #Make target&nbsp;&nbsp;get into [[Rockusb|rockusb mode]]; #Connect target to Host PC via USB; #Write the image to the eMMC with tool command; <ul style="margin-left: 40px;"> <li>use&nbsp;download boot command to make target init DRAM and run usbplug;</li> </ul> <pre style="margin-left: 80px;">rkdeveloptool db rkxx_loader_vx.xx.bin</pre> <ul style="margin-left: 40px;"> <li>use ''wl'' command to write image to target, this step can be repeat for many times;</li> </ul> <pre style="margin-left: 80px;">rkdeveloptool wl 0x40 idbLoader.img rkdeveloptool wl 0x4000 uboot.img rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img</pre> <ul style="margin-left: 40px;"> <li>usb ''ul'' command to write idbloader into idb from rockchip loader</li> </ul> <pre style="margin-left: 80px;">rkdeveloptool ul rkxx_loader_vx.xx.bin</pre> '''NOTE''':&nbsp;The ''ul'' command is the same operation with below command when using Rockchip miniloader, but using different source. <pre style="margin-left: 80px;">rkdeveloptool wl 0x40 idbLoader.img</pre> '''NOTE2''': The ''ul&nbsp;''command in rkdeveloptool(ul= wl idbloader) is different with the command in '''upgrade_tool'''(ul = db + wl idbloader + rd). <ul style="margin-left: 40px;"> <li>use ''gpt'' command to write gpt table with parameter_gpt.txt</li> </ul> <pre style="margin-left: 80px;">rkdeveloptool gpt parameter_gpt.txt</pre> <ul style="margin-left: 40px;"> <li>use ''rd'' comamnd to reset the target after image write complete</li> </ul> <pre style="margin-left: 80px;">rkdeveloptool rd</pre> &nbsp; = See also = [[Partitions|Rockchip Linux partitions definition]] [[Boot_option|Boot_option]] [[Rockusb|Rockusb]] 9b08ac77be53fda45853bc96b4c3e1e0ba1560aa Status Matrix 0 154 1302 1286 2017-09-25T03:52:18Z Jacob 6 wikitext text/x-wiki &nbsp; == Rockchip 4.4 Kernel Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! RK3288 ! RK3328 ! RK3399 |- | rowspan="2" style="text-align: left;" | ADC | style="text-align: left;" | SARADC | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | TSADC | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | Clocks | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | CPUFreq | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | Crypto | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | CSI/ISP | style="background: orange;" | WIP | N/A | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | CIF | style="background: orange;" | WIP | style="background: orange;" | WIP | style="background: orange;" | WIP |- | rowspan="8" style="text-align: left;" | Display (DRM) | style="text-align: left;" | RGB | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | EDP | style="background: lightgreen;" | SUPPORT | N/A | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | LVDS | style="background: lightgreen;" | SUPPORT | N/A | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | MIPI DSI | style="background: lightgreen;" | SUPPORT | N/A | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | CVBS | N/A | style="background: lightgreen;" | SUPPORT | N/A |- | style="text-align: left;" | VGA | N/A | N/A | N/A |- | style="text-align: left;" | HDMI | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | CEC | style="background: red;" | NO | style="background: orange;" | WIP | style="background: red;" | NO |- | colspan="2" style="text-align: left;" | DMA | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | DDR DVFS | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |- | rowspan="2" style="text-align: left;" | Ethernet | style="text-align: left;" | GMAC | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | EMAC | N/A | N/A | N/A |- | colspan="2" style="text-align: left;" | I2S | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left" | I2C | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | MsgBox | N/A | N/A | N/A |- | colspan="2" style="text-align: left;" | Pinctrl | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | PWM | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | Power Domain | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | PCIE | N/A | N/A | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | SD / SDIO / MMC | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | SPDIF | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | SPI | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | SUSPEND / RESUME | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | USB | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | USB OTG | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | TYPEC | N/A | N/A | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | Watchdog | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | GPU | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | VPU | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | RGA | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | IEP | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |} &nbsp; &nbsp; == Mainline Kernel Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! RK3288 ! RK3328 ! RK3399 |- | rowspan="2" style="text-align: left;" | ADC | style="text-align: left;" | SARADC | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | style="text-align: left;" | TSADC | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | Clocks | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | CPUFreq | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | Crypto | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | CSI/ISP | style="background: orange;" | WIP | N/A | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | CIF | style="background: orange;" | WIP | style="background: orange;" | WIP | style="background: orange;" | WIP |- | rowspan="8" style="text-align: left;" | Display (DRM) | style="text-align: left;" | RGB | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |- | style="text-align: left;" | EDP | style="background: lightgreen;" | 4.4 | N/A | style="background: lightgreen;" | 4.4 |- | style="text-align: left;" | LVDS | style="background: red;" | NO | N/A | style="background: red;" | NO |- | style="text-align: left;" | MIPI DSI | style="background: lightgreen;" | 4.4 | N/A | style="background: lightgreen;" | 4.4 |- | style="text-align: left;" | CVBS | N/A | style="background: darkgreen;" | INCOMPLETE | N/A |- | style="text-align: left;" | VGA | N/A | N/A | N/A |- | style="text-align: left;" | HDMI | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE |- | style="text-align: left;" | CEC | style="background: red;" | NO | style="background: darkgreen;" | INCOMPLETE | style="background: red;" | NO |- | colspan="2" style="text-align: left;" | DMA | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | DDR DVFS | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |- | rowspan="2" style="text-align: left;" | Ethernet | style="text-align: left;" | GMAC | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | style="text-align: left;" | EMAC | N/A | style="background: grey; color: white;" | &nbsp;? | N/A |- | colspan="2" style="text-align: left;" | I2S | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left" | I2C | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | MsgBox | N/A | N/A | N/A |- | colspan="2" style="text-align: left;" | Pinctrl | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | PWM | style="background: lightgreen;" | 4.4 | style="background: orange;" | WIP | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | Power Domain | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | PCIE | N/A | N/A | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | SD / SDIO / MMC | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | SPDIF | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | SPI | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | SUSPEND / RESUME | style="background: darkgreen;" | INCOMPLETE | style="background: grey; color: white;" | &nbsp;? | style="background: darkgreen;" | INCOMPLETE |- | colspan="2" style="text-align: left;" | USB | style="background: lightgreen;" | 4.4 | style="background: orange;" | WIP | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | USB OTG | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | TYPEC | N/A | N/A | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | Watchdog | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | GPU | style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE] | style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE] | style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE] |- | colspan="2" style="text-align: left;" | VPU | style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE] | style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE] | style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE] |- | colspan="2" style="text-align: left;" | RGA | style="background: orange;" | WIP | style="background: orange;" | WIP | style="background: orange;" | WIP |- | colspan="2" style="text-align: left;" | IEP | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |} &nbsp; == Linux SDK CHIP Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! RK3288 ! RK3328 ! RK3399 |- | colspan="2" style="text-align: left;" | Debian | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | rowspan="3" style="text-align: left;" | Yocto | style="text-align: left;" | X11 | style="background: lightgreen;" | SUPPORT | style="background: orange;" | WIP | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | QT EGLFS | style="background: lightgreen;" | SUPPORT | style="background: orange;" | WIP | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | WESTON | style="background: darkgreen;" | INCOMPLETE | style="background: orange;" | WIP | style="background: darkgreen;" | INCOMPLETE |- | colspan="2" style="text-align: left;" | Buildroot | N/A | N/A | style="background: lightgreen;" | SUPPORT |- | rowspan="5" style="text-align: left;" | Decode | style="text-align: left;" | H264 | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | H265 | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | VP8 | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | VP9 | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | JPEG | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE |- | rowspan="3" style="text-align: left;" | Encode | style="text-align: left;" | H264 | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE |- | style="text-align: left;" | H265 | N/A | style="background: lightgreen;" | SUPPORT | N/A |- | style="text-align: left;" | JPEG | style="background: orange;" | MPP | style="background: orange;" | MPP | style="background: orange;" | MPP |- | colspan="2" style="text-align: left;" | ISP(3A) | style="background: orange;" | WIP | N/A | style="background: orange;" | WIP |} <br/> &nbsp; == Linux&nbsp;Funciton Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! Status |- | rowspan="5" style="text-align: left;" | Gstreamer | style="text-align: left;" | Display | style="background: lightgreen;" | kmssink(qt eglfs),rkximagesink(x11), waylandsink(wayland) |- | style="text-align: left;" | Decode&nbsp; | style="background: lightgreen;" | h264, h265, vp8, vp9, jpeg |- | style="text-align: left;" | Encode | style="background: lightgreen;" | h264 |- | style="text-align: left;" | Camera | style="background: orange;" | Without 3A |- | style="text-align: left;" | Transform | style="background: orange;" | WIP |- | rowspan="2" style="text-align: left;" | GPU | style="text-align: left;" | GLES | style="background: lightgreen;" | libmali |- | style="text-align: left;" | OPENCL | style="background: lightgreen;" | libmali |- | colspan="2" rowspan="1" style="text-align: left;" | QT | style="background: lightgreen;" | QT 5.x |- | colspan="2" style="text-align: left;" | Browser(HTML5 Accelerate) | style="background: orange;" | WIP |- | colspan="2" style="text-align: left;" | IOT(Third part Could Service) | style="background: orange;" | WIP |- | colspan="2" style="text-align: left;" | FFmpeg | style="background: yellow;" | Community |- | colspan="2" style="text-align: left;" | MPV | style="background: yellow;" | Community |- | colspan="2" style="text-align: left;" | KODI | style="background: yellow;" | Community |} &nbsp; &nbsp; &nbsp; 8940769166c3ab5a021d0d6694a1ef13ede4c7b4 1303 1302 2017-09-25T03:52:43Z Jacob 6 wikitext text/x-wiki &nbsp; == Rockchip 4.4 Kernel Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! RK3288 ! RK3328 ! RK3399 |- | rowspan="2" style="text-align: left;" | ADC | style="text-align: left;" | SARADC | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | TSADC | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | Clocks | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | CPUFreq | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | Crypto | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | CSI/ISP | style="background: orange;" | WIP | N/A | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | CIF | style="background: orange;" | WIP | style="background: orange;" | WIP | style="background: orange;" | WIP |- | rowspan="8" style="text-align: left;" | Display (DRM) | style="text-align: left;" | RGB | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | EDP | style="background: lightgreen;" | SUPPORT | N/A | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | LVDS | style="background: lightgreen;" | SUPPORT | N/A | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | MIPI DSI | style="background: lightgreen;" | SUPPORT | N/A | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | CVBS | N/A | style="background: lightgreen;" | SUPPORT | N/A |- | style="text-align: left;" | VGA | N/A | N/A | N/A |- | style="text-align: left;" | HDMI | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | CEC | style="background: red;" | NO | style="background: orange;" | WIP | style="background: red;" | NO |- | colspan="2" style="text-align: left;" | DMA | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | DDR DVFS | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |- | rowspan="2" style="text-align: left;" | Ethernet | style="text-align: left;" | GMAC | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | EMAC | N/A | N/A | N/A |- | colspan="2" style="text-align: left;" | I2S | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left" | I2C | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | MsgBox | N/A | N/A | N/A |- | colspan="2" style="text-align: left;" | Pinctrl | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | PWM | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | Power Domain | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | PCIE | N/A | N/A | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | SD / SDIO / MMC | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | SPDIF | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | SPI | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | SUSPEND / RESUME | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | USB | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | USB OTG | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | TYPEC | N/A | N/A | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | Watchdog | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | GPU | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | VPU | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | RGA | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | IEP | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |} &nbsp; &nbsp; == Mainline Kernel Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! RK3288 ! RK3328 ! RK3399 |- | rowspan="2" style="text-align: left;" | ADC | style="text-align: left;" | SARADC | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | style="text-align: left;" | TSADC | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | Clocks | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | CPUFreq | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | Crypto | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | CSI/ISP | style="background: orange;" | WIP | N/A | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | CIF | style="background: orange;" | WIP | style="background: orange;" | WIP | style="background: orange;" | WIP |- | rowspan="8" style="text-align: left;" | Display (DRM) | style="text-align: left;" | RGB | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |- | style="text-align: left;" | EDP | style="background: lightgreen;" | 4.4 | N/A | style="background: lightgreen;" | 4.4 |- | style="text-align: left;" | LVDS | style="background: red;" | NO | N/A | style="background: red;" | NO |- | style="text-align: left;" | MIPI DSI | style="background: lightgreen;" | 4.4 | N/A | style="background: lightgreen;" | 4.4 |- | style="text-align: left;" | CVBS | N/A | style="background: darkgreen;" | INCOMPLETE | N/A |- | style="text-align: left;" | VGA | N/A | N/A | N/A |- | style="text-align: left;" | HDMI | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE |- | style="text-align: left;" | CEC | style="background: red;" | NO | style="background: darkgreen;" | INCOMPLETE | style="background: red;" | NO |- | colspan="2" style="text-align: left;" | DMA | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | DDR DVFS | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |- | rowspan="2" style="text-align: left;" | Ethernet | style="text-align: left;" | GMAC | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | style="text-align: left;" | EMAC | N/A | style="background: grey; color: white;" | &nbsp;? | N/A |- | colspan="2" style="text-align: left;" | I2S | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left" | I2C | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | MsgBox | N/A | N/A | N/A |- | colspan="2" style="text-align: left;" | Pinctrl | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | PWM | style="background: lightgreen;" | 4.4 | style="background: orange;" | WIP | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | Power Domain | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | PCIE | N/A | N/A | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | SD / SDIO / MMC | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | SPDIF | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | SPI | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | SUSPEND / RESUME | style="background: darkgreen;" | INCOMPLETE | style="background: grey; color: white;" | &nbsp;? | style="background: darkgreen;" | INCOMPLETE |- | colspan="2" style="text-align: left;" | USB | style="background: lightgreen;" | 4.4 | style="background: orange;" | WIP | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | USB OTG | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | TYPEC | N/A | N/A | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | Watchdog | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | GPU | style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE] | style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE] | style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE] |- | colspan="2" style="text-align: left;" | VPU | style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE] | style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE] | style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE] |- | colspan="2" style="text-align: left;" | RGA | style="background: orange;" | WIP | style="background: orange;" | WIP | style="background: orange;" | WIP |- | colspan="2" style="text-align: left;" | IEP | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |} &nbsp; == Linux SDK CHIP Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! RK3288 ! RK3328 ! RK3399 |- | colspan="2" style="text-align: left;" | Debian | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | rowspan="3" style="text-align: left;" | Yocto | style="text-align: left;" | X11 | style="background: lightgreen;" | SUPPORT | style="background: orange;" | WIP | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | QT EGLFS | style="background: lightgreen;" | SUPPORT | style="background: orange;" | WIP | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | WESTON | style="background: darkgreen;" | INCOMPLETE | style="background: orange;" | WIP | style="background: darkgreen;" | INCOMPLETE |- | colspan="2" style="text-align: left;" | Buildroot | N/A | N/A | style="background: lightgreen;" | SUPPORT |- | rowspan="5" style="text-align: left;" | Decode | style="text-align: left;" | H264 | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | H265 | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | VP8 | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | VP9 | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | JPEG | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE |- | rowspan="3" style="text-align: left;" | Encode | style="text-align: left;" | H264 | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE |- | style="text-align: left;" | H265 | N/A | style="background: lightgreen;" | SUPPORT | N/A |- | style="text-align: left;" | JPEG | style="background: darkgreen;" | MPP | style="background: darkgreen;" | MPP | style="background: darkgreen;" | MPP |- | colspan="2" style="text-align: left;" | ISP(3A) | style="background: orange;" | WIP | N/A | style="background: orange;" | WIP |} <br/> &nbsp; == Linux&nbsp;Funciton Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! Status |- | rowspan="5" style="text-align: left;" | Gstreamer | style="text-align: left;" | Display | style="background: lightgreen;" | kmssink(qt eglfs),rkximagesink(x11), waylandsink(wayland) |- | style="text-align: left;" | Decode&nbsp; | style="background: lightgreen;" | h264, h265, vp8, vp9, jpeg |- | style="text-align: left;" | Encode | style="background: lightgreen;" | h264 |- | style="text-align: left;" | Camera | style="background: orange;" | Without 3A |- | style="text-align: left;" | Transform | style="background: orange;" | WIP |- | rowspan="2" style="text-align: left;" | GPU | style="text-align: left;" | GLES | style="background: lightgreen;" | libmali |- | style="text-align: left;" | OPENCL | style="background: lightgreen;" | libmali |- | colspan="2" rowspan="1" style="text-align: left;" | QT | style="background: lightgreen;" | QT 5.x |- | colspan="2" style="text-align: left;" | Browser(HTML5 Accelerate) | style="background: orange;" | WIP |- | colspan="2" style="text-align: left;" | IOT(Third part Could Service) | style="background: orange;" | WIP |- | colspan="2" style="text-align: left;" | FFmpeg | style="background: yellow;" | Community |- | colspan="2" style="text-align: left;" | MPV | style="background: yellow;" | Community |- | colspan="2" style="text-align: left;" | KODI | style="background: yellow;" | Community |} &nbsp; &nbsp; &nbsp; 35db3c6f08905638e82a9e0542e0e83ec05531c6 1304 1303 2017-09-25T03:53:16Z Jacob 6 wikitext text/x-wiki &nbsp; == Rockchip 4.4 Kernel Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! RK3288 ! RK3328 ! RK3399 |- | rowspan="2" style="text-align: left;" | ADC | style="text-align: left;" | SARADC | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | TSADC | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | Clocks | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | CPUFreq | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | Crypto | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | CSI/ISP | style="background: orange;" | WIP | N/A | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | CIF | style="background: orange;" | WIP | style="background: orange;" | WIP | style="background: orange;" | WIP |- | rowspan="8" style="text-align: left;" | Display (DRM) | style="text-align: left;" | RGB | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | EDP | style="background: lightgreen;" | SUPPORT | N/A | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | LVDS | style="background: lightgreen;" | SUPPORT | N/A | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | MIPI DSI | style="background: lightgreen;" | SUPPORT | N/A | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | CVBS | N/A | style="background: lightgreen;" | SUPPORT | N/A |- | style="text-align: left;" | VGA | N/A | N/A | N/A |- | style="text-align: left;" | HDMI | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | CEC | style="background: red;" | NO | style="background: orange;" | WIP | style="background: red;" | NO |- | colspan="2" style="text-align: left;" | DMA | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | DDR DVFS | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |- | rowspan="2" style="text-align: left;" | Ethernet | style="text-align: left;" | GMAC | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | EMAC | N/A | N/A | N/A |- | colspan="2" style="text-align: left;" | I2S | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left" | I2C | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | MsgBox | N/A | N/A | N/A |- | colspan="2" style="text-align: left;" | Pinctrl | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | PWM | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | Power Domain | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | PCIE | N/A | N/A | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | SD / SDIO / MMC | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | SPDIF | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | SPI | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | SUSPEND / RESUME | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | USB | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | USB OTG | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | TYPEC | N/A | N/A | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | Watchdog | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | GPU | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | VPU | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | RGA | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | IEP | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |} &nbsp; &nbsp; == Mainline Kernel Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! RK3288 ! RK3328 ! RK3399 |- | rowspan="2" style="text-align: left;" | ADC | style="text-align: left;" | SARADC | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | style="text-align: left;" | TSADC | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | Clocks | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | CPUFreq | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | Crypto | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | CSI/ISP | style="background: orange;" | WIP | N/A | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | CIF | style="background: orange;" | WIP | style="background: orange;" | WIP | style="background: orange;" | WIP |- | rowspan="8" style="text-align: left;" | Display (DRM) | style="text-align: left;" | RGB | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |- | style="text-align: left;" | EDP | style="background: lightgreen;" | 4.4 | N/A | style="background: lightgreen;" | 4.4 |- | style="text-align: left;" | LVDS | style="background: red;" | NO | N/A | style="background: red;" | NO |- | style="text-align: left;" | MIPI DSI | style="background: lightgreen;" | 4.4 | N/A | style="background: lightgreen;" | 4.4 |- | style="text-align: left;" | CVBS | N/A | style="background: darkgreen;" | INCOMPLETE | N/A |- | style="text-align: left;" | VGA | N/A | N/A | N/A |- | style="text-align: left;" | HDMI | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE |- | style="text-align: left;" | CEC | style="background: red;" | NO | style="background: darkgreen;" | INCOMPLETE | style="background: red;" | NO |- | colspan="2" style="text-align: left;" | DMA | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | DDR DVFS | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |- | rowspan="2" style="text-align: left;" | Ethernet | style="text-align: left;" | GMAC | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | style="text-align: left;" | EMAC | N/A | style="background: grey; color: white;" | &nbsp;? | N/A |- | colspan="2" style="text-align: left;" | I2S | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left" | I2C | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | MsgBox | N/A | N/A | N/A |- | colspan="2" style="text-align: left;" | Pinctrl | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | PWM | style="background: lightgreen;" | 4.4 | style="background: orange;" | WIP | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | Power Domain | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | PCIE | N/A | N/A | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | SD / SDIO / MMC | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | SPDIF | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | SPI | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | SUSPEND / RESUME | style="background: darkgreen;" | INCOMPLETE | style="background: grey; color: white;" | &nbsp;? | style="background: darkgreen;" | INCOMPLETE |- | colspan="2" style="text-align: left;" | USB | style="background: lightgreen;" | 4.4 | style="background: orange;" | WIP | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | USB OTG | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | TYPEC | N/A | N/A | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | Watchdog | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | GPU | style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE] | style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE] | style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE] |- | colspan="2" style="text-align: left;" | VPU | style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE] | style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE] | style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE] |- | colspan="2" style="text-align: left;" | RGA | style="background: orange;" | WIP | style="background: orange;" | WIP | style="background: orange;" | WIP |- | colspan="2" style="text-align: left;" | IEP | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |} &nbsp; &nbsp; == Linux SDK CHIP Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! RK3288 ! RK3328 ! RK3399 |- | colspan="2" style="text-align: left;" | Debian | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | rowspan="3" style="text-align: left;" | Yocto | style="text-align: left;" | X11 | style="background: lightgreen;" | SUPPORT | style="background: orange;" | WIP | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | QT EGLFS | style="background: lightgreen;" | SUPPORT | style="background: orange;" | WIP | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | WESTON | style="background: darkgreen;" | INCOMPLETE | style="background: orange;" | WIP | style="background: darkgreen;" | INCOMPLETE |- | colspan="2" style="text-align: left;" | Buildroot | N/A | N/A | style="background: lightgreen;" | SUPPORT |- | rowspan="5" style="text-align: left;" | Decode | style="text-align: left;" | H264 | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | H265 | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | VP8 | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | VP9 | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | JPEG | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE |- | rowspan="3" style="text-align: left;" | Encode | style="text-align: left;" | H264 | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE |- | style="text-align: left;" | H265 | N/A | style="background: lightgreen;" | SUPPORT | N/A |- | style="text-align: left;" | JPEG | style="background: darkgreen;" | MPP | style="background: darkgreen;" | MPP | style="background: darkgreen;" | MPP |- | colspan="2" style="text-align: left;" | ISP(3A) | style="background: orange;" | WIP | N/A | style="background: orange;" | WIP |} <br/> &nbsp; == Linux&nbsp;Funciton Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! Status |- | rowspan="5" style="text-align: left;" | Gstreamer | style="text-align: left;" | Display | style="background: lightgreen;" | kmssink(qt eglfs),rkximagesink(x11), waylandsink(wayland) |- | style="text-align: left;" | Decode&nbsp; | style="background: lightgreen;" | h264, h265, vp8, vp9, jpeg |- | style="text-align: left;" | Encode | style="background: lightgreen;" | h264 |- | style="text-align: left;" | Camera | style="background: orange;" | Without 3A |- | style="text-align: left;" | Transform | style="background: orange;" | WIP |- | rowspan="2" style="text-align: left;" | GPU | style="text-align: left;" | GLES | style="background: lightgreen;" | libmali |- | style="text-align: left;" | OPENCL | style="background: lightgreen;" | libmali |- | colspan="2" rowspan="1" style="text-align: left;" | QT | style="background: lightgreen;" | QT 5.x |- | colspan="2" style="text-align: left;" | Browser(HTML5 Accelerate) | style="background: orange;" | WIP |- | colspan="2" style="text-align: left;" | IOT(Third part Could Service) | style="background: orange;" | WIP |- | colspan="2" style="text-align: left;" | FFmpeg | style="background: yellow;" | Community |- | colspan="2" style="text-align: left;" | MPV | style="background: yellow;" | Community |- | colspan="2" style="text-align: left;" | KODI | style="background: yellow;" | Community |} &nbsp; &nbsp; &nbsp; 7e52f5ad07dd971bc8510deef6886a022b90493e 1305 1304 2017-09-28T02:45:31Z Sysproduct1 15 wikitext text/x-wiki &nbsp; == Rockchip 4.4 Kernel Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! RK3288 ! RK3328 ! RK3399 |- | rowspan="2" style="text-align: left;" | ADC | style="text-align: left;" | SARADC | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | TSADC | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | Clocks | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | CPUFreq | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | Crypto | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | CSI/ISP | style="background: orange;" | WIP | N/A | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | CIF | style="background: orange;" | WIP | style="background: orange;" | WIP | style="background: orange;" | WIP |- | rowspan="8" style="text-align: left;" | Display (DRM) | style="text-align: left;" | RGB | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | EDP | style="background: lightgreen;" | SUPPORT | N/A | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | LVDS | style="background: lightgreen;" | SUPPORT | N/A | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | MIPI DSI | style="background: lightgreen;" | SUPPORT | N/A | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | CVBS | N/A | style="background: lightgreen;" | SUPPORT | N/A |- | style="text-align: left;" | VGA | N/A | N/A | N/A |- | style="text-align: left;" | HDMI | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | CEC | style="background: red;" | NO | style="background: orange;" | WIP | style="background: red;" | NO |- | colspan="2" style="text-align: left;" | DMA | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | DDR DVFS | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |- | rowspan="2" style="text-align: left;" | Ethernet | style="text-align: left;" | GMAC | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | EMAC | N/A | N/A | N/A |- | colspan="2" style="text-align: left;" | I2S | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left" | I2C | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | MsgBox | N/A | N/A | N/A |- | colspan="2" style="text-align: left;" | Pinctrl | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | PWM | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | Power Domain | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | PCIE | N/A | N/A | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | SD / SDIO / MMC | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | SPDIF | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | SPI | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | SUSPEND / RESUME | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | USB | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | USB OTG | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | TYPEC | N/A | N/A | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | Watchdog | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | GPU | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | VPU | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | RGA | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | IEP | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |} &nbsp; &nbsp; == Mainline Kernel Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! RK3288 ! RK3328 ! RK3399 |- | rowspan="2" style="text-align: left;" | ADC | style="text-align: left;" | SARADC | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | style="text-align: left;" | TSADC | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | Clocks | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | CPUFreq | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | Crypto | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | CSI/ISP | style="background: orange;" | WIP | N/A | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | CIF | style="background: orange;" | WIP | style="background: orange;" | WIP | style="background: orange;" | WIP |- | rowspan="8" style="text-align: left;" | Display (DRM) | style="text-align: left;" | RGB | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |- | style="text-align: left;" | EDP | style="background: lightgreen;" | 4.4 | N/A | style="background: lightgreen;" | 4.4 |- | style="text-align: left;" | LVDS | style="background: red;" | NO | N/A | style="background: red;" | NO |- | style="text-align: left;" | MIPI DSI | style="background: lightgreen;" | 4.4 | N/A | style="background: lightgreen;" | 4.4 |- | style="text-align: left;" | CVBS | N/A | style="background: darkgreen;" | INCOMPLETE | N/A |- | style="text-align: left;" | VGA | N/A | N/A | N/A |- | style="text-align: left;" | HDMI | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE |- | style="text-align: left;" | CEC | style="background: red;" | NO | style="background: darkgreen;" | INCOMPLETE | style="background: red;" | NO |- | colspan="2" style="text-align: left;" | DMA | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | DDR DVFS | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |- | rowspan="2" style="text-align: left;" | Ethernet | style="text-align: left;" | GMAC | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | style="text-align: left;" | EMAC | N/A | style="background: grey; color: white;" | &nbsp;? | N/A |- | colspan="2" style="text-align: left;" | I2S | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left" | I2C | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | MsgBox | N/A | N/A | N/A |- | colspan="2" style="text-align: left;" | Pinctrl | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | PWM | style="background: lightgreen;" | 4.4 | style="background: orange;" | WIP | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | Power Domain | style="background: lightgreen;" | 4.4 | style="background: grey; color: white;" | &nbsp;? | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | PCIE | N/A | N/A | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | SD / SDIO / MMC | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | SPDIF | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | SPI | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | SUSPEND / RESUME | style="background: darkgreen;" | INCOMPLETE | style="background: grey; color: white;" | &nbsp;? | style="background: darkgreen;" | INCOMPLETE |- | colspan="2" style="text-align: left;" | USB | style="background: lightgreen;" | 4.4 | style="background: orange;" | WIP | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | USB OTG | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | TYPEC | N/A | N/A | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | Watchdog | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | GPU | style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE] | style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE] | style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE] |- | colspan="2" style="text-align: left;" | VPU | style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE] | style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE] | style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE] |- | colspan="2" style="text-align: left;" | RGA | style="background: orange;" | WIP | style="background: orange;" | WIP | style="background: orange;" | WIP |- | colspan="2" style="text-align: left;" | IEP | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |} &nbsp; &nbsp; == Linux SDK CHIP Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! RK3288 ! RK3328 ! RK3399 |- | colspan="2" style="text-align: left;" | Debian | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | rowspan="3" style="text-align: left;" | Yocto | style="text-align: left;" | X11 | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | QT EGLFS | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | WESTON | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE |- | colspan="2" style="text-align: left;" | Buildroot | N/A | N/A | style="background: lightgreen;" | SUPPORT |- | rowspan="5" style="text-align: left;" | Decode | style="text-align: left;" | H264 | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | H265 | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | VP8 | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | VP9 | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | JPEG | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE |- | rowspan="3" style="text-align: left;" | Encode | style="text-align: left;" | H264 | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE |- | style="text-align: left;" | H265 | N/A | style="background: lightgreen;" | SUPPORT | N/A |- | style="text-align: left;" | JPEG | style="background: darkgreen;" | MPP | style="background: darkgreen;" | MPP | style="background: darkgreen;" | MPP |- | colspan="2" style="text-align: left;" | ISP(3A) | style="background: orange;" | WIP | N/A | style="background: orange;" | WIP |} <br/> &nbsp; == Linux&nbsp;Funciton Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! Status |- | rowspan="5" style="text-align: left;" | Gstreamer | style="text-align: left;" | Display | style="background: lightgreen;" | kmssink(qt eglfs),rkximagesink(x11), waylandsink(wayland) |- | style="text-align: left;" | Decode&nbsp; | style="background: lightgreen;" | h264, h265, vp8, vp9, jpeg |- | style="text-align: left;" | Encode | style="background: lightgreen;" | h264 |- | style="text-align: left;" | Camera | style="background: orange;" | Without 3A |- | style="text-align: left;" | Transform | style="background: orange;" | WIP |- | rowspan="2" style="text-align: left;" | GPU | style="text-align: left;" | GLES | style="background: lightgreen;" | libmali |- | style="text-align: left;" | OPENCL | style="background: lightgreen;" | libmali |- | colspan="2" rowspan="1" style="text-align: left;" | QT | style="background: lightgreen;" | QT 5.x |- | colspan="2" style="text-align: left;" | Browser(HTML5 Accelerate) | style="background: orange;" | WIP |- | colspan="2" style="text-align: left;" | IOT(Third part Could Service) | style="background: orange;" | WIP |- | colspan="2" style="text-align: left;" | FFmpeg | style="background: yellow;" | Community |- | colspan="2" style="text-align: left;" | MPV | style="background: yellow;" | Community |- | colspan="2" style="text-align: left;" | KODI | style="background: yellow;" | Community |} &nbsp; &nbsp; &nbsp; 9a21ceff14c3d78eae01683f8312600b946c326b 1306 1305 2017-09-28T04:06:22Z Sysproduct1 15 wikitext text/x-wiki &nbsp; == Rockchip 4.4 Kernel Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! RK3288 ! RK3328 ! RK3399 |- | rowspan="2" style="text-align: left;" | ADC | style="text-align: left;" | SARADC | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | TSADC | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | Clocks | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | CPUFreq | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | Crypto | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | CSI/ISP | style="background: orange;" | WIP | N/A | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | CIF | style="background: orange;" | WIP | style="background: orange;" | WIP | style="background: orange;" | WIP |- | rowspan="8" style="text-align: left;" | Display (DRM) | style="text-align: left;" | RGB | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | EDP | style="background: lightgreen;" | SUPPORT | N/A | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | LVDS | style="background: lightgreen;" | SUPPORT | N/A | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | MIPI DSI | style="background: lightgreen;" | SUPPORT | N/A | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | CVBS | N/A | style="background: lightgreen;" | SUPPORT | N/A |- | style="text-align: left;" | VGA | N/A | N/A | N/A |- | style="text-align: left;" | HDMI | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | CEC | style="background: red;" | NO | style="background: orange;" | WIP | style="background: red;" | NO |- | colspan="2" style="text-align: left;" | DMA | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | DDR DVFS | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |- | rowspan="2" style="text-align: left;" | Ethernet | style="text-align: left;" | GMAC | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | EMAC | N/A | N/A | N/A |- | colspan="2" style="text-align: left;" | I2S | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left" | I2C | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | MsgBox | N/A | N/A | N/A |- | colspan="2" style="text-align: left;" | Pinctrl | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | PWM | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | Power Domain | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | PCIE | N/A | N/A | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | SD / SDIO / MMC | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | SPDIF | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | SPI | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | SUSPEND / RESUME | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | USB | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | USB OTG | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | TYPEC | N/A | N/A | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | Watchdog | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | GPU | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | VPU | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | RGA | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | IEP | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |} &nbsp; &nbsp; == Mainline Kernel Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! RK3288 ! RK3328 ! RK3399 |- | rowspan="2" style="text-align: left;" | ADC | style="text-align: left;" | SARADC | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | style="text-align: left;" | TSADC | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | Clocks | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | CPUFreq | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | Crypto | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | CSI/ISP | style="background: orange;" | WIP | N/A | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | CIF | style="background: orange;" | WIP | style="background: orange;" | WIP | style="background: orange;" | WIP |- | rowspan="8" style="text-align: left;" | Display (DRM) | style="text-align: left;" | RGB | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |- | style="text-align: left;" | EDP | style="background: lightgreen;" | 4.4 | N/A | style="background: lightgreen;" | 4.4 |- | style="text-align: left;" | LVDS | style="background: red;" | NO | N/A | style="background: red;" | NO |- | style="text-align: left;" | MIPI DSI | style="background: lightgreen;" | 4.4 | N/A | style="background: lightgreen;" | 4.4 |- | style="text-align: left;" | CVBS | N/A | style="background: darkgreen;" | INCOMPLETE | N/A |- | style="text-align: left;" | VGA | N/A | N/A | N/A |- | style="text-align: left;" | HDMI | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE |- | style="text-align: left;" | CEC | style="background: red;" | NO | style="background: darkgreen;" | INCOMPLETE | style="background: red;" | NO |- | colspan="2" style="text-align: left;" | DMA | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | DDR DVFS | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |- | rowspan="2" style="text-align: left;" | Ethernet | style="text-align: left;" | GMAC | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | style="text-align: left;" | EMAC | N/A | style="background: grey; color: white;" | &nbsp;? | N/A |- | colspan="2" style="text-align: left;" | I2S | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left" | I2C | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | MsgBox | N/A | N/A | N/A |- | colspan="2" style="text-align: left;" | Pinctrl | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | PWM | style="background: lightgreen;" | 4.4 | style="background: orange;" | WIP | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | Power Domain | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | PCIE | N/A | N/A | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | SD / SDIO / MMC | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | SPDIF | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | SPI | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | SUSPEND / RESUME | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE |- | colspan="2" style="text-align: left;" | USB | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | USB OTG | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | TYPEC | N/A | N/A | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | Watchdog | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | GPU | style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE] | style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE] | style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE] |- | colspan="2" style="text-align: left;" | VPU | style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE] | style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE] | style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE] |- | colspan="2" style="text-align: left;" | RGA | style="background: orange;" | WIP | style="background: orange;" | WIP | style="background: orange;" | WIP |- | colspan="2" style="text-align: left;" | IEP | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |} &nbsp; &nbsp; == Linux SDK CHIP Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! RK3288 ! RK3328 ! RK3399 |- | colspan="2" style="text-align: left;" | Debian | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | rowspan="3" style="text-align: left;" | Yocto | style="text-align: left;" | X11 | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | QT EGLFS | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | WESTON | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE |- | colspan="2" style="text-align: left;" | Buildroot | N/A | N/A | style="background: lightgreen;" | SUPPORT |- | rowspan="5" style="text-align: left;" | Decode | style="text-align: left;" | H264 | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | H265 | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | VP8 | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | VP9 | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | JPEG | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE |- | rowspan="3" style="text-align: left;" | Encode | style="text-align: left;" | H264 | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE |- | style="text-align: left;" | H265 | N/A | style="background: lightgreen;" | SUPPORT | N/A |- | style="text-align: left;" | JPEG | style="background: darkgreen;" | MPP | style="background: darkgreen;" | MPP | style="background: darkgreen;" | MPP |- | colspan="2" style="text-align: left;" | ISP(3A) | style="background: orange;" | WIP | N/A | style="background: orange;" | WIP |} <br/> &nbsp; == Linux&nbsp;Funciton Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! Status |- | rowspan="5" style="text-align: left;" | Gstreamer | style="text-align: left;" | Display | style="background: lightgreen;" | kmssink(qt eglfs),rkximagesink(x11), waylandsink(wayland) |- | style="text-align: left;" | Decode&nbsp; | style="background: lightgreen;" | h264, h265, vp8, vp9, jpeg |- | style="text-align: left;" | Encode | style="background: lightgreen;" | h264 |- | style="text-align: left;" | Camera | style="background: orange;" | Without 3A |- | style="text-align: left;" | Transform | style="background: orange;" | WIP |- | rowspan="2" style="text-align: left;" | GPU | style="text-align: left;" | GLES | style="background: lightgreen;" | libmali |- | style="text-align: left;" | OPENCL | style="background: lightgreen;" | libmali |- | colspan="2" rowspan="1" style="text-align: left;" | QT | style="background: lightgreen;" | QT 5.x |- | colspan="2" style="text-align: left;" | Browser(HTML5 Accelerate) | style="background: orange;" | WIP |- | colspan="2" style="text-align: left;" | IOT(Third part Could Service) | style="background: orange;" | WIP |- | colspan="2" style="text-align: left;" | FFmpeg | style="background: yellow;" | Community |- | colspan="2" style="text-align: left;" | MPV | style="background: yellow;" | Community |- | colspan="2" style="text-align: left;" | KODI | style="background: yellow;" | Community |} &nbsp; &nbsp; &nbsp; 939258e1772f315eaabed6b73dd5f01fc32d1d4c 1307 1306 2017-09-28T07:14:50Z Sysproduct1 15 wikitext text/x-wiki &nbsp; == Rockchip 4.4 Kernel Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! RK3288 ! RK3328 ! RK3399 |- | rowspan="2" style="text-align: left;" | ADC | style="text-align: left;" | SARADC | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | TSADC | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | Clocks | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | CPUFreq | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | Crypto | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | CSI/ISP | style="background: orange;" | WIP | N/A | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | CIF | style="background: orange;" | WIP | style="background: orange;" | WIP | style="background: orange;" | WIP |- | rowspan="8" style="text-align: left;" | Display (DRM) | style="text-align: left;" | RGB | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | EDP | style="background: lightgreen;" | SUPPORT | N/A | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | LVDS | style="background: lightgreen;" | SUPPORT | N/A | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | MIPI DSI | style="background: lightgreen;" | SUPPORT | N/A | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | CVBS | N/A | style="background: lightgreen;" | SUPPORT | N/A |- | style="text-align: left;" | VGA | N/A | N/A | N/A |- | style="text-align: left;" | HDMI | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | CEC | style="background: red;" | NO | style="background: orange;" | WIP | style="background: red;" | NO |- | colspan="2" style="text-align: left;" | DMA | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | DDR DVFS | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |- | rowspan="2" style="text-align: left;" | Ethernet | style="text-align: left;" | GMAC | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | EMAC | N/A | style="background: lightgreen;" | SUPPORT | N/A |- | colspan="2" style="text-align: left;" | I2S | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left" | I2C | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | MsgBox | N/A | N/A | N/A |- | colspan="2" style="text-align: left;" | Pinctrl | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | PWM | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | Power Domain | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | PCIE | N/A | N/A | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | SD / SDIO / MMC | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | SPDIF | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | SPI | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | SUSPEND / RESUME | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | USB | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | USB OTG | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | TYPEC | N/A | N/A | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | Watchdog | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | GPU | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | VPU | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | RGA | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | IEP | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |} &nbsp; &nbsp; == Mainline Kernel Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! RK3288 ! RK3328 ! RK3399 |- | rowspan="2" style="text-align: left;" | ADC | style="text-align: left;" | SARADC | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | style="text-align: left;" | TSADC | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | Clocks | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | CPUFreq | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | Crypto | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | CSI/ISP | style="background: orange;" | WIP | N/A | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | CIF | style="background: orange;" | WIP | style="background: orange;" | WIP | style="background: orange;" | WIP |- | rowspan="8" style="text-align: left;" | Display (DRM) | style="text-align: left;" | RGB | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |- | style="text-align: left;" | EDP | style="background: lightgreen;" | 4.4 | N/A | style="background: lightgreen;" | 4.4 |- | style="text-align: left;" | LVDS | style="background: red;" | NO | N/A | style="background: red;" | NO |- | style="text-align: left;" | MIPI DSI | style="background: lightgreen;" | 4.4 | N/A | style="background: lightgreen;" | 4.4 |- | style="text-align: left;" | CVBS | N/A | style="background: darkgreen;" | INCOMPLETE | N/A |- | style="text-align: left;" | VGA | N/A | N/A | N/A |- | style="text-align: left;" | HDMI | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE |- | style="text-align: left;" | CEC | style="background: red;" | NO | style="background: darkgreen;" | INCOMPLETE | style="background: red;" | NO |- | colspan="2" style="text-align: left;" | DMA | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | DDR DVFS | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |- | rowspan="2" style="text-align: left;" | Ethernet | style="text-align: left;" | GMAC | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | style="text-align: left;" | EMAC | N/A | style="background: grey; color: white;" | &nbsp;? | N/A |- | colspan="2" style="text-align: left;" | I2S | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left" | I2C | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | MsgBox | N/A | N/A | N/A |- | colspan="2" style="text-align: left;" | Pinctrl | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | PWM | style="background: lightgreen;" | 4.4 | style="background: orange;" | WIP | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | Power Domain | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | PCIE | N/A | N/A | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | SD / SDIO / MMC | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | SPDIF | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | SPI | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | SUSPEND / RESUME | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE |- | colspan="2" style="text-align: left;" | USB | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | USB OTG | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | TYPEC | N/A | N/A | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | Watchdog | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | GPU | style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE] | style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE] | style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE] |- | colspan="2" style="text-align: left;" | VPU | style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE] | style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE] | style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE] |- | colspan="2" style="text-align: left;" | RGA | style="background: orange;" | WIP | style="background: orange;" | WIP | style="background: orange;" | WIP |- | colspan="2" style="text-align: left;" | IEP | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |} &nbsp; &nbsp; == Linux SDK CHIP Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! RK3288 ! RK3328 ! RK3399 |- | colspan="2" style="text-align: left;" | Debian | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | rowspan="3" style="text-align: left;" | Yocto | style="text-align: left;" | X11 | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | QT EGLFS | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | WESTON | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE |- | colspan="2" style="text-align: left;" | Buildroot | N/A | N/A | style="background: lightgreen;" | SUPPORT |- | rowspan="5" style="text-align: left;" | Decode | style="text-align: left;" | H264 | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | H265 | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | VP8 | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | VP9 | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | JPEG | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE |- | rowspan="3" style="text-align: left;" | Encode | style="text-align: left;" | H264 | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE |- | style="text-align: left;" | H265 | N/A | style="background: lightgreen;" | SUPPORT | N/A |- | style="text-align: left;" | JPEG | style="background: darkgreen;" | MPP | style="background: darkgreen;" | MPP | style="background: darkgreen;" | MPP |- | colspan="2" style="text-align: left;" | ISP(3A) | style="background: orange;" | WIP | N/A | style="background: orange;" | WIP |} <br/> &nbsp; == Linux&nbsp;Funciton Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! Status |- | rowspan="5" style="text-align: left;" | Gstreamer | style="text-align: left;" | Display | style="background: lightgreen;" | kmssink(qt eglfs),rkximagesink(x11), waylandsink(wayland) |- | style="text-align: left;" | Decode&nbsp; | style="background: lightgreen;" | h264, h265, vp8, vp9, jpeg |- | style="text-align: left;" | Encode | style="background: lightgreen;" | h264 |- | style="text-align: left;" | Camera | style="background: orange;" | Without 3A |- | style="text-align: left;" | Transform | style="background: orange;" | WIP |- | rowspan="2" style="text-align: left;" | GPU | style="text-align: left;" | GLES | style="background: lightgreen;" | libmali |- | style="text-align: left;" | OPENCL | style="background: lightgreen;" | libmali |- | colspan="2" rowspan="1" style="text-align: left;" | QT | style="background: lightgreen;" | QT 5.x |- | colspan="2" style="text-align: left;" | Browser(HTML5 Accelerate) | style="background: orange;" | WIP |- | colspan="2" style="text-align: left;" | IOT(Third part Could Service) | style="background: orange;" | WIP |- | colspan="2" style="text-align: left;" | FFmpeg | style="background: yellow;" | Community |- | colspan="2" style="text-align: left;" | MPV | style="background: yellow;" | Community |- | colspan="2" style="text-align: left;" | KODI | style="background: yellow;" | Community |} &nbsp; &nbsp; &nbsp; efef4a6a684fe01d719302a37c570e50aa83894e 1308 1307 2017-09-28T07:17:48Z Sysproduct1 15 wikitext text/x-wiki &nbsp; == Rockchip 4.4 Kernel Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! RK3288 ! RK3328 ! RK3399 |- | rowspan="2" style="text-align: left;" | ADC | style="text-align: left;" | SARADC | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | TSADC | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | Clocks | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | CPUFreq | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | Crypto | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | CSI/ISP | style="background: orange;" | WIP | N/A | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | CIF | style="background: orange;" | WIP | style="background: orange;" | WIP | style="background: orange;" | WIP |- | rowspan="8" style="text-align: left;" | Display (DRM) | style="text-align: left;" | RGB | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | EDP | style="background: lightgreen;" | SUPPORT | N/A | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | LVDS | style="background: lightgreen;" | SUPPORT | N/A | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | MIPI DSI | style="background: lightgreen;" | SUPPORT | N/A | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | CVBS | N/A | style="background: lightgreen;" | SUPPORT | N/A |- | style="text-align: left;" | VGA | N/A | N/A | N/A |- | style="text-align: left;" | HDMI | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | CEC | style="background: red;" | NO | style="background: orange;" | WIP | style="background: red;" | NO |- | colspan="2" style="text-align: left;" | DMA | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | DDR DVFS | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |- | rowspan="2" style="text-align: left;" | Ethernet | style="text-align: left;" | GMAC | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | EMAC | N/A | style="background: lightgreen;" | SUPPORT | N/A |- | colspan="2" style="text-align: left;" | I2S | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left" | I2C | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | MsgBox | N/A | N/A | N/A |- | colspan="2" style="text-align: left;" | Pinctrl | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | PWM | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | Power Domain | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | PCIE | N/A | N/A | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | SD / SDIO / MMC | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | SPDIF | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | SPI | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | SUSPEND / RESUME | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | USB | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | USB OTG | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | TYPEC | N/A | N/A | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | Watchdog | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | GPU | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | VPU | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | RGA | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | IEP | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |} &nbsp; &nbsp; == Mainline Kernel Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! RK3288 ! RK3328 ! RK3399 |- | rowspan="2" style="text-align: left;" | ADC | style="text-align: left;" | SARADC | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | style="text-align: left;" | TSADC | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | Clocks | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | CPUFreq | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | Crypto | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | CSI/ISP | style="background: orange;" | WIP | N/A | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | CIF | style="background: orange;" | WIP | style="background: orange;" | WIP | style="background: orange;" | WIP |- | rowspan="8" style="text-align: left;" | Display (DRM) | style="text-align: left;" | RGB | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |- | style="text-align: left;" | EDP | style="background: lightgreen;" | 4.4 | N/A | style="background: lightgreen;" | 4.4 |- | style="text-align: left;" | LVDS | style="background: red;" | NO | N/A | style="background: red;" | NO |- | style="text-align: left;" | MIPI DSI | style="background: lightgreen;" | 4.4 | N/A | style="background: lightgreen;" | 4.4 |- | style="text-align: left;" | CVBS | N/A | style="background: darkgreen;" | INCOMPLETE | N/A |- | style="text-align: left;" | VGA | N/A | N/A | N/A |- | style="text-align: left;" | HDMI | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE |- | style="text-align: left;" | CEC | style="background: red;" | NO | style="background: darkgreen;" | INCOMPLETE | style="background: red;" | NO |- | colspan="2" style="text-align: left;" | DMA | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | DDR DVFS | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |- | rowspan="2" style="text-align: left;" | Ethernet | style="text-align: left;" | GMAC | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | style="text-align: left;" | EMAC | N/A | style="background: lightgreen;" | 4.4 | N/A |- | colspan="2" style="text-align: left;" | I2S | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left" | I2C | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | MsgBox | N/A | N/A | N/A |- | colspan="2" style="text-align: left;" | Pinctrl | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | PWM | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | Power Domain | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | PCIE | N/A | N/A | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | SD / SDIO / MMC | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | SPDIF | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | SPI | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | SUSPEND / RESUME | style="background: darkgreen;" | INCOMPLETE | style="background: lightgreen;" | 4.4 | style="background: darkgreen;" | INCOMPLETE |- | colspan="2" style="text-align: left;" | USB | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | USB OTG | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | TYPEC | N/A | N/A | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | Watchdog | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | GPU | style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE] | style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE] | style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE] |- | colspan="2" style="text-align: left;" | VPU | style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE] | style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE] | style="background: lightgreen;" | [https://github.com/rockchip-linux/rockchip_forwardports OUT-OF-TREE] |- | colspan="2" style="text-align: left;" | RGA | style="background: orange;" | WIP | style="background: orange;" | WIP | style="background: orange;" | WIP |- | colspan="2" style="text-align: left;" | IEP | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |} &nbsp; &nbsp; == Linux SDK CHIP Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! RK3288 ! RK3328 ! RK3399 |- | colspan="2" style="text-align: left;" | Debian | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | rowspan="3" style="text-align: left;" | Yocto | style="text-align: left;" | X11 | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | QT EGLFS | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | WESTON | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE |- | colspan="2" style="text-align: left;" | Buildroot | N/A | N/A | style="background: lightgreen;" | SUPPORT |- | rowspan="5" style="text-align: left;" | Decode | style="text-align: left;" | H264 | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | H265 | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | VP8 | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | VP9 | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | JPEG | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE |- | rowspan="3" style="text-align: left;" | Encode | style="text-align: left;" | H264 | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE |- | style="text-align: left;" | H265 | N/A | style="background: lightgreen;" | SUPPORT | N/A |- | style="text-align: left;" | JPEG | style="background: darkgreen;" | MPP | style="background: darkgreen;" | MPP | style="background: darkgreen;" | MPP |- | colspan="2" style="text-align: left;" | ISP(3A) | style="background: orange;" | WIP | N/A | style="background: orange;" | WIP |} <br/> &nbsp; == Linux&nbsp;Funciton Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! Status |- | rowspan="5" style="text-align: left;" | Gstreamer | style="text-align: left;" | Display | style="background: lightgreen;" | kmssink(qt eglfs),rkximagesink(x11), waylandsink(wayland) |- | style="text-align: left;" | Decode&nbsp; | style="background: lightgreen;" | h264, h265, vp8, vp9, jpeg |- | style="text-align: left;" | Encode | style="background: lightgreen;" | h264 |- | style="text-align: left;" | Camera | style="background: orange;" | Without 3A |- | style="text-align: left;" | Transform | style="background: orange;" | WIP |- | rowspan="2" style="text-align: left;" | GPU | style="text-align: left;" | GLES | style="background: lightgreen;" | libmali |- | style="text-align: left;" | OPENCL | style="background: lightgreen;" | libmali |- | colspan="2" rowspan="1" style="text-align: left;" | QT | style="background: lightgreen;" | QT 5.x |- | colspan="2" style="text-align: left;" | Browser(HTML5 Accelerate) | style="background: orange;" | WIP |- | colspan="2" style="text-align: left;" | IOT(Third part Could Service) | style="background: orange;" | WIP |- | colspan="2" style="text-align: left;" | FFmpeg | style="background: yellow;" | Community |- | colspan="2" style="text-align: left;" | MPV | style="background: yellow;" | Community |- | colspan="2" style="text-align: left;" | KODI | style="background: yellow;" | Community |} &nbsp; &nbsp; &nbsp; 3ccf6df7d16c655bf7035b2fde5467578f0eba55 1319 1308 2017-10-03T09:21:37Z Jacob 6 wikitext text/x-wiki &nbsp; == Rockchip 4.4 Kernel Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! RK3288 ! RK3328 ! RK3399 |- | rowspan="2" style="text-align: left;" | ADC | style="text-align: left;" | SARADC | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | TSADC | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | Clocks | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | CPUFreq | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | Crypto | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | CSI/ISP | style="background: orange;" | WIP | N/A | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | CIF | style="background: orange;" | WIP | style="background: orange;" | WIP | style="background: orange;" | WIP |- | rowspan="8" style="text-align: left;" | Display (DRM) | style="text-align: left;" | RGB | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | EDP | style="background: lightgreen;" | SUPPORT | N/A | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | LVDS | style="background: lightgreen;" | SUPPORT | N/A | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | MIPI DSI | style="background: lightgreen;" | SUPPORT | N/A | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | CVBS | N/A | style="background: lightgreen;" | SUPPORT | N/A |- | style="text-align: left;" | VGA | N/A | N/A | N/A |- | style="text-align: left;" | HDMI | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | CEC | style="background: red;" | NO | style="background: orange;" | WIP | style="background: red;" | NO |- | colspan="2" style="text-align: left;" | DMA | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | DDR DVFS | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |- | rowspan="2" style="text-align: left;" | Ethernet | style="text-align: left;" | GMAC | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | EMAC | N/A | style="background: lightgreen;" | SUPPORT | N/A |- | colspan="2" style="text-align: left;" | I2S | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left" | I2C | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | MsgBox | N/A | N/A | N/A |- | colspan="2" style="text-align: left;" | Pinctrl | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | PWM | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | Power Domain | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | PCIE | N/A | N/A | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | SD / SDIO / MMC | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | SPDIF | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | SPI | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | SUSPEND / RESUME | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | USB | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | USB OTG | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | TYPEC | N/A | N/A | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | Watchdog | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | GPU | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | VPU | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | RGA | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | IEP | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |} &nbsp; &nbsp; == Mainline Kernel Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! RK3288 ! RK3328 ! RK3399 |- | rowspan="2" style="text-align: left;" | ADC | style="text-align: left;" | SARADC | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | style="text-align: left;" | TSADC | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | Clocks | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | CPUFreq | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | Crypto | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | CSI/ISP | style="background: orange;" | WIP | N/A | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | CIF | style="background: orange;" | WIP | style="background: orange;" | WIP | style="background: orange;" | WIP |- | rowspan="8" style="text-align: left;" | Display (DRM) | style="text-align: left;" | RGB | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |- | style="text-align: left;" | EDP | style="background: lightgreen;" | 4.4 | N/A | style="background: lightgreen;" | 4.4 |- | style="text-align: left;" | LVDS | style="background: red;" | NO | N/A | style="background: red;" | NO |- | style="text-align: left;" | MIPI DSI | style="background: lightgreen;" | 4.4 | N/A | style="background: lightgreen;" | 4.4 |- | style="text-align: left;" | CVBS | N/A | style="background: darkgreen;" | INCOMPLETE | N/A |- | style="text-align: left;" | VGA | N/A | N/A | N/A |- | style="text-align: left;" | HDMI | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE |- | style="text-align: left;" | CEC | style="background: red;" | NO | style="background: darkgreen;" | INCOMPLETE | style="background: red;" | NO |- | colspan="2" style="text-align: left;" | DMA | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | DDR DVFS | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |- | rowspan="2" style="text-align: left;" | Ethernet | style="text-align: left;" | GMAC | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | style="text-align: left;" | EMAC | N/A | style="background: lightgreen;" | 4.4 | N/A |- | colspan="2" style="text-align: left;" | I2S | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left" | I2C | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | MsgBox | N/A | N/A | N/A |- | colspan="2" style="text-align: left;" | Pinctrl | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | PWM | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | Power Domain | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | PCIE | N/A | N/A | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | SD / SDIO / MMC | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | SPDIF | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | SPI | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | SUSPEND / RESUME | style="background: darkgreen;" | INCOMPLETE | style="background: lightgreen;" | 4.4 | style="background: darkgreen;" | INCOMPLETE |- | colspan="2" style="text-align: left;" | USB | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | USB OTG | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | TYPEC | N/A | N/A | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | Watchdog | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | GPU | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |- | colspan="2" style="text-align: left;" | VPU | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |- | colspan="2" style="text-align: left;" | RGA | style="background: orange;" | WIP | style="background: orange;" | WIP | style="background: orange;" | WIP |- | colspan="2" style="text-align: left;" | IEP | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |} &nbsp; &nbsp; == Linux SDK CHIP Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! RK3288 ! RK3328 ! RK3399 |- | colspan="2" style="text-align: left;" | Debian | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | rowspan="3" style="text-align: left;" | Yocto | style="text-align: left;" | X11 | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | QT EGLFS | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | WESTON | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE |- | colspan="2" style="text-align: left;" | Buildroot | N/A | N/A | style="background: lightgreen;" | SUPPORT |- | rowspan="5" style="text-align: left;" | Decode | style="text-align: left;" | H264 | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | H265 | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | VP8 | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | VP9 | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | JPEG | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE |- | rowspan="3" style="text-align: left;" | Encode | style="text-align: left;" | H264 | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE |- | style="text-align: left;" | H265 | N/A | style="background: lightgreen;" | SUPPORT | N/A |- | style="text-align: left;" | JPEG | style="background: darkgreen;" | MPP | style="background: darkgreen;" | MPP | style="background: darkgreen;" | MPP |- | colspan="2" style="text-align: left;" | ISP(3A) | style="background: orange;" | WIP | N/A | style="background: orange;" | WIP |} <br/> &nbsp; == Linux&nbsp;Funciton Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! Status |- | rowspan="5" style="text-align: left;" | Gstreamer | style="text-align: left;" | Display | style="background: lightgreen;" | kmssink(qt eglfs),rkximagesink(x11), waylandsink(wayland) |- | style="text-align: left;" | Decode&nbsp; | style="background: lightgreen;" | h264, h265, vp8, vp9, jpeg |- | style="text-align: left;" | Encode | style="background: lightgreen;" | h264 |- | style="text-align: left;" | Camera | style="background: orange;" | Without 3A |- | style="text-align: left;" | Transform | style="background: orange;" | WIP |- | rowspan="2" style="text-align: left;" | GPU | style="text-align: left;" | GLES | style="background: lightgreen;" | libmali |- | style="text-align: left;" | OPENCL | style="background: lightgreen;" | libmali |- | colspan="2" rowspan="1" style="text-align: left;" | QT | style="background: lightgreen;" | QT 5.x |- | colspan="2" style="text-align: left;" | Browser(HTML5 Accelerate) | style="background: orange;" | WIP |- | colspan="2" style="text-align: left;" | IOT(Third part Could Service) | style="background: orange;" | WIP |- | colspan="2" style="text-align: left;" | FFmpeg | style="background: yellow;" | Community |- | colspan="2" style="text-align: left;" | MPV | style="background: yellow;" | Community |- | colspan="2" style="text-align: left;" | KODI | style="background: yellow;" | Community |} &nbsp; &nbsp; &nbsp; 05554a9abbfe2e980e2aa23c9b0f6012b81b4481 Software habits 0 159 1321 2017-10-09T06:29:39Z Jacob 6 Created page with " 简单记录下Linux sdk上软件的设计思路和规则, 有需要可以往下面添加 &nbsp; = Loader/Firmware = == 1.[https://github.com/rockchip-linux/rkbin rkbin]..." wikitext text/x-wiki 简单记录下Linux sdk上软件的设计思路和规则, 有需要可以往下面添加 &nbsp; = Loader/Firmware = == 1.[https://github.com/rockchip-linux/rkbin rkbin] == 暂时需要注意很多地方我们用了通配符, 所以除了ddr.bin可以传不同频率的, 其他的最好不要一个芯片同时存在两个版本的binary, 不然通配符会选到两个以上的文件。 == 2.[https://github.com/rockchip-linux/build/blob/debian/mk-uboot.sh build-debian] == build debian里是使用rkbin下的prebuilt tool生成需要的文件, 具体步骤和我们wiki上描述的是一样的。 分区表:https://github.com/rockchip-linux/build/blob/debian/partitions.sh 板级配置: https://github.com/rockchip-linux/build/blob/debian/board_configs.sh idbloader, uboot.img, trust.img的制作:https://github.com/rockchip-linux/build/blob/debian/mk-uboot.sh 一体image的制作,还有uboot的制作:https://github.com/rockchip-linux/build/blob/debian/mk-image.sh 根据 分区,芯片 封装了 rkdeveloptool的烧写脚本: https://github.com/rockchip-linux/build/blob/debian/flash_tool.sh == 3.Build-Yocto == yocto里制作image和debian差不多 烧写脚本(同debian):https://github.com/rockchip-linux/build/blob/yocto/flash_tool.sh 一体image的制作(包含idbloader) :&nbsp;https://github.com/rockchip-linux/meta-rockchip/blob/master/classes/rockchip-gpt-img.bbclass ddr, trust, loader的载入和预处理: https://github.com/rockchip-linux/meta-rockchip/blob/master/recipes-bsp/rk-binary/rk-binary-native_git.bb prebuilt工具 (不过很多native prebuilt工具都不能用在yocto的环境下): https://github.com/rockchip-linux/meta-rockchip/blob/master/recipes-bsp/rk-binary/rk-binary-loader_git.bb 需要注意的是yocto里直接用trust_meger打包完后的[https://github.com/rockchip-linux/rkbin/tree/master/img trust.img], 因为prebuilt trust_meger放到yocto环境用不起来, 大概是库的版本有差。。所以传了新的bl31.bin, 最好这个trust.img和rk-binary-native_git.bb的rev都更新下。 &nbsp; = Debian = &nbsp; = Yocto&nbsp; = yocto的思路是两个layer,[https://github.com/rockchip-linux/meta-rockchip meta-rockchip], [https://github.com/rockchip-linux/meta-rockchip-extra meta-rockchip-extra]。 (yocto要编译测试单独软件可以bitbake linux-rockchip -c compile -f, 然后要重新生成image的话就是再执行一遍bitbake xxximage, bitbake -s) &nbsp; meta-rockchip用于添加, 目的是提供rockchip bsp, 大部分的新增软件和软件配置都放在这里,还有kernel/u-boot相关的软件和配置也都是放到这里。这个layer主要避免放置侵入性的修改(放到extra里)。 板级 芯片级配置 :&nbsp;https://github.com/rockchip-linux/meta-rockchip/tree/master/classes 内核 : https://github.com/rockchip-linux/meta-rockchip/tree/master/recipes-kernel u-boot :&nbsp;https://github.com/rockchip-linux/meta-rockchip/tree/master/recipes-kernel/linux &nbsp; meta-rockchip-extra除了放firmware和 rootfs image配置以外, 最主要的功能就是配置”rockchip sdk“发行版-----就是开机启动, 挂载规则,适用什么版本的软件(比如xserver , wayland,gstreamer), 实际开发者在做改动比较大项目的时候, 这个extra是预期要被他们自己的project layer替代的。 发行版配置 : https://github.com/rockchip-linux/meta-rockchip-extra/tree/master/conf image :&nbsp;https://github.com/rockchip-linux/meta-rockchip-extra/tree/master/recipes-qt/images 自启规则 :&nbsp;https://github.com/rockchip-linux/meta-rockchip-extra/tree/master/recipes-rk/autostart &nbsp; 7ee7b47f8248ea9b7541465d0e70385f52dae66a 1322 1321 2017-10-09T06:34:44Z Jacob 6 wikitext text/x-wiki 简单记录下Linux sdk上软件的设计思路和规则, 有需要可以往下面添加 &nbsp; = Loader/Firmware = == 1.[https://github.com/rockchip-linux/rkbin rkbin] == 暂时需要注意很多地方我们用了通配符, 所以除了ddr.bin可以传不同频率的, 其他的最好不要一个芯片同时存在两个版本的binary, 不然通配符会选到两个以上的文件。 == 2.[https://github.com/rockchip-linux/build/blob/debian/mk-uboot.sh build-debian] == build debian里是使用rkbin下的prebuilt tool生成需要的文件, 具体步骤和我们wiki上描述的是一样的。 分区表:[https://github.com/rockchip-linux/build/blob/debian/partitions.sh https://github.com/rockchip-linux/build/blob/debian/partitions.sh] 板级配置: [https://github.com/rockchip-linux/build/blob/debian/board_configs.sh https://github.com/rockchip-linux/build/blob/debian/board_configs.sh] idbloader, uboot.img, trust.img的制作:[https://github.com/rockchip-linux/build/blob/debian/mk-uboot.sh https://github.com/rockchip-linux/build/blob/debian/mk-uboot.sh] 一体image的制作,还有uboot的制作:[https://github.com/rockchip-linux/build/blob/debian/mk-image.sh https://github.com/rockchip-linux/build/blob/debian/mk-image.sh] 根据 分区,芯片 封装了 rkdeveloptool的烧写脚本: [https://github.com/rockchip-linux/build/blob/debian/flash_tool.sh https://github.com/rockchip-linux/build/blob/debian/flash_tool.sh] == 3.Build-Yocto == yocto里制作image和debian差不多 烧写脚本(同debian):[https://github.com/rockchip-linux/build/blob/yocto/flash_tool.sh https://github.com/rockchip-linux/build/blob/yocto/flash_tool.sh] 一体image的制作(包含idbloader) :&nbsp;[https://github.com/rockchip-linux/meta-rockchip/blob/master/classes/rockchip-gpt-img.bbclass https://github.com/rockchip-linux/meta-rockchip/blob/master/classes/rockchip-gpt-img.bbclass] ddr, trust, loader的载入和预处理: [https://github.com/rockchip-linux/meta-rockchip/blob/master/recipes-bsp/rk-binary/rk-binary-native_git.bb https://github.com/rockchip-linux/meta-rockchip/blob/master/recipes-bsp/rk-binary/rk-binary-native_git.bb] prebuilt工具 (不过很多native prebuilt工具都不能用在yocto的环境下): [https://github.com/rockchip-linux/meta-rockchip/blob/master/recipes-bsp/rk-binary/rk-binary-loader_git.bb https://github.com/rockchip-linux/meta-rockchip/blob/master/recipes-bsp/rk-binary/rk-binary-loader_git.bb] 需要注意的是yocto里直接用trust_meger打包完后的[https://github.com/rockchip-linux/rkbin/tree/master/img trust.img], 因为prebuilt trust_meger放到yocto环境用不起来, 大概是库的版本有差。。所以传了新的bl31.bin, 最好这个trust.img和rk-binary-native_git.bb的rev都更新下。 &nbsp; = Debian = 实质就是live-build上网apt构建基本系统, 可以到ubuntu-build-service下增删软件:&nbsp;https://github.com/rockchip-linux/rk-rootfs-build/blob/master/mk-base-debian.sh 实质就是chroot到系统里执行一系列命令来做配置:&nbsp;https://github.com/rockchip-linux/rk-rootfs-build/blob/master/mk-rootfs-stretch.sh deb的打包需要docker: https://github.com/rockchip-linux/rk-rootfs-build/tree/master/packages/armhf &nbsp; = Yocto&nbsp; = yocto的思路是两个layer,[https://github.com/rockchip-linux/meta-rockchip meta-rockchip], [https://github.com/rockchip-linux/meta-rockchip-extra meta-rockchip-extra]。 (yocto要编译测试单独软件可以bitbake linux-rockchip -c compile -f, 然后要重新生成image的话就是再执行一遍bitbake xxximage, bitbake -s可以列出可选择的bitbake对象) &nbsp; meta-rockchip用于添加, 目的是提供rockchip bsp, 大部分的新增软件和软件配置都放在这里,还有kernel/u-boot相关的软件和配置也都是放到这里。这个layer主要避免放置侵入性的修改(放到extra里)。 板级 芯片级配置 :&nbsp;[https://github.com/rockchip-linux/meta-rockchip/tree/master/classes https://github.com/rockchip-linux/meta-rockchip/tree/master/classes] 内核 : [https://github.com/rockchip-linux/meta-rockchip/tree/master/recipes-kernel https://github.com/rockchip-linux/meta-rockchip/tree/master/recipes-kernel] u-boot :&nbsp;[https://github.com/rockchip-linux/meta-rockchip/tree/master/recipes-kernel/linux https://github.com/rockchip-linux/meta-rockchip/tree/master/recipes-kernel/linux] &nbsp; meta-rockchip-extra除了放firmware和 rootfs image配置以外, 最主要的功能就是配置”rockchip sdk“发行版-----就是开机启动, 挂载规则,适用什么版本的软件(比如xserver , wayland,gstreamer), 实际开发者在做改动比较大项目的时候, 这个extra是预期要被他们自己的project layer替代的。 发行版配置 : [https://github.com/rockchip-linux/meta-rockchip-extra/tree/master/conf https://github.com/rockchip-linux/meta-rockchip-extra/tree/master/conf] image :&nbsp;[https://github.com/rockchip-linux/meta-rockchip-extra/tree/master/recipes-qt/images https://github.com/rockchip-linux/meta-rockchip-extra/tree/master/recipes-qt/images] 自启规则 :&nbsp;[https://github.com/rockchip-linux/meta-rockchip-extra/tree/master/recipes-rk/autostart https://github.com/rockchip-linux/meta-rockchip-extra/tree/master/recipes-rk/autostart] &nbsp; b43b45fc78bde6892ebb4b2344380880cdbb82eb 1323 1322 2017-10-09T06:35:44Z Jacob 6 wikitext text/x-wiki 简单记录下Linux sdk上软件的设计思路和规则, 有需要可以往下面添加 &nbsp; = Loader/Firmware = == [https://github.com/rockchip-linux/rkbin rkbin] == 暂时需要注意很多地方我们用了通配符, 所以除了ddr.bin可以传不同频率的, 其他的最好不要一个芯片同时存在两个版本的binary, 不然通配符会选到两个以上的文件。 == [https://github.com/rockchip-linux/build/blob/debian/mk-uboot.sh build-debian] == build debian里是使用rkbin下的prebuilt tool生成需要的文件, 具体步骤和我们wiki上描述的是一样的。 分区表:[https://github.com/rockchip-linux/build/blob/debian/partitions.sh https://github.com/rockchip-linux/build/blob/debian/partitions.sh] 板级配置: [https://github.com/rockchip-linux/build/blob/debian/board_configs.sh https://github.com/rockchip-linux/build/blob/debian/board_configs.sh] idbloader, uboot.img, trust.img的制作:[https://github.com/rockchip-linux/build/blob/debian/mk-uboot.sh https://github.com/rockchip-linux/build/blob/debian/mk-uboot.sh] 一体image的制作,还有uboot的制作:[https://github.com/rockchip-linux/build/blob/debian/mk-image.sh https://github.com/rockchip-linux/build/blob/debian/mk-image.sh] 根据 分区,芯片 封装了 rkdeveloptool的烧写脚本: [https://github.com/rockchip-linux/build/blob/debian/flash_tool.sh https://github.com/rockchip-linux/build/blob/debian/flash_tool.sh] == Build-Yocto == yocto里制作image和debian差不多 烧写脚本(同debian):[https://github.com/rockchip-linux/build/blob/yocto/flash_tool.sh https://github.com/rockchip-linux/build/blob/yocto/flash_tool.sh] 一体image的制作(包含idbloader) :&nbsp;[https://github.com/rockchip-linux/meta-rockchip/blob/master/classes/rockchip-gpt-img.bbclass https://github.com/rockchip-linux/meta-rockchip/blob/master/classes/rockchip-gpt-img.bbclass] ddr, trust, loader的载入和预处理: [https://github.com/rockchip-linux/meta-rockchip/blob/master/recipes-bsp/rk-binary/rk-binary-native_git.bb https://github.com/rockchip-linux/meta-rockchip/blob/master/recipes-bsp/rk-binary/rk-binary-native_git.bb] prebuilt工具 (不过很多native prebuilt工具都不能用在yocto的环境下): [https://github.com/rockchip-linux/meta-rockchip/blob/master/recipes-bsp/rk-binary/rk-binary-loader_git.bb https://github.com/rockchip-linux/meta-rockchip/blob/master/recipes-bsp/rk-binary/rk-binary-loader_git.bb] 需要注意的是yocto里直接用trust_meger打包完后的[https://github.com/rockchip-linux/rkbin/tree/master/img trust.img], 因为prebuilt trust_meger放到yocto环境用不起来, 大概是库的版本有差。。所以传了新的bl31.bin, 最好这个trust.img和rk-binary-native_git.bb的rev都更新下。 &nbsp; = Debian = 实质就是live-build上网apt构建基本系统, 可以到ubuntu-build-service下增删软件:&nbsp;https://github.com/rockchip-linux/rk-rootfs-build/blob/master/mk-base-debian.sh 实质就是chroot到系统里执行一系列命令来做配置:&nbsp;https://github.com/rockchip-linux/rk-rootfs-build/blob/master/mk-rootfs-stretch.sh deb的打包需要docker: https://github.com/rockchip-linux/rk-rootfs-build/tree/master/packages/armhf &nbsp; = Yocto&nbsp; = yocto的思路是两个layer,[https://github.com/rockchip-linux/meta-rockchip meta-rockchip], [https://github.com/rockchip-linux/meta-rockchip-extra meta-rockchip-extra]。 (yocto要编译测试单独软件可以bitbake linux-rockchip -c compile -f, 然后要重新生成image的话就是再执行一遍bitbake xxximage, bitbake -s可以列出可选择的bitbake对象) &nbsp; meta-rockchip用于添加, 目的是提供rockchip bsp, 大部分的新增软件和软件配置都放在这里,还有kernel/u-boot相关的软件和配置也都是放到这里。这个layer主要避免放置侵入性的修改(放到extra里)。 板级 芯片级配置 :&nbsp;[https://github.com/rockchip-linux/meta-rockchip/tree/master/classes https://github.com/rockchip-linux/meta-rockchip/tree/master/classes] 内核 : [https://github.com/rockchip-linux/meta-rockchip/tree/master/recipes-kernel https://github.com/rockchip-linux/meta-rockchip/tree/master/recipes-kernel] u-boot :&nbsp;[https://github.com/rockchip-linux/meta-rockchip/tree/master/recipes-kernel/linux https://github.com/rockchip-linux/meta-rockchip/tree/master/recipes-kernel/linux] &nbsp; meta-rockchip-extra除了放firmware和 rootfs image配置以外, 最主要的功能就是配置”rockchip sdk“发行版-----就是开机启动, 挂载规则,适用什么版本的软件(比如xserver , wayland,gstreamer), 实际开发者在做改动比较大项目的时候, 这个extra是预期要被他们自己的project layer替代的。 发行版配置 : [https://github.com/rockchip-linux/meta-rockchip-extra/tree/master/conf https://github.com/rockchip-linux/meta-rockchip-extra/tree/master/conf] image :&nbsp;[https://github.com/rockchip-linux/meta-rockchip-extra/tree/master/recipes-qt/images https://github.com/rockchip-linux/meta-rockchip-extra/tree/master/recipes-qt/images] 自启规则 :&nbsp;[https://github.com/rockchip-linux/meta-rockchip-extra/tree/master/recipes-rk/autostart https://github.com/rockchip-linux/meta-rockchip-extra/tree/master/recipes-rk/autostart] &nbsp; 77485504f2e97b984ddd57f108cd07249e565fd6 1324 1323 2017-10-09T06:41:12Z Jacob 6 wikitext text/x-wiki 简单记录下Linux sdk上软件的设计思路和规则, 有需要可以往下面添加 &nbsp; &nbsp; = Loader/Firmware = == [https://github.com/rockchip-linux/rkbin rkbin] == 暂时需要注意很多地方我们用了通配符, 所以除了ddr.bin可以传不同频率的, 其他的最好不要一个芯片同时存在两个版本的binary, 不然通配符会选到两个以上的文件。 == [https://github.com/rockchip-linux/build/blob/debian/mk-uboot.sh build-debian] == build debian里是使用rkbin下的prebuilt tool生成需要的文件, 具体步骤和我们wiki上描述的是一样的。 分区表:[https://github.com/rockchip-linux/build/blob/debian/partitions.sh https://github.com/rockchip-linux/build/blob/debian/partitions.sh] 板级配置: [https://github.com/rockchip-linux/build/blob/debian/board_configs.sh https://github.com/rockchip-linux/build/blob/debian/board_configs.sh] idbloader, uboot.img, trust.img的制作:[https://github.com/rockchip-linux/build/blob/debian/mk-uboot.sh https://github.com/rockchip-linux/build/blob/debian/mk-uboot.sh] 一体image的制作,还有uboot的制作:[https://github.com/rockchip-linux/build/blob/debian/mk-image.sh https://github.com/rockchip-linux/build/blob/debian/mk-image.sh] 根据 分区,芯片 封装了 rkdeveloptool的烧写脚本: [https://github.com/rockchip-linux/build/blob/debian/flash_tool.sh https://github.com/rockchip-linux/build/blob/debian/flash_tool.sh] == Build-Yocto == yocto里制作image和debian差不多 烧写脚本(同debian):[https://github.com/rockchip-linux/build/blob/yocto/flash_tool.sh https://github.com/rockchip-linux/build/blob/yocto/flash_tool.sh] 一体image的制作(包含idbloader) :&nbsp;[https://github.com/rockchip-linux/meta-rockchip/blob/master/classes/rockchip-gpt-img.bbclass https://github.com/rockchip-linux/meta-rockchip/blob/master/classes/rockchip-gpt-img.bbclass] ddr, trust, loader的载入和预处理: [https://github.com/rockchip-linux/meta-rockchip/blob/master/recipes-bsp/rk-binary/rk-binary-native_git.bb https://github.com/rockchip-linux/meta-rockchip/blob/master/recipes-bsp/rk-binary/rk-binary-native_git.bb] prebuilt工具 (不过很多native prebuilt工具都不能用在yocto的环境下): [https://github.com/rockchip-linux/meta-rockchip/blob/master/recipes-bsp/rk-binary/rk-binary-loader_git.bb https://github.com/rockchip-linux/meta-rockchip/blob/master/recipes-bsp/rk-binary/rk-binary-loader_git.bb] 需要注意的是yocto里直接用trust_meger打包完后的[https://github.com/rockchip-linux/rkbin/tree/master/img trust.img], 因为prebuilt trust_meger放到yocto环境用不起来, 大概是库的版本有差。。所以传了新的bl31.bin, 最好这个trust.img和rk-binary-native_git.bb的rev都更新下。 &nbsp; = Debian = 实质就是live-build上网apt构建基本系统, 可以到ubuntu-build-service下增删软件:&nbsp;[https://github.com/rockchip-linux/rk-rootfs-build/blob/master/mk-base-debian.sh https://github.com/rockchip-linux/rk-rootfs-build/blob/master/mk-base-debian.sh] 实质就是chroot到系统里执行一系列命令来做配置:&nbsp;[https://github.com/rockchip-linux/rk-rootfs-build/blob/master/mk-rootfs-stretch.sh https://github.com/rockchip-linux/rk-rootfs-build/blob/master/mk-rootfs-stretch.sh] deb的打包需要docker: [https://github.com/rockchip-linux/rk-rootfs-build/tree/master/packages/armhf https://github.com/rockchip-linux/rk-rootfs-build/tree/master/packages/armhf] &nbsp; = Yocto&nbsp; = yocto的思路是两个layer,[https://github.com/rockchip-linux/meta-rockchip meta-rockchip], [https://github.com/rockchip-linux/meta-rockchip-extra meta-rockchip-extra]。 (yocto要编译测试单独软件可以bitbake linux-rockchip -c compile -f, 然后要重新生成image的话就是再执行一遍bitbake xxximage, bitbake -s可以列出可选择的bitbake对象) &nbsp; meta-rockchip用于添加, 目的是提供rockchip bsp, 大部分的新增软件和软件配置都放在这里,还有kernel/u-boot相关的软件和配置也都是放到这里。这个layer主要避免放置侵入性的修改(放到extra里)。 板级 芯片级配置 :&nbsp;[https://github.com/rockchip-linux/meta-rockchip/tree/master/classes https://github.com/rockchip-linux/meta-rockchip/tree/master/classes] 内核 : [https://github.com/rockchip-linux/meta-rockchip/tree/master/recipes-kernel https://github.com/rockchip-linux/meta-rockchip/tree/master/recipes-kernel] u-boot :&nbsp;[https://github.com/rockchip-linux/meta-rockchip/tree/master/recipes-kernel/linux https://github.com/rockchip-linux/meta-rockchip/tree/master/recipes-kernel/linux] &nbsp; meta-rockchip-extra除了放firmware和 rootfs image配置以外, 最主要的功能就是配置”rockchip sdk“发行版-----就是开机启动, 挂载规则,适用什么版本的软件(比如xserver , wayland,gstreamer), 实际开发者在做改动比较大项目的时候, 这个extra是预期要被他们自己的project layer替代的。 发行版配置 : [https://github.com/rockchip-linux/meta-rockchip-extra/tree/master/conf https://github.com/rockchip-linux/meta-rockchip-extra/tree/master/conf] image :&nbsp;[https://github.com/rockchip-linux/meta-rockchip-extra/tree/master/recipes-qt/images https://github.com/rockchip-linux/meta-rockchip-extra/tree/master/recipes-qt/images] 自启规则 :&nbsp;[https://github.com/rockchip-linux/meta-rockchip-extra/tree/master/recipes-rk/autostart https://github.com/rockchip-linux/meta-rockchip-extra/tree/master/recipes-rk/autostart] &nbsp; = 版本管理 = 暂时没有很明确的版本的管理, debian都是滚动的, yocto的话通过rev固定住软件版本。 注意的是yocto还有上游版本区分,目前我们就是只更新最新的stable branch, 比如最新的stable branch是pyro, 那就yocto的修改就要同时推送master和pyro,直到stable branch变了。 c4b1b4fbe5fbbf6148425b305ac5bfc9148493ee Board Config 0 160 1348 2017-10-10T09:59:09Z Jacob 6 Created page with " = Board config = == defconfig and dts == Every Board has its device tree file and config file required by the kernel and uboot. Therefore, you will need to choose the corre..." wikitext text/x-wiki = Board config = == defconfig and dts == Every Board has its device tree file and config file required by the kernel and uboot. Therefore, you will need to choose the correct dts and config to build the source.Below list various Boards and the matching file. {| border="1" |- ! board ! uboot ! kernel config ! kernel dts |- | rk3288-evb | evb-rk3288_defconfig | rockchip_linux_defconfig | rk3288-evb-act8846.dts or rk3288-evb-rk808.dts |- | rk3288-fennec | fennec-rk3288_defconfig | rockchip_linux_defconfig | rk3288-fennec.dts |- | rk3288-miniarm | tinker-rk3288_defconfig | rockchip_linux_defconfig | rk3288-miniarm.dts |- | rk3288-firefly | firefly-rk3288_defconfig | rockchip_linux_defconfig | rk3288-firefly.dts |- | rk3328-evb | evb-rk3328_defconfig | rockchip_linux_defconfig | rk3328-evb.dts |- | rk3399-excavator | evb-rk3399_defconfig | rockchip_linux_defconfig | rk3399-sapphire-excavator-linux.dts |- | rk3399-firefly | firefly-rk3399_defconfig | rockchip_linux_defconfig | rk3399-firefly-linux.dts |- | rk3036-kylin | kylin-rk3036_defconfig | rockchip_linux_defconfig | rk3036-kylin.dts |} ---- == Config Per Chip == {| border="1" |- ! chip ! Kernel eMMC index ! Kernel SD index ! Uboot eMMC index ! Uboot SD index ! Baud speed |- | rk3399 | 1 | 0 | 0 | 1 | 1500000 |- | rk3328 | 2 | 0 | 0 | 1 | 1500000 |- | rk3288 | 2 | 0 | 0 | 1 | 115200 |- | rk3036 | 2 | 0 | 0 | - | 115200 |} ---- f3bbd0a09a0090a7e1d0251f5a6c120e0d828f5c 1351 1348 2017-10-10T10:12:57Z Jacob 6 wikitext text/x-wiki = Board config = == defconfig and dts == <span style="font-size: 13px; line-height: 1.6;">Every Board has its device tree file and config file required by the kernel and uboot. Therefore, you will need to choose the correct dts and config to build the source.Below list various Boards and the matching file.</span> {| border="1" class="table_style" style="width: 789px;" |- ! style="width: 153px;" | board ! style="width: 172px;" | uboot ! style="width: 167px;" | kernel config ! style="width: 287px;" | kernel dts |- | style="width: 153px;" | rk3288-evb | style="width: 172px;" | evb-rk3288_defconfig | style="width: 167px;" | rockchip_linux_defconfig | style="width: 287px;" | rk3288-evb-act8846.dts or rk3288-evb-rk808.dts |- | style="width: 153px;" | rk3288-fennec | style="width: 172px;" | fennec-rk3288_defconfig | style="width: 167px;" | rockchip_linux_defconfig | style="width: 287px;" | rk3288-fennec.dts |- | style="width: 153px;" | rk3288-miniarm | style="width: 172px;" | tinker-rk3288_defconfig | style="width: 167px;" | rockchip_linux_defconfig | style="width: 287px;" | rk3288-miniarm.dts |- | style="width: 153px;" | rk3288-firefly | style="width: 172px;" | firefly-rk3288_defconfig | style="width: 167px;" | rockchip_linux_defconfig | style="width: 287px;" | rk3288-firefly.dts |- | style="width: 153px;" | rk3328-evb | style="width: 172px;" | evb-rk3328_defconfig | style="width: 167px;" | rockchip_linux_defconfig | style="width: 287px;" | rk3328-evb.dts |- | style="width: 153px;" | rk3399-excavator | style="width: 172px;" | evb-rk3399_defconfig | style="width: 167px;" | rockchip_linux_defconfig | style="width: 287px;" | rk3399-sapphire-excavator-linux.dts |- | style="width: 153px;" | rk3399-firefly | style="width: 172px;" | firefly-rk3399_defconfig | style="width: 167px;" | rockchip_linux_defconfig | style="width: 287px;" | rk3399-firefly-linux.dts |- | style="width: 153px;" | rk3036-kylin | style="width: 172px;" | kylin-rk3036_defconfig | style="width: 167px;" | rockchip_linux_defconfig | style="width: 287px;" | rk3036-kylin.dts |} ---- == Config Per Chip == {| border="1" class="table_style" |- ! chip ! Kernel eMMC index ! Kernel SD index ! Uboot eMMC index ! Uboot SD index ! Baud speed |- | rk3399 | 1 | 0 | 0 | 1 | 1500000 |- | rk3328 | 2 | 0 | 0 | 1 | 1500000 |- | rk3288 | 2 | 0 | 0 | 1 | 115200 |- | rk3036 | 2 | 0 | 0 | - | 115200 |} ---- 4e1e0f9c8b0fc6f78639af2c7425af4f47b18aad 1352 1351 2017-10-10T10:21:19Z Jacob 6 wikitext text/x-wiki = Board config = == defconfig and dts == <span style="font-size: 13px; line-height: 1.6;">Every Board has its device tree file and config file required by the kernel and uboot. Therefore, you will need to choose the correct dts and config to build the source.Below list various Boards and the matching file.</span> {| border="1" class="table_style" style="width: 789px;" |- ! rowspan="2" style="width: 153px;" | board ! rowspan="2" style="width: 172px;" | uboot ! rowspan="2" style="width: 167px;" | kernel config ! rowspan="2" style="width: 287px;" | kernel dts ! colspan="2" rowspan="1" style="width: 287px;" | Hardware |- ! style="width: 287px;" | DDR ! style="width: 287px;" | PMIC |- | style="width: 153px;" | rk3288-evb | style="width: 172px;" | evb-rk3288_defconfig | style="width: 167px;" | rockchip_linux_defconfig | style="width: 287px;" | rk3288-evb-act8846.dts or rk3288-evb-rk808.dts | style="width: 287px;" | mostly LPDDR3 | style="width: 287px;" | act8846 |- | style="width: 153px;" | rk3288-fennec | style="width: 172px;" | fennec-rk3288_defconfig | style="width: 167px;" | rockchip_linux_defconfig | style="width: 287px;" | rk3288-fennec.dts | style="width: 287px;" | LPDDR3 | style="width: 287px;" | rk808 |- | style="width: 153px;" | rk3288-miniarm | style="width: 172px;" | tinker-rk3288_defconfig | style="width: 167px;" | rockchip_linux_defconfig | style="width: 287px;" | rk3288-miniarm.dts | style="width: 287px;" | LPDDR3 | style="width: 287px;" | rk808 |- | style="width: 153px;" | rk3288-firefly | style="width: 172px;" | firefly-rk3288_defconfig | style="width: 167px;" | rockchip_linux_defconfig | style="width: 287px;" | rk3288-firefly.dts | style="width: 287px;" | DDR3 | style="width: 287px;" | rk808 |- | style="width: 153px;" | rk3288-phytec | style="width: 172px;" | phtec-rk3288_defconfig | style="width: 167px;" | rockchip_linux_defconfig | style="width: 287px;" | rk3288-phytec-rdk.dts | style="width: 287px;" | DDR3 | style="width: 287px;" | rk818 |- | style="width: 153px;" | rk3328-evb | style="width: 172px;" | evb-rk3328_defconfig | style="width: 167px;" | rockchip_linux_defconfig | style="width: 287px;" | rk3328-evb.dts | style="width: 287px;" | LPDDR3 | style="width: 287px;" | rk805 |- | style="width: 153px;" | rk3399-excavator | style="width: 172px;" | evb-rk3399_defconfig | style="width: 167px;" | rockchip_linux_defconfig | style="width: 287px;" | rk3399-sapphire-excavator-linux.dts | style="width: 287px;" | LPDDR4 | style="width: 287px;" | rk808 |- | style="width: 153px;" | rk3399-firefly | style="width: 172px;" | firefly-rk3399_defconfig | style="width: 167px;" | rockchip_linux_defconfig | style="width: 287px;" | rk3399-firefly-linux.dts | style="width: 287px;" | LPDDR4 | style="width: 287px;" | rk808 |- | style="width: 153px;" | rk3036-kylin | style="width: 172px;" | kylin-rk3036_defconfig | style="width: 167px;" | rockchip_linux_defconfig | style="width: 287px;" | rk3036-kylin.dts | style="width: 287px;" | LPDDR3 | style="width: 287px;" | rk808 |} == &nbsp; == == Config Per Chip == {| border="1" class="table_style" |- ! chip ! Kernel eMMC index ! Kernel SD index ! Uboot eMMC index ! Uboot SD index ! Baud speed |- | rk3399 | 1 | 0 | 0 | 1 | 1500000 |- | rk3328 | 2 | 0 | 0 | 1 | 1500000 |- | rk3288 | 2 | 0 | 0 | 1 | 115200 |- | rk3036 | 2 | 0 | 0 | - | 115200 |} ---- 5b3ace075be8fc86eea3a00243b97d65f7dadfc8 1353 1352 2017-10-10T10:24:58Z Jacob 6 wikitext text/x-wiki = Board config = == defconfig and dts == <span style="font-size: 13px; line-height: 1.6;">Every Board has its device tree file and config file required by the kernel and uboot. Therefore, you will need to choose the correct dts and config to build the source.Below list various Boards and the matching file.</span> {| border="1" class="table_style" style="width: 789px;" |- ! rowspan="2" style="width: 153px;" | board ! rowspan="2" style="width: 172px;" | uboot ! rowspan="2" style="width: 167px;" | kernel config ! rowspan="2" style="width: 287px;" | kernel dts ! colspan="3" rowspan="1" style="width: 287px;" | Hardware |- ! style="width: 287px;" | DDR ! style="width: 287px;" | PMIC ! style="width: 287px;" | Boot |- | style="width: 153px;" | rk3288-evb | style="width: 172px;" | evb-rk3288_defconfig | style="width: 167px;" | rockchip_linux_defconfig | style="width: 287px;" | rk3288-evb-act8846.dts or rk3288-evb-rk808.dts | style="width: 287px; text-align: center;" | mostly LPDDR3 | style="width: 287px; text-align: center;" | act8846 | style="width: 287px; text-align: center;" | emmc boot |- | style="width: 153px;" | rk3288-fennec | style="width: 172px;" | fennec-rk3288_defconfig | style="width: 167px;" | rockchip_linux_defconfig | style="width: 287px;" | rk3288-fennec.dts | style="width: 287px; text-align: center;" | LPDDR3 | style="width: 287px; text-align: center;" | rk808 | style="width: 287px; text-align: center;" | emmc boot |- | style="width: 153px;" | rk3288-miniarm | style="width: 172px;" | tinker-rk3288_defconfig | style="width: 167px;" | rockchip_linux_defconfig | style="width: 287px;" | rk3288-miniarm.dts | style="width: 287px; text-align: center;" | LPDDR3 | style="width: 287px; text-align: center;" | rk808 | style="width: 287px; text-align: center;" | sd-card boot |- | style="width: 153px;" | rk3288-firefly | style="width: 172px;" | firefly-rk3288_defconfig | style="width: 167px;" | rockchip_linux_defconfig | style="width: 287px;" | rk3288-firefly.dts | style="width: 287px; text-align: center;" | DDR3 | style="width: 287px; text-align: center;" | rk808 | style="width: 287px; text-align: center;" | sd-card boot |- | style="width: 153px;" | rk3288-phytec | style="width: 172px;" | phtec-rk3288_defconfig | style="width: 167px;" | rockchip_linux_defconfig | style="width: 287px;" | rk3288-phytec-rdk.dts | style="width: 287px; text-align: center;" | DDR3 | style="width: 287px; text-align: center;" | rk818 | style="width: 287px; text-align: center;" | emmc boot |- | style="width: 153px;" | rk3328-evb | style="width: 172px;" | evb-rk3328_defconfig | style="width: 167px;" | rockchip_linux_defconfig | style="width: 287px;" | rk3328-evb.dts | style="width: 287px; text-align: center;" | LPDDR3 | style="width: 287px; text-align: center;" | rk805 | style="width: 287px; text-align: center;" | emmc boot |- | style="width: 153px;" | rk3399-excavator | style="width: 172px;" | evb-rk3399_defconfig | style="width: 167px;" | rockchip_linux_defconfig | style="width: 287px;" | rk3399-sapphire-excavator-linux.dts | style="width: 287px; text-align: center;" | LPDDR4 | style="width: 287px; text-align: center;" | rk808 | style="width: 287px; text-align: center;" | emmc boot |- | style="width: 153px;" | rk3399-firefly | style="width: 172px;" | firefly-rk3399_defconfig | style="width: 167px;" | rockchip_linux_defconfig | style="width: 287px;" | rk3399-firefly-linux.dts | style="width: 287px; text-align: center;" | LPDDR4 | style="width: 287px; text-align: center;" | rk808 | style="width: 287px; text-align: center;" | emmc boot |- | style="width: 153px;" | rk3036-kylin | style="width: 172px;" | kylin-rk3036_defconfig | style="width: 167px;" | rockchip_linux_defconfig | style="width: 287px;" | rk3036-kylin.dts | style="width: 287px; text-align: center;" | LPDDR3 | style="width: 287px; text-align: center;" | rk808 | style="width: 287px; text-align: center;" | emmc boot |} == &nbsp; == == Config Per Chip == {| border="1" class="table_style" |- ! chip ! Kernel eMMC index ! Kernel SD index ! Uboot eMMC index ! Uboot SD index ! Baud speed |- | rk3399 | 1 | 0 | 0 | 1 | 1500000 |- | rk3328 | 2 | 0 | 0 | 1 | 1500000 |- | rk3288 | 2 | 0 | 0 | 1 | 115200 |- | rk3036 | 2 | 0 | 0 | - | 115200 |} ---- b02f2b6c6346efad48c91bf3fb7cde49a3267bd1 1354 1353 2017-10-10T10:25:28Z Jacob 6 wikitext text/x-wiki = Board config = == defconfig and dts == <span style="font-size: 13px; line-height: 1.6;">Every Board has its device tree file and config file required by the kernel and uboot. Therefore, you will need to choose the correct dts and config to build the source.Below list various Boards and the matching file.</span> {| border="1" class="table_style" style="width: 920px;" |- ! rowspan="2" style="width: 153px;" | board ! rowspan="2" style="width: 172px;" | uboot ! rowspan="2" style="width: 167px;" | kernel config ! rowspan="2" style="width: 287px;" | kernel dts ! colspan="3" rowspan="1" style="width: 287px;" | Hardware |- ! style="width: 287px;" | DDR ! style="width: 287px;" | PMIC ! style="width: 287px;" | Boot |- | style="width: 153px;" | rk3288-evb | style="width: 172px;" | evb-rk3288_defconfig | style="width: 167px;" | rockchip_linux_defconfig | style="width: 287px;" | rk3288-evb-act8846.dts or rk3288-evb-rk808.dts | style="width: 287px; text-align: center;" | mostly LPDDR3 | style="width: 287px; text-align: center;" | act8846 | style="width: 287px; text-align: center;" | emmc boot |- | style="width: 153px;" | rk3288-fennec | style="width: 172px;" | fennec-rk3288_defconfig | style="width: 167px;" | rockchip_linux_defconfig | style="width: 287px;" | rk3288-fennec.dts | style="width: 287px; text-align: center;" | LPDDR3 | style="width: 287px; text-align: center;" | rk808 | style="width: 287px; text-align: center;" | emmc boot |- | style="width: 153px;" | rk3288-miniarm | style="width: 172px;" | tinker-rk3288_defconfig | style="width: 167px;" | rockchip_linux_defconfig | style="width: 287px;" | rk3288-miniarm.dts | style="width: 287px; text-align: center;" | LPDDR3 | style="width: 287px; text-align: center;" | rk808 | style="width: 287px; text-align: center;" | sd-card boot |- | style="width: 153px;" | rk3288-firefly | style="width: 172px;" | firefly-rk3288_defconfig | style="width: 167px;" | rockchip_linux_defconfig | style="width: 287px;" | rk3288-firefly.dts | style="width: 287px; text-align: center;" | DDR3 | style="width: 287px; text-align: center;" | rk808 | style="width: 287px; text-align: center;" | sd-card boot |- | style="width: 153px;" | rk3288-phytec | style="width: 172px;" | phtec-rk3288_defconfig | style="width: 167px;" | rockchip_linux_defconfig | style="width: 287px;" | rk3288-phytec-rdk.dts | style="width: 287px; text-align: center;" | DDR3 | style="width: 287px; text-align: center;" | rk818 | style="width: 287px; text-align: center;" | emmc boot |- | style="width: 153px;" | rk3328-evb | style="width: 172px;" | evb-rk3328_defconfig | style="width: 167px;" | rockchip_linux_defconfig | style="width: 287px;" | rk3328-evb.dts | style="width: 287px; text-align: center;" | LPDDR3 | style="width: 287px; text-align: center;" | rk805 | style="width: 287px; text-align: center;" | emmc boot |- | style="width: 153px;" | rk3399-excavator | style="width: 172px;" | evb-rk3399_defconfig | style="width: 167px;" | rockchip_linux_defconfig | style="width: 287px;" | rk3399-sapphire-excavator-linux.dts | style="width: 287px; text-align: center;" | LPDDR4 | style="width: 287px; text-align: center;" | rk808 | style="width: 287px; text-align: center;" | emmc boot |- | style="width: 153px;" | rk3399-firefly | style="width: 172px;" | firefly-rk3399_defconfig | style="width: 167px;" | rockchip_linux_defconfig | style="width: 287px;" | rk3399-firefly-linux.dts | style="width: 287px; text-align: center;" | LPDDR4 | style="width: 287px; text-align: center;" | rk808 | style="width: 287px; text-align: center;" | emmc boot |- | style="width: 153px;" | rk3036-kylin | style="width: 172px;" | kylin-rk3036_defconfig | style="width: 167px;" | rockchip_linux_defconfig | style="width: 287px;" | rk3036-kylin.dts | style="width: 287px; text-align: center;" | LPDDR3 | style="width: 287px; text-align: center;" | rk808 | style="width: 287px; text-align: center;" | emmc boot |} == &nbsp; == == Config Per Chip == {| border="1" class="table_style" |- ! chip ! Kernel eMMC index ! Kernel SD index ! Uboot eMMC index ! Uboot SD index ! Baud speed |- | rk3399 | 1 | 0 | 0 | 1 | 1500000 |- | rk3328 | 2 | 0 | 0 | 1 | 1500000 |- | rk3288 | 2 | 0 | 0 | 1 | 115200 |- | rk3036 | 2 | 0 | 0 | - | 115200 |} ---- 2c4992e0ce96f0f57c0a34a945af6fb4c23614bb 1359 1354 2017-10-10T10:53:46Z Jacob 6 wikitext text/x-wiki = &nbsp; = = &nbsp; = = Explanation = DDR: We use opensource idbloader(See&nbsp;[[Boot_option]])&nbsp; on some chips (rk3036, rk3288) and&nbsp;its&nbsp;[https://github.com/rockchip-linux/u-boot/blob/release/doc/device-tree-bindings/clock/rockchip,rk3288-dmc.txt dmc&nbsp;driver] can't support ddr-type autodetct, which will make the board failed to enter u-boot. PMIC: PMIC setting in u-boot don't have much matter.&nbsp;Just for the board using&nbsp;rk818, [https://github.com/rockchip-linux/u-boot/blob/release/arch/arm/mach-rockchip/rk3288-board-spl.c#L172 USB input current]&nbsp;should be configured during boot stage. Boot: Please&nbsp;note some board have disable emmc&nbsp;in u-boot though the hardware actually have emmc. (firefly-rk3288) &nbsp; = Board config = == defconfig and dts == <span style="font-size: 13px; line-height: 1.6;">Every Board has its device tree file and config file required by the kernel and uboot. Therefore, you will need to choose the correct dts and config to build the source.Below list various Boards and the matching file.</span> {| border="1" class="table_style" style="width: 920px;" |- ! rowspan="2" style="width: 153px;" | board ! rowspan="2" style="width: 172px;" | uboot ! rowspan="2" style="width: 167px;" | kernel config ! rowspan="2" style="width: 287px;" | kernel dts ! colspan="3" rowspan="1" style="width: 287px;" | Hardware |- ! style="width: 287px;" | DDR ! style="width: 287px;" | PMIC ! style="width: 287px;" | Boot |- | style="width: 153px;" | rk3288-evb | style="width: 172px;" | evb-rk3288_defconfig | style="width: 167px;" | rockchip_linux_defconfig | style="width: 287px;" | rk3288-evb-act8846.dts or rk3288-evb-rk808.dts | style="width: 287px; text-align: center;" | mostly LPDDR3 | style="width: 287px; text-align: center;" | act8846 | style="width: 287px; text-align: center;" | emmc boot |- | style="width: 153px;" | rk3288-fennec | style="width: 172px;" | fennec-rk3288_defconfig | style="width: 167px;" | rockchip_linux_defconfig | style="width: 287px;" | rk3288-fennec.dts | style="width: 287px; text-align: center;" | LPDDR3 | style="width: 287px; text-align: center;" | rk808 | style="width: 287px; text-align: center;" | emmc boot |- | style="width: 153px;" | rk3288-miniarm | style="width: 172px;" | tinker-rk3288_defconfig | style="width: 167px;" | rockchip_linux_defconfig | style="width: 287px;" | rk3288-miniarm.dts | style="width: 287px; text-align: center;" | LPDDR3 | style="width: 287px; text-align: center;" | rk808 | style="width: 287px; text-align: center;" | sd-card boot |- | style="width: 153px;" | rk3288-firefly | style="width: 172px;" | firefly-rk3288_defconfig | style="width: 167px;" | rockchip_linux_defconfig | style="width: 287px;" | rk3288-firefly.dts | style="width: 287px; text-align: center;" | DDR3 | style="width: 287px; text-align: center;" | rk808 | style="width: 287px; text-align: center;" | sd-card boot |- | style="width: 153px;" | rk3288-phytec | style="width: 172px;" | phtec-rk3288_defconfig | style="width: 167px;" | rockchip_linux_defconfig | style="width: 287px;" | rk3288-phytec-rdk.dts | style="width: 287px; text-align: center;" | DDR3 | style="width: 287px; text-align: center;" | rk818 | style="width: 287px; text-align: center;" | emmc boot |- | style="width: 153px;" | rk3328-evb | style="width: 172px;" | evb-rk3328_defconfig | style="width: 167px;" | rockchip_linux_defconfig | style="width: 287px;" | rk3328-evb.dts | style="width: 287px; text-align: center;" | LPDDR3 | style="width: 287px; text-align: center;" | rk805 | style="width: 287px; text-align: center;" | emmc boot |- | style="width: 153px;" | rk3399-excavator | style="width: 172px;" | evb-rk3399_defconfig | style="width: 167px;" | rockchip_linux_defconfig | style="width: 287px;" | rk3399-sapphire-excavator-linux.dts | style="width: 287px; text-align: center;" | LPDDR4 | style="width: 287px; text-align: center;" | rk808 | style="width: 287px; text-align: center;" | emmc boot |- | style="width: 153px;" | rk3399-firefly | style="width: 172px;" | firefly-rk3399_defconfig | style="width: 167px;" | rockchip_linux_defconfig | style="width: 287px;" | rk3399-firefly-linux.dts | style="width: 287px; text-align: center;" | LPDDR4 | style="width: 287px; text-align: center;" | rk808 | style="width: 287px; text-align: center;" | emmc boot |- | style="width: 153px;" | rk3036-kylin | style="width: 172px;" | kylin-rk3036_defconfig | style="width: 167px;" | rockchip_linux_defconfig | style="width: 287px;" | rk3036-kylin.dts | style="width: 287px; text-align: center;" | LPDDR3 | style="width: 287px; text-align: center;" | rk808 | style="width: 287px; text-align: center;" | emmc boot |} &nbsp; == Config Per Chip == {| border="1" class="table_style" |- ! chip ! Kernel eMMC index ! Kernel SD index ! Uboot eMMC index ! Uboot SD index ! Baud speed |- | rk3399 | 1 | 0 | 0 | 1 | 1500000 |- | rk3328 | 2 | 0 | 0 | 1 | 1500000 |- | rk3288 | 2 | 0 | 0 | 1 | 115200 |- | rk3036 | 2 | 0 | 0 | - | 115200 |} ---- 50a8c206d3dd2778e9a965fcdc0241b0bbb73d78 1364 1359 2017-10-10T11:00:21Z Jacob 6 wikitext text/x-wiki = Explanation = DDR: We use opensource idbloader(See&nbsp;[[Boot_option|Boot_option]])&nbsp; on some chips (rk3036, rk3288) and&nbsp;its&nbsp;[https://github.com/rockchip-linux/u-boot/blob/release/doc/device-tree-bindings/clock/rockchip,rk3288-dmc.txt dmc&nbsp;driver] can't support ddr-type autodetct, which will make the board failed to enter u-boot. PMIC: PMIC setting in u-boot don't have much matter.&nbsp;Just for the board using&nbsp;rk818, [https://github.com/rockchip-linux/u-boot/blob/release/arch/arm/mach-rockchip/rk3288-board-spl.c#L172 USB input current]&nbsp;should be configured during boot stage. Boot: Please&nbsp;note some board have disable emmc&nbsp;in u-boot though the hardware actually have emmc. (firefly-rk3288) &nbsp; = Board config = == defconfig and dts == <span style="font-size: 13px; line-height: 1.6;">Every Board has its device tree file and config file required by the kernel and uboot. Therefore, you will need to choose the correct dts and config to build the source.Below list various Boards and the matching file.</span> {| border="1" class="table_style" style="width: 920px;" |- ! rowspan="2" style="width: 153px;" | board ! rowspan="2" style="width: 172px;" | uboot ! rowspan="2" style="width: 167px;" | kernel config ! rowspan="2" style="width: 287px;" | kernel dts ! colspan="3" rowspan="1" style="width: 287px;" | Hardware |- ! style="width: 287px;" | DDR ! style="width: 287px;" | PMIC ! style="width: 287px;" | Boot |- | style="width: 153px;" | rk3288-evb | style="width: 172px;" | evb-rk3288_defconfig | style="width: 167px;" | rockchip_linux_defconfig | style="width: 287px;" | rk3288-evb-act8846.dts or rk3288-evb-rk808.dts | style="width: 287px; text-align: center;" | mostly LPDDR3 | style="width: 287px; text-align: center;" | act8846 | style="width: 287px; text-align: center;" | emmc boot |- | style="width: 153px;" | rk3288-fennec | style="width: 172px;" | fennec-rk3288_defconfig | style="width: 167px;" | rockchip_linux_defconfig | style="width: 287px;" | rk3288-fennec.dts | style="width: 287px; text-align: center;" | LPDDR3 | style="width: 287px; text-align: center;" | rk808 | style="width: 287px; text-align: center;" | emmc boot |- | style="width: 153px;" | rk3288-miniarm | style="width: 172px;" | tinker-rk3288_defconfig | style="width: 167px;" | rockchip_linux_defconfig | style="width: 287px;" | rk3288-miniarm.dts | style="width: 287px; text-align: center;" | LPDDR3 | style="width: 287px; text-align: center;" | rk808 | style="width: 287px; text-align: center;" | sd-card boot |- | style="width: 153px;" | rk3288-firefly | style="width: 172px;" | firefly-rk3288_defconfig | style="width: 167px;" | rockchip_linux_defconfig | style="width: 287px;" | rk3288-firefly.dts | style="width: 287px; text-align: center;" | DDR3 | style="width: 287px; text-align: center;" | rk808 | style="width: 287px; text-align: center;" | sd-card boot |- | style="width: 153px;" | rk3288-phytec | style="width: 172px;" | phtec-rk3288_defconfig | style="width: 167px;" | rockchip_linux_defconfig | style="width: 287px;" | rk3288-phytec-rdk.dts | style="width: 287px; text-align: center;" | DDR3 | style="width: 287px; text-align: center;" | rk818 | style="width: 287px; text-align: center;" | emmc boot |- | style="width: 153px;" | rk3328-evb | style="width: 172px;" | evb-rk3328_defconfig | style="width: 167px;" | rockchip_linux_defconfig | style="width: 287px;" | rk3328-evb.dts | style="width: 287px; text-align: center;" | LPDDR3 | style="width: 287px; text-align: center;" | rk805 | style="width: 287px; text-align: center;" | emmc boot |- | style="width: 153px;" | rk3399-excavator | style="width: 172px;" | evb-rk3399_defconfig | style="width: 167px;" | rockchip_linux_defconfig | style="width: 287px;" | rk3399-sapphire-excavator-linux.dts | style="width: 287px; text-align: center;" | LPDDR4 | style="width: 287px; text-align: center;" | rk808 | style="width: 287px; text-align: center;" | emmc boot |- | style="width: 153px;" | rk3399-firefly | style="width: 172px;" | firefly-rk3399_defconfig | style="width: 167px;" | rockchip_linux_defconfig | style="width: 287px;" | rk3399-firefly-linux.dts | style="width: 287px; text-align: center;" | LPDDR4 | style="width: 287px; text-align: center;" | rk808 | style="width: 287px; text-align: center;" | emmc boot |- | style="width: 153px;" | rk3036-kylin | style="width: 172px;" | kylin-rk3036_defconfig | style="width: 167px;" | rockchip_linux_defconfig | style="width: 287px;" | rk3036-kylin.dts | style="width: 287px; text-align: center;" | LPDDR3 | style="width: 287px; text-align: center;" | rk808 | style="width: 287px; text-align: center;" | emmc boot |} &nbsp; == Config Per Chip == {| border="1" class="table_style" |- ! chip ! Kernel eMMC index ! Kernel SD index ! Uboot eMMC index ! Uboot SD index ! Baud speed |- | rk3399 | 1 | 0 | 0 | 1 | 1500000 |- | rk3328 | 2 | 0 | 0 | 1 | 1500000 |- | rk3288 | 2 | 0 | 0 | 1 | 115200 |- | rk3036 | 2 | 0 | 0 | - | 115200 |} ---- f8788aa7e041cf47bc248e3b4ac3e821cb5d6072 1365 1364 2017-10-10T11:01:11Z Jacob 6 wikitext text/x-wiki = How to select board config = DDR: We use opensource idbloader(See&nbsp;[[Boot_option|Boot_option]])&nbsp; on some chips (rk3036, rk3288) and&nbsp;its&nbsp;[https://github.com/rockchip-linux/u-boot/blob/release/doc/device-tree-bindings/clock/rockchip,rk3288-dmc.txt dmc&nbsp;driver] can't support ddr-type autodetct, which will make the board failed to enter u-boot. PMIC: PMIC setting in u-boot don't have much matter.&nbsp;Just for the board using&nbsp;rk818, [https://github.com/rockchip-linux/u-boot/blob/release/arch/arm/mach-rockchip/rk3288-board-spl.c#L172 USB input current]&nbsp;should be configured during boot stage. Boot: Please&nbsp;note some board have disable emmc&nbsp;in u-boot though the hardware actually have emmc. (firefly-rk3288) &nbsp; = Board config = == defconfig and dts == <span style="font-size: 13px; line-height: 1.6;">Every Board has its device tree file and config file required by the kernel and uboot. Therefore, you will need to choose the correct dts and config to build the source.Below list various Boards and the matching file.</span> {| border="1" class="table_style" style="width: 920px;" |- ! rowspan="2" style="width: 153px;" | board ! rowspan="2" style="width: 172px;" | uboot ! rowspan="2" style="width: 167px;" | kernel config ! rowspan="2" style="width: 287px;" | kernel dts ! colspan="3" rowspan="1" style="width: 287px;" | Hardware |- ! style="width: 287px;" | DDR ! style="width: 287px;" | PMIC ! style="width: 287px;" | Boot |- | style="width: 153px;" | rk3288-evb | style="width: 172px;" | evb-rk3288_defconfig | style="width: 167px;" | rockchip_linux_defconfig | style="width: 287px;" | rk3288-evb-act8846.dts or rk3288-evb-rk808.dts | style="width: 287px; text-align: center;" | mostly LPDDR3 | style="width: 287px; text-align: center;" | act8846 | style="width: 287px; text-align: center;" | emmc boot |- | style="width: 153px;" | rk3288-fennec | style="width: 172px;" | fennec-rk3288_defconfig | style="width: 167px;" | rockchip_linux_defconfig | style="width: 287px;" | rk3288-fennec.dts | style="width: 287px; text-align: center;" | LPDDR3 | style="width: 287px; text-align: center;" | rk808 | style="width: 287px; text-align: center;" | emmc boot |- | style="width: 153px;" | rk3288-miniarm | style="width: 172px;" | tinker-rk3288_defconfig | style="width: 167px;" | rockchip_linux_defconfig | style="width: 287px;" | rk3288-miniarm.dts | style="width: 287px; text-align: center;" | LPDDR3 | style="width: 287px; text-align: center;" | rk808 | style="width: 287px; text-align: center;" | sd-card boot |- | style="width: 153px;" | rk3288-firefly | style="width: 172px;" | firefly-rk3288_defconfig | style="width: 167px;" | rockchip_linux_defconfig | style="width: 287px;" | rk3288-firefly.dts | style="width: 287px; text-align: center;" | DDR3 | style="width: 287px; text-align: center;" | rk808 | style="width: 287px; text-align: center;" | sd-card boot |- | style="width: 153px;" | rk3288-phytec | style="width: 172px;" | phtec-rk3288_defconfig | style="width: 167px;" | rockchip_linux_defconfig | style="width: 287px;" | rk3288-phytec-rdk.dts | style="width: 287px; text-align: center;" | DDR3 | style="width: 287px; text-align: center;" | rk818 | style="width: 287px; text-align: center;" | emmc boot |- | style="width: 153px;" | rk3328-evb | style="width: 172px;" | evb-rk3328_defconfig | style="width: 167px;" | rockchip_linux_defconfig | style="width: 287px;" | rk3328-evb.dts | style="width: 287px; text-align: center;" | LPDDR3 | style="width: 287px; text-align: center;" | rk805 | style="width: 287px; text-align: center;" | emmc boot |- | style="width: 153px;" | rk3399-excavator | style="width: 172px;" | evb-rk3399_defconfig | style="width: 167px;" | rockchip_linux_defconfig | style="width: 287px;" | rk3399-sapphire-excavator-linux.dts | style="width: 287px; text-align: center;" | LPDDR4 | style="width: 287px; text-align: center;" | rk808 | style="width: 287px; text-align: center;" | emmc boot |- | style="width: 153px;" | rk3399-firefly | style="width: 172px;" | firefly-rk3399_defconfig | style="width: 167px;" | rockchip_linux_defconfig | style="width: 287px;" | rk3399-firefly-linux.dts | style="width: 287px; text-align: center;" | LPDDR4 | style="width: 287px; text-align: center;" | rk808 | style="width: 287px; text-align: center;" | emmc boot |- | style="width: 153px;" | rk3036-kylin | style="width: 172px;" | kylin-rk3036_defconfig | style="width: 167px;" | rockchip_linux_defconfig | style="width: 287px;" | rk3036-kylin.dts | style="width: 287px; text-align: center;" | LPDDR3 | style="width: 287px; text-align: center;" | rk808 | style="width: 287px; text-align: center;" | emmc boot |} &nbsp; == Config Per Chip == {| border="1" class="table_style" |- ! chip ! Kernel eMMC index ! Kernel SD index ! Uboot eMMC index ! Uboot SD index ! Baud speed |- | rk3399 | 1 | 0 | 0 | 1 | 1500000 |- | rk3328 | 2 | 0 | 0 | 1 | 1500000 |- | rk3288 | 2 | 0 | 0 | 1 | 115200 |- | rk3036 | 2 | 0 | 0 | - | 115200 |} ---- 707fdc6b4ca1db483a8384371fd26a797e72ca59 1366 1365 2017-10-10T11:01:54Z Jacob 6 wikitext text/x-wiki = How to select board config = DDR: We use opensource idbloader(See&nbsp;[[Boot_option|Boot_option]])&nbsp; on some chips (rk3036, rk3288) and&nbsp;its&nbsp;[https://github.com/rockchip-linux/u-boot/blob/release/doc/device-tree-bindings/clock/rockchip,rk3288-dmc.txt dmc&nbsp;driver] can't support ddr-type autodetct, so the wrong ddr dts settings&nbsp;will make the board failed to enter u-boot. PMIC: PMIC setting in u-boot don't have much matter.&nbsp;Just for the board using&nbsp;rk818, [https://github.com/rockchip-linux/u-boot/blob/release/arch/arm/mach-rockchip/rk3288-board-spl.c#L172 USB input current]&nbsp;should be configured during boot stage. Boot: Please&nbsp;note some board have disable emmc&nbsp;in u-boot though the hardware actually have emmc. (firefly-rk3288) &nbsp; = Board config = == defconfig and dts == <span style="font-size: 13px; line-height: 1.6;">Every Board has its device tree file and config file required by the kernel and uboot. Therefore, you will need to choose the correct dts and config to build the source.Below list various Boards and the matching file.</span> {| border="1" class="table_style" style="width: 920px;" |- ! rowspan="2" style="width: 153px;" | board ! rowspan="2" style="width: 172px;" | uboot ! rowspan="2" style="width: 167px;" | kernel config ! rowspan="2" style="width: 287px;" | kernel dts ! colspan="3" rowspan="1" style="width: 287px;" | Hardware |- ! style="width: 287px;" | DDR ! style="width: 287px;" | PMIC ! style="width: 287px;" | Boot |- | style="width: 153px;" | rk3288-evb | style="width: 172px;" | evb-rk3288_defconfig | style="width: 167px;" | rockchip_linux_defconfig | style="width: 287px;" | rk3288-evb-act8846.dts or rk3288-evb-rk808.dts | style="width: 287px; text-align: center;" | mostly LPDDR3 | style="width: 287px; text-align: center;" | act8846 | style="width: 287px; text-align: center;" | emmc boot |- | style="width: 153px;" | rk3288-fennec | style="width: 172px;" | fennec-rk3288_defconfig | style="width: 167px;" | rockchip_linux_defconfig | style="width: 287px;" | rk3288-fennec.dts | style="width: 287px; text-align: center;" | LPDDR3 | style="width: 287px; text-align: center;" | rk808 | style="width: 287px; text-align: center;" | emmc boot |- | style="width: 153px;" | rk3288-miniarm | style="width: 172px;" | tinker-rk3288_defconfig | style="width: 167px;" | rockchip_linux_defconfig | style="width: 287px;" | rk3288-miniarm.dts | style="width: 287px; text-align: center;" | LPDDR3 | style="width: 287px; text-align: center;" | rk808 | style="width: 287px; text-align: center;" | sd-card boot |- | style="width: 153px;" | rk3288-firefly | style="width: 172px;" | firefly-rk3288_defconfig | style="width: 167px;" | rockchip_linux_defconfig | style="width: 287px;" | rk3288-firefly.dts | style="width: 287px; text-align: center;" | DDR3 | style="width: 287px; text-align: center;" | rk808 | style="width: 287px; text-align: center;" | sd-card boot |- | style="width: 153px;" | rk3288-phytec | style="width: 172px;" | phtec-rk3288_defconfig | style="width: 167px;" | rockchip_linux_defconfig | style="width: 287px;" | rk3288-phytec-rdk.dts | style="width: 287px; text-align: center;" | DDR3 | style="width: 287px; text-align: center;" | rk818 | style="width: 287px; text-align: center;" | emmc boot |- | style="width: 153px;" | rk3328-evb | style="width: 172px;" | evb-rk3328_defconfig | style="width: 167px;" | rockchip_linux_defconfig | style="width: 287px;" | rk3328-evb.dts | style="width: 287px; text-align: center;" | LPDDR3 | style="width: 287px; text-align: center;" | rk805 | style="width: 287px; text-align: center;" | emmc boot |- | style="width: 153px;" | rk3399-excavator | style="width: 172px;" | evb-rk3399_defconfig | style="width: 167px;" | rockchip_linux_defconfig | style="width: 287px;" | rk3399-sapphire-excavator-linux.dts | style="width: 287px; text-align: center;" | LPDDR4 | style="width: 287px; text-align: center;" | rk808 | style="width: 287px; text-align: center;" | emmc boot |- | style="width: 153px;" | rk3399-firefly | style="width: 172px;" | firefly-rk3399_defconfig | style="width: 167px;" | rockchip_linux_defconfig | style="width: 287px;" | rk3399-firefly-linux.dts | style="width: 287px; text-align: center;" | LPDDR4 | style="width: 287px; text-align: center;" | rk808 | style="width: 287px; text-align: center;" | emmc boot |- | style="width: 153px;" | rk3036-kylin | style="width: 172px;" | kylin-rk3036_defconfig | style="width: 167px;" | rockchip_linux_defconfig | style="width: 287px;" | rk3036-kylin.dts | style="width: 287px; text-align: center;" | LPDDR3 | style="width: 287px; text-align: center;" | rk808 | style="width: 287px; text-align: center;" | emmc boot |} &nbsp; == Config Per Chip == {| border="1" class="table_style" |- ! chip ! Kernel eMMC index ! Kernel SD index ! Uboot eMMC index ! Uboot SD index ! Baud speed |- | rk3399 | 1 | 0 | 0 | 1 | 1500000 |- | rk3328 | 2 | 0 | 0 | 1 | 1500000 |- | rk3288 | 2 | 0 | 0 | 1 | 115200 |- | rk3036 | 2 | 0 | 0 | - | 115200 |} ---- 5739198cc70f82c000cf6145f8fde1488745354d 1367 1366 2017-10-10T11:03:09Z Jacob 6 wikitext text/x-wiki = How to select board config = DDR: We use opensource idbloader(See&nbsp;[[Boot_option|Boot_option]])&nbsp; on some chips (rk3036, rk3288) and&nbsp;its&nbsp;[https://github.com/rockchip-linux/u-boot/blob/release/doc/device-tree-bindings/clock/rockchip,rk3288-dmc.txt dmc&nbsp;driver] can't support ddr-type autodetct, so the wrong ddr dts settings&nbsp;will make the board failed to enter u-boot. PMIC: PMIC setting usually is just&nbsp;important&nbsp;in kernel,&nbsp; but&nbsp;for the board using&nbsp;rk818, [https://github.com/rockchip-linux/u-boot/blob/release/arch/arm/mach-rockchip/rk3288-board-spl.c#L172 USB input current]&nbsp;should be configured during boot stage. Boot: Please&nbsp;note some board have disable emmc&nbsp;in u-boot though the hardware actually have emmc. (firefly-rk3288) &nbsp; = Board config = == defconfig and dts == <span style="font-size: 13px; line-height: 1.6;">Every Board has its device tree file and config file required by the kernel and uboot. Therefore, you will need to choose the correct dts and config to build the source.Below list various Boards and the matching file.</span> {| border="1" class="table_style" style="width: 920px;" |- ! rowspan="2" style="width: 153px;" | board ! rowspan="2" style="width: 172px;" | uboot ! rowspan="2" style="width: 167px;" | kernel config ! rowspan="2" style="width: 287px;" | kernel dts ! colspan="3" rowspan="1" style="width: 287px;" | Hardware |- ! style="width: 287px;" | DDR ! style="width: 287px;" | PMIC ! style="width: 287px;" | Boot |- | style="width: 153px;" | rk3288-evb | style="width: 172px;" | evb-rk3288_defconfig | style="width: 167px;" | rockchip_linux_defconfig | style="width: 287px;" | rk3288-evb-act8846.dts or rk3288-evb-rk808.dts | style="width: 287px; text-align: center;" | mostly LPDDR3 | style="width: 287px; text-align: center;" | act8846 | style="width: 287px; text-align: center;" | emmc boot |- | style="width: 153px;" | rk3288-fennec | style="width: 172px;" | fennec-rk3288_defconfig | style="width: 167px;" | rockchip_linux_defconfig | style="width: 287px;" | rk3288-fennec.dts | style="width: 287px; text-align: center;" | LPDDR3 | style="width: 287px; text-align: center;" | rk808 | style="width: 287px; text-align: center;" | emmc boot |- | style="width: 153px;" | rk3288-miniarm | style="width: 172px;" | tinker-rk3288_defconfig | style="width: 167px;" | rockchip_linux_defconfig | style="width: 287px;" | rk3288-miniarm.dts | style="width: 287px; text-align: center;" | LPDDR3 | style="width: 287px; text-align: center;" | rk808 | style="width: 287px; text-align: center;" | sd-card boot |- | style="width: 153px;" | rk3288-firefly | style="width: 172px;" | firefly-rk3288_defconfig | style="width: 167px;" | rockchip_linux_defconfig | style="width: 287px;" | rk3288-firefly.dts | style="width: 287px; text-align: center;" | DDR3 | style="width: 287px; text-align: center;" | rk808 | style="width: 287px; text-align: center;" | sd-card boot |- | style="width: 153px;" | rk3288-phytec | style="width: 172px;" | phtec-rk3288_defconfig | style="width: 167px;" | rockchip_linux_defconfig | style="width: 287px;" | rk3288-phytec-rdk.dts | style="width: 287px; text-align: center;" | DDR3 | style="width: 287px; text-align: center;" | rk818 | style="width: 287px; text-align: center;" | emmc boot |- | style="width: 153px;" | rk3328-evb | style="width: 172px;" | evb-rk3328_defconfig | style="width: 167px;" | rockchip_linux_defconfig | style="width: 287px;" | rk3328-evb.dts | style="width: 287px; text-align: center;" | LPDDR3 | style="width: 287px; text-align: center;" | rk805 | style="width: 287px; text-align: center;" | emmc boot |- | style="width: 153px;" | rk3399-excavator | style="width: 172px;" | evb-rk3399_defconfig | style="width: 167px;" | rockchip_linux_defconfig | style="width: 287px;" | rk3399-sapphire-excavator-linux.dts | style="width: 287px; text-align: center;" | LPDDR4 | style="width: 287px; text-align: center;" | rk808 | style="width: 287px; text-align: center;" | emmc boot |- | style="width: 153px;" | rk3399-firefly | style="width: 172px;" | firefly-rk3399_defconfig | style="width: 167px;" | rockchip_linux_defconfig | style="width: 287px;" | rk3399-firefly-linux.dts | style="width: 287px; text-align: center;" | LPDDR4 | style="width: 287px; text-align: center;" | rk808 | style="width: 287px; text-align: center;" | emmc boot |- | style="width: 153px;" | rk3036-kylin | style="width: 172px;" | kylin-rk3036_defconfig | style="width: 167px;" | rockchip_linux_defconfig | style="width: 287px;" | rk3036-kylin.dts | style="width: 287px; text-align: center;" | LPDDR3 | style="width: 287px; text-align: center;" | rk808 | style="width: 287px; text-align: center;" | emmc boot |} &nbsp; == Config Per Chip == {| border="1" class="table_style" |- ! chip ! Kernel eMMC index ! Kernel SD index ! Uboot eMMC index ! Uboot SD index ! Baud speed |- | rk3399 | 1 | 0 | 0 | 1 | 1500000 |- | rk3328 | 2 | 0 | 0 | 1 | 1500000 |- | rk3288 | 2 | 0 | 0 | 1 | 115200 |- | rk3036 | 2 | 0 | 0 | - | 115200 |} ---- 390b9ad17c093e1a4bbccc1c21c28a875d8a5c2b 1368 1367 2017-10-10T11:04:21Z Jacob 6 wikitext text/x-wiki = Board config = == defconfig and dts == <span style="font-size: 13px; line-height: 1.6;">Every Board has its device tree file and config file required by the kernel and uboot. Therefore, you will need to choose the correct dts and config to build the source.Below list various Boards and the matching file.</span> {| border="1" class="table_style" style="width: 920px;" |- ! rowspan="2" style="width: 153px;" | board ! rowspan="2" style="width: 172px;" | uboot ! rowspan="2" style="width: 167px;" | kernel config ! rowspan="2" style="width: 287px;" | kernel dts ! colspan="3" rowspan="1" style="width: 287px;" | Hardware |- ! style="width: 287px;" | DDR ! style="width: 287px;" | PMIC ! style="width: 287px;" | Boot |- | style="width: 153px;" | rk3288-evb | style="width: 172px;" | evb-rk3288_defconfig | style="width: 167px;" | rockchip_linux_defconfig | style="width: 287px;" | rk3288-evb-act8846.dts or rk3288-evb-rk808.dts | style="width: 287px; text-align: center;" | mostly LPDDR3 | style="width: 287px; text-align: center;" | act8846 | style="width: 287px; text-align: center;" | emmc boot |- | style="width: 153px;" | rk3288-fennec | style="width: 172px;" | fennec-rk3288_defconfig | style="width: 167px;" | rockchip_linux_defconfig | style="width: 287px;" | rk3288-fennec.dts | style="width: 287px; text-align: center;" | LPDDR3 | style="width: 287px; text-align: center;" | rk808 | style="width: 287px; text-align: center;" | emmc boot |- | style="width: 153px;" | rk3288-miniarm | style="width: 172px;" | tinker-rk3288_defconfig | style="width: 167px;" | rockchip_linux_defconfig | style="width: 287px;" | rk3288-miniarm.dts | style="width: 287px; text-align: center;" | LPDDR3 | style="width: 287px; text-align: center;" | rk808 | style="width: 287px; text-align: center;" | sd-card boot |- | style="width: 153px;" | rk3288-firefly | style="width: 172px;" | firefly-rk3288_defconfig | style="width: 167px;" | rockchip_linux_defconfig | style="width: 287px;" | rk3288-firefly.dts | style="width: 287px; text-align: center;" | DDR3 | style="width: 287px; text-align: center;" | rk808 | style="width: 287px; text-align: center;" | sd-card boot |- | style="width: 153px;" | rk3288-phytec | style="width: 172px;" | phtec-rk3288_defconfig | style="width: 167px;" | rockchip_linux_defconfig | style="width: 287px;" | rk3288-phytec-rdk.dts | style="width: 287px; text-align: center;" | DDR3 | style="width: 287px; text-align: center;" | rk818 | style="width: 287px; text-align: center;" | emmc boot |- | style="width: 153px;" | rk3328-evb | style="width: 172px;" | evb-rk3328_defconfig | style="width: 167px;" | rockchip_linux_defconfig | style="width: 287px;" | rk3328-evb.dts | style="width: 287px; text-align: center;" | LPDDR3 | style="width: 287px; text-align: center;" | rk805 | style="width: 287px; text-align: center;" | emmc boot |- | style="width: 153px;" | rk3399-excavator | style="width: 172px;" | evb-rk3399_defconfig | style="width: 167px;" | rockchip_linux_defconfig | style="width: 287px;" | rk3399-sapphire-excavator-linux.dts | style="width: 287px; text-align: center;" | LPDDR4 | style="width: 287px; text-align: center;" | rk808 | style="width: 287px; text-align: center;" | emmc boot |- | style="width: 153px;" | rk3399-firefly | style="width: 172px;" | firefly-rk3399_defconfig | style="width: 167px;" | rockchip_linux_defconfig | style="width: 287px;" | rk3399-firefly-linux.dts | style="width: 287px; text-align: center;" | LPDDR4 | style="width: 287px; text-align: center;" | rk808 | style="width: 287px; text-align: center;" | emmc boot |- | style="width: 153px;" | rk3036-kylin | style="width: 172px;" | kylin-rk3036_defconfig | style="width: 167px;" | rockchip_linux_defconfig | style="width: 287px;" | rk3036-kylin.dts | style="width: 287px; text-align: center;" | LPDDR3 | style="width: 287px; text-align: center;" | rk808 | style="width: 287px; text-align: center;" | emmc boot |} &nbsp; == Config Per Chip == {| border="1" class="table_style" |- ! chip ! Kernel eMMC index ! Kernel SD index ! Uboot eMMC index ! Uboot SD index ! Baud speed |- | rk3399 | 1 | 0 | 0 | 1 | 1500000 |- | rk3328 | 2 | 0 | 0 | 1 | 1500000 |- | rk3288 | 2 | 0 | 0 | 1 | 115200 |- | rk3036 | 2 | 0 | 0 | - | 115200 |} ---- f5c1b997e26924b47c212ce4edc2f4acdc5ebc7f FAQ 0 161 1369 2017-10-10T11:04:50Z Jacob 6 Created page with " = How to select board config = DDR: We use opensource idbloader(See&nbsp;[[Boot_option|Boot_option]])&nbsp; on some chips (rk3036, rk3288) and&nbsp;its&nbsp;[https://github..." wikitext text/x-wiki = How to select board config = DDR: We use opensource idbloader(See&nbsp;[[Boot_option|Boot_option]])&nbsp; on some chips (rk3036, rk3288) and&nbsp;its&nbsp;[https://github.com/rockchip-linux/u-boot/blob/release/doc/device-tree-bindings/clock/rockchip,rk3288-dmc.txt dmc&nbsp;driver] can't support ddr-type autodetct, so the wrong ddr dts settings&nbsp;will make the board failed to enter u-boot. PMIC: PMIC setting usually is just&nbsp;important&nbsp;in kernel,&nbsp; but&nbsp;for the board using&nbsp;rk818, [https://github.com/rockchip-linux/u-boot/blob/release/arch/arm/mach-rockchip/rk3288-board-spl.c#L172 USB input current]&nbsp;should be configured during boot stage. Boot: Please&nbsp;note some board have disable emmc&nbsp;in u-boot though the hardware actually have emmc. (firefly-rk3288) cb9694ed95b94ba51c4bceb9143755ddf799bcb3 1370 1369 2017-10-10T11:06:14Z Jacob 6 wikitext text/x-wiki = How to select board config = DDR: We use opensource idbloader(See&nbsp;[[Boot_option|Boot_option]])&nbsp; on some chips (rk3036, rk3288) and&nbsp;its&nbsp;[https://github.com/rockchip-linux/u-boot/blob/release/doc/device-tree-bindings/clock/rockchip,rk3288-dmc.txt dmc&nbsp;driver] can't support ddr-type autodetct, so the wrong ddr dts settings&nbsp;will make the board failed to enter u-boot. PMIC: PMIC setting usually is just&nbsp;important&nbsp;in kernel,&nbsp; but&nbsp;for the board using&nbsp;rk818, [https://github.com/rockchip-linux/u-boot/blob/release/arch/arm/mach-rockchip/rk3288-board-spl.c#L172 USB input current]&nbsp;should be configured during boot stage. Boot: Please&nbsp;note some board have disable emmc&nbsp;in u-boot though the hardware actually have emmc. (firefly-rk3288) &nbsp; = ''Last'' = 417d5ff2983c0d511603a86b845805773dfb6946 1371 1370 2017-10-10T11:07:28Z Jacob 6 wikitext text/x-wiki &nbsp; = How to select board config = == Build environment == DDR: We use opensource idbloader(See&nbsp;[[Boot_option|Boot_option]])&nbsp; on some chips (rk3036, rk3288) and&nbsp;its&nbsp;[https://github.com/rockchip-linux/u-boot/blob/release/doc/device-tree-bindings/clock/rockchip,rk3288-dmc.txt dmc&nbsp;driver] can't support ddr-type autodetct, so the wrong ddr dts settings&nbsp;will make the board failed to enter u-boot. PMIC: PMIC setting usually is just&nbsp;important&nbsp;in kernel,&nbsp; but&nbsp;for the board using&nbsp;rk818, [https://github.com/rockchip-linux/u-boot/blob/release/arch/arm/mach-rockchip/rk3288-board-spl.c#L172 USB input current]&nbsp;should be configured during boot stage. Boot: Please&nbsp;note some board have disable emmc&nbsp;in u-boot though the hardware actually have emmc. (firefly-rk3288) 7bdf4fe35977cca669af1ed69035755736e8b7cf 1372 1371 2017-10-10T11:07:51Z Jacob 6 wikitext text/x-wiki &nbsp; == How to select board config == DDR: We use opensource idbloader(See&nbsp;[[Boot_option|Boot_option]])&nbsp; on some chips (rk3036, rk3288) and&nbsp;its&nbsp;[https://github.com/rockchip-linux/u-boot/blob/release/doc/device-tree-bindings/clock/rockchip,rk3288-dmc.txt dmc&nbsp;driver] can't support ddr-type autodetct, so the wrong ddr dts settings&nbsp;will make the board failed to enter u-boot. PMIC: PMIC setting usually is just&nbsp;important&nbsp;in kernel,&nbsp; but&nbsp;for the board using&nbsp;rk818, [https://github.com/rockchip-linux/u-boot/blob/release/arch/arm/mach-rockchip/rk3288-board-spl.c#L172 USB input current]&nbsp;should be configured during boot stage. Boot: Please&nbsp;note some board have disable emmc&nbsp;in u-boot though the hardware actually have emmc. (firefly-rk3288) 05061afff53d7c70a9907cee3616a12b229eb398 1374 1372 2017-10-10T11:11:04Z Jacob 6 wikitext text/x-wiki == How to select board config == DDR: We use opensource idbloader(See&nbsp;[[Boot_option|Boot_option]])&nbsp; on some chips (rk3036, rk3288) and&nbsp;its&nbsp;[https://github.com/rockchip-linux/u-boot/blob/release/doc/device-tree-bindings/clock/rockchip,rk3288-dmc.txt dmc&nbsp;driver] can't support ddr-type autodetct, so the wrong ddr dts settings&nbsp;will make the board failed to enter u-boot. PMIC: PMIC setting usually is just&nbsp;important&nbsp;in kernel,&nbsp; but&nbsp;for the board using&nbsp;rk818, [https://github.com/rockchip-linux/u-boot/blob/release/arch/arm/mach-rockchip/rk3288-board-spl.c#L172 USB input current]&nbsp;should be configured during boot stage. Boot: Please&nbsp;note some board have disable emmc&nbsp;in u-boot though the hardware actually have emmc. (firefly-rk3288) &nbsp; = Overall = Yocto&nbsp;has a&nbsp;''powerful''&nbsp;customization architecture&nbsp;that allows people create their own custom Linux distribution for their projectes. Compare to the&nbsp;desktop linux distribution(debian), it's more&nbsp;flexible to develop system/applcation with yocto. For examples, when we want to cross-compile gstreamer-rockchip on debian, we need prepare&nbsp;[http://opensource.rock-chips.com/wiki_Cross_Compile debian docker]&nbsp;and write [https://github.com/rockchip-linux/gstreamer-rockchip/tree/master/debian debian rules],&nbsp;on yocto, it just need a&nbsp;[https://github.com/rockchip-linux/meta-rockchip/blob/master/recipes-multimedia/gstreamer-rockchip/gstreamer1.0-rockchip_20170811.bb single bitbake&nbsp;file]. Though it have lots of&nbsp;advantages, it's not recommend to use it to'''&nbsp;bring up new boards&nbsp;'''unless you are familier with rockchip stuff. Please follow the&nbsp;[[Linux_user_guide|Linux_user_guide]]&nbsp;and build/flash kernel/u-boot&nbsp;separately! &nbsp; = Getting the Sources = The rockchip linux SDK source tree is located in multi Git repository hosted by Github.<br/> The SDK uses repo to sync down source code. Create an empty directory to hold your working files <pre>mkdir rk-yocto-bsp cd rk-yocto-bsp </pre> <br/> To initialize Yocto SDK source tree <pre>repo init --repo-url=https://github.com/rockchip-linux/repo -u https://github.com/rockchip-linux/manifests -b yocto repo sync </pre> &nbsp; The above command will choose "''master''" branch of poky&nbsp;(rolling update). If you want to use a [https://wiki.yoctoproject.org/wiki/Stable_branch_maintenance stable yocto branch], then use below comands. <pre>repo init --repo-url=https://github.com/rockchip-linux/repo -u https://github.com/rockchip-linux/manifests -b yocto -m pyro.xml </pre> &nbsp; &nbsp; = Building the Sources = == Build environment == The essential and graphical support packages you need for a supported Ubuntu or Debian distribution are shown in the following command. see&nbsp;[http://www.yoctoproject.org/docs/2.2.1/mega-manual/mega-manual.html#required-packages-for-the-host-development-system here]&nbsp;for detail. <pre>sudo apt-get install gawk wget git-core diffstat unzip texinfo build-essential chrpath socat cpio python python3 pip3 pexpect libsdl1.2-dev xterm make xsltproc docbook-utils fop dblatex xmlto python-git libssl-dev pv </pre> == Setup Yocto Environment == For example, if you want to build a x11 backend image for tinker board, you should use "MACHINE=tinker-rk3288 DISTRO=rk-x11". <pre>mkdir <build_dir> MACHINE=<MACHINE> DISTRO=<DISTRO> . ./setup-environment -b <build_dir> </pre> == Start Building == <pre>bitbake core-image-base </pre> Now you can find images under <build_dir>/tmp/deploy/images/<MACHINE>/. &nbsp; &nbsp; = Flash Image = '''[http://opensource.rock-chips.com/wiki_Partitions reference&nbsp;:&nbsp;partition map]''' '''*gpt.img''' is as same as '''system.img''','''&nbsp;'''which conatins the&nbsp;complete image. Flash eMMC: <pre>./flash_tool.sh -c rk3288 -p system -i <build_dir>/tmp/deploy/images/<MACHINE>/*gpt.img </pre> Burn SD-Card: <pre>./flash_tool.sh -c rk3288 -d /dev/sdc -p system -i <build_dir>/tmp/deploy/images/<MACHINE>/*gpt.img </pre> To update kernel/dtb/extlinux,&nbsp; boot partition should be updated. <pre>./flash_tool.sh -c rk3288 -p boot -i <build_dir>/tmp/deploy/images/<MACHINE>/*boot.img </pre> To update u-boot, it's kind of&nbsp;complex,&nbsp;please refer to [http://opensource.rock-chips.com/wiki_Boot_option Boot_option]. All necessary binarys&nbsp;can be found&nbsp;in the&nbsp;deploy directory and rkbin&nbsp;directory. &nbsp; = Mainline/Upstream = Meta-rockchip layer&nbsp;support mainline kernel and have patch it for GPU/VPU features. To use mainline kernel, &nbsp;please change&nbsp; PREFERRED_PROVIDER_virtual/kernel = "linux-rockchip" in machine/include/*.conf to PREFERRED_PROVIDER_virtual/kernel = "linux-mainline" <del>Mainline U-boot/ARM-Trust-Firmware are also available, by including</del> <del>include conf/machine/include/openloader.inc.inc</del> <del>in machine/*.conf.</del> &nbsp; = Demo Layer = There are some layers for the spefic prototype under '''[https://github.com/rockchip-linux/meta-rockchip-extra/tree/master/demo meta-rockchip-extra/demo].''' {| border="1" |- ! Prototype ! Introduction |- | QT Player | A play based on QT EGLFS plugin + QTMultimedia, &nbsp;make the video layer at the bottom. |} &nbsp; &nbsp; = Available = == Images == {| border="1" |- ! Chip ! Graphics |- | rk-image-base | Rockchip base Image. |- | rk-image-multimedia | Image with Rockchip's multimedia packages. |- | rk-image-machine-test | Image with Test tools for developing, testing and benchmark. |- | qt5-image | Image with qt packages. |} == [https://github.com/rockchip-linux/meta-rockchip/tree/master/conf/machine Boards] == [https://github.com/rockchip-linux/meta-rockchip/tree/master/conf/machine https://github.com/rockchip-linux/meta-rockchip/tree/master/conf/machine] &nbsp; = Developer Guide = == [[Qt|Qt in Yocto]] == == Apllication/kernel/u-boot == All build file and code source are in the&nbsp;''tmp''/work/ or tmp/work-shared&nbsp;subdirectory of the Build Directory.&nbsp; <pre>e.g&nbsp;: u-boot&nbsp;: tmp/work/excavator_rk3399-rk-linux/u-boot-rockchip/20170901-r0/git</pre> Once you have update the&nbsp;code, you should issue&nbsp;command like&nbsp;"bitbake u-boot-rockchip -c compile -f && bitbake u-boot-rockchip" to&nbsp;force it recompile and deploy. &nbsp; == Tips == *To make an image for suitable of development, you can add "tools-debug debug-tweaks dbg-pkgs" to EXTRA_IMAGE_FEATURES in local.conf to get tools like gdb and add " sshfs-fuse dhcp-client" to "IMAGE_INSTALL_append" to use sshfs for remote transfer. e.g.&nbsp;EXTRA_IMAGE_FEATURES = "tools-debug tools-profile tools-testapps dbg-pkgs debug-tweaks" IMAGE_INSTALL_append = “ sshfs-fuse dhcp-client” *To use&nbsp;local source,&nbsp;&nbsp;you could change SRC_URI in bb file to "[git:///home/debian/kernel.git;protocol=file;nocheckout=1;branch=release-4.4 git:///home/debian/kernel.git;protocol=file;nocheckout=1;branch=release-4.4]" f7dea608a3bb9ca2d9a6b7bbf33922da7b9bb5c9 1376 1374 2017-10-10T11:11:53Z Jacob 6 wikitext text/x-wiki == How to select board config == DDR: We use opensource idbloader(See&nbsp;[[Boot_option|Boot_option]])&nbsp; on some chips (rk3036, rk3288) and&nbsp;its&nbsp;[https://github.com/rockchip-linux/u-boot/blob/release/doc/device-tree-bindings/clock/rockchip,rk3288-dmc.txt dmc&nbsp;driver] can't support ddr-type autodetct, so the wrong ddr dts settings&nbsp;will make the board failed to enter u-boot. PMIC: PMIC setting usually is just&nbsp;important&nbsp;in kernel,&nbsp; but&nbsp;for the board using&nbsp;rk818, [https://github.com/rockchip-linux/u-boot/blob/release/arch/arm/mach-rockchip/rk3288-board-spl.c#L172 USB input current]&nbsp;should be configured during boot stage. Boot: Please&nbsp;note some board have disable emmc&nbsp;in u-boot though the hardware actually have emmc. (firefly-rk3288) 8438f705fdb4f9b1b1bfeda005131983ac40ce6c 1413 1376 2017-10-11T01:06:58Z Jacob 6 wikitext text/x-wiki == How to select board config == DDR: We use opensource idbloader(See&nbsp;[[Boot_option|Boot_option]])&nbsp; on some chips (rk3036, rk3288) and&nbsp;its&nbsp;[https://github.com/rockchip-linux/u-boot/blob/release/doc/device-tree-bindings/clock/rockchip,rk3288-dmc.txt dmc&nbsp;driver] can't support ddr-type autodetct, so the wrong ddr dts settings&nbsp;will make the board failed to enter u-boot. PMIC: PMIC setting usually doesn't matter in u-boot,&nbsp; but&nbsp;for the board using&nbsp;rk818, [https://github.com/rockchip-linux/u-boot/blob/release/arch/arm/mach-rockchip/rk3288-board-spl.c#L172 USB input current]&nbsp;should be configured during boot stage. Boot: Please&nbsp;note some board have disable emmc&nbsp;in u-boot though the hardware actually have emmc. (firefly-rk3288) 2fb12ae514efe6aaccde4eb58a4b78e37345443c 1414 1413 2017-10-11T01:07:15Z Jacob 6 wikitext text/x-wiki == How to select board config == DDR: We use opensource idbloader(See&nbsp;[[Boot_option|Boot_option]])&nbsp; on some chips (rk3036, rk3288) and&nbsp;its&nbsp;[https://github.com/rockchip-linux/u-boot/blob/release/doc/device-tree-bindings/clock/rockchip,rk3288-dmc.txt dmc&nbsp;driver] can't support ddr-type autodetct, so the wrong ddr dts settings&nbsp;will make the board failed to enter u-boot. PMIC: PMIC setting usually doesn't matter in u-boot,&nbsp; but&nbsp;for the board with rk818, [https://github.com/rockchip-linux/u-boot/blob/release/arch/arm/mach-rockchip/rk3288-board-spl.c#L172 USB input current]&nbsp;should be configured during boot stage. Boot: Please&nbsp;note some board have disable emmc&nbsp;in u-boot though the hardware actually have emmc. (firefly-rk3288) 0efe562ad8c47fc67eb7f685b59a8f46255c86ca 1415 1414 2017-10-11T01:08:18Z Jacob 6 wikitext text/x-wiki == How to select board config == DDR: We use opensource idbloader(See&nbsp;[[Boot_option|Boot_option]])&nbsp; on some chips (rk3036, rk3288) and&nbsp;its&nbsp;[https://github.com/rockchip-linux/u-boot/blob/release/doc/device-tree-bindings/clock/rockchip,rk3288-dmc.txt dmc&nbsp;driver] can't support ddr-type autodetct, so the wrong ddr dts settings&nbsp;will make the board failed to enter u-boot. PMIC: PMIC setting usually doesn't matter in u-boot,&nbsp; but&nbsp;for the board with rk818, [https://github.com/rockchip-linux/u-boot/blob/release/arch/arm/mach-rockchip/rk3288-board-spl.c#L172 USB input current]&nbsp;should be configured during boot stage. Boot: Some board have disable emmc&nbsp;in u-boot though the hardware actually have emmc, please note it. (firefly-rk3288) 6facb6302dbd94dca26cb737ad10a61021e3d07b 1416 1415 2017-10-11T01:10:02Z Jacob 6 wikitext text/x-wiki == How to select board config == DDR: We use opensource idbloader(See&nbsp;[[Boot_option|Boot_option]])&nbsp; on some chips (rk3036, rk3288) and&nbsp;its&nbsp;[https://github.com/rockchip-linux/u-boot/blob/release/doc/device-tree-bindings/clock/rockchip,rk3288-dmc.txt dmc&nbsp;driver] can't support ddr-type autodetct, so the wrong ddr dts settings&nbsp;will make the board failed to enter u-boot. PMIC: PMIC setting usually doesn't matter in u-boot,&nbsp; but&nbsp;for the board with rk818, [https://github.com/rockchip-linux/u-boot/blob/release/arch/arm/mach-rockchip/rk3288-board-spl.c#L172 USB input current]&nbsp;should be configured during boot stage. Boot: Some board have disable emmc&nbsp;in u-boot though the hardware actually have emmc, please note it. (firefly-rk3288) 8eb01837d5af48316a29cd681a4a362305d266d2 Wireless 0 162 1443 2017-10-11T02:17:47Z Jacob 6 Created page with " 如果 不需要 wifi 自动兼容方案,希望将 wifi 驱动 build in 到内核,可以按照如下说明进行。由<br/> 于目前 RK 平台较多,有的 android 7.1..." wikitext text/x-wiki 如果 不需要 wifi 自动兼容方案,希望将 wifi 驱动 build in 到内核,可以按照如下说明进行。由<br/> 于目前 RK 平台较多,有的 android 7.1 默认加入了自动兼容方案 ko 方式的配置,但是有的平台由<br/> 于内部服务器代码整合原因没有默认配置为 KO 方式,需要客户拿到源码后自行进行确认,确认<br/> 方法如下:<br/> 检查下载后的代码 defconfig, 如果默认配置如下既是 KO 方式:<br/> CONFIG_WIFI_LOAD_DRIVER_WHEN_KERNEL_BOOTUP=n<br/> CONFIG_RTL8188EU=m<br/> 如果默认配置如下,既是 buil in 方式:<br/> CONFIG_WIFI_LOAD_DRIVER_WHEN_KERNEL_BOOTUP=y<br/> CONFIG_RTL8188EU=y<br/> CONFIG_WIFI_LOAD_DRIVER_WHEN_KERNEL_BOOTUP 宏是控制内核启动后 WIFI<br/> 驱动是否加载,Realtek 系列 wifi 驱动只能选择一款型号编译到内核,以 RK3328 平台为例,buid in<br/> 方式的 defconfig 如下配置,dts 也需要配置相应的 wifi 型号。详细配置如下:<br/> CONFIG_WIFI_LOAD_DRIVER_WHEN_KERNEL_BOOTUP=y 35c06056a203837b25224cccff6c348667f61153 1449 1443 2017-10-11T02:34:39Z Jacob 6 Replaced content with " &nbsp;" wikitext text/x-wiki &nbsp; 9012a5db0e48f472dc89e97fa239cc9970681b37 EDP 0 163 1446 2017-10-11T02:31:21Z Jacob 6 Created page with " === * How to Enable eDP Module === ---- '''1. Driver Compile'''<br/> Ensure below configures have been selected: <pre><code>CONFIG_ROCKCHIP_ANALOGIX_DP=y CONFIG_PHY_ROCKCHI..." wikitext text/x-wiki === * How to Enable eDP Module === ---- '''1. Driver Compile'''<br/> Ensure below configures have been selected: <pre><code>CONFIG_ROCKCHIP_ANALOGIX_DP=y CONFIG_PHY_ROCKCHIP_DP=y</code> </pre> Bellow drivers have been compiled: <pre><code>drivers/gpu/drm/rockchip/analogix_dp-rockchip.c drivers/gpu/drm/bridge/analogix/</code> </pre> '''2. DTS Setting'''<br/> 2.1 Enable eDP Device Node: *Include the SoC DTS 'rk3288.dtsi' file. *Set the eDP device node state to 'okay'. *Set the eDP-PHY device node state to 'okay'. <pre><code>include "rk3288.dtsi" &edp { status = "okay"; }; &edp_phy { status = "okay"; };</code> </pre> 2.2 eDP device node parameters, there are two properties for eDP device: <pre><code>force-hpd; ports { edp_out: port@1 { reg = <1>; #address-cells = <1>; #size-cells = <0>; edp_out_panel: endpoint { reg = <0>; remote-endpoint = <&panel_in_edp>; }; }; };</code> </pre> *"force-hpd": forcing regard panel is connected for some panel without Hotplug pin. *"ports": pointed to panel device node ---- === * How To Debug eDP Module === '''3. Whether eDP display card has been registered successfully''' If the eDP display card has been created, it would create a sysfs debug directory. <pre><code>$ ls /sys/class/drm/card0-eDP-1</code> </pre> So you just need to check that directory. If that directory is missing in your machine board, please check: *Whether eDP & eDP-PHY have been enabled in DTS files. *Whether eDP panel have been registered successfully. *Whether you have available VOP module for eDP. *Check the kernel log for more detail (dmesg | grep dp) '''4. Check eDP display card status: status, enabled, modes''' <pre><code>$ cd /sys/class/drm/card0-eDP-1 $ cat status # should printed connected or disconnected $ cat enabled # should printed enabled or disabled $ cat modes # should printed the available mode list, like 1536x2048</code> </pre> '''5. If you still have no picture on eDP panel, please check bellow information:''' *Check the eDP panel power supply. *Check the panel datasheet, ensure you have configured the timing and power sequence rightly. *Check the hardware connected status, or test the panel on workable board. ---- === * Reference eDP DTS Configure: === <pre><code>include "rk3288.dtsi" edp_panel: edp-panel { compatible ="lg,lp079qx1-sp0v", "simple-panel"; backlight = <&backlight>; enable-gpios = <&gpio7 4 GPIO_ACTIVE_HIGH>; pinctrl-0 = <&lcd_cs>; ports { panel_in: port { panel_in_edp: endpoint { remote-endpoint = <&edp_out_panel>; }; }; }; }; &edp { force-hpd; status = "okay"; ports { edp_out: port@1 { reg = <1>; #address-cells = <1>; #size-cells = <0>; edp_out_panel: endpoint { reg = <0>; remote-endpoint = <&panel_in_edp>; }; }; }; }; &edp_phy { status = "okay"; };</code></pre> 824d6067ba027430f7fa4929c4fd753df2247df6 MIPI-DSI 0 164 1447 2017-10-11T02:32:02Z Jacob 6 Created page with " === * How to Enable MIPI Module === ---- '''1. Driver Compile'''<br/> Ensure below configures have been selected: <pre><code>CONFIG_ROCKCHIP_DW_MIPI_DSI=y</code> </pre> Be..." wikitext text/x-wiki === * How to Enable MIPI Module === ---- '''1. Driver Compile'''<br/> Ensure below configures have been selected: <pre><code>CONFIG_ROCKCHIP_DW_MIPI_DSI=y</code> </pre> Bellow drivers have been compiled: <pre><code>drivers/gpu/drm/rockchip/dw-mipi-dsi.c</code> </pre> '''2. DTS Setting'''<br/> 2.1 Enable MIPI Device Node: *Include the SoC DTS 'rk3288.dtsi' file. *Set the MIPI device node state to 'okay'. <pre><code>include "rk3288.dtsi" &mipi_dsi { status = "okay"; };</code> </pre> 2.2 MIPI device node parameters, there're only one property for MIPI device: <pre><code>&mipi_dsi { panel { compatible ="boe,tv080wum-nl0"; reg = <0>; backlight = <&backlight>; enable-gpios = <&gpio1 13 GPIO_ACTIVE_HIGH>; status = "okay"; }; };</code> </pre> *"panel": Define the right panel device node. ---- === * How To Debug MIPI Module === '''3. Whether MIPI display card has been registered successfully''' If the MIPI display card has been created, it would create a sysfs debug directory. <pre><code>$ ls /sys/class/drm/card0-DSI-1</code> </pre> So you just need to check that directory. If that directory is missing in your machine board, please check: *Whether MIPI have been enabled in DTS files. *Whether MIPI panel have been registered successfully. *Whether you have available VOP module for MIPI. *Check the kernel log for more detail (dmesg | grep mipi) '''4. Check MIPI display card status: status, enabled, modes''' <pre><code>$ cd /sys/class/drm/card0-DSI-1 $ cat status # should printed "connected" or "disconnected" $ cat enabled # should printed "enabled" or "disabled" $ cat modes # should printed the available mode list, like 1536x2048</code> </pre> '''5. If you still have no picture on MIPI panel, please check bellow information:''' *Check the MIPI panel power supply. *Check the panel datasheet, ensure you have configured the timing and power sequence rightly. *Check the hardware connected status, or test the panel on workable board. ---- === * Reference MIPI DTS Configure: === <pre><code>include "rk3288.dtsi" &mipi_dsi { status = "okay"; panel { compatible ="boe,tv080wum-nl0"; reg = <0>; backlight = <&backlight>; enable-gpios = <&gpio1 13 GPIO_ACTIVE_HIGH>; status = "okay"; }; };</code></pre> 78c75b403a4d7f2ae450500574bbccc6c9da6990 LVDS 0 165 1448 2017-10-11T02:32:41Z Jacob 6 Created page with " === * How to Enable LVDS Module === ---- '''1. Driver Compile'''<br/> Ensure below configures have been selected: <pre><code>CONFIG_ROCKCHIP_LVDS=y</code> </pre> Bellow dr..." wikitext text/x-wiki === * How to Enable LVDS Module === ---- '''1. Driver Compile'''<br/> Ensure below configures have been selected: <pre><code>CONFIG_ROCKCHIP_LVDS=y</code> </pre> Bellow drivers have been compiled: <pre><code>drivers/gpu/drm/rockchip/rockchip_lvds.c</code> </pre> '''2. DTS Setting'''<br/> 2.1 Enable LVDS Device Node: *Include the SoC DTS 'rk3288.dtsi' file. *Set the LVDS device node state to 'okay'. <pre><code>include "rk3288.dtsi" &lvds { status = "okay"; };</code> </pre> 2.2 LVDS device node parameters, there're four properties for LVDS device: *"rockchip,data-mapping": stand for the output data mapping, avaliable values "jeida" or "vesa". *"rockchip,data-width": stand for the output data width, avaliable values "<24>" or "<18>". ("<24>" means RGB888, "<18>" means RGB666) *"rockchip,ouput": stand for the output connector type, avaliable values "rgb", "lvds" or "duallvds". *"rockchip,panel": pointed to panel device node (more panel detail, please see link: xxxx ) <pre><code>rockchip,data-mapping = "jeida"; rockchip,data-width = <24>; rockchip,output = "lvds"; rockchip,panel = <&lvds_panel>;</code> </pre> ---- === * How To Debug LVDS Module === '''3. Whether LVDS display card has been registered successfully''' If the LVDS display card has been created, it would create a sysfs debug directory. <pre><code>$ ls /sys/class/drm/card0-LVDS-1</code> </pre> So you just need to check that directory. If that directory is missing in your machine board, please check: *Whether LVDS have been enabled in DTS files. *Whether LVDS panel have been registered successfully. *Whether you have available VOP module for LVDS. *Check the kernel log for more detail (dmesg | grep lvds) '''4. Check LVDS display card status: status, enabled, modes''' <pre><code>$ cd /sys/class/drm/card0-LVDS-1 $ cat status # should printed "connected" or "disconnected" $ cat enabled # should printed "enabled" or "disabled" $ cat modes # should printed the available mode list, like 1536x2048</code> </pre> '''5. If you still have no picture on LVDS panel, please check bellow information:''' *Check the LVDS panel power supply. *Check the panel datasheet, ensure you have configured the timing and data format rightly. *Check the hardware connected status, or test the panel on workable board. ---- === * Reference LVDS DTS Configure: === <pre><code>include "rk3288.dtsi" lvds_panel: lvds_panel { compatible ="auo,b101ew05","simple-panel"; backlight = <&backlight>; enable-gpios = <&gpio7 4 GPIO_ACTIVE_HIGH>; pinctrl-0 = <&lcd_cs>; status = "okay"; ports { panel_in_lvds: endpoint { remote-endpoint = <&lvds_out_panel>; }; }; }; &lvds { rockchip,data-mapping = "jeida"; rockchip,data-width = <24>; rockchip,output = "lvds"; status = "okay"; ports { lvds_out: port@1 { reg = <1>; #address-cells = <1>; #size-cells = <0>; lvds_out_panel: endpoint@0 { reg = <0>; remote-endpoint = <&panel_in_lvds>; }; }; }; };</code></pre> 800342f0ed13b21da93578e63500788f00fec51f EDP 0 163 1452 1446 2017-10-11T02:46:54Z Jacob 6 wikitext text/x-wiki = References = [https://github.com/rockchip-linux/kernel/tree/release-4.4/drivers/gpu/drm/rockchip source code] [https://github.com/rockchip-linux/kernel/blob/release-4.4/Documentation/devicetree/bindings/display/rockchip/analogix_dp-rockchip.txt device-tree document] &nbsp; = Tips = == '''Whether eDP display card has been registered successfully''' == If the eDP display card has been created, it would create a sysfs debug directory. <pre><code>$ ls /sys/class/drm/card0-eDP-1</code> </pre> So you just need to check that directory. If that directory is missing in your machine board, please check: *Whether eDP & eDP-PHY have been enabled in DTS files. *Whether eDP panel have been registered successfully. *Whether you have available VOP module for eDP. *Check the kernel log for more detail (dmesg | grep dp) == '''Check eDP display card status: status, enabled, modes''' == <pre><code>$ cd /sys/class/drm/card0-eDP-1 $ cat status # should printed connected or disconnected $ cat enabled # should printed enabled or disabled $ cat modes # should printed the available mode list, like 1536x2048</code> </pre> == '''If you still have no picture on eDP panel, please check bellow information:''' == *Check the eDP panel power supply. *Check the panel datasheet, ensure you have configured the timing and power sequence rightly. *Check the hardware connected status, or test the panel on workable board. === &nbsp; === 025949398b18482062621c3590a65c5b12211aed 1453 1452 2017-10-11T02:47:21Z Jacob 6 wikitext text/x-wiki = References = [https://github.com/rockchip-linux/kernel/tree/release-4.4/drivers/gpu/drm/rockchip source code] [https://github.com/rockchip-linux/kernel/blob/release-4.4/Documentation/devicetree/bindings/display/rockchip/analogix_dp-rockchip.txt device-tree document] &nbsp; = Tips = == '''Whether eDP display card has been registered successfully''' == If the eDP display card has been created, it would create a sysfs debug directory. <pre><code>$ ls /sys/class/drm/card0-eDP-1</code> </pre> So you just need to check that directory. If that directory is missing in your machine board, please check: *Whether eDP & eDP-PHY have been enabled in DTS files. *Whether eDP panel have been registered successfully. *Whether you have available VOP module for eDP. *Check the kernel log for more detail (dmesg | grep dp) == '''Check eDP display card status: status, enabled, modes''' == <pre><code>$ cd /sys/class/drm/card0-eDP-1 $ cat status # should printed connected or disconnected $ cat enabled # should printed enabled or disabled $ cat modes # should printed the available mode list, like 1536x2048</code> </pre> == '''If you still have no picture on eDP panel, please check bellow information:''' == *Check the eDP panel power supply. *Check the panel datasheet, ensure you have configured the timing and power sequence rightly. *Check the hardware connected status, or test the panel on workable board. f36c2bccc86b502c4c777a622930fd1a6a27f4c1 1466 1453 2017-10-11T07:37:02Z Jacob 6 wikitext text/x-wiki = References = [https://github.com/rockchip-linux/kernel/tree/release-4.4/drivers/gpu/drm/rockchip source code] [https://github.com/rockchip-linux/kernel/blob/release-4.4/Documentation/devicetree/bindings/display/rockchip/analogix_dp-rockchip.txt device-tree document] &nbsp; = Tips = == '''Whether eDP display card has been registered successfully''' == If the eDP display card has been created, it would create a sysfs debug directory. <pre>$ ls /sys/class/drm/card0-eDP-1</code> </pre> So you just need to check that directory. If that directory is missing in your machine board, please check: *Whether eDP & eDP-PHY have been enabled in DTS files. *Whether eDP panel have been registered successfully. *Whether you have available VOP module for eDP. *Check the kernel log for more detail (dmesg | grep dp) == '''Check eDP display card status: status, enabled, modes''' == <pre>$ cd /sys/class/drm/card0-eDP-1 $ cat status # should printed connected or disconnected $ cat enabled # should printed enabled or disabled $ cat modes # should printed the available mode list, like 1536x2048 </pre> == '''If you still have no picture on eDP panel, please check bellow information:''' == *Check the eDP panel power supply. *Check the panel datasheet, ensure you have configured the timing and power sequence rightly. *Check the hardware connected status, or test the panel on workable board. 52b0a13ade16ecf4f3dc455667221580dec63be2 MIPI-DSI 0 164 1454 1447 2017-10-11T02:48:25Z Jacob 6 wikitext text/x-wiki = References = [https://github.com/rockchip-linux/kernel/tree/release-4.4/drivers/gpu/drm/rockchip source code] [https://github.com/rockchip-linux/kernel/blob/release-4.4/Documentation/devicetree/bindings/display/rockchip/dw_mipi_dsi_rockchip.txt device-tree document] &nbsp; = Tips = == Whether MIPI display card has been registered successfully == If the MIPI display card has been created, it would create a sysfs debug directory. <pre><code>$ ls /sys/class/drm/card0-DSI-1</code> </pre> So you just need to check that directory. If that directory is missing in your machine board, please check: *Whether MIPI have been enabled in DTS files. *Whether MIPI panel have been registered successfully. *Whether you have available VOP module for MIPI. *Check the kernel log for more detail (dmesg | grep mipi) == Check MIPI display card status: status, enabled, modes == <pre><code>$ cd /sys/class/drm/card0-DSI-1 $ cat status # should printed "connected" or "disconnected" $ cat enabled # should printed "enabled" or "disabled" $ cat modes # should printed the available mode list, like 1536x2048</code> </pre> == If you still have no picture on MIPI panel, please check bellow information: == *Check the MIPI panel power supply. *Check the panel datasheet, ensure you have configured the timing and power sequence rightly. *Check the hardware connected status, or test the panel on workable board. === &nbsp; === a5d93bf29c24541a7283df661fdebd112d7ad89a 1455 1454 2017-10-11T02:48:38Z Jacob 6 wikitext text/x-wiki = References = [https://github.com/rockchip-linux/kernel/tree/release-4.4/drivers/gpu/drm/rockchip source code] [https://github.com/rockchip-linux/kernel/blob/release-4.4/Documentation/devicetree/bindings/display/rockchip/dw_mipi_dsi_rockchip.txt device-tree document] &nbsp; = Tips = == Whether MIPI display card has been registered successfully == If the MIPI display card has been created, it would create a sysfs debug directory. <pre><code>$ ls /sys/class/drm/card0-DSI-1</code> </pre> So you just need to check that directory. If that directory is missing in your machine board, please check: *Whether MIPI have been enabled in DTS files. *Whether MIPI panel have been registered successfully. *Whether you have available VOP module for MIPI. *Check the kernel log for more detail (dmesg | grep mipi) == Check MIPI display card status: status, enabled, modes == <pre><code>$ cd /sys/class/drm/card0-DSI-1 $ cat status # should printed "connected" or "disconnected" $ cat enabled # should printed "enabled" or "disabled" $ cat modes # should printed the available mode list, like 1536x2048</code> </pre> == If you still have no picture on MIPI panel, please check bellow information: == *Check the MIPI panel power supply. *Check the panel datasheet, ensure you have configured the timing and power sequence rightly. *Check the hardware connected status, or test the panel on workable board. 36aeb4fb5e6dd536e44d4b7218a2fc8f245b2e68 1467 1455 2017-10-11T07:37:30Z Jacob 6 wikitext text/x-wiki = References = [https://github.com/rockchip-linux/kernel/tree/release-4.4/drivers/gpu/drm/rockchip source code] [https://github.com/rockchip-linux/kernel/blob/release-4.4/Documentation/devicetree/bindings/display/rockchip/dw_mipi_dsi_rockchip.txt device-tree document] &nbsp; = Tips = == Whether MIPI display card has been registered successfully == If the MIPI display card has been created, it would create a sysfs debug directory. <pre>$ ls /sys/class/drm/card0-DSI-1</code> </pre> So you just need to check that directory. If that directory is missing in your machine board, please check: *Whether MIPI have been enabled in DTS files. *Whether MIPI panel have been registered successfully. *Whether you have available VOP module for MIPI. *Check the kernel log for more detail (dmesg | grep mipi) == Check MIPI display card status: status, enabled, modes == <pre>$ cd /sys/class/drm/card0-DSI-1 $ cat status # should printed "connected" or "disconnected" $ cat enabled # should printed "enabled" or "disabled" $ cat modes # should printed the available mode list, like 1536x2048 </pre> == If you still have no picture on MIPI panel, please check bellow information: == *Check the MIPI panel power supply. *Check the panel datasheet, ensure you have configured the timing and power sequence rightly. *Check the hardware connected status, or test the panel on workable board. d9c364c836e3cbd2ecde9fd23970b94d8c6ce926 LVDS 0 165 1456 1448 2017-10-11T02:50:16Z Jacob 6 wikitext text/x-wiki = References = [https://github.com/rockchip-linux/kernel/tree/release-4.4/drivers/media/platform/rockchip-rga source code] [https://github.com/rockchip-linux/kernel/blob/release-4.4/Documentation/devicetree/bindings/display/rockchip/rockchip-lvds.txt device-tree document] &nbsp; = Tips = == Whether LVDS display card has been registered successfully == If the LVDS display card has been created, it would create a sysfs debug directory. <pre><code>$ ls /sys/class/drm/card0-LVDS-1</code> </pre> So you just need to check that directory. If that directory is missing in your machine board, please check: *Whether LVDS have been enabled in DTS files. *Whether LVDS panel have been registered successfully. *Whether you have available VOP module for LVDS. *Check the kernel log for more detail (dmesg | grep lvds) == Check LVDS display card status: status, enabled, modes == <pre><code>$ cd /sys/class/drm/card0-LVDS-1 $ cat status # should printed "connected" or "disconnected" $ cat enabled # should printed "enabled" or "disabled" $ cat modes # should printed the available mode list, like 1536x2048</code> </pre> == If you still have no picture on LVDS panel, please check bellow information: == *Check the LVDS panel power supply. *Check the panel datasheet, ensure you have configured the timing and data format rightly. *Check the hardware connected status, or test the panel on workable board. === &nbsp; === 18fbd5dc50d74671655dab7f4fd240d7ac0a71f1 1457 1456 2017-10-11T02:50:41Z Jacob 6 wikitext text/x-wiki = References = [https://github.com/rockchip-linux/kernel/tree/release-4.4/drivers/media/platform/rockchip-rga source code] [https://github.com/rockchip-linux/kernel/blob/release-4.4/Documentation/devicetree/bindings/display/rockchip/rockchip-lvds.txt device-tree document] &nbsp; = Tips = == Whether LVDS display card has been registered successfully == If the LVDS display card has been created, it would create a sysfs debug directory. <pre><code>$ ls /sys/class/drm/card0-LVDS-1</code> </pre> So you just need to check that directory. If that directory is missing in your machine board, please check: *Whether LVDS have been enabled in DTS files. *Whether LVDS panel have been registered successfully. *Whether you have available VOP module for LVDS. *Check the kernel log for more detail (dmesg | grep lvds) == Check LVDS display card status: status, enabled, modes == <pre><code>$ cd /sys/class/drm/card0-LVDS-1 $ cat status # should printed "connected" or "disconnected" $ cat enabled # should printed "enabled" or "disabled" $ cat modes # should printed the available mode list, like 1536x2048</code> </pre> == If you still have no picture on LVDS panel, please check bellow information: == *Check the LVDS panel power supply. *Check the panel datasheet, ensure you have configured the timing and data format rightly. *Check the hardware connected status, or test the panel on workable board. aaea3052a32a84a0e9468b845ef9750821b3e26a 1468 1457 2017-10-11T07:37:47Z Jacob 6 wikitext text/x-wiki = References = [https://github.com/rockchip-linux/kernel/tree/release-4.4/drivers/media/platform/rockchip-rga source code] [https://github.com/rockchip-linux/kernel/blob/release-4.4/Documentation/devicetree/bindings/display/rockchip/rockchip-lvds.txt device-tree document] &nbsp; = Tips = == Whether LVDS display card has been registered successfully == If the LVDS display card has been created, it would create a sysfs debug directory. <pre>$ ls /sys/class/drm/card0-LVDS-1</code> </pre> So you just need to check that directory. If that directory is missing in your machine board, please check: *Whether LVDS have been enabled in DTS files. *Whether LVDS panel have been registered successfully. *Whether you have available VOP module for LVDS. *Check the kernel log for more detail (dmesg | grep lvds) == Check LVDS display card status: status, enabled, modes == <pre>$ cd /sys/class/drm/card0-LVDS-1 $ cat status # should printed "connected" or "disconnected" $ cat enabled # should printed "enabled" or "disabled" $ cat modes # should printed the available mode list, like 1536x2048</code> </pre> == If you still have no picture on LVDS panel, please check bellow information: == *Check the LVDS panel power supply. *Check the panel datasheet, ensure you have configured the timing and data format rightly. *Check the hardware connected status, or test the panel on workable board. 6a8c314982c9c8f1b6eab869dfd1256647c20cc9 FAQ 0 161 1471 1416 2017-10-11T07:41:33Z Jacob 6 wikitext text/x-wiki == How to select board config == DDR: We use opensource idbloader(See&nbsp;[[Boot_option|Boot_option]])&nbsp; on some chips (rk3036, rk3288) and&nbsp;its&nbsp;[https://github.com/rockchip-linux/u-boot/blob/release/doc/device-tree-bindings/clock/rockchip,rk3288-dmc.txt dmc&nbsp;driver] can't support ddr-type autodetct, so the wrong ddr dts settings&nbsp;will make the board failed to enter u-boot. PMIC: PMIC setting usually doesn't matter in u-boot,&nbsp; but&nbsp;for the board with rk818, [https://github.com/rockchip-linux/u-boot/blob/release/arch/arm/mach-rockchip/rk3288-board-spl.c#L172 USB input current]&nbsp;should be configured before enter u-boot. Boot: Some board have disable emmc&nbsp;in u-boot though the hardware actually have emmc, please note it. (firefly-rk3288) e4f1ebf98c9dd7fa5c3ed8eb9a17af37a6e0014d 1472 1471 2017-10-11T07:42:40Z Jacob 6 wikitext text/x-wiki == How to select board config == DDR: We use opensource idbloader(See&nbsp;[[Boot_option|Boot_option]])&nbsp; on some chips (rk3036, rk3288) and&nbsp;its&nbsp;[https://github.com/rockchip-linux/u-boot/blob/release/doc/device-tree-bindings/clock/rockchip,rk3288-dmc.txt dmc&nbsp;driver] can't support ddr-type autodetct, so the wrong ddr dts settings&nbsp;will make the board failed to enter u-boot. PMIC: PMIC setting usually doesn't matter in u-boot,&nbsp; but&nbsp;for the board with rk818, [https://github.com/rockchip-linux/u-boot/blob/release/arch/arm/mach-rockchip/rk3288-board-spl.c#L172 USB input current]&nbsp;should be configured before enter u-boot. Boot: Some board have disable emmc in u-boot for convenience, though the hardware actually have emmc, please note it. (firefly-rk3288) c66d2934e12e39a7e476ad2c678156e953c5b894 Status Matrix 0 154 1473 1319 2017-10-11T11:29:45Z Klaus 17 typo fix wikitext text/x-wiki &nbsp; == Rockchip 4.4 Kernel Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! RK3288 ! RK3328 ! RK3399 |- | rowspan="2" style="text-align: left;" | ADC | style="text-align: left;" | SARADC | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | TSADC | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | Clocks | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | CPUFreq | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | Crypto | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | CSI/ISP | style="background: orange;" | WIP | N/A | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | CIF | style="background: orange;" | WIP | style="background: orange;" | WIP | style="background: orange;" | WIP |- | rowspan="8" style="text-align: left;" | Display (DRM) | style="text-align: left;" | RGB | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | EDP | style="background: lightgreen;" | SUPPORT | N/A | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | LVDS | style="background: lightgreen;" | SUPPORT | N/A | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | MIPI DSI | style="background: lightgreen;" | SUPPORT | N/A | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | CVBS | N/A | style="background: lightgreen;" | SUPPORT | N/A |- | style="text-align: left;" | VGA | N/A | N/A | N/A |- | style="text-align: left;" | HDMI | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | CEC | style="background: red;" | NO | style="background: orange;" | WIP | style="background: red;" | NO |- | colspan="2" style="text-align: left;" | DMA | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | DDR DVFS | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |- | rowspan="2" style="text-align: left;" | Ethernet | style="text-align: left;" | GMAC | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | EMAC | N/A | style="background: lightgreen;" | SUPPORT | N/A |- | colspan="2" style="text-align: left;" | I2S | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left" | I2C | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | MsgBox | N/A | N/A | N/A |- | colspan="2" style="text-align: left;" | Pinctrl | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | PWM | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | Power Domain | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | PCIE | N/A | N/A | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | SD / SDIO / MMC | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | SPDIF | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | SPI | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | SUSPEND / RESUME | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | USB | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | USB OTG | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | TYPEC | N/A | N/A | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | Watchdog | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | GPU | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | VPU | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | RGA | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | IEP | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |} &nbsp; &nbsp; == Mainline Kernel Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! RK3288 ! RK3328 ! RK3399 |- | rowspan="2" style="text-align: left;" | ADC | style="text-align: left;" | SARADC | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | style="text-align: left;" | TSADC | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | Clocks | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | CPUFreq | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | Crypto | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | CSI/ISP | style="background: orange;" | WIP | N/A | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | CIF | style="background: orange;" | WIP | style="background: orange;" | WIP | style="background: orange;" | WIP |- | rowspan="8" style="text-align: left;" | Display (DRM) | style="text-align: left;" | RGB | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |- | style="text-align: left;" | EDP | style="background: lightgreen;" | 4.4 | N/A | style="background: lightgreen;" | 4.4 |- | style="text-align: left;" | LVDS | style="background: red;" | NO | N/A | style="background: red;" | NO |- | style="text-align: left;" | MIPI DSI | style="background: lightgreen;" | 4.4 | N/A | style="background: lightgreen;" | 4.4 |- | style="text-align: left;" | CVBS | N/A | style="background: darkgreen;" | INCOMPLETE | N/A |- | style="text-align: left;" | VGA | N/A | N/A | N/A |- | style="text-align: left;" | HDMI | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE |- | style="text-align: left;" | CEC | style="background: red;" | NO | style="background: darkgreen;" | INCOMPLETE | style="background: red;" | NO |- | colspan="2" style="text-align: left;" | DMA | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | DDR DVFS | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |- | rowspan="2" style="text-align: left;" | Ethernet | style="text-align: left;" | GMAC | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | style="text-align: left;" | EMAC | N/A | style="background: lightgreen;" | 4.4 | N/A |- | colspan="2" style="text-align: left;" | I2S | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left" | I2C | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | MsgBox | N/A | N/A | N/A |- | colspan="2" style="text-align: left;" | Pinctrl | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | PWM | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | Power Domain | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | PCIE | N/A | N/A | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | SD / SDIO / MMC | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | SPDIF | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | SPI | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | SUSPEND / RESUME | style="background: darkgreen;" | INCOMPLETE | style="background: lightgreen;" | 4.4 | style="background: darkgreen;" | INCOMPLETE |- | colspan="2" style="text-align: left;" | USB | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | USB OTG | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | TYPEC | N/A | N/A | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | Watchdog | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | GPU | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |- | colspan="2" style="text-align: left;" | VPU | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |- | colspan="2" style="text-align: left;" | RGA | style="background: orange;" | WIP | style="background: orange;" | WIP | style="background: orange;" | WIP |- | colspan="2" style="text-align: left;" | IEP | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |} &nbsp; &nbsp; == Linux SDK CHIP Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! RK3288 ! RK3328 ! RK3399 |- | colspan="2" style="text-align: left;" | Debian | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | rowspan="3" style="text-align: left;" | Yocto | style="text-align: left;" | X11 | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | QT EGLFS | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | WESTON | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE |- | colspan="2" style="text-align: left;" | Buildroot | N/A | N/A | style="background: lightgreen;" | SUPPORT |- | rowspan="5" style="text-align: left;" | Decode | style="text-align: left;" | H264 | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | H265 | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | VP8 | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | VP9 | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | JPEG | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE |- | rowspan="3" style="text-align: left;" | Encode | style="text-align: left;" | H264 | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE |- | style="text-align: left;" | H265 | N/A | style="background: lightgreen;" | SUPPORT | N/A |- | style="text-align: left;" | JPEG | style="background: darkgreen;" | MPP | style="background: darkgreen;" | MPP | style="background: darkgreen;" | MPP |- | colspan="2" style="text-align: left;" | ISP(3A) | style="background: orange;" | WIP | N/A | style="background: orange;" | WIP |} <br/> &nbsp; <h2>Linux&nbsp;Funciton Status Matrix</h2> <table class="wikitable" style="text-align: center; width: 100%;"> <tbody> <tr> <th colspan="2" style="width: 10%; text-align: left;">Model</th> <th>Status</th> </tr> <tr> <td rowspan="5" style="text-align: left;">Gstreamer</td> <td style="text-align: left;">Display</td> <td style="background: lightgreen;">kmssink(qt eglfs),rkximagesink(x11), waylandsink(wayland)</td> </tr> <tr> <td style="text-align: left;">Decode&nbsp;</td> <td style="background: lightgreen;">h264, h265, vp8, vp9, jpeg</td> </tr> <tr> <td style="text-align: left;">Encode</td> <td style="background: lightgreen;">h264</td> </tr> <tr> <td style="text-align: left;">Camera</td> <td style="background: orange;">Without 3A</td> </tr> <tr> <td style="text-align: left;">Transform</td> <td style="background: orange;">WIP</td> </tr> <tr> <td rowspan="2" style="text-align: left;">GPU</td> <td style="text-align: left;">GLES</td> <td style="background: lightgreen;">libmali</td> </tr> <tr> <td style="text-align: left;">OPENCL</td> <td style="background: lightgreen;">libmali</td> </tr> <tr> <td colspan="2" rowspan="1" style="text-align: left;">QT</td> <td style="background: lightgreen;">QT 5.x</td> </tr> <tr> <td colspan="2" style="text-align: left;"> <p>Browser(HTML5 Accelerate)</p> </td> <td style="background: orange;">WIP</td> </tr> <tr> <td colspan="2" style="text-align: left;"> <p>IOT(Third part Could Service)</p> </td> <td style="background: orange;">WIP</td> </tr> <tr> <td colspan="2" style="text-align: left;">FFmpeg</td> <td style="background: yellow;">Community</td> </tr> <tr> <td colspan="2" style="text-align: left;">MPV</td> <td style="background: yellow;">Community</td> </tr> <tr> <td colspan="2" style="text-align: left;">KODI</td> <td style="background: yellow;">Community</td> </tr> </tbody> </table> <p>&nbsp;</p> <p>&nbsp;</p> <p>&nbsp;</p> 08329f5a0f9ef67012d9c38a2a71e4e244ffc5e2 1495 1473 2017-10-16T00:41:30Z Jacob 6 wikitext text/x-wiki &nbsp; == Rockchip 4.4 Kernel Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! RK3288 ! RK3328 ! RK3399 |- | rowspan="2" style="text-align: left;" | ADC | style="text-align: left;" | SARADC | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | TSADC | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | Clocks | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | CPUFreq | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | Crypto | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | CSI/ISP | style="background: orange;" | WIP | N/A | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | CIF | style="background: orange;" | WIP | style="background: orange;" | WIP | style="background: orange;" | WIP |- | rowspan="8" style="text-align: left;" | Display (DRM) | style="text-align: left;" | RGB | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | EDP | style="background: lightgreen;" | SUPPORT | N/A | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | LVDS | style="background: lightgreen;" | SUPPORT | N/A | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | MIPI DSI | style="background: lightgreen;" | SUPPORT | N/A | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | CVBS | N/A | style="background: lightgreen;" | SUPPORT | N/A |- | style="text-align: left;" | VGA | N/A | N/A | N/A |- | style="text-align: left;" | HDMI | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | CEC | style="background: red;" | NO | style="background: orange;" | WIP | style="background: red;" | NO |- | colspan="2" style="text-align: left;" | DMA | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | DDR DVFS | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |- | rowspan="2" style="text-align: left;" | Ethernet | style="text-align: left;" | GMAC | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | EMAC | N/A | style="background: lightgreen;" | SUPPORT | N/A |- | colspan="2" style="text-align: left;" | I2S | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left" | I2C | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | MsgBox | N/A | N/A | N/A |- | colspan="2" style="text-align: left;" | Pinctrl | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | PWM | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | Power Domain | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | PCIE | N/A | N/A | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | SD / SDIO / MMC | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | SPDIF | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | SPI | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | SUSPEND / RESUME | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | USB | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | USB OTG | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | TYPEC | N/A | N/A | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | Watchdog | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | GPU | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | VPU | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | RGA | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | IEP | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |} &nbsp; &nbsp; == Mainline Kernel Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! RK3288 ! RK3328 ! RK3399 |- | rowspan="2" style="text-align: left;" | ADC | style="text-align: left;" | SARADC | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | style="text-align: left;" | TSADC | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | Clocks | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | CPUFreq | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | Crypto | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | CSI/ISP | style="background: orange;" | WIP | N/A | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | CIF | style="background: orange;" | WIP | style="background: orange;" | WIP | style="background: orange;" | WIP |- | rowspan="8" style="text-align: left;" | Display (DRM) | style="text-align: left;" | RGB | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |- | style="text-align: left;" | EDP | style="background: lightgreen;" | 4.4 | N/A | style="background: lightgreen;" | 4.4 |- | style="text-align: left;" | LVDS | style="background: red;" | NO | N/A | style="background: red;" | NO |- | style="text-align: left;" | MIPI DSI | style="background: lightgreen;" | 4.4 | N/A | style="background: lightgreen;" | 4.4 |- | style="text-align: left;" | CVBS | N/A | style="background: darkgreen;" | INCOMPLETE | N/A |- | style="text-align: left;" | VGA | N/A | N/A | N/A |- | style="text-align: left;" | HDMI | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE |- | style="text-align: left;" | CEC | style="background: red;" | NO | style="background: darkgreen;" | INCOMPLETE | style="background: red;" | NO |- | colspan="2" style="text-align: left;" | DMA | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | DDR DVFS | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |- | rowspan="2" style="text-align: left;" | Ethernet | style="text-align: left;" | GMAC | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | style="text-align: left;" | EMAC | N/A | style="background: lightgreen;" | 4.4 | N/A |- | colspan="2" style="text-align: left;" | I2S | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left" | I2C | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | MsgBox | N/A | N/A | N/A |- | colspan="2" style="text-align: left;" | Pinctrl | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | PWM | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | Power Domain | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | PCIE | N/A | N/A | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | SD / SDIO / MMC | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | SPDIF | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | SPI | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | SUSPEND / RESUME | style="background: darkgreen;" | INCOMPLETE | style="background: lightgreen;" | 4.4 | style="background: darkgreen;" | INCOMPLETE |- | colspan="2" style="text-align: left;" | USB | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | USB OTG | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | TYPEC | N/A | N/A | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | Watchdog | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | GPU | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |- | colspan="2" style="text-align: left;" | VPU | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |- | colspan="2" style="text-align: left;" | RGA | style="background: orange;" | WIP | style="background: orange;" | WIP | style="background: orange;" | WIP |- | colspan="2" style="text-align: left;" | IEP | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |} &nbsp; &nbsp; == Linux SDK CHIP Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! RK3288 ! RK3328 ! RK3399 |- | colspan="2" style="text-align: left;" | Debian | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | rowspan="3" style="text-align: left;" | Yocto | style="text-align: left;" | X11 | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | QT EGLFS | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | WESTON | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE |- | colspan="2" style="text-align: left;" | Buildroot | N/A | N/A | style="background: lightgreen;" | SUPPORT |- | rowspan="5" style="text-align: left;" | Decode | style="text-align: left;" | H264 | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | H265 | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | VP8 | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | VP9 | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | JPEG | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE |- | rowspan="3" style="text-align: left;" | Encode | style="text-align: left;" | H264 | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | H265 | N/A | style="background: lightgreen;" | SUPPORT | N/A |- | style="text-align: left;" | JPEG | style="background: darkgreen;" | MPP | style="background: darkgreen;" | MPP | style="background: darkgreen;" | MPP |- | colspan="2" style="text-align: left;" | ISP(3A) | style="background: orange;" | WIP | N/A | style="background: orange;" | WIP |} <br/> &nbsp; == Linux&nbsp;Funciton Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- | <tbody> |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! Status |- | rowspan="5" style="text-align: left;" | Gstreamer | style="text-align: left;" | Display | style="background: lightgreen;" | kmssink(qt eglfs),rkximagesink(x11), waylandsink(wayland) |- | style="text-align: left;" | Decode&nbsp; | style="background: lightgreen;" | h264, h265, vp8, vp9, jpeg |- | style="text-align: left;" | Encode | style="background: lightgreen;" | h264 |- | style="text-align: left;" | Camera | style="background: orange;" | Without 3A |- | style="text-align: left;" | Transform | style="background: orange;" | WIP |- | rowspan="2" style="text-align: left;" | GPU | style="text-align: left;" | GLES | style="background: lightgreen;" | libmali |- | style="text-align: left;" | OPENCL | style="background: lightgreen;" | libmali |- | colspan="2" rowspan="1" style="text-align: left;" | QT | style="background: lightgreen;" | QT 5.x |- | colspan="2" style="text-align: left;" | Browser(HTML5 Accelerate) | style="background: orange;" | WIP |- | colspan="2" style="text-align: left;" | IOT(Third part Could Service) | style="background: orange;" | WIP |- | colspan="2" style="text-align: left;" | FFmpeg | style="background: yellow;" | Community |- | colspan="2" style="text-align: left;" | MPV | style="background: yellow;" | Community |- | colspan="2" style="text-align: left;" | KODI | style="background: yellow;" | Community |- | </tbody> |} &nbsp; &nbsp; &nbsp; f8f34f07b902b3a52e1aeac03cd1e331d1b1b787 1496 1495 2017-10-16T00:43:29Z Jacob 6 wikitext text/x-wiki &nbsp; == Rockchip 4.4 Kernel Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! RK3288 ! RK3328 ! RK3399 |- | rowspan="2" style="text-align: left;" | ADC | style="text-align: left;" | SARADC | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | TSADC | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | Clocks | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | CPUFreq | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | Crypto | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | CSI/ISP | style="background: orange;" | WIP | N/A | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | CIF | style="background: orange;" | WIP | style="background: orange;" | WIP | style="background: orange;" | WIP |- | rowspan="8" style="text-align: left;" | Display (DRM) | style="text-align: left;" | RGB | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | EDP | style="background: lightgreen;" | SUPPORT | N/A | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | LVDS | style="background: lightgreen;" | SUPPORT | N/A | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | MIPI DSI | style="background: lightgreen;" | SUPPORT | N/A | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | CVBS | N/A | style="background: lightgreen;" | SUPPORT | N/A |- | style="text-align: left;" | VGA | N/A | N/A | N/A |- | style="text-align: left;" | HDMI | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | CEC | style="background: red;" | NO | style="background: orange;" | WIP | style="background: red;" | NO |- | colspan="2" style="text-align: left;" | DMA | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | DDR DVFS | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |- | rowspan="2" style="text-align: left;" | Ethernet | style="text-align: left;" | GMAC | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | EMAC | N/A | style="background: lightgreen;" | SUPPORT | N/A |- | colspan="2" style="text-align: left;" | I2S | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left" | I2C | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | MsgBox | N/A | N/A | N/A |- | colspan="2" style="text-align: left;" | Pinctrl | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | PWM | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | Power Domain | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | PCIE | N/A | N/A | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | SD / SDIO / MMC | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | SPDIF | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | SPI | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | SUSPEND / RESUME | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | USB | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | USB OTG | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | TYPEC | N/A | N/A | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | Watchdog | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | GPU | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | VPU | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | RGA | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | IEP | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |} &nbsp; &nbsp; == Mainline Kernel Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! RK3288 ! RK3328 ! RK3399 |- | rowspan="2" style="text-align: left;" | ADC | style="text-align: left;" | SARADC | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.14 |- | style="text-align: left;" | TSADC | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | Clocks | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | CPUFreq | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | Crypto | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | CSI/ISP | style="background: orange;" | WIP | N/A | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | CIF | style="background: orange;" | WIP | style="background: orange;" | WIP | style="background: orange;" | WIP |- | rowspan="8" style="text-align: left;" | Display (DRM) | style="text-align: left;" | RGB | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |- | style="text-align: left;" | EDP | style="background: lightgreen;" | 4.4 | N/A | style="background: lightgreen;" | 4.14 |- | style="text-align: left;" | LVDS | style="background: red;" | NO | N/A | style="background: red;" | NO |- | style="text-align: left;" | MIPI DSI | style="background: lightgreen;" | 4.4 | N/A | style="background: lightgreen;" | 4.14 |- | style="text-align: left;" | CVBS | N/A | style="background: darkgreen;" | INCOMPLETE | N/A |- | style="text-align: left;" | VGA | N/A | N/A | N/A |- | style="text-align: left;" | HDMI | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE |- | style="text-align: left;" | CEC | style="background: red;" | NO | style="background: darkgreen;" | INCOMPLETE | style="background: red;" | NO |- | colspan="2" style="text-align: left;" | DMA | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | DDR DVFS | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |- | rowspan="2" style="text-align: left;" | Ethernet | style="text-align: left;" | GMAC | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.14 |- | style="text-align: left;" | EMAC | N/A | style="background: lightgreen;" | 4.14 | N/A |- | colspan="2" style="text-align: left;" | I2S | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left" | I2C | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | MsgBox | N/A | N/A | N/A |- | colspan="2" style="text-align: left;" | Pinctrl | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | PWM | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | Power Domain | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | PCIE | N/A | N/A | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | SD / SDIO / MMC | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | SPDIF | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | SPI | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | SUSPEND / RESUME | style="background: darkgreen;" | INCOMPLETE | style="background: lightgreen;" | 4.14 | style="background: darkgreen;" | INCOMPLETE |- | colspan="2" style="text-align: left;" | USB | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | USB OTG | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | TYPEC | N/A | N/A | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | Watchdog | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | GPU | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |- | colspan="2" style="text-align: left;" | VPU | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |- | colspan="2" style="text-align: left;" | RGA | style="background: lightgreen;" | 4.15 | style="background: orange;" | WIP | style="background: lightgreen;" | 4.15 |- | colspan="2" style="text-align: left;" | IEP | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |} &nbsp; &nbsp; == Linux SDK CHIP Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! RK3288 ! RK3328 ! RK3399 |- | colspan="2" style="text-align: left;" | Debian | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | rowspan="3" style="text-align: left;" | Yocto | style="text-align: left;" | X11 | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | QT EGLFS | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | WESTON | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE |- | colspan="2" style="text-align: left;" | Buildroot | N/A | N/A | style="background: lightgreen;" | SUPPORT |- | rowspan="5" style="text-align: left;" | Decode | style="text-align: left;" | H264 | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | H265 | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | VP8 | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | VP9 | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | JPEG | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE |- | rowspan="3" style="text-align: left;" | Encode | style="text-align: left;" | H264 | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | H265 | N/A | style="background: lightgreen;" | SUPPORT | N/A |- | style="text-align: left;" | JPEG | style="background: darkgreen;" | MPP | style="background: darkgreen;" | MPP | style="background: darkgreen;" | MPP |- | colspan="2" style="text-align: left;" | ISP(3A) | style="background: orange;" | WIP | N/A | style="background: orange;" | WIP |} <br/> &nbsp; == Linux&nbsp;Funciton Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- | <tbody> |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! Status |- | rowspan="5" style="text-align: left;" | Gstreamer | style="text-align: left;" | Display | style="background: lightgreen;" | kmssink(qt eglfs),rkximagesink(x11), waylandsink(wayland) |- | style="text-align: left;" | Decode&nbsp; | style="background: lightgreen;" | h264, h265, vp8, vp9, jpeg |- | style="text-align: left;" | Encode | style="background: lightgreen;" | h264 |- | style="text-align: left;" | Camera | style="background: orange;" | Without 3A |- | style="text-align: left;" | Transform | style="background: orange;" | WIP |- | rowspan="2" style="text-align: left;" | GPU | style="text-align: left;" | GLES | style="background: lightgreen;" | libmali |- | style="text-align: left;" | OPENCL | style="background: lightgreen;" | libmali |- | colspan="2" rowspan="1" style="text-align: left;" | QT | style="background: lightgreen;" | QT 5.x |- | colspan="2" style="text-align: left;" | Browser(HTML5 Accelerate) | style="background: orange;" | WIP |- | colspan="2" style="text-align: left;" | IOT(Third part Could Service) | style="background: orange;" | WIP |- | colspan="2" style="text-align: left;" | FFmpeg | style="background: yellow;" | Community |- | colspan="2" style="text-align: left;" | MPV | style="background: yellow;" | Community |- | colspan="2" style="text-align: left;" | KODI | style="background: yellow;" | Community |- | </tbody> |} &nbsp; &nbsp; &nbsp; d55316795e833afe892433729596455363b8001f 1497 1496 2017-10-16T00:43:42Z Jacob 6 wikitext text/x-wiki &nbsp; &nbsp; == Rockchip 4.4 Kernel Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! RK3288 ! RK3328 ! RK3399 |- | rowspan="2" style="text-align: left;" | ADC | style="text-align: left;" | SARADC | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | TSADC | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | Clocks | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | CPUFreq | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | Crypto | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | CSI/ISP | style="background: orange;" | WIP | N/A | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | CIF | style="background: orange;" | WIP | style="background: orange;" | WIP | style="background: orange;" | WIP |- | rowspan="8" style="text-align: left;" | Display (DRM) | style="text-align: left;" | RGB | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | EDP | style="background: lightgreen;" | SUPPORT | N/A | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | LVDS | style="background: lightgreen;" | SUPPORT | N/A | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | MIPI DSI | style="background: lightgreen;" | SUPPORT | N/A | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | CVBS | N/A | style="background: lightgreen;" | SUPPORT | N/A |- | style="text-align: left;" | VGA | N/A | N/A | N/A |- | style="text-align: left;" | HDMI | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | CEC | style="background: red;" | NO | style="background: orange;" | WIP | style="background: red;" | NO |- | colspan="2" style="text-align: left;" | DMA | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | DDR DVFS | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |- | rowspan="2" style="text-align: left;" | Ethernet | style="text-align: left;" | GMAC | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | EMAC | N/A | style="background: lightgreen;" | SUPPORT | N/A |- | colspan="2" style="text-align: left;" | I2S | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left" | I2C | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | MsgBox | N/A | N/A | N/A |- | colspan="2" style="text-align: left;" | Pinctrl | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | PWM | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | Power Domain | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | PCIE | N/A | N/A | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | SD / SDIO / MMC | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | SPDIF | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | SPI | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | SUSPEND / RESUME | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | USB | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | USB OTG | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | TYPEC | N/A | N/A | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | Watchdog | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | GPU | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | VPU | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | RGA | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | IEP | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |} &nbsp; &nbsp; &nbsp; == Mainline Kernel Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! RK3288 ! RK3328 ! RK3399 |- | rowspan="2" style="text-align: left;" | ADC | style="text-align: left;" | SARADC | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | style="text-align: left;" | TSADC | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | Clocks | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | CPUFreq | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | Crypto | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | CSI/ISP | style="background: orange;" | WIP | N/A | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | CIF | style="background: orange;" | WIP | style="background: orange;" | WIP | style="background: orange;" | WIP |- | rowspan="8" style="text-align: left;" | Display (DRM) | style="text-align: left;" | RGB | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |- | style="text-align: left;" | EDP | style="background: lightgreen;" | 4.4 | N/A | style="background: lightgreen;" | 4.4 |- | style="text-align: left;" | LVDS | style="background: red;" | NO | N/A | style="background: red;" | NO |- | style="text-align: left;" | MIPI DSI | style="background: lightgreen;" | 4.4 | N/A | style="background: lightgreen;" | 4.4 |- | style="text-align: left;" | CVBS | N/A | style="background: darkgreen;" | INCOMPLETE | N/A |- | style="text-align: left;" | VGA | N/A | N/A | N/A |- | style="text-align: left;" | HDMI | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE |- | style="text-align: left;" | CEC | style="background: red;" | NO | style="background: darkgreen;" | INCOMPLETE | style="background: red;" | NO |- | colspan="2" style="text-align: left;" | DMA | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | DDR DVFS | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |- | rowspan="2" style="text-align: left;" | Ethernet | style="text-align: left;" | GMAC | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | style="text-align: left;" | EMAC | N/A | style="background: lightgreen;" | 4.4 | N/A |- | colspan="2" style="text-align: left;" | I2S | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left" | I2C | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | MsgBox | N/A | N/A | N/A |- | colspan="2" style="text-align: left;" | Pinctrl | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | PWM | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | Power Domain | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | PCIE | N/A | N/A | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | SD / SDIO / MMC | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | SPDIF | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | SPI | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | SUSPEND / RESUME | style="background: darkgreen;" | INCOMPLETE | style="background: lightgreen;" | 4.4 | style="background: darkgreen;" | INCOMPLETE |- | colspan="2" style="text-align: left;" | USB | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | USB OTG | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | TYPEC | N/A | N/A | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | Watchdog | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.4 |- | colspan="2" style="text-align: left;" | GPU | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |- | colspan="2" style="text-align: left;" | VPU | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |- | colspan="2" style="text-align: left;" | RGA | style="background: orange;" | WIP | style="background: orange;" | WIP | style="background: orange;" | WIP |- | colspan="2" style="text-align: left;" | IEP | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |} &nbsp; &nbsp; &nbsp; == Linux SDK CHIP Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! RK3288 ! RK3328 ! RK3399 |- | colspan="2" style="text-align: left;" | Debian | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | rowspan="3" style="text-align: left;" | Yocto | style="text-align: left;" | X11 | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | QT EGLFS | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | WESTON | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE |- | colspan="2" style="text-align: left;" | Buildroot | N/A | N/A | style="background: lightgreen;" | SUPPORT |- | rowspan="5" style="text-align: left;" | Decode | style="text-align: left;" | H264 | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | H265 | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | VP8 | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | VP9 | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | JPEG | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE |- | rowspan="3" style="text-align: left;" | Encode | style="text-align: left;" | H264 | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | H265 | N/A | style="background: lightgreen;" | SUPPORT | N/A |- | style="text-align: left;" | JPEG | style="background: darkgreen;" | MPP | style="background: darkgreen;" | MPP | style="background: darkgreen;" | MPP |- | colspan="2" style="text-align: left;" | ISP(3A) | style="background: orange;" | WIP | N/A | style="background: orange;" | WIP |} <br/> &nbsp; == Linux&nbsp;Funciton Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- | <tbody> |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! Status |- | rowspan="5" style="text-align: left;" | Gstreamer | style="text-align: left;" | Display | style="background: lightgreen;" | kmssink(qt eglfs),rkximagesink(x11), waylandsink(wayland) |- | style="text-align: left;" | Decode&nbsp; | style="background: lightgreen;" | h264, h265, vp8, vp9, jpeg |- | style="text-align: left;" | Encode | style="background: lightgreen;" | h264 |- | style="text-align: left;" | Camera | style="background: orange;" | Without 3A |- | style="text-align: left;" | Transform | style="background: orange;" | WIP |- | rowspan="2" style="text-align: left;" | GPU | style="text-align: left;" | GLES | style="background: lightgreen;" | libmali |- | style="text-align: left;" | OPENCL | style="background: lightgreen;" | libmali |- | colspan="2" rowspan="1" style="text-align: left;" | QT | style="background: lightgreen;" | QT 5.x |- | colspan="2" style="text-align: left;" | Browser(HTML5 Accelerate) | style="background: orange;" | WIP |- | colspan="2" style="text-align: left;" | IOT(Third part Could Service) | style="background: orange;" | WIP |- | colspan="2" style="text-align: left;" | FFmpeg | style="background: yellow;" | Community |- | colspan="2" style="text-align: left;" | MPV | style="background: yellow;" | Community |- | colspan="2" style="text-align: left;" | KODI | style="background: yellow;" | Community |- | </tbody> |} &nbsp; &nbsp; &nbsp; 629e9eea6347d7e3a3cdeffd1873bd1b3db01d61 1498 1497 2017-10-16T00:46:14Z Jacob 6 wikitext text/x-wiki &nbsp; &nbsp; == Rockchip 4.4 Kernel Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! RK3288 ! RK3328 ! RK3399 |- | rowspan="2" style="text-align: left;" | ADC | style="text-align: left;" | SARADC | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | TSADC | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | Clocks | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | CPUFreq | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | Crypto | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | CSI/ISP | style="background: orange;" | WIP | N/A | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | CIF | style="background: orange;" | WIP | style="background: orange;" | WIP | style="background: orange;" | WIP |- | rowspan="8" style="text-align: left;" | Display (DRM) | style="text-align: left;" | RGB | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | EDP | style="background: lightgreen;" | SUPPORT | N/A | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | LVDS | style="background: lightgreen;" | SUPPORT | N/A | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | MIPI DSI | style="background: lightgreen;" | SUPPORT | N/A | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | CVBS | N/A | style="background: lightgreen;" | SUPPORT | N/A |- | style="text-align: left;" | VGA | N/A | N/A | N/A |- | style="text-align: left;" | HDMI | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | CEC | style="background: red;" | NO | style="background: orange;" | WIP | style="background: red;" | NO |- | colspan="2" style="text-align: left;" | DMA | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | DDR DVFS | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |- | rowspan="2" style="text-align: left;" | Ethernet | style="text-align: left;" | GMAC | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | EMAC | N/A | style="background: lightgreen;" | SUPPORT | N/A |- | colspan="2" style="text-align: left;" | I2S | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left" | I2C | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | MsgBox | N/A | N/A | N/A |- | colspan="2" style="text-align: left;" | Pinctrl | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | PWM | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | Power Domain | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | PCIE | N/A | N/A | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | SD / SDIO / MMC | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | SPDIF | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | SPI | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | SUSPEND / RESUME | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | USB | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | USB OTG | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | TYPEC | N/A | N/A | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | Watchdog | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | GPU | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | VPU | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | RGA | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | IEP | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |} &nbsp; &nbsp; &nbsp; == Mainline Kernel Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! RK3288 ! RK3328 ! RK3399 |- | rowspan="2" style="text-align: left;" | ADC | style="text-align: left;" | SARADC | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.14 |- | style="text-align: left;" | TSADC1 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | Clocks | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | CPUFreq | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | Crypto | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | CSI/ISP | style="background: orange;" | WIP | N/A | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | CIF | style="background: orange;" | WIP | style="background: orange;" | WIP | style="background: orange;" | WIP |- | rowspan="8" style="text-align: left;" | Display (DRM) | style="text-align: left;" | RGB | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |- | style="text-align: left;" | EDP | style="background: lightgreen;" | 4.4 | N/A | style="background: lightgreen;" | 4.14 |- | style="text-align: left;" | LVDS | style="background: red;" | NO | N/A | style="background: red;" | NO |- | style="text-align: left;" | MIPI DSI | style="background: lightgreen;" | 4.4 | N/A | style="background: lightgreen;" | 4.14 |- | style="text-align: left;" | CVBS | N/A | style="background: darkgreen;" | INCOMPLETE | N/A |- | style="text-align: left;" | VGA | N/A | N/A | N/A |- | style="text-align: left;" | HDMI | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE |- | style="text-align: left;" | CEC | style="background: red;" | NO | style="background: darkgreen;" | INCOMPLETE | style="background: red;" | NO |- | colspan="2" style="text-align: left;" | DMA | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | DDR DVFS | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |- | rowspan="2" style="text-align: left;" | Ethernet | style="text-align: left;" | GMAC | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.14 |- | style="text-align: left;" | EMAC | N/A | style="background: lightgreen;" | 4.14 | N/A |- | colspan="2" style="text-align: left;" | I2S | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left" | I2C | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | MsgBox | N/A | N/A | N/A |- | colspan="2" style="text-align: left;" | Pinctrl | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | PWM | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | Power Domain | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | PCIE | N/A | N/A | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | SD / SDIO / MMC | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | SPDIF | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | SPI | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | SUSPEND / RESUME | style="background: darkgreen;" | INCOMPLETE | style="background: lightgreen;" | 4.14 | style="background: darkgreen;" | INCOMPLETE |- | colspan="2" style="text-align: left;" | USB | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | USB OTG | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | TYPEC | N/A | N/A | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | Watchdog | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | GPU | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |- | colspan="2" style="text-align: left;" | VPU | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |- | colspan="2" style="text-align: left;" | RGA | style="background: lightgreen;" | 4.15 | style="background: orange;" | WIP | style="background: lightgreen;" | 4.15 |- | colspan="2" style="text-align: left;" | IEP | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |} &nbsp; &nbsp; &nbsp; == Linux SDK CHIP Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! RK3288 ! RK3328 ! RK3399 |- | colspan="2" style="text-align: left;" | Debian | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | rowspan="3" style="text-align: left;" | Yocto | style="text-align: left;" | X11 | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | QT EGLFS | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | WESTON | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE |- | colspan="2" style="text-align: left;" | Buildroot | N/A | N/A | style="background: lightgreen;" | SUPPORT |- | rowspan="5" style="text-align: left;" | Decode | style="text-align: left;" | H264 | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | H265 | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | VP8 | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | VP9 | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | JPEG | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE |- | rowspan="3" style="text-align: left;" | Encode | style="text-align: left;" | H264 | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | H265 | N/A | style="background: lightgreen;" | SUPPORT | N/A |- | style="text-align: left;" | JPEG | style="background: darkgreen;" | MPP | style="background: darkgreen;" | MPP | style="background: darkgreen;" | MPP |- | colspan="2" style="text-align: left;" | ISP(3A) | style="background: orange;" | WIP | N/A | style="background: orange;" | WIP |} <br/> &nbsp; == Linux&nbsp;Funciton Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- | <tbody> |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! Status |- | rowspan="5" style="text-align: left;" | Gstreamer | style="text-align: left;" | Display | style="background: lightgreen;" | kmssink(qt eglfs),rkximagesink(x11), waylandsink(wayland) |- | style="text-align: left;" | Decode&nbsp; | style="background: lightgreen;" | h264, h265, vp8, vp9, jpeg |- | style="text-align: left;" | Encode | style="background: lightgreen;" | h264 |- | style="text-align: left;" | Camera | style="background: orange;" | Without 3A |- | style="text-align: left;" | Transform | style="background: orange;" | WIP |- | rowspan="2" style="text-align: left;" | GPU | style="text-align: left;" | GLES | style="background: lightgreen;" | libmali |- | style="text-align: left;" | OPENCL | style="background: lightgreen;" | libmali |- | colspan="2" rowspan="1" style="text-align: left;" | QT | style="background: lightgreen;" | QT 5.x |- | colspan="2" style="text-align: left;" | Browser(HTML5 Accelerate) | style="background: orange;" | WIP |- | colspan="2" style="text-align: left;" | IOT(Third part Could Service) | style="background: orange;" | WIP |- | colspan="2" style="text-align: left;" | FFmpeg | style="background: yellow;" | Community |- | colspan="2" style="text-align: left;" | MPV | style="background: yellow;" | Community |- | colspan="2" style="text-align: left;" | KODI | style="background: yellow;" | Community |- | </tbody> |} &nbsp; &nbsp; &nbsp; d4df260df7405fa575467d0b93640d712174145f 1536 1498 2017-10-29T07:58:28Z Jacob 6 wikitext text/x-wiki &nbsp; &nbsp; == Rockchip 4.4 Kernel Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! RK3288 ! RK3328 ! RK3399 |- | rowspan="2" style="text-align: left;" | ADC | style="text-align: left;" | SARADC | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | TSADC | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | Clocks | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | CPUFreq | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | Crypto | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | CSI/ISP | style="background: orange;" | WIP | N/A | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | CIF | style="background: orange;" | WIP | style="background: orange;" | WIP | style="background: orange;" | WIP |- | rowspan="8" style="text-align: left;" | Display (DRM) | style="text-align: left;" | RGB | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | EDP | style="background: lightgreen;" | SUPPORT | N/A | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | LVDS | style="background: lightgreen;" | SUPPORT | N/A | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | MIPI DSI | style="background: lightgreen;" | SUPPORT | N/A | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | CVBS | N/A | style="background: lightgreen;" | SUPPORT | N/A |- | style="text-align: left;" | VGA | N/A | N/A | N/A |- | style="text-align: left;" | HDMI | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | CEC | style="background: red;" | NO | style="background: orange;" | WIP | style="background: red;" | NO |- | colspan="2" style="text-align: left;" | DMA | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | DDR DVFS | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |- | rowspan="2" style="text-align: left;" | Ethernet | style="text-align: left;" | GMAC | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | EMAC | N/A | style="background: lightgreen;" | SUPPORT | N/A |- | colspan="2" style="text-align: left;" | I2S | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left" | I2C | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | MsgBox | N/A | N/A | N/A |- | colspan="2" style="text-align: left;" | Pinctrl | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | PWM | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | Power Domain | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | PCIE | N/A | N/A | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | SD / SDIO / MMC | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | SPDIF | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | SPI | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | SUSPEND / RESUME | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | USB | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | USB OTG | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | TYPEC | N/A | N/A | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | Watchdog | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | GPU | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | VPU | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | RGA | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | IEP | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |} &nbsp; &nbsp; &nbsp; == Mainline Kernel Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! RK3288 ! RK3328 ! RK3399 |- | rowspan="2" style="text-align: left;" | ADC | style="text-align: left;" | SARADC | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.14 |- | style="text-align: left;" | TSADC1 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | Clocks | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | CPUFreq | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | Crypto | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | CSI/ISP | style="background: orange;" | WIP | N/A | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | CIF | style="background: orange;" | WIP | style="background: orange;" | WIP | style="background: orange;" | WIP |- | rowspan="8" style="text-align: left;" | Display (DRM) | style="text-align: left;" | RGB | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |- | style="text-align: left;" | EDP | style="background: lightgreen;" | 4.4 | N/A | style="background: lightgreen;" | 4.14 |- | style="text-align: left;" | LVDS | style="background: red;" | NO | N/A | style="background: red;" | NO |- | style="text-align: left;" | MIPI DSI | style="background: lightgreen;" | 4.4 | N/A | style="background: lightgreen;" | 4.14 |- | style="text-align: left;" | CVBS | N/A | style="background: darkgreen;" | INCOMPLETE | N/A |- | style="text-align: left;" | VGA | N/A | N/A | N/A |- | style="text-align: left;" | HDMI | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE |- | style="text-align: left;" | CEC | style="background: red;" | NO | style="background: darkgreen;" | INCOMPLETE | style="background: red;" | NO |- | colspan="2" style="text-align: left;" | DMA | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | DDR DVFS | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |- | rowspan="2" style="text-align: left;" | Ethernet | style="text-align: left;" | GMAC | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.14 |- | style="text-align: left;" | EMAC | N/A | style="background: lightgreen;" | 4.14 | N/A |- | colspan="2" style="text-align: left;" | I2S | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left" | I2C | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | MsgBox | N/A | N/A | N/A |- | colspan="2" style="text-align: left;" | Pinctrl | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | PWM | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | Power Domain | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | PCIE | N/A | N/A | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | SD / SDIO / MMC | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | SPDIF | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | SPI | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | SUSPEND / RESUME | style="background: darkgreen;" | INCOMPLETE | style="background: lightgreen;" | 4.14 | style="background: darkgreen;" | INCOMPLETE |- | colspan="2" style="text-align: left;" | USB | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | USB OTG | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | TYPEC | N/A | N/A | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | Watchdog | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | GPU | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |- | colspan="2" style="text-align: left;" | VPU | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |- | colspan="2" style="text-align: left;" | RGA | style="background: lightgreen;" | 4.15 | style="background: orange;" | WIP | style="background: lightgreen;" | 4.15 |- | colspan="2" style="text-align: left;" | IEP | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |} &nbsp; &nbsp; &nbsp; == Linux SDK CHIP Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! RK3288 ! RK3328 ! RK3399 |- | colspan="2" style="text-align: left;" | Debian | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | rowspan="3" style="text-align: left;" | Yocto | style="text-align: left;" | X11 | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | QT EGLFS | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | WESTON | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE |- | colspan="2" style="text-align: left;" | Buildroot | N/A | N/A | style="background: lightgreen;" | SUPPORT |- | rowspan="5" style="text-align: left;" | Decode | style="text-align: left;" | H264 | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | H265 | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | VP8 | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | VP9 | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | JPEG | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE |- | rowspan="3" style="text-align: left;" | Encode | style="text-align: left;" | H264 | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | H265 | N/A | style="background: lightgreen;" | SUPPORT | N/A |- | style="text-align: left;" | JPEG | style="background: darkgreen;" | MPP | style="background: darkgreen;" | MPP | style="background: darkgreen;" | MPP |- | colspan="2" style="text-align: left;" | ISP(3A) | style="background: orange;" | WIP | N/A | style="background: orange;" | WIP |} <br/> &nbsp; == Linux&nbsp;Funciton Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! Status |- | rowspan="5" style="text-align: left;" | Gstreamer | style="text-align: left;" | Display | style="background: lightgreen;" | kmssink(qt eglfs),rkximagesink(x11), waylandsink(wayland) |- | style="text-align: left;" | Decode&nbsp; | style="background: lightgreen;" | h264, h265, vp8, vp9, jpeg |- | style="text-align: left;" | Encode | style="background: lightgreen;" | h264 |- | style="text-align: left;" | Camera | style="background: orange;" | Without 3A |- | style="text-align: left;" | Transform | style="background: orange;" | WIP |- | rowspan="2" style="text-align: left;" | GPU | style="text-align: left;" | GLES | style="background: lightgreen;" | libmali |- | style="text-align: left;" | OPENCL | style="background: lightgreen;" | libmali |- | colspan="2" rowspan="1" style="text-align: left;" | QT | style="background: lightgreen;" | QT 5.x |- | colspan="2" style="text-align: left;" | Browser(HTML5 Accelerate) | style="background: orange;" | WIP |- | colspan="2" style="text-align: left;" | IOT(Third part Could Service) | style="background: orange;" | WIP |- | colspan="2" style="text-align: left;" | FFmpeg | style="background: yellow;" | Community |- | colspan="2" style="text-align: left;" | MPV | style="background: yellow;" | Community |- | colspan="2" style="text-align: left;" | KODI | style="background: yellow;" | Community &nbsp; &nbsp; &nbsp; |} 398ac0bc2d39e0b5e10de17fccd0149c2df1fe9e Board Config 0 160 1474 1368 2017-10-12T01:59:15Z Jacob 6 wikitext text/x-wiki = Board config = == defconfig and dts == <span style="font-size: 13px; line-height: 1.6;">Every Board has its device tree file and config file required by the kernel and uboot. Therefore, you will need to choose the correct dts and config to build the source.Below list various Boards and the matching file.</span> {| border="1" class="table_style" style="width: 920px;" |- ! rowspan="2" style="width: 153px;" | board ! rowspan="2" style="width: 172px;" | uboot ! rowspan="2" style="width: 167px;" | kernel config ! rowspan="2" style="width: 287px;" | kernel dts ! colspan="3" rowspan="1" style="width: 287px;" | Hardware |- ! style="width: 287px;" | DDR ! style="width: 287px;" | PMIC ! style="width: 287px;" | Boot |- | style="width: 153px;" | rk3288-evb | style="width: 172px;" | evb-rk3288_defconfig | style="width: 167px;" | rockchip_linux_defconfig | style="width: 287px;" | rk3288-evb-act8846.dts or rk3288-evb-rk808.dts | style="width: 287px; text-align: center;" | mostly LPDDR3 | style="width: 287px; text-align: center;" | mostly act8846 | style="width: 287px; text-align: center;" | emmc boot |- | style="width: 153px;" | rk3288-fennec | style="width: 172px;" | fennec-rk3288_defconfig | style="width: 167px;" | rockchip_linux_defconfig | style="width: 287px;" | rk3288-fennec.dts | style="width: 287px; text-align: center;" | LPDDR3 | style="width: 287px; text-align: center;" | rk808 | style="width: 287px; text-align: center;" | emmc boot |- | style="width: 153px;" | rk3288-miniarm | style="width: 172px;" | tinker-rk3288_defconfig | style="width: 167px;" | rockchip_linux_defconfig | style="width: 287px;" | rk3288-miniarm.dts | style="width: 287px; text-align: center;" | LPDDR3 | style="width: 287px; text-align: center;" | rk808 | style="width: 287px; text-align: center;" | sd-card boot |- | style="width: 153px;" | rk3288-firefly | style="width: 172px;" | firefly-rk3288_defconfig | style="width: 167px;" | rockchip_linux_defconfig | style="width: 287px;" | rk3288-firefly.dts | style="width: 287px; text-align: center;" | DDR3 | style="width: 287px; text-align: center;" | rk808 | style="width: 287px; text-align: center;" | sd-card boot |- | style="width: 153px;" | rk3288-phytec | style="width: 172px;" | phtec-rk3288_defconfig | style="width: 167px;" | rockchip_linux_defconfig | style="width: 287px;" | rk3288-phytec-rdk.dts | style="width: 287px; text-align: center;" | DDR3 | style="width: 287px; text-align: center;" | rk818 | style="width: 287px; text-align: center;" | emmc boot |- | style="width: 153px;" | rk3328-evb | style="width: 172px;" | evb-rk3328_defconfig | style="width: 167px;" | rockchip_linux_defconfig | style="width: 287px;" | rk3328-evb.dts | style="width: 287px; text-align: center;" | DDR3 | style="width: 287px; text-align: center;" | rk805 | style="width: 287px; text-align: center;" | emmc boot |- | style="width: 153px;" | rk3399-excavator | style="width: 172px;" | evb-rk3399_defconfig | style="width: 167px;" | rockchip_linux_defconfig | style="width: 287px;" | rk3399-sapphire-excavator-linux.dts | style="width: 287px; text-align: center;" | LPDDR4 | style="width: 287px; text-align: center;" | rk808 | style="width: 287px; text-align: center;" | emmc boot |- | style="width: 153px;" | rk3399-firefly | style="width: 172px;" | firefly-rk3399_defconfig | style="width: 167px;" | rockchip_linux_defconfig | style="width: 287px;" | rk3399-firefly-linux.dts | style="width: 287px; text-align: center;" | LPDDR4 | style="width: 287px; text-align: center;" | rk808 | style="width: 287px; text-align: center;" | emmc boot |- | style="width: 153px;" | rk3036-kylin | style="width: 172px;" | kylin-rk3036_defconfig | style="width: 167px;" | rockchip_linux_defconfig | style="width: 287px;" | rk3036-kylin.dts | style="width: 287px; text-align: center;" | DDR3 | style="width: 287px; text-align: center;" | rk808 | style="width: 287px; text-align: center;" | emmc boot |} &nbsp; == Config Per Chip == {| border="1" class="table_style" |- ! chip ! Kernel eMMC index ! Kernel SD index ! Uboot eMMC index ! Uboot SD index ! Baud speed |- | rk3399 | 1 | 0 | 0 | 1 | 1500000 |- | rk3328 | 2 | 0 | 0 | 1 | 1500000 |- | rk3288 | 2 | 0 | 0 | 1 | 115200 |- | rk3036 | 2 | 0 | 0 | - | 115200 |} ---- 0524fab9d3c119f6d3ada108768b478e48471b57 Graphics 0 108 1475 885 2017-10-12T02:04:02Z Jacob 6 wikitext text/x-wiki = Graphics Introduce = This article will give an overview of how graphics are generated on a rockchip platform. &nbsp; &nbsp; == Graphics with X11 == Xserver is the display system used on regular desktop Linux platforms. Rockchip have a custom&nbsp;[[Xserver|Xserver]]&nbsp;which have enable&nbsp;[https://www.freedesktop.org/wiki/Software/Glamor/ glamor 2D acceleration]. Xserver usually have a good compatibility, but the performance may be little less and its size is more large than other display system. Gstreamer X11 sink have DRM 4k-Video render support(though hacky). === Structure === X11 structure in Linux OS [[File:Xserver gpu.png|RTENOTITLE]] === DDX(armsoc) === source code: git clone git@github.com:markyzq/xf86-video-armsoc.git<br/> maliline: [git://anongit.freedesktop.org/xorg/driver/xf86-video-armsoc git://anongit.freedesktop.org/xorg/driver/xf86-video-armsoc]<br/> The DDX support: #support common x11 display and Hwcursor #DRI2 (request by EGL X11 client) #umplock(support non-tearing on EGL x11 client) '''''/etc/X11/xorg.conf'':''' Xserver will parse this config to find DDX and configure info <pre>Section "Device" Identifier "Mali-Fbdev" Driver "armsoc" Option "UMP_LOCK" "true" EndSection Section "Screen" Identifier "Default Screen" Device "Mali-Fbdev" DefaultDepth 24 EndSection</pre> === UMPLOCK === source code: wget [http://malideveloper.arm.com/downloads/drivers/DX910/r6p1-01rel0/DX910-SW-99002-r6p1-01rel0.tgz http://malideveloper.arm.com/downloads/drivers/DX910/r6p1-01rel0/DX910-SW-99002-r6p1-01rel0.tgz]<br/> Patch the umplock patch to kernel, then you can find the umplock device node: <pre>/dev/umplock</pre> Don't forget enable DDX umplock option: <pre>Option "UMP_LOCK" "true"</pre> The umplock only use for x11 graphic stack, no need for wayland, because mali&nbsp;<br/> already do the wayland sync on its driver. &nbsp; === DDX(modesetting) === See [https://www.x.org/wiki/ModeSetting/ ModeSetting ]for detail introduce. &nbsp; === X11 performance test === 2D performace: <pre>x11perf</pre> 3D preformace: <pre>glmark2-es2</pre> X11perf tools can easy get from x11-apps.<br/> glmark2-es2 can get from [https://github.com/glmark2/glmark2 https://github.com/glmark2/glmark2]<br/> The glmark2-es2 source code can also build for x11, drm(gbm) and wayland. == Graphics with Wayland == Weston is the reference implementation of a Wayland compositor, and a<br/> useful compositor in its own right. === Structure === [[File:Wayland.png|RTENOTITLE]] === Weston === The Weston reference implementation of a Wayland compositor. &nbsp; &nbsp; &nbsp;1. run wayland with drm and gpu renderer <pre style="margin-left: 40px;">export XDG_RUNTIME_DIR=/tmp weston --backend=drm-backend.so --idle-time=100 </pre> &nbsp; &nbsp; &nbsp; 2. run wayland with drm and cpu renderer <pre style="margin-left: 40px;">weston --backend=drm-backend.so --idle-time=100 --use-pixman</pre> <blockquote> --idle-time: how many seconds the weston got to sleep, it's usefull to test wayland&nbsp;<br/> suspend and resume.<br/> --use-pixman: it's usefull to compare gpu or non-gpu performance and behavior. </blockquote> === Wayland performance test === 3D preformance: &nbsp;''glmark2-es2-wayland''<br/> glmark2-es2 can get from [https://github.com/glmark2/glmark2 https://github.com/glmark2/glmark2] <br/> OpenVG test: ''vg_api_tests''<br/> build from mali DDK, build with make bin/vg_api_tests &nbsp; == Graphics with None == If you don't want to use X11 or wayland, there are some chooses for you. Interface:<br/> libdrm and libmali-gbm can be used to draw UI without display systems. Framework:<br/> [[Qt|QT]]&nbsp;can work without x11 or wayland. Qt5 applications could be run on top of EGL(libmali-gbm). == MALI GPU driver == === Structure === [[File:Mali gpu.png|RTENOTITLE]] == Mali Build option == Build for X11:<br/> VARIANT=mali450-gles20-eb-linux-sse-vg-x11-dma_buf<br/> Build for Wayland:<br/> VARIANT=mali450-gles20-eb-vg-sse-linux-wayland-drm-dma_buf<br/> X11 stack only use gpu x11 backend,&nbsp;<br/> Wayland use two gpu backend, drm(gbm) and wayland <blockquote> -x11-: x11 backend<br/> -drm-: GBM backend<br/> -wayland: wayland backend<br/> -sse-: similar with neon, Accelerate memcpy on mali, speed up some api like&nbsp;<br/> glTexSubImage2D<br/> -vg-: openVG support, tested with vg_api_tests on wayland backend<br/> -dma_buf-: support dma_buf </blockquote> == LibDRM == === Structure === [[File:DRM.png|RTENOTITLE]] === Source code === mainline source code: git clone [git://anongit.freedesktop.org/mesa/drm git://anongit.freedesktop.org/mesa/drm]<br/> LIBDRM is the cross-driver middleware which allows user-space applications (such&nbsp;<br/> as Mesa and 2D drivers) to communicate with the Kernel by the means of the DRI&nbsp;<br/> protocol. === Mailing list === General developers discussions occur on the dri-devel@lists.freedesktop.org&nbsp;<br/> mailing list.<br/> Subscribe to the list at [http://lists.freedesktop.org/mailman/listinfo/dri-devel http://lists.freedesktop.org/mailman/listinfo/dri-devel].<br/> Archives are found at [http://lists.freedesktop.org/archives/dri-devel/ http://lists.freedesktop.org/archives/dri-devel/]. = Kernel Driver porting = = Others = For details of the full Linux graphics stack, please refer to online documents in&nbsp;[https://www.freedesktop.org/wiki/ Freedesktop],&nbsp;[http://www.arm.com/products/graphics-and-multimedia/mali-gpu ARM],&nbsp;[https://wiki.archlinux.org/index.php/xorg Arch wiki]….. *[http://moi.vonos.net/linux/graphics-stack/ http://moi.vonos.net/linux/graphics-stack/] *[https://en.wikipedia.org/wiki/Wayland_(display_server_protocol https://en.wikipedia.org/wiki/Wayland_(display_server_protocol]) *[https://blogs.igalia.com/itoral/2014/07/29/a-brief-introduction-to-the-linux-graphics-stack/ https://blogs.igalia.com/itoral/2014/07/29/a-brief-introduction-to-the-linux-graphics-stack/] d075131557e0d01d61d95d74bcd9bc983b6bf86f Boot Time 0 166 1489 2017-10-14T07:47:00Z Jacob 6 Created page with " = Overall = Our softwares are designed to be customizable and&nbsp;be workable&nbsp;for all rockchip chips&nbsp;, so it might take&nbsp;''little long time''&nbsp;to boot in..." wikitext text/x-wiki = Overall = Our softwares are designed to be customizable and&nbsp;be workable&nbsp;for all rockchip chips&nbsp;, so it might take&nbsp;''little long time''&nbsp;to boot in some chips. In the below, we will list some ways to reduce boot time. &nbsp; = Tips = == Increase CPU Speed == It's obvious that with&nbsp;higher CPU speed, the less time it take to boot. By default, the CPU is not at full speed at boot time, because it need&nbsp;high&nbsp;voltage and have risk to overheat(No thermal control&nbsp;in u-boot). To support full CPU speed in u-boot/u-boot spl, please refer to this [https://lists.denx.de/pipermail/u-boot/2016-January/241230.html patch]. &nbsp; == Reduce Kernel Size == Kernel image&nbsp;generated by rockchip_linux_defconfig might contain&nbsp;a lot of&nbsp;unnecessary drivers. The big kernel image will have a bad impact to boot time,&nbsp;especially when it's in low CPU speed. You could drop them by editing&nbsp;rockchip_linux_defconfig. &nbsp; == Bootdelay == See&nbsp;https://www.denx.de/wiki/DULG/UBootEnvVariables. &nbsp; &nbsp; 7fadcbfe97f13efcc21057ce2658d4130ace0a5c Boot Logo 0 167 1490 2017-10-14T08:09:19Z Jacob 6 Created page with "<article> = Overall = In android,&nbsp; there is a&nbsp;logo displayed after enter u-boot and&nbsp;last until the desktop start. Unfortunately, we don't&nbsp;implement it fo..." wikitext text/x-wiki <article> = Overall = In android,&nbsp; there is a&nbsp;logo displayed after enter u-boot and&nbsp;last until the desktop start. Unfortunately, we don't&nbsp;implement it for linux。 &nbsp; = U-boot = First,&nbsp;you need enable video driver in u-boot and make it show console in screen.&nbsp; '''WIP''' &nbsp; = Kernel = Please search&nbsp;'''CONFIG_LOGO'''. &nbsp; Set logos_freed to false http://elixir.free-electrons.com/linux/latest/source/drivers/video/logo/logo.c#L32 &nbsp; == System == Please search&nbsp;'''plymouth'''. </article> 0b22b462de60cedaffe55a8b15893d98637e8286 1491 1490 2017-10-14T08:09:57Z Jacob 6 wikitext text/x-wiki = Overall = In android,&nbsp; there is a&nbsp;logo displayed after enter u-boot and&nbsp;last until the desktop start. Unfortunately, we don't&nbsp;implement it for linux。 &nbsp; = U-boot = First,&nbsp;you need enable video driver in u-boot and make it show console in screen.&nbsp; '''WIP''' &nbsp; = Kernel = Please search&nbsp;'''CONFIG_LOGO'''. Set logos_freed to false [http://elixir.free-electrons.com/linux/latest/source/drivers/video/logo/logo.c#L32 http://elixir.free-electrons.com/linux/latest/source/drivers/video/logo/logo.c#L32] &nbsp; == System == Please search&nbsp;'''plymouth'''. 54843669ab1f4bc78911ef6363616d9fea3b7fdc 1492 1491 2017-10-14T09:28:43Z Jacob 6 wikitext text/x-wiki = Overall = In android,&nbsp; there is a&nbsp;logo displayed after enter u-boot and&nbsp;last until the desktop start. Unfortunately, we don't&nbsp;implement it for linux。 &nbsp; = U-boot = First,&nbsp;you need enable video driver in u-boot and make it show console in screen.&nbsp; '''WIP''' &nbsp; = Kernel = Please search&nbsp;'''CONFIG_LOGO'''. Set logos_freed to false [http://elixir.free-electrons.com/linux/latest/source/drivers/video/logo/logo.c#L32 http://elixir.free-electrons.com/linux/latest/source/drivers/video/logo/logo.c#L32] &nbsp; = Log = Console log could be disabled by remove in kernel cmdline. <pre>console=tty1</pre> == &nbsp; == == System == Please search&nbsp;'''plymouth'''. edb5744bdd8b74c934073d17421a2eb919e4a60b 1493 1492 2017-10-14T09:29:01Z Jacob 6 wikitext text/x-wiki = Overall = In android,&nbsp; there is a&nbsp;logo displayed after enter u-boot and&nbsp;last until the desktop start. Unfortunately, we don't&nbsp;implement it for linux。 &nbsp; = U-boot = First,&nbsp;you need enable video driver in u-boot and make it show console in screen.&nbsp; '''WIP''' &nbsp; = Kernel = Please search&nbsp;'''CONFIG_LOGO'''. Set logos_freed to false [http://elixir.free-electrons.com/linux/latest/source/drivers/video/logo/logo.c#L32 http://elixir.free-electrons.com/linux/latest/source/drivers/video/logo/logo.c#L32] &nbsp; = Log = Console log could be disabled by remove in kernel cmdline. <pre>console=tty1</pre> &nbsp; == System == Please search&nbsp;'''plymouth'''. 74aafa96aecf1d86b7f7b650d9781d56b5528ec2 1494 1493 2017-10-14T09:29:38Z Jacob 6 wikitext text/x-wiki = Overall = In android,&nbsp; there is a&nbsp;logo displayed after enter u-boot and&nbsp;last until the android start. Unfortunately, we don't&nbsp;implement it for linux。 &nbsp; = U-boot = First,&nbsp;you need enable video driver in u-boot and make it show console in screen.&nbsp; '''WIP''' &nbsp; = Kernel = Please search&nbsp;'''CONFIG_LOGO'''. Set logos_freed to false [http://elixir.free-electrons.com/linux/latest/source/drivers/video/logo/logo.c#L32 http://elixir.free-electrons.com/linux/latest/source/drivers/video/logo/logo.c#L32] &nbsp; = Log = Console log could be disabled by remove in kernel cmdline. <pre>console=tty1</pre> &nbsp; == System == Please search&nbsp;'''plymouth'''. f0a06dcea970fb8db98fba31132e1065854c9859 1505 1494 2017-10-24T02:49:57Z Jacob 6 wikitext text/x-wiki = Overall = In android,&nbsp; there is a&nbsp;logo displayed after enter u-boot and&nbsp;last until the android start. Unfortunately, we don't&nbsp;implement it for linux。 &nbsp; = U-boot = First,&nbsp;you need enable video driver in u-boot and make it show console in screen.&nbsp; '''WIP''' &nbsp; = Kernel = Please search&nbsp;'''CONFIG_LOGO'''. Set logos_freed to false [http://elixir.free-electrons.com/linux/latest/source/drivers/video/logo/logo.c#L32 http://elixir.free-electrons.com/linux/latest/source/drivers/video/logo/logo.c#L32] &nbsp; = Log = Console log could be disabled by remove in kernel cmdline. <pre>console=tty1</pre> &nbsp; = System = Please search&nbsp;'''plymouth'''. &nbsp; = Initramfs = [[Initramfs]]&nbsp;also have logo display support. 8abf801828602c03a305af919bc7f4f0fa4e71e9 Initramfs 0 168 1500 2017-10-23T02:17:49Z Jacob 6 Created page with " A initramfs is a ramdisk which will mount the root filesystem. From it, we can support some fucntions, like battery monitor, firmware update, multi-os boot. &nbsp; We have..." wikitext text/x-wiki A initramfs is a ramdisk which will mount the root filesystem. From it, we can support some fucntions, like battery monitor, firmware update, multi-os boot. &nbsp; We have provide a yocto layer that will help you build initramfs&nbsp;image. For more infos, please refer to readme in [https://github.com/rockchip-linux/meta-rockchip-extra meta-rockchip-initramfs]. face18ce728503c82599487f7b4ec257e23af59f 1501 1500 2017-10-23T02:18:57Z Jacob 6 wikitext text/x-wiki A initramfs is a ramdisk which will mount the root filesystem. From it, we can support some fucntions, like battery monitor, firmware update, multi-os boot. &nbsp; We have provide a yocto layer that will help you build initramfs&nbsp;image. For more infos, please refer to readme in [https://github.com/rockchip-linux/meta-rockchip-initramfs meta-rockchip-initramfs]. 41303aef3c554b93beafeb66459f2913c1228a97 Firmware Upgrade 0 169 1513 2017-10-25T05:51:54Z Jacob 6 Created page with " = Overall = This guide provides information which will help you choose a&nbsp;''firmware upgrade''&nbsp;way on rockchip platform. &nbsp; = MASKROM = MASKROM is&nbsp;the s..." wikitext text/x-wiki = Overall = This guide provides information which will help you choose a&nbsp;''firmware upgrade''&nbsp;way on rockchip platform. &nbsp; = MASKROM = MASKROM is&nbsp;the simplest way.&nbsp; Belows are the&nbsp;''advantages''&nbsp;and disadvantages of using maskrom. Advantages: *Avoid brick *Simple,&nbsp;unified Disadvantages: *Need a maskrom key Support update from *USB OTG &nbsp; = U-boot = Rockchip mainline u-boot have support&nbsp;various upgrade ways, such as rockusb/fastboot/ums, each of them could be used. It could be entered by issuing "reboot ums/fastboot/rockusb" from linux, or add the&nbsp;[https://github.com/rockchip-linux/u-boot/blob/release/board/rockchip/kylin_rk3036/kylin_rk3036.c#L34 board-spefic key&nbsp;d][http://www.baidu.com/link?url=_UZbopMyRO2G6alYfvh26fna0HDdvzNCurKWn_qDDChmCPpXx9Sg8aIAQ9wZzgELTBjutHEls6tXyHKmARhH1FFDljz_NITwalJLiOZp-cgoO97JM-Rg4TAewXjwOVib etection][https://github.com/rockchip-linux/u-boot/blob/release/board/rockchip/kylin_rk3036/kylin_rk3036.c#L34 &nbsp;code]. It's also possible to do network/usb-disk upgrade in u-boot, though you must be familiar with u-boot to use them. &nbsp; Belows are the&nbsp;''advantages''&nbsp;and disadvantages of using maskrom. Advantages: *normal Disadvantages: *Must be familiar with u-boot Support update from *USB OTG *USB DISK *Network &nbsp; 69c62aa59a5d4f696f00cb7dc700fcf0bae94bad 1514 1513 2017-10-25T06:07:55Z Jacob 6 wikitext text/x-wiki = Overall = This guide provides information which will help you choose a&nbsp;''firmware upgrade''&nbsp;way on rockchip platform. &nbsp; = MASKROM = MASKROM is&nbsp;the simplest way.&nbsp; Belows are the&nbsp;''advantages''&nbsp;and disadvantages of using maskrom. Advantages: *Avoid brick *Simple,&nbsp;unified Disadvantages: *Need a maskrom key Support update from *USB OTG &nbsp; = U-boot = Rockchip mainline u-boot have support&nbsp;various upgrade ways, such as rockusb/fastboot/ums, each of them could be used. It could be entered by issuing "reboot ums/fastboot/rockusb" from linux, or add the&nbsp;[https://github.com/rockchip-linux/u-boot/blob/release/board/rockchip/kylin_rk3036/kylin_rk3036.c#L34 board-spefic key&nbsp;d][http://www.baidu.com/link?url=_UZbopMyRO2G6alYfvh26fna0HDdvzNCurKWn_qDDChmCPpXx9Sg8aIAQ9wZzgELTBjutHEls6tXyHKmARhH1FFDljz_NITwalJLiOZp-cgoO97JM-Rg4TAewXjwOVib etection][https://github.com/rockchip-linux/u-boot/blob/release/board/rockchip/kylin_rk3036/kylin_rk3036.c#L34 &nbsp;code]. It's also possible to do network/usb-disk upgrade in u-boot, though you must be familiar with u-boot to use them. &nbsp; Belows are the&nbsp;''advantages''&nbsp;and disadvantages of using maskrom. Advantages: *Common Disadvantages: *Must be familiar with u-boot Support update from *USB OTG *USB DISK *Network &nbsp; = SD-Card Recovery = By changing [https://github.com/rockchip-linux/u-boot/blob/release/include/configs/rockchip-common.h#L16 boot order] in u-boot, it's possible to let u-boot load kernel and rootfs from sd-card at first. We could use it to create a sd-card recovery image. &nbsp; When the board boot into sd-card, the init scripts in SD-Card can install [https://github.com/rockchip-linux/build kernel/u-boot&nbsp;deb]&nbsp; which will burn firmware to eMMC. A sd-card recovery image could created by [https://github.com/rockchip-linux/meta-rockchip-initramfs meta-rockchip-initramfs]. &nbsp; Advantages: *Convenient *Easy to&nbsp;customize, like a normal linux Disadvantages: *Slow &nbsp; = Initramfs = See&nbsp;[https://github.com/rockchip-linux/meta-rockchip-initramfs meta-rockchip-initramfs]. &nbsp; Advantages: *Easy to&nbsp;customize, like a normal linux *Powerful Disadvantages: *Slow &nbsp; &nbsp; 9d523fbfb7fb70306e5e57d41ff5e50539d58fd8 1515 1514 2017-10-25T06:12:04Z Jacob 6 wikitext text/x-wiki = Overall = This guide provides information which will help you choose a&nbsp;''firmware upgrade''&nbsp;way on rockchip platform. &nbsp; = MASKROM = MASKROM is&nbsp;the simplest way.&nbsp; Belows are the&nbsp;''advantages''&nbsp;and disadvantages of using maskrom. Advantages: *Avoid brick *Simple,&nbsp;unified Disadvantages: *Need a maskrom key Support update from *USB OTG &nbsp; = U-boot = Rockchip mainline u-boot have support&nbsp;various upgrade ways, such as rockusb/fastboot/ums, each of them could be used. It could be entered by issuing "reboot ums/fastboot/rockusb" from linux, or add the&nbsp;[https://github.com/rockchip-linux/u-boot/blob/release/board/rockchip/kylin_rk3036/kylin_rk3036.c#L34 board-spefic key&nbsp;d][http://www.baidu.com/link?url=_UZbopMyRO2G6alYfvh26fna0HDdvzNCurKWn_qDDChmCPpXx9Sg8aIAQ9wZzgELTBjutHEls6tXyHKmARhH1FFDljz_NITwalJLiOZp-cgoO97JM-Rg4TAewXjwOVib etection][https://github.com/rockchip-linux/u-boot/blob/release/board/rockchip/kylin_rk3036/kylin_rk3036.c#L34 &nbsp;code]. It's also possible to do network/usb-disk upgrade in u-boot, though you must be familiar with u-boot to use them. &nbsp; Belows are the&nbsp;''advantages''&nbsp;and disadvantages of using maskrom. Advantages: *Common Disadvantages: *Must be familiar with u-boot Support update from *USB OTG *USB DISK *Network &nbsp; = Linux = Our SDK build scripts have support pack deb for kernel/u-boot and&nbsp;both yocto and debian&nbsp;coudl deb as the package manager, So firmware upgrade could be done by deb&nbsp;installation. Advantages: *standard *friendly to the users Disadvantages: *&nbsp;could brick = SD-Card Recovery = By changing [https://github.com/rockchip-linux/u-boot/blob/release/include/configs/rockchip-common.h#L16 boot order] in u-boot, it's possible to let u-boot load kernel and rootfs from sd-card at first. We could use it to create a sd-card recovery image. &nbsp; When the board boot into sd-card, the init scripts in SD-Card can install [https://github.com/rockchip-linux/build kernel/u-boot&nbsp;deb]&nbsp; which will burn firmware to eMMC. A sd-card recovery image could created by [https://github.com/rockchip-linux/meta-rockchip-initramfs meta-rockchip-initramfs]. &nbsp; Advantages: *Convenient *Easy to&nbsp;customize, like a normal linux Disadvantages: *Slow &nbsp; = Initramfs = See&nbsp;[https://github.com/rockchip-linux/meta-rockchip-initramfs meta-rockchip-initramfs]. &nbsp; Advantages: *Easy to&nbsp;customize, like a normal linux *Powerful Disadvantages: *Slow &nbsp; &nbsp; f12a89d7ba3fa80e53b17b780a61761d4881a0ed 1516 1515 2017-10-25T06:13:10Z Jacob 6 wikitext text/x-wiki = Overall = This guide provides information which will help you choose a&nbsp;''firmware upgrade''&nbsp;way on rockchip platform. &nbsp; = MASKROM = MASKROM is&nbsp;the simplest way.&nbsp; Belows are the&nbsp;''advantages''&nbsp;and disadvantages of using maskrom. Advantages: *Avoid brick *Simple,&nbsp;unified Disadvantages: *Need a maskrom key Support update from *USB OTG &nbsp; = U-boot = Rockchip mainline u-boot have support&nbsp;various upgrade ways, such as rockusb/fastboot/ums, each of them could be used. It could be entered by issuing "reboot ums/fastboot/rockusb" from linux, or add the&nbsp;[https://github.com/rockchip-linux/u-boot/blob/release/board/rockchip/kylin_rk3036/kylin_rk3036.c#L34 board-spefic key&nbsp;d][http://www.baidu.com/link?url=_UZbopMyRO2G6alYfvh26fna0HDdvzNCurKWn_qDDChmCPpXx9Sg8aIAQ9wZzgELTBjutHEls6tXyHKmARhH1FFDljz_NITwalJLiOZp-cgoO97JM-Rg4TAewXjwOVib etection][https://github.com/rockchip-linux/u-boot/blob/release/board/rockchip/kylin_rk3036/kylin_rk3036.c#L34 &nbsp;code]. It's also possible to do network/usb-disk upgrade in u-boot, though you must be familiar with u-boot to use them. Belows are the&nbsp;''advantages''&nbsp;and disadvantages of using maskrom. Advantages: *Common Disadvantages: *Must be familiar with u-boot Support update from *USB OTG *USB DISK *Network &nbsp; = Linux = Our SDK build scripts have support pack deb for kernel/u-boot and&nbsp;both yocto and debian&nbsp;coudl deb as the package manager, So firmware upgrade could be done by deb&nbsp;installation. Advantages: *standard *friendly to the users Disadvantages: *&nbsp;could be brick &nbsp; = SD-Card Recovery = By changing [https://github.com/rockchip-linux/u-boot/blob/release/include/configs/rockchip-common.h#L16 boot order] in u-boot, it's possible to let u-boot load kernel and rootfs from sd-card at first. We could use it to create a sd-card recovery image. When the board boot into sd-card, the init scripts in SD-Card can install [https://github.com/rockchip-linux/build kernel/u-boot&nbsp;deb]&nbsp; which will burn firmware to eMMC. A sd-card recovery image could created by [https://github.com/rockchip-linux/meta-rockchip-initramfs meta-rockchip-initramfs]. Advantages: *Convenient *Easy to&nbsp;customize, like a normal linux Disadvantages: *Slow &nbsp; = Initramfs = See&nbsp;[https://github.com/rockchip-linux/meta-rockchip-initramfs meta-rockchip-initramfs]. Advantages: *Easy to&nbsp;customize, like a normal linux *Powerful Disadvantages: *Slow &nbsp; &nbsp; 3740eab0cacdde26723182550178bc8a9a7286e8 1517 1516 2017-10-25T06:23:12Z Jacob 6 wikitext text/x-wiki = Overall = This guide provides information which will help you choose a&nbsp;''firmware upgrade''&nbsp;way on rockchip platform. &nbsp; = MASKROM = MASKROM is&nbsp;the simplest way.&nbsp; Belows are the&nbsp;''advantages''&nbsp;and disadvantages of using maskrom. Advantages: *Avoid brick *Simple,&nbsp;unified Disadvantages: *Need a maskrom key Support update from *USB OTG &nbsp; = U-boot = Rockchip mainline u-boot have support&nbsp;various upgrade ways, such as rockusb/fastboot/ums, each of them could be used. It could be entered by issuing "reboot ums/fastboot/rockusb" from linux, or add the&nbsp;[https://github.com/rockchip-linux/u-boot/blob/release/board/rockchip/kylin_rk3036/kylin_rk3036.c#L34 board-spefic key&nbsp;d][http://www.baidu.com/link?url=_UZbopMyRO2G6alYfvh26fna0HDdvzNCurKWn_qDDChmCPpXx9Sg8aIAQ9wZzgELTBjutHEls6tXyHKmARhH1FFDljz_NITwalJLiOZp-cgoO97JM-Rg4TAewXjwOVib etection][https://github.com/rockchip-linux/u-boot/blob/release/board/rockchip/kylin_rk3036/kylin_rk3036.c#L34 &nbsp;code]. It's also possible to do network/usb-disk upgrade in u-boot, though you must be familiar with u-boot to use them. Belows are the&nbsp;''advantages''&nbsp;and disadvantages of using maskrom. Advantages: *Common Disadvantages: *Must be familiar with u-boot Support update from *USB OTG *USB DISK *Network &nbsp; = Linux = Our SDK build scripts&nbsp;support pack kernel/u-boot in deb and&nbsp;both yocto and debian use deb as the package manager, so firmware upgrade could be done by deb&nbsp;installation. Advantages: *standard *friendly to the users Disadvantages: *&nbsp;could be brick &nbsp; = SD-Card Recovery = By changing [https://github.com/rockchip-linux/u-boot/blob/release/include/configs/rockchip-common.h#L16 boot order] in u-boot, it's possible to let u-boot load kernel and rootfs from sd-card at first. We could use it to create a sd-card recovery image. When the board boot into sd-card, the init scripts in SD-Card can install [https://github.com/rockchip-linux/build kernel/u-boot&nbsp;deb]&nbsp; which will burn firmware to eMMC. A sd-card recovery image could created by [https://github.com/rockchip-linux/meta-rockchip-initramfs meta-rockchip-initramfs]. Advantages: *Convenient *Easy to&nbsp;customize, like a normal linux Disadvantages: *Slow &nbsp; = Initramfs = See&nbsp;[https://github.com/rockchip-linux/meta-rockchip-initramfs meta-rockchip-initramfs]. Advantages: *Easy to&nbsp;customize, like a normal linux *Powerful Disadvantages: *Slow &nbsp; &nbsp; 5d1326190e9ed5dd95e649089210daf4650ed66a 1518 1517 2017-10-25T07:11:28Z Jacob 6 wikitext text/x-wiki = Overall = This guide provides information which will help you choose a&nbsp;''firmware upgrade''&nbsp;way on rockchip platform. &nbsp; = MASKROM = MASKROM is&nbsp;the simplest way.&nbsp; Belows are the&nbsp;''advantages''&nbsp;and disadvantages of using maskrom. Advantages: *Avoid brick *Simple,&nbsp;unified Disadvantages: *Need a maskrom key Support update from *USB OTG &nbsp; = U-boot = Rockchip mainline u-boot have support&nbsp;various upgrade ways, such as rockusb/fastboot/ums, each of them could be used. It could be entered by issuing "reboot ums/fastboot/rockusb" from linux, or add the&nbsp;[https://github.com/rockchip-linux/u-boot/blob/release/board/rockchip/kylin_rk3036/kylin_rk3036.c#L34 board-spefic key&nbsp;d][http://www.baidu.com/link?url=_UZbopMyRO2G6alYfvh26fna0HDdvzNCurKWn_qDDChmCPpXx9Sg8aIAQ9wZzgELTBjutHEls6tXyHKmARhH1FFDljz_NITwalJLiOZp-cgoO97JM-Rg4TAewXjwOVib etection][https://github.com/rockchip-linux/u-boot/blob/release/board/rockchip/kylin_rk3036/kylin_rk3036.c#L34 &nbsp;code]. It's also possible to do network/usb-disk upgrade in u-boot, though you must be familiar with u-boot to use them. Belows are the&nbsp;''advantages''&nbsp;and disadvantages of using maskrom. Advantages: *Common Disadvantages: *Must be familiar with u-boot Support update from *USB OTG *USB DISK *Network &nbsp; = Linux = Our SDK build scripts&nbsp;support pack kernel/u-boot in deb and&nbsp;both yocto and debian use deb as the package manager, so firmware upgrade could be done by deb&nbsp;installation. Advantages: *standard *friendly to the users Disadvantages: *&nbsp;could be brick &nbsp; = SD-Card Recovery = By changing [https://github.com/rockchip-linux/u-boot/blob/release/include/configs/rockchip-common.h#L16 boot order] in u-boot, it's possible to let u-boot load kernel and rootfs from sd-card at first. We could use it to create a sd-card recovery image. When the board boot into sd-card, the init scripts in SD-Card can install [https://github.com/rockchip-linux/build kernel/u-boot&nbsp;deb]&nbsp; which will burn firmware to eMMC. A sd-card recovery image could created by [https://github.com/rockchip-linux/meta-rockchip-initramfs meta-rockchip-initramfs]. Advantages: *Convenient *Easy to&nbsp;customize, like a normal linux Disadvantages: *Slow &nbsp; = Initramfs/Recovery = Advantages: *Easy to&nbsp;customize, like a normal linux *Powerful Disadvantages: *Slow &nbsp; &nbsp; 95d365d53d044f7fece0528e98f96f4eac581639 1519 1518 2017-10-25T07:38:36Z Jacob 6 wikitext text/x-wiki = Overall = This guide provides information which will help you choose a&nbsp;''firmware upgrade''&nbsp;way on rockchip platform. &nbsp; = MASKROM = MASKROM is&nbsp;the simplest way.&nbsp; Belows are the&nbsp;''advantages''&nbsp;and disadvantages of using maskrom. Advantages: *Avoid brick *Simple,&nbsp;unified Disadvantages: *Need a maskrom key Support update from *USB OTG &nbsp; = U-boot = Rockchip mainline u-boot have support&nbsp;various upgrade ways, such as rockusb/fastboot/ums, each of them could be used. It could be entered by issuing "reboot ums/fastboot/rockusb" from linux, or add the&nbsp;[https://github.com/rockchip-linux/u-boot/blob/release/board/rockchip/kylin_rk3036/kylin_rk3036.c#L34 board-spefic key&nbsp;d][http://www.baidu.com/link?url=_UZbopMyRO2G6alYfvh26fna0HDdvzNCurKWn_qDDChmCPpXx9Sg8aIAQ9wZzgELTBjutHEls6tXyHKmARhH1FFDljz_NITwalJLiOZp-cgoO97JM-Rg4TAewXjwOVib etection][https://github.com/rockchip-linux/u-boot/blob/release/board/rockchip/kylin_rk3036/kylin_rk3036.c#L34 &nbsp;code]. It's also possible to do network/usb-disk upgrade in u-boot, though you must be familiar with u-boot to use them. Belows are the&nbsp;''advantages''&nbsp;and disadvantages of using maskrom. Advantages: *Common Disadvantages: *Must be familiar with u-boot Support update from *USB OTG *USB DISK *Network &nbsp; = Linux = Both yocto and debian use deb as the package manager, so firmware upgrade could be done by deb&nbsp;installation. (SDK build scripts&nbsp;can pack kernel/u-boot in deb) &nbsp; Advantages: *standard *friendly to the users Disadvantages: *&nbsp;could be brick &nbsp; = SD-Card Recovery = By changing [https://github.com/rockchip-linux/u-boot/blob/release/include/configs/rockchip-common.h#L16 boot order] in u-boot, it's possible to let u-boot load kernel and rootfs from sd-card at first. We could use it to create a sd-card recovery image. When the board boot into sd-card, the init scripts in SD-Card can install [https://github.com/rockchip-linux/build kernel/u-boot&nbsp;deb]&nbsp; which will burn firmware to eMMC. A sd-card recovery image could created by [https://github.com/rockchip-linux/meta-rockchip-initramfs meta-rockchip-initramfs]. Advantages: *Convenient *Easy to&nbsp;customize, like a normal linux Disadvantages: *Slow &nbsp; = Initramfs/Recovery = Advantages: *Easy to&nbsp;customize, like a normal linux *Powerful Disadvantages: *Slow &nbsp; &nbsp; fc65f6412fb64356bea8e9b9551d861dacbe76fa 1520 1519 2017-10-25T07:38:53Z Jacob 6 wikitext text/x-wiki = Overall = This guide provides information which will help you choose a&nbsp;''firmware upgrade''&nbsp;way on rockchip platform. &nbsp; = MASKROM = MASKROM is&nbsp;the simplest way.&nbsp; Belows are the&nbsp;''advantages''&nbsp;and disadvantages of using maskrom. Advantages: *Avoid brick *Simple,&nbsp;unified Disadvantages: *Need a maskrom key Support update from *USB OTG &nbsp; = U-boot = Rockchip mainline u-boot have support&nbsp;various upgrade ways, such as rockusb/fastboot/ums, each of them could be used. It could be entered by issuing "reboot ums/fastboot/rockusb" from linux, or add the&nbsp;[https://github.com/rockchip-linux/u-boot/blob/release/board/rockchip/kylin_rk3036/kylin_rk3036.c#L34 board-spefic key&nbsp;d][http://www.baidu.com/link?url=_UZbopMyRO2G6alYfvh26fna0HDdvzNCurKWn_qDDChmCPpXx9Sg8aIAQ9wZzgELTBjutHEls6tXyHKmARhH1FFDljz_NITwalJLiOZp-cgoO97JM-Rg4TAewXjwOVib etection][https://github.com/rockchip-linux/u-boot/blob/release/board/rockchip/kylin_rk3036/kylin_rk3036.c#L34 &nbsp;code]. It's also possible to do network/usb-disk upgrade in u-boot, though you must be familiar with u-boot to use them. Belows are the&nbsp;''advantages''&nbsp;and disadvantages of using maskrom. Advantages: *Common Disadvantages: *Must be familiar with u-boot Support update from *USB OTG *USB DISK *Network &nbsp; = Linux = Both yocto and debian use deb as the package manager, so firmware upgrade could be done by deb&nbsp;installation. <small>(SDK build scripts&nbsp;can pack kernel/u-boot in deb)</small> &nbsp; Advantages: *standard *friendly to the users Disadvantages: *&nbsp;could be brick &nbsp; = SD-Card Recovery = By changing [https://github.com/rockchip-linux/u-boot/blob/release/include/configs/rockchip-common.h#L16 boot order] in u-boot, it's possible to let u-boot load kernel and rootfs from sd-card at first. We could use it to create a sd-card recovery image. When the board boot into sd-card, the init scripts in SD-Card can install [https://github.com/rockchip-linux/build kernel/u-boot&nbsp;deb]&nbsp; which will burn firmware to eMMC. A sd-card recovery image could created by [https://github.com/rockchip-linux/meta-rockchip-initramfs meta-rockchip-initramfs]. Advantages: *Convenient *Easy to&nbsp;customize, like a normal linux Disadvantages: *Slow &nbsp; = Initramfs/Recovery = Advantages: *Easy to&nbsp;customize, like a normal linux *Powerful Disadvantages: *Slow &nbsp; &nbsp; bb691ab56204f4e5d1b3d225454196d4044ef9b8 1521 1520 2017-10-25T07:40:46Z Jacob 6 wikitext text/x-wiki = Overall = This guide provides information which will help you choose a&nbsp;''firmware upgrade''&nbsp;way on rockchip platform. &nbsp; = MASKROM = MASKROM is&nbsp;the simplest way.&nbsp; Belows are the&nbsp;''advantages''&nbsp;and disadvantages of using maskrom. Advantages: *Avoid brick *Simple,&nbsp;unified Disadvantages: *Need a maskrom key Support update from *USB OTG &nbsp; = U-boot = Rockchip mainline u-boot have support&nbsp;various upgrade ways, such as rockusb/fastboot/ums, each of them could be used. It could be entered by issuing "reboot ums/fastboot/rockusb" from linux, or add the&nbsp;[https://github.com/rockchip-linux/u-boot/blob/release/board/rockchip/kylin_rk3036/kylin_rk3036.c#L34 board-spefic key-detection ]code. It's also possible to do network/usb-disk upgrade in u-boot, though you must be familiar with u-boot to use them. Belows are the&nbsp;''advantages''&nbsp;and disadvantages of using maskrom. Advantages: *Common Disadvantages: *Must be familiar with u-boot Support update from *USB OTG *USB DISK *Network &nbsp; = Linux = Both yocto and debian use deb as the package manager, so firmware upgrade could be done by deb&nbsp;installation. <small>(SDK build scripts&nbsp;can pack kernel/u-boot in deb)</small> &nbsp; Advantages: *standard *friendly to the users Disadvantages: *&nbsp;could be brick &nbsp; = SD-Card Recovery = By changing [https://github.com/rockchip-linux/u-boot/blob/release/include/configs/rockchip-common.h#L16 boot order] in u-boot, it's possible to let u-boot load kernel and rootfs from sd-card at first. We could use it to create a sd-card recovery image. When the board boot into sd-card, the init scripts in SD-Card can install [https://github.com/rockchip-linux/build kernel/u-boot&nbsp;deb]&nbsp; which will burn firmware to eMMC. A sd-card recovery image could created by [https://github.com/rockchip-linux/meta-rockchip-initramfs meta-rockchip-initramfs]. Advantages: *Convenient *Easy to&nbsp;customize, like a normal linux Disadvantages: *Slow &nbsp; = Initramfs/Recovery = Advantages: *Easy to&nbsp;customize, like a normal linux *Powerful Disadvantages: *Slow &nbsp; &nbsp; 30ce11ac6929e2a3defb37cc9abdba7bab2e90ed 1522 1521 2017-10-25T07:41:21Z Jacob 6 wikitext text/x-wiki = Overall = This guide provides information which will help you choose a&nbsp;''firmware upgrade''&nbsp;way on rockchip platform. &nbsp; = MASKROM = MASKROM is&nbsp;the simplest way.&nbsp; Belows are the&nbsp;''advantages''&nbsp;and disadvantages of using maskrom. Advantages: *Avoid brick *Simple,&nbsp;unified Disadvantages: *Need a maskrom key Support update from *USB OTG &nbsp; &nbsp; = U-boot = Rockchip mainline u-boot have support&nbsp;various upgrade ways, such as rockusb/fastboot/ums, each of them could be used. It could be entered by issuing "reboot ums/fastboot/rockusb" from linux, or add the&nbsp;[https://github.com/rockchip-linux/u-boot/blob/release/board/rockchip/kylin_rk3036/kylin_rk3036.c#L34 board-spefic key-detection ]code. It's also possible to do network/usb-disk upgrade in u-boot, though you must be familiar with u-boot to use them. Belows are the&nbsp;''advantages''&nbsp;and disadvantages of using maskrom. Advantages: *Common Disadvantages: *Must be familiar with u-boot Support update from *USB OTG *USB DISK *Network &nbsp; = Linux = Both yocto and debian use deb as the package manager, so firmware upgrade could be done by deb&nbsp;installation. <small>(SDK build scripts&nbsp;can pack kernel/u-boot in deb)</small> &nbsp; Advantages: *standard *users-friendly Disadvantages: *&nbsp;could be brick &nbsp; = SD-Card Recovery = By changing [https://github.com/rockchip-linux/u-boot/blob/release/include/configs/rockchip-common.h#L16 boot order] in u-boot, it's possible to let u-boot load kernel and rootfs from sd-card at first. We could use it to create a sd-card recovery image. When the board boot into sd-card, the init scripts in SD-Card can install [https://github.com/rockchip-linux/build kernel/u-boot&nbsp;deb]&nbsp; which will burn firmware to eMMC. A sd-card recovery image could created by [https://github.com/rockchip-linux/meta-rockchip-initramfs meta-rockchip-initramfs]. Advantages: *Convenient *Easy to&nbsp;customize, like a normal linux Disadvantages: *Slow &nbsp; &nbsp; = Initramfs/Recovery = Advantages: *Easy to&nbsp;customize, like a normal linux *Powerful Disadvantages: *Slow &nbsp; &nbsp; 73b524c56e0670c83c3c615634497ac0ef730b73 1523 1522 2017-10-25T07:41:58Z Jacob 6 wikitext text/x-wiki = Overall = This guide provides information which will help you choose a&nbsp;''firmware upgrade''&nbsp;way on rockchip platform. &nbsp; = MASKROM = MASKROM is&nbsp;the simplest way.&nbsp; Belows are the&nbsp;''advantages''&nbsp;and disadvantages of using maskrom. Advantages: *Avoid brick *Simple,&nbsp;unified Disadvantages: *Need a maskrom key Support update from *USB OTG &nbsp; &nbsp; = U-boot = Rockchip mainline u-boot have support&nbsp;various upgrade ways, such as rockusb/fastboot/ums, each of them could be used. It could be entered by issuing "reboot ums/fastboot/rockusb" from linux, or add the&nbsp;[https://github.com/rockchip-linux/u-boot/blob/release/board/rockchip/kylin_rk3036/kylin_rk3036.c#L34 board-spefic key-detection ]code. It's also possible to do network/usb-disk upgrade in u-boot, though you must be familiar with u-boot to use them. Belows are the&nbsp;''advantages''&nbsp;and disadvantages of using maskrom. Advantages: *Common Disadvantages: *Must be familiar with u-boot Support update from *USB OTG *USB DISK *Network &nbsp; = Linux = Both yocto and debian use deb as the package manager, so firmware upgrade could be done by deb&nbsp;installation. <small>(SDK build scripts&nbsp;can pack kernel/u-boot in deb)</small> &nbsp; Advantages: *standard *users-friendly Disadvantages: *&nbsp;could be brick &nbsp; = SD-Card Recovery = By changing [https://github.com/rockchip-linux/u-boot/blob/release/include/configs/rockchip-common.h#L16 boot order] in u-boot, it's possible to let u-boot load kernel and rootfs from sd-card at first. We could use it to create a sd-card recovery image. When the board boot into sd-card, the init scripts in SD-Card can install [https://github.com/rockchip-linux/build kernel/u-boot&nbsp;deb], which will burn firmware to eMMC. Advantages: *Convenient *Easy to&nbsp;customize, like a normal linux Disadvantages: *Slow &nbsp; &nbsp; = Initramfs/Recovery = Advantages: *Easy to&nbsp;customize, like a normal linux *Powerful Disadvantages: *Slow &nbsp; &nbsp; 703bb81d373b657217dc366ca808c1978fe7f71e 1524 1523 2017-10-25T07:43:37Z Jacob 6 wikitext text/x-wiki = Overall = This guide provides information which will help you choose a&nbsp;''firmware upgrade''&nbsp;way on rockchip platform. &nbsp; = MASKROM = MASKROM is&nbsp;the simplest way.&nbsp; Belows are the&nbsp;''advantages''&nbsp;and disadvantages of using maskrom. Advantages: *Avoid brick *Simple,&nbsp;unified Disadvantages: *Need a maskrom key Support update from *USB OTG &nbsp; &nbsp; = U-boot = Rockchip mainline u-boot have support&nbsp;various upgrade ways, such as rockusb/fastboot/ums, each of them could be used. It could be entered by issuing "reboot ums/fastboot/rockusb" from linux, or add the&nbsp;[https://github.com/rockchip-linux/u-boot/blob/release/board/rockchip/kylin_rk3036/kylin_rk3036.c#L34 board-spefic key-detection ]code. It's also possible to do network/usb-disk upgrade in u-boot, though you must be familiar with u-boot to use them. Belows are the&nbsp;''advantages''&nbsp;and disadvantages of using maskrom. Advantages: *Common Disadvantages: *Must be familiar with u-boot Support update from *USB OTG *USB DISK *Network &nbsp; = Linux = Both yocto and debian use deb as the package manager, so firmware upgrade could be done by deb&nbsp;installation. <small>(SDK build scripts&nbsp;can pack kernel/u-boot in deb)</small> &nbsp; Advantages: *standard *users-friendly Disadvantages: *&nbsp;could be brick &nbsp; = SD-Card Recovery = By changing [https://github.com/rockchip-linux/u-boot/blob/release/include/configs/rockchip-common.h#L16 boot order] in u-boot, it's possible to let u-boot load kernel and rootfs from sd-card at first. We could use it to create a sd-card recovery image. When the board boot into sd-card, the init script run and install kernel/u-boot debian packages, which&nbsp;burn firmware to eMMC. Advantages: *Convenient *Easy to&nbsp;customize, like a normal linux Disadvantages: *Slow &nbsp; &nbsp; = Initramfs/Recovery = Advantages: *Easy to&nbsp;customize, like a normal linux *Powerful Disadvantages: *Slow &nbsp; &nbsp; 466a2115282404ec57eaff6e26e31f916a0e2bb2 1525 1524 2017-10-25T07:45:08Z Jacob 6 wikitext text/x-wiki = Overall = This guide provides information which will help you choose a&nbsp;''firmware upgrade''&nbsp;way. &nbsp; = MASKROM = MASKROM is&nbsp;the simplest way.&nbsp; Belows are the&nbsp;''advantages''&nbsp;and disadvantages of using maskrom. Advantages: *Avoid brick *Simple,&nbsp;unified Disadvantages: *Need a maskrom key Support update from *USB OTG &nbsp; &nbsp; = U-boot = Rockchip mainline u-boot have support&nbsp;various upgrade ways, such as rockusb/fastboot/ums, each of them could be used. It could be entered by issuing "reboot ums/fastboot/rockusb" from linux, or add the&nbsp;[https://github.com/rockchip-linux/u-boot/blob/release/board/rockchip/kylin_rk3036/kylin_rk3036.c#L34 board-spefic key-detection ]code. It's also possible to do network/usb-disk upgrade in u-boot, though you must be familiar with u-boot to use them. Belows are the&nbsp;''advantages''&nbsp;and disadvantages of using maskrom. Advantages: *Common Disadvantages: *Must be familiar with u-boot Support update from *USB OTG *USB DISK *Network &nbsp; = Linux = Both yocto and debian use deb as the package manager, so firmware upgrade could be done by deb&nbsp;installation. <small>(SDK build scripts&nbsp;can pack kernel/u-boot in deb)</small> &nbsp; Advantages: *standard *users-friendly Disadvantages: *&nbsp;could be brick &nbsp; = SD-Card Recovery = By changing [https://github.com/rockchip-linux/u-boot/blob/release/include/configs/rockchip-common.h#L16 boot order] in u-boot, it's possible to let u-boot load kernel and rootfs from sd-card at first. We could use it to create a sd-card recovery image. When the board boot into sd-card, the init script run and install kernel/u-boot debian packages, which&nbsp;burn firmware to eMMC. Advantages: *Convenient *Easy to&nbsp;customize, like a normal linux Disadvantages: *Slow &nbsp; &nbsp; = Initramfs/Recovery = Advantages: *Easy to&nbsp;customize, like a normal linux *Powerful Disadvantages: *Slow &nbsp; &nbsp; c111b4b1356a5a4ab8c441e5c1d5384ba74ce8d9 1526 1525 2017-10-25T07:48:28Z Jacob 6 wikitext text/x-wiki = Overall = This guide provides information which will help you choose a&nbsp;''firmware upgrade''&nbsp;way. &nbsp; = MASKROM = MASKROM is&nbsp;the simplest way.&nbsp; Belows are the&nbsp;''advantages''&nbsp;and disadvantages of using maskrom. Advantages: *Avoid brick *Simple,&nbsp;unified Disadvantages: *Need a maskrom key Support update from *USB OTG &nbsp; &nbsp; = U-boot = Rockchip mainline u-boot have support&nbsp;various upgrade ways, such as rockusb/fastboot/ums, each of them could be used. It could be entered by issuing "reboot ums/fastboot/rockusb" from linux, or add the&nbsp;[https://github.com/rockchip-linux/u-boot/blob/release/board/rockchip/kylin_rk3036/kylin_rk3036.c#L34 board-spefic key-detection ]code. It's also possible to do network/usb-disk upgrade in u-boot, though you must be familiar with u-boot to use them. Belows are the&nbsp;''advantages''&nbsp;and disadvantages of using maskrom. Advantages: *Common Disadvantages: *Must be familiar with u-boot Support update from *USB OTG *USB DISK *Network &nbsp; = Linux = Both yocto and debian use deb as the package manager, so firmware upgrade could be done by deb&nbsp;installation. <small>(SDK build scripts&nbsp;can pack kernel/u-boot in deb)</small> &nbsp; Advantages: *standard *users-friendly Disadvantages: *&nbsp;could be brick &nbsp; = SD-Card Recovery = By changing [https://github.com/rockchip-linux/u-boot/blob/release/include/configs/rockchip-common.h#L16 boot order] in u-boot, it's possible to let u-boot load kernel and rootfs from sd-card at first. We could use it to create a sd-card recovery image. When the board boot into sd-card, the init script run and install kernel/u-boot debian packages, which&nbsp;burn firmware to eMMC. Advantages: *Convenient *Easy to&nbsp;customize Disadvantages: *Slow &nbsp; &nbsp; = Initramfs/Recovery = Advantages: *Easy to&nbsp;customize, like a normal linux *Powerful Disadvantages: *Slow &nbsp; &nbsp; 04c3f3b7ae4f554393f5d72a9d269d1d6f3878f8 1527 1526 2017-10-25T07:48:43Z Jacob 6 wikitext text/x-wiki = Overall = This guide provides information which will help you choose a&nbsp;''firmware upgrade''&nbsp;way. &nbsp; = MASKROM = MASKROM is&nbsp;the simplest way.&nbsp; Belows are the&nbsp;''advantages''&nbsp;and disadvantages of using maskrom. Advantages: *Avoid brick *Simple,&nbsp;unified Disadvantages: *Need a maskrom key Support update from *USB OTG &nbsp; &nbsp; = U-boot = Rockchip mainline u-boot have support&nbsp;various upgrade ways, such as rockusb/fastboot/ums, each of them could be used. It could be entered by issuing "reboot ums/fastboot/rockusb" from linux, or add the&nbsp;[https://github.com/rockchip-linux/u-boot/blob/release/board/rockchip/kylin_rk3036/kylin_rk3036.c#L34 board-spefic key-detection ]code. It's also possible to do network/usb-disk upgrade in u-boot, though you must be familiar with u-boot to use them. Belows are the&nbsp;''advantages''&nbsp;and disadvantages of using maskrom. Advantages: *Common Disadvantages: *Must be familiar with u-boot Support update from *USB OTG *USB DISK *Network &nbsp; = Linux = Both yocto and debian use deb as the package manager, so firmware upgrade could be done by deb&nbsp;installation. <small>(SDK build scripts&nbsp;can pack kernel/u-boot in deb)</small> &nbsp; Advantages: *standard *users-friendly Disadvantages: *&nbsp;could be brick &nbsp; = SD-Card Recovery = By changing [https://github.com/rockchip-linux/u-boot/blob/release/include/configs/rockchip-common.h#L16 boot order] in u-boot, it's possible to let u-boot load kernel and rootfs from sd-card at first. We could use it to create a sd-card recovery image. When the board boot into sd-card, the init script run and install kernel/u-boot debian packages, which&nbsp;burn firmware to eMMC. Advantages: *Convenient *Easy to&nbsp;customize Disadvantages: *Slow &nbsp; &nbsp; = Initramfs/Recovery = Advantages: *Easy to&nbsp;customize *Powerful Disadvantages: *Slow &nbsp; &nbsp; be696907b6a151f31e55fd0b3cc402d1fb4d1327 1528 1527 2017-10-25T07:49:00Z Jacob 6 wikitext text/x-wiki = Overall = This guide provides information which will help you choose a&nbsp;''firmware upgrade''&nbsp;way. &nbsp; = MASKROM = MASKROM is&nbsp;the simplest way.&nbsp; Belows are the&nbsp;''advantages''&nbsp;and disadvantages of using maskrom. Advantages: *Avoid brick *Simple,&nbsp;unified Disadvantages: *Need a maskrom key Support update from *USB OTG &nbsp; &nbsp; = U-boot = Rockchip mainline u-boot have support&nbsp;various upgrade ways, such as rockusb/fastboot/ums, each of them could be used. It could be entered by issuing "reboot ums/fastboot/rockusb" from linux, or add the&nbsp;[https://github.com/rockchip-linux/u-boot/blob/release/board/rockchip/kylin_rk3036/kylin_rk3036.c#L34 board-spefic key-detection ]code. It's also possible to do network/usb-disk upgrade in u-boot, though you must be familiar with u-boot to use them. Belows are the&nbsp;''advantages''&nbsp;and disadvantages of using maskrom. Advantages: *Common Disadvantages: *Must be familiar with u-boot Support update from *USB OTG *USB DISK *Network &nbsp; = Linux = Both yocto and debian use deb as the package manager, so firmware upgrade could be done by deb&nbsp;installation. <small>(SDK build scripts&nbsp;can pack kernel/u-boot in deb)</small> &nbsp; Advantages: *standard *users-friendly Disadvantages: *&nbsp;could be brick &nbsp; = SD-Card Recovery = By changing [https://github.com/rockchip-linux/u-boot/blob/release/include/configs/rockchip-common.h#L16 boot order] in u-boot, it's possible to let u-boot load kernel and rootfs from sd-card at first. We could use it to create a sd-card recovery image. When the board boot into sd-card, the init script run and install kernel/u-boot debian packages, which&nbsp;burn firmware to eMMC. Advantages: *Convenient *Easy to&nbsp;customize Disadvantages: *Slow &nbsp; &nbsp; = Initramfs/Recovery = Advantages: *Powerful Disadvantages: *Slow &nbsp; &nbsp; 2a1e032f6edf3ab504a77cbdd4e058f54e58d5c8 1529 1528 2017-10-25T07:49:14Z Jacob 6 wikitext text/x-wiki = Overall = This guide provides information which will help you choose a&nbsp;''firmware upgrade''&nbsp;way. &nbsp; = MASKROM = MASKROM is&nbsp;the simplest way.&nbsp; Belows are the&nbsp;''advantages''&nbsp;and disadvantages of using maskrom. Advantages: *Avoid brick *Simple,&nbsp;unified Disadvantages: *Need a maskrom key Support update from *USB OTG &nbsp; &nbsp; = U-boot = Rockchip mainline u-boot have support&nbsp;various upgrade ways, such as rockusb/fastboot/ums, each of them could be used. It could be entered by issuing "reboot ums/fastboot/rockusb" from linux, or add the&nbsp;[https://github.com/rockchip-linux/u-boot/blob/release/board/rockchip/kylin_rk3036/kylin_rk3036.c#L34 board-spefic key-detection ]code. It's also possible to do network/usb-disk upgrade in u-boot, though you must be familiar with u-boot to use them. Belows are the&nbsp;''advantages''&nbsp;and disadvantages of using maskrom. Advantages: *Common Disadvantages: *Must be familiar with u-boot Support update from *USB OTG *USB DISK *Network &nbsp; = Linux = Both yocto and debian use deb as the package manager, so firmware upgrade could be done by deb&nbsp;installation. <small>(SDK build scripts&nbsp;can pack kernel/u-boot in deb)</small> &nbsp; Advantages: *standard *users-friendly Disadvantages: *&nbsp;could be brick &nbsp; = SD-Card Recovery = By changing [https://github.com/rockchip-linux/u-boot/blob/release/include/configs/rockchip-common.h#L16 boot order] in u-boot, it's possible to let u-boot load kernel and rootfs from sd-card at first. We could use it to create a sd-card recovery image. When the board boot into sd-card, the init script run and install kernel/u-boot debian packages, which&nbsp;burn firmware to eMMC. Advantages: *Convenient Disadvantages: *Slow &nbsp; &nbsp; = Initramfs/Recovery = Advantages: *Powerful Disadvantages: *Slow &nbsp; &nbsp; 5bf7470c8c16c6bd12c6e90082b10e056804d91f 1530 1529 2017-10-25T07:49:36Z Jacob 6 wikitext text/x-wiki = Overall = This guide provides information which will help you choose a&nbsp;''firmware upgrade''&nbsp;way. &nbsp; = MASKROM = MASKROM is&nbsp;the simplest way.&nbsp; Belows are the&nbsp;''advantages''&nbsp;and disadvantages of using maskrom. Advantages: *Avoid brick *Simple,&nbsp;unified Disadvantages: *Need a maskrom key Support update from *USB OTG &nbsp; &nbsp; = U-boot = Rockchip mainline u-boot have support&nbsp;various upgrade ways, such as rockusb/fastboot/ums, each of them could be used. It could be entered by issuing "reboot ums/fastboot/rockusb" from linux, or add the&nbsp;[https://github.com/rockchip-linux/u-boot/blob/release/board/rockchip/kylin_rk3036/kylin_rk3036.c#L34 board-spefic key-detection ]code. It's also possible to do network/usb-disk upgrade in u-boot, though you must be familiar with u-boot to use them. Belows are the&nbsp;''advantages''&nbsp;and disadvantages of using maskrom. Advantages: *Common Disadvantages: *Must be familiar with u-boot Support update from *USB OTG *USB DISK *Network &nbsp; = Linux = Both yocto and debian use deb as the package manager, so firmware upgrade could be done by deb&nbsp;installation. <small>(SDK build scripts&nbsp;can pack kernel/u-boot in deb)</small> Advantages: *standard *users-friendly Disadvantages: *&nbsp;could be brick = SD-Card Recovery = By changing [https://github.com/rockchip-linux/u-boot/blob/release/include/configs/rockchip-common.h#L16 boot order] in u-boot, it's possible to let u-boot load kernel and rootfs from sd-card at first. We could use it to create a sd-card recovery image. When the board boot into sd-card, the init script run and install kernel/u-boot debian packages, which&nbsp;burn firmware to eMMC. Advantages: *Convenient Disadvantages: *Slow &nbsp; &nbsp; = Initramfs/Recovery = Advantages: *Powerful Disadvantages: *Slow &nbsp; &nbsp; 10c829833e22d1a686e85340468f7ca751394a8d 1531 1530 2017-10-25T07:50:07Z Jacob 6 wikitext text/x-wiki = Overall = This guide provides information which will help you choose a&nbsp;''firmware upgrade''&nbsp;way. &nbsp; = MASKROM = MASKROM is&nbsp;the simplest way.&nbsp; Belows are the&nbsp;''advantages''&nbsp;and disadvantages of using maskrom. Advantages: *Avoid brick *Simple,&nbsp;unified Disadvantages: *Need a maskrom key Support update from *USB OTG &nbsp; = U-boot = Rockchip mainline u-boot have support&nbsp;various upgrade ways, such as rockusb/fastboot/ums, each of them could be used. It could be entered by issuing "reboot ums/fastboot/rockusb" from linux, or add the&nbsp;[https://github.com/rockchip-linux/u-boot/blob/release/board/rockchip/kylin_rk3036/kylin_rk3036.c#L34 board-spefic key-detection ]code. It's also possible to do network/usb-disk upgrade in u-boot, though you must be familiar with u-boot to use them. Belows are the&nbsp;''advantages''&nbsp;and disadvantages of using maskrom. Advantages: *Common Disadvantages: *Must be familiar with u-boot Support update from *USB OTG *USB DISK *Network &nbsp; = Linux = Both yocto and debian use deb as the package manager, so firmware upgrade could be done by deb&nbsp;installation. <small>(SDK build scripts&nbsp;can pack kernel/u-boot in deb)</small> Advantages: *standard *users-friendly Disadvantages: *&nbsp;could be brick &nbsp; = SD-Card Recovery = By changing [https://github.com/rockchip-linux/u-boot/blob/release/include/configs/rockchip-common.h#L16 boot order] in u-boot, it's possible to let u-boot load kernel and rootfs from sd-card at first. We could use it to create a sd-card recovery image. When the board boot into sd-card, the init script run and install kernel/u-boot debian packages, which&nbsp;burn firmware to eMMC. Advantages: *Convenient Disadvantages: *Slow &nbsp; = Initramfs/Recovery = Advantages: *Powerful Disadvantages: *Slow &nbsp; 6b7aca5257903c3154cd46e5806015b8dac53983 1537 1531 2017-10-31T00:37:18Z Jacob 6 wikitext text/x-wiki = Overall = This guide provides information which will help you choose a&nbsp;''firmware upgrade''&nbsp;way. &nbsp; = MASKROM = MASKROM is&nbsp;the simplest way.&nbsp; Belows are the&nbsp;''advantages''&nbsp;and disadvantages of using maskrom. Advantages: *Avoid brick *Simple,&nbsp;unified Disadvantages: *Need a maskrom key Support update from *USB OTG &nbsp; = U-boot = Rockchip mainline u-boot have support&nbsp;various upgrade ways, such as rockusb/fastboot/ums, each of them could be used. It could be entered by issuing "reboot ums/fastboot/rockusb" from linux, or add the&nbsp;[https://github.com/rockchip-linux/u-boot/blob/release/board/rockchip/kylin_rk3036/kylin_rk3036.c#L34 board-spefic key-detection ]code. It's also possible to do network/usb-disk upgrade in u-boot, though you must be familiar with u-boot to use them. Belows are the&nbsp;''advantages''&nbsp;and disadvantages of using u-boot. Advantages: *Common Disadvantages: *Must be familiar with u-boot Support update from *USB OTG *USB DISK *Network &nbsp; = Linux = Both yocto and debian use deb as the package manager, so firmware upgrade could be done by deb&nbsp;installation. <small>(SDK build scripts&nbsp;can pack kernel/u-boot in deb)</small> Advantages: *standard *users-friendly Disadvantages: *&nbsp;could be brick &nbsp; = SD-Card Recovery = By changing [https://github.com/rockchip-linux/u-boot/blob/release/include/configs/rockchip-common.h#L16 boot order] in u-boot, it's possible to let u-boot load kernel and rootfs from sd-card at first. We could use it to create a sd-card recovery image. When the board boot into sd-card, the init script run and install kernel/u-boot debian packages, which&nbsp;burn firmware to eMMC. Advantages: *Convenient Disadvantages: *Slow &nbsp; = Initramfs/Recovery = Advantages: *Powerful Disadvantages: *Slow &nbsp; d8da9dc8a2412227e00da68089c8715c2ba99d26 1538 1537 2017-10-31T00:37:56Z Jacob 6 wikitext text/x-wiki = Overall = This guide provides information which will help you choose a&nbsp;''firmware upgrade''&nbsp;way. &nbsp; = MASKROM = MASKROM is&nbsp;the simplest way.&nbsp; Belows are the&nbsp;''advantages''&nbsp;and disadvantages of using maskrom. Advantages: *Avoid brick *Simple,&nbsp;unified Disadvantages: *Need a maskrom key Support update from *USB OTG &nbsp; = U-boot = Rockchip mainline u-boot have support&nbsp;various upgrade ways, such as rockusb/fastboot/ums, each of them could be used. It could be entered by issuing "reboot ums/fastboot/rockusb" from linux, or add the&nbsp;[https://github.com/rockchip-linux/u-boot/blob/release/board/rockchip/kylin_rk3036/kylin_rk3036.c#L34 board-spefic key-detection ]code. It's also possible to do network/usb-disk upgrade in u-boot, though you must be familiar with u-boot to use them. Belows are the&nbsp;''advantages''&nbsp;and disadvantages of using u-boot. Advantages: *Common Disadvantages: *Must be familiar with u-boot Support update from *USB OTG *USB DISK *Network &nbsp; = Linux = Both yocto and debian use deb as the package manager, so firmware upgrade could be done by deb&nbsp;installation. <small>(SDK build scripts&nbsp;can pack kernel/u-boot in deb)</small> Advantages: *standard *user-friendly Disadvantages: *&nbsp;could be brick &nbsp; = SD-Card Recovery = By changing [https://github.com/rockchip-linux/u-boot/blob/release/include/configs/rockchip-common.h#L16 boot order] in u-boot, it's possible to let u-boot load kernel and rootfs from sd-card at first. We could use it to create a sd-card recovery image. When the board boot into sd-card, the init script run and install kernel/u-boot debian packages, which&nbsp;burn firmware to eMMC. Advantages: *Convenient Disadvantages: *Slow &nbsp; = Initramfs/Recovery = Advantages: *Powerful Disadvantages: *Slow &nbsp; 09c478de308b4f9f63a97f9f7204e7d737cebc67 1539 1538 2017-10-31T00:38:31Z Jacob 6 wikitext text/x-wiki = Overall = This guide provides information which will help you choose a&nbsp;''firmware upgrade''&nbsp;way. &nbsp; = MASKROM = MASKROM is&nbsp;the simplest way.&nbsp; Belows are the&nbsp;''advantages''&nbsp;and disadvantages of using maskrom. Advantages: *Avoid brick *Simple,&nbsp;unified Disadvantages: *Need a maskrom key Support update from *USB OTG &nbsp; = U-boot = Rockchip mainline u-boot have support&nbsp;various upgrade ways, such as rockusb/fastboot/ums, each of them could be used. It could be entered by issuing "reboot ums/fastboot/rockusb" from linux, or add the&nbsp;[https://github.com/rockchip-linux/u-boot/blob/release/board/rockchip/kylin_rk3036/kylin_rk3036.c#L34 board-spefic key-detection ]code. It's also possible to do network/usb-disk upgrade in u-boot, though you must be familiar with u-boot to use them. Belows are the&nbsp;''advantages''&nbsp;and disadvantages of using u-boot. Advantages: *Common Disadvantages: *Must be familiar with u-boot Support update from *USB OTG *USB DISK *Network &nbsp; = Linux = Both yocto and debian use deb as the package manager, so firmware upgrade could be done by deb&nbsp;installation. <small>(SDK build scripts&nbsp;can pack kernel/u-boot in deb)</small> Advantages: *standard *user-friendly Disadvantages: *&nbsp;could be brick &nbsp; = SD-Card Recovery = By changing [https://github.com/rockchip-linux/u-boot/blob/release/include/configs/rockchip-common.h#L16 boot order] in u-boot, it's possible to let u-boot load kernel and rootfs from sd-card&nbsp;first. We could use it to create a sd-card recovery image. When the board boot into sd-card, the init script run and install kernel/u-boot debian packages, which&nbsp;burn firmware to eMMC. Advantages: *Convenient Disadvantages: *Slow &nbsp; = Initramfs/Recovery = Advantages: *Powerful Disadvantages: *Slow &nbsp; edf2be6ea36e0364ef93e16bf4f977ae08bd18e5 Partitions 0 50 1540 972 2017-10-31T08:49:13Z Kever 2 wikitext text/x-wiki = Introduction = Rockchip use&nbsp;[https://en.wikipedia.org/wiki/GUID_Partition_Table GPT]&nbsp;as its main partition table in open source support. We store GPT at LBA0 ~ LBA63. = GPT partition table in U-boot = U-boot supports standard&nbsp;[https://github.com/rockchip-linux/u-boot/blob/android/doc/README.gpt GPT partition table format]. &nbsp; = Default storage map = {| border="1" class="table_style" |- ! Partition ! colspan="2" | Start Sector ! colspan="2" | Number of Sectors ! colspan="2" | Partition Size ! PartNum in GPT ! Requirements |- | MBR | 0 | 00000000 | 1 | 00000001 | 512 | 0.5KB | &nbsp; | &nbsp; |- | Primary GPT | 1 | 00000001 | 63 | 0000003F | 32256 | 31.5KB | &nbsp; | &nbsp; |- | loader1 | 64 | 00000040 | 7104 | 00001bc0 | 4096000 | 2.5MB | 1 | preloader like miniloader or U-Boot SPL |- | Vendor Storage | 7168 | 00001c00 | 512 | 00000200 | 262144 | 256KB | &nbsp; | SN, MAC and etc. |- | Reserved Space | 7680 | 00001e00 | 384 | 00000180 | 196608 | 192KB | &nbsp; | Not used |- | reserved1 | 8064 | 00001f80 | 128 | 00000080 | 65536 | 64KB | 2 | legacy DRM key |- | U-Boot ENV | 8128 | 00001fc0 | 64 | 00000040 | 32768 | 32KB | &nbsp; | &nbsp; |- | reserved2 | 8192 | 00002000 | 8192 | 00002000 | 4194304 | 4MB | 3 | legacy parameter |- | loader2 | 16384 | 00004000 | 8192 | 00002000 | 4194304 | 4MB | 4 | U-Boot or UEFI |- | trust | 24576 | 00006000 | 8192 | 00002000 | 4194304 | 4MB | 5 | trusted-os like ATF, OP-TEE |- | boot(bootable must be set) | 32768 | 00008000 | 229376 | 00038000 | 117440512 | 112MB | 6 | kernela, kernelb, dts, extlinux.conf, ramdisk |- | rootfs | 262144 | 00040000 | - | - | - | -MB | 7 | Linux system |- | Secondary GPT | 16777183 | 00FFFFDF | 33 | 00000021 | 16896 | 16.5KB | &nbsp; | &nbsp; |} &nbsp; = Write GPT partition table through rkdeveloptool = <pre>rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool gpt parameter_gpt.txt</pre> where the sample parameter_gpt.txt including partition information: <pre>CMDLINE: mtdparts=rk29xxnand:0x00001f40@0x00000040(loader1),0x00000080@0x00001f80(reserved1),0x00002000@0x00002000(reserved2),0x00002000@0x00004000(loader2),0x00002000@0x00006000(atf),0x00038000@0x00008000(boot:bootable),-@0x0040000(rootfs) </pre> = Write GPT partition table through U-boot = In u-boot console, the "gpt" command can be used to write the gpt partition table: <pre>gpt - GUID Partition Table Usage: gpt <command> <interface> <dev> <partitions_list> - GUID partition table restoration and validity check Restore or verify GPT information on a device connected to interface Example usage: gpt write mmc 0 $partitions gpt verify mmc 0 $partitions</code> </pre> for exsample: <pre>=> env set partitions name=rootfs,size=-,type=system => gpt write mmc 0 $partitions Writing GPT: success! </pre> <br/> NOTE: the partitions env can be set in the u-boot console(using "env set" command), or in u-boot's source code,<br/> for exsample: <pre>include/configs/kylin_rk3036.h #define PARTS_DEFAULT \ "uuid_disk=${uuid_gpt_disk};" \ ... #undef CONFIG_EXTRA_ENV_SETTINGS #define CONFIG_EXTRA_ENV_SETTINGS \ "partitions=" PARTS_DEFAULT \ </pre> &nbsp; = Write GPT partition table through U-Boot's fastboot = The current upstream u-boot contains fastboot protocol support. And this version of fastboot supports 2 ways to modify gpt partition table: &nbsp; == fastboot oem format == It's the same as "gpt write mmc 0 $partitions" in u-boot console: <pre>#ifdef CONFIG_FASTBOOT_FLASH_MMC_DEV if (strncmp("format", cmd + 4, 6) == 0) { char cmdbuf[32]; sprintf(cmdbuf, "gpt write mmc&nbsp;%x $partitions", CONFIG_FASTBOOT_FLASH_MMC_DEV); if (run_command(cmdbuf, 0)) fastboot_tx_write_str("FAIL"); else fastboot_tx_write_str("OKAY"); } else #endif </pre> PC command: <pre>$ fastboot oem format -i 0x2207 ... OKAY [ 0.015s] finished. total time: 0.015s </pre> == fastboot flash gpt <gpt partition image> == <pre> if (strcmp(cmd, CONFIG_FASTBOOT_GPT_NAME) == 0) { printf("%s: updating MBR, Primary and Backup GPT(s)\n", __func__); if (is_valid_gpt_buf(dev_desc, download_buffer)) { printf("%s: invalid GPT - refusing to write to flash\n", __func__); fastboot_fail(response_str, "invalid GPT partition"); return; } if (write_mbr_and_gpt_partitions(dev_desc, download_buffer)) { printf("%s: writing GPT partitions failed\n", __func__); fastboot_fail(response_str, "writing GPT partitions failed"); return; } printf("........ success\n"); fastboot_okay(response_str, ""); return; </pre> The gpt partition image can be generated by PC's gdisk tool,<br/> for exsample: <pre>$ dd if=/dev/zero of=disk.img bs=1M count=256 256+0 records in 256+0 records out 268435456 bytes (268 MB) copied, 0.151867 s, 1.8 GB/s $ gdisk disk.img GPT fdisk (gdisk) version 0.8.1 Partition table scan: MBR: not present BSD: not present APM: not present GPT: not present Creating new GPT entries. Command (? for help): n Partition number (1-128, default 1): First sector (34-524254, default = 34) or {+-}size{KMGTP}: Information: Moved requested sector from 34 to 2048 in order to align on 2048-sector boundaries. Use 'l' on the experts' menu to adjust alignment Last sector (2048-524254, default = 524254) or {+-}size{KMGTP}: Current type is 'Linux filesystem' Hex code or GUID (L to show codes, Enter = 8300): Changed type of partition to 'Linux filesystem' Command (? for help): w Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING PARTITIONS!! Do you want to proceed? (Y/N): y OK; writing new GUID partition table (GPT). Warning: The kernel is still using the old partition table. The new table will be used at the next reboot. The operation has completed successfully. $ dd if=disk.img of=gpt.img count=64 64+0 records in 64+0 records out 32768 bytes (33 kB) copied, 0.00075438 s, 43.4 MB/s </pre> PC command: <pre>$ fastboot flash gpt gpt.img target reported max download size of 117440512 bytes sending 'gpt' (32 KB)... OKAY [ 0.006s] writing 'gpt'... OKAY [ 0.025s] finished. total time: 0.030s</pre> 3987d699983106342ea92148f2dcb22b25c94a5a 1541 1540 2017-10-31T08:51:01Z Kever 2 wikitext text/x-wiki = Introduction = Rockchip use&nbsp;[https://en.wikipedia.org/wiki/GUID_Partition_Table GPT]&nbsp;as its main partition table in open source support. We store GPT at LBA0 ~ LBA63. = GPT partition table in U-boot = U-boot supports standard&nbsp;[https://github.com/rockchip-linux/u-boot/blob/android/doc/README.gpt GPT partition table format]. &nbsp; = Default storage map = {| border="1" class="table_style" |- ! Partition ! colspan="2" | Start Sector ! colspan="2" | Number of Sectors ! colspan="2" | Partition Size ! PartNum in GPT ! Requirements |- | MBR | 0 | 00000000 | 1 | 00000001 | 512 | 0.5KB | &nbsp; | &nbsp; |- | Primary GPT | 1 | 00000001 | 63 | 0000003F | 32256 | 31.5KB | &nbsp; | &nbsp; |- | loader1 | 64 | 00000040 | 7104 | 00001bc0 | 4096000 | 2.5MB | 1 | preloader like miniloader or U-Boot SPL |- | Vendor Storage | 7168 | 00001c00 | 512 | 00000200 | 262144 | 256KB | &nbsp; | SN, MAC and etc. |- | Reserved Space | 7680 | 00001e00 | 384 | 00000180 | 196608 | 192KB | &nbsp; | Not used |- | reserved1 | 8064 | 00001f80 | 128 | 00000080 | 65536 | 64KB | &nbsp; | legacy DRM key |- | U-Boot ENV | 8128 | 00001fc0 | 64 | 00000040 | 32768 | 32KB | &nbsp; | &nbsp; |- | reserved2 | 8192 | 00002000 | 8192 | 00002000 | 4194304 | 4MB | &nbsp; | legacy parameter |- | loader2 | 16384 | 00004000 | 8192 | 00002000 | 4194304 | 4MB | 2 | U-Boot or UEFI |- | trust | 24576 | 00006000 | 8192 | 00002000 | 4194304 | 4MB | 3 | trusted-os like ATF, OP-TEE |- | boot(bootable must be set) | 32768 | 00008000 | 229376 | 00038000 | 117440512 | 112MB | 4 | kernela, kernelb, dts, extlinux.conf, ramdisk |- | rootfs | 262144 | 00040000 | - | - | - | -MB | 5 | Linux system |- | Secondary GPT | 16777183 | 00FFFFDF | 33 | 00000021 | 16896 | 16.5KB | &nbsp; | &nbsp; |} &nbsp; = Write GPT partition table through rkdeveloptool = <pre>rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool gpt parameter_gpt.txt</pre> where the sample parameter_gpt.txt including partition information: <pre>CMDLINE: mtdparts=rk29xxnand:0x00001f40@0x00000040(loader1),0x00000080@0x00001f80(reserved1),0x00002000@0x00002000(reserved2),0x00002000@0x00004000(loader2),0x00002000@0x00006000(atf),0x00038000@0x00008000(boot:bootable),-@0x0040000(rootfs) </pre> = Write GPT partition table through U-boot = In u-boot console, the "gpt" command can be used to write the gpt partition table: <pre>gpt - GUID Partition Table Usage: gpt <command> <interface> <dev> <partitions_list> - GUID partition table restoration and validity check Restore or verify GPT information on a device connected to interface Example usage: gpt write mmc 0 $partitions gpt verify mmc 0 $partitions</code> </pre> for exsample: <pre>=> env set partitions name=rootfs,size=-,type=system => gpt write mmc 0 $partitions Writing GPT: success! </pre> <br/> NOTE: the partitions env can be set in the u-boot console(using "env set" command), or in u-boot's source code,<br/> for exsample: <pre>include/configs/kylin_rk3036.h #define PARTS_DEFAULT \ "uuid_disk=${uuid_gpt_disk};" \ ... #undef CONFIG_EXTRA_ENV_SETTINGS #define CONFIG_EXTRA_ENV_SETTINGS \ "partitions=" PARTS_DEFAULT \ </pre> &nbsp; = Write GPT partition table through U-Boot's fastboot = The current upstream u-boot contains fastboot protocol support. And this version of fastboot supports 2 ways to modify gpt partition table: &nbsp; == fastboot oem format == It's the same as "gpt write mmc 0 $partitions" in u-boot console: <pre>#ifdef CONFIG_FASTBOOT_FLASH_MMC_DEV if (strncmp("format", cmd + 4, 6) == 0) { char cmdbuf[32]; sprintf(cmdbuf, "gpt write mmc&nbsp;%x $partitions", CONFIG_FASTBOOT_FLASH_MMC_DEV); if (run_command(cmdbuf, 0)) fastboot_tx_write_str("FAIL"); else fastboot_tx_write_str("OKAY"); } else #endif </pre> PC command: <pre>$ fastboot oem format -i 0x2207 ... OKAY [ 0.015s] finished. total time: 0.015s </pre> == fastboot flash gpt <gpt partition image> == <pre> if (strcmp(cmd, CONFIG_FASTBOOT_GPT_NAME) == 0) { printf("%s: updating MBR, Primary and Backup GPT(s)\n", __func__); if (is_valid_gpt_buf(dev_desc, download_buffer)) { printf("%s: invalid GPT - refusing to write to flash\n", __func__); fastboot_fail(response_str, "invalid GPT partition"); return; } if (write_mbr_and_gpt_partitions(dev_desc, download_buffer)) { printf("%s: writing GPT partitions failed\n", __func__); fastboot_fail(response_str, "writing GPT partitions failed"); return; } printf("........ success\n"); fastboot_okay(response_str, ""); return; </pre> The gpt partition image can be generated by PC's gdisk tool,<br/> for exsample: <pre>$ dd if=/dev/zero of=disk.img bs=1M count=256 256+0 records in 256+0 records out 268435456 bytes (268 MB) copied, 0.151867 s, 1.8 GB/s $ gdisk disk.img GPT fdisk (gdisk) version 0.8.1 Partition table scan: MBR: not present BSD: not present APM: not present GPT: not present Creating new GPT entries. Command (? for help): n Partition number (1-128, default 1): First sector (34-524254, default = 34) or {+-}size{KMGTP}: Information: Moved requested sector from 34 to 2048 in order to align on 2048-sector boundaries. Use 'l' on the experts' menu to adjust alignment Last sector (2048-524254, default = 524254) or {+-}size{KMGTP}: Current type is 'Linux filesystem' Hex code or GUID (L to show codes, Enter = 8300): Changed type of partition to 'Linux filesystem' Command (? for help): w Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING PARTITIONS!! Do you want to proceed? (Y/N): y OK; writing new GUID partition table (GPT). Warning: The kernel is still using the old partition table. The new table will be used at the next reboot. The operation has completed successfully. $ dd if=disk.img of=gpt.img count=64 64+0 records in 64+0 records out 32768 bytes (33 kB) copied, 0.00075438 s, 43.4 MB/s </pre> PC command: <pre>$ fastboot flash gpt gpt.img target reported max download size of 117440512 bytes sending 'gpt' (32 KB)... OKAY [ 0.006s] writing 'gpt'... OKAY [ 0.025s] finished. total time: 0.030s</pre> 2e19452e58568d082f9a41b77552081cc5bf0315 1542 1541 2017-10-31T08:59:34Z Kever 2 wikitext text/x-wiki = Introduction = Rockchip use&nbsp;[https://en.wikipedia.org/wiki/GUID_Partition_Table GPT]&nbsp;as its main partition table in open source support. We store GPT at LBA0 ~ LBA63. = GPT partition table in U-boot = U-boot supports standard&nbsp;[https://github.com/rockchip-linux/u-boot/blob/android/doc/README.gpt GPT partition table format]. &nbsp; = Default storage map = {| border="1" class="table_style" |- ! Partition ! colspan="2" | Start Sector ! colspan="2" | Number of Sectors ! colspan="2" | Partition Size ! PartNum in GPT ! Requirements |- | MBR | 0 | 00000000 | 1 | 00000001 | 512 | 0.5KB | &nbsp; | &nbsp; |- | Primary GPT | 1 | 00000001 | 63 | 0000003F | 32256 | 31.5KB | &nbsp; | &nbsp; |- | '''loader1''' | '''64''' | '''00000040''' | '''7104''' | '''00001bc0''' | '''4096000''' | '''2.5MB''' | '''1''' | '''preloader (miniloader or U-Boot SPL)''' |- | Vendor Storage | 7168 | 00001c00 | 512 | 00000200 | 262144 | 256KB | &nbsp; | SN, MAC and etc. |- | Reserved Space | 7680 | 00001e00 | 384 | 00000180 | 196608 | 192KB | &nbsp; | Not used |- | reserved1 | 8064 | 00001f80 | 128 | 00000080 | 65536 | 64KB | &nbsp; | legacy DRM key |- | U-Boot ENV | 8128 | 00001fc0 | 64 | 00000040 | 32768 | 32KB | &nbsp; | &nbsp; |- | reserved2 | 8192 | 00002000 | 8192 | 00002000 | 4194304 | 4MB | &nbsp; | legacy parameter |- | '''loader2''' | '''16384''' | '''00004000''' | '''8192''' | '''00002000''' | '''4194304''' | '''4MB''' | '''2''' | '''U-Boot or UEFI''' |- | '''trust''' | '''24576''' | '''00006000''' | '''8192''' | '''00002000''' | '''4194304''' | '''4MB''' | '''3''' | '''trusted-os like ATF, OP-TEE''' |- | '''boot(bootable must be set)''' | '''32768''' | '''00008000''' | '''229376''' | '''00038000''' | '''117440512''' | '''112MB''' | '''4''' | '''kernel, dtb, extlinux.conf, ramdisk''' |- | '''rootfs''' | '''262144''' | '''00040000''' | '''-''' | '''-''' | '''-''' | '''-MB''' | '''5''' | '''Linux system''' |- | Secondary GPT | 16777183 | 00FFFFDF | 33 | 00000021 | 16896 | 16.5KB | &nbsp; | &nbsp; |} Note 1: If preloader is miniloader, loader2 partition available for uboot.img and trust partition available for trust.img; if preloader is SPL without trust support, loader2 partition is available for u-boot.bin and&nbsp;trust partition not available; If preloader is SPL with trust support(ATF or OPTEE), loader2 is available for u-boot.itb(including u-boot.bin and trust binary) and trust partition not available. = Write GPT partition table through rkdeveloptool = <pre>rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool gpt parameter_gpt.txt</pre> where the sample parameter_gpt.txt including partition information: <pre>CMDLINE: mtdparts=rk29xxnand:0x00001f40@0x00000040(loader1),0x00000080@0x00001f80(reserved1),0x00002000@0x00002000(reserved2),0x00002000@0x00004000(loader2),0x00002000@0x00006000(atf),0x00038000@0x00008000(boot:bootable),-@0x0040000(rootfs) </pre> = Write GPT partition table through U-boot = In u-boot console, the "gpt" command can be used to write the gpt partition table: <pre>gpt - GUID Partition Table Usage: gpt <command> <interface> <dev> <partitions_list> - GUID partition table restoration and validity check Restore or verify GPT information on a device connected to interface Example usage: gpt write mmc 0 $partitions gpt verify mmc 0 $partitions</code> </pre> for exsample: <pre>=> env set partitions name=rootfs,size=-,type=system => gpt write mmc 0 $partitions Writing GPT: success! </pre> <br/> NOTE: the partitions env can be set in the u-boot console(using "env set" command), or in u-boot's source code,<br/> for exsample: <pre>include/configs/kylin_rk3036.h #define PARTS_DEFAULT \ "uuid_disk=${uuid_gpt_disk};" \ ... #undef CONFIG_EXTRA_ENV_SETTINGS #define CONFIG_EXTRA_ENV_SETTINGS \ "partitions=" PARTS_DEFAULT \ </pre> &nbsp; = Write GPT partition table through U-Boot's fastboot = The current upstream u-boot contains fastboot protocol support. And this version of fastboot supports 2 ways to modify gpt partition table: &nbsp; == fastboot oem format == It's the same as "gpt write mmc 0 $partitions" in u-boot console: <pre>#ifdef CONFIG_FASTBOOT_FLASH_MMC_DEV if (strncmp("format", cmd + 4, 6) == 0) { char cmdbuf[32]; sprintf(cmdbuf, "gpt write mmc&nbsp;%x $partitions", CONFIG_FASTBOOT_FLASH_MMC_DEV); if (run_command(cmdbuf, 0)) fastboot_tx_write_str("FAIL"); else fastboot_tx_write_str("OKAY"); } else #endif </pre> PC command: <pre>$ fastboot oem format -i 0x2207 ... OKAY [ 0.015s] finished. total time: 0.015s </pre> == fastboot flash gpt <gpt partition image> == <pre> if (strcmp(cmd, CONFIG_FASTBOOT_GPT_NAME) == 0) { printf("%s: updating MBR, Primary and Backup GPT(s)\n", __func__); if (is_valid_gpt_buf(dev_desc, download_buffer)) { printf("%s: invalid GPT - refusing to write to flash\n", __func__); fastboot_fail(response_str, "invalid GPT partition"); return; } if (write_mbr_and_gpt_partitions(dev_desc, download_buffer)) { printf("%s: writing GPT partitions failed\n", __func__); fastboot_fail(response_str, "writing GPT partitions failed"); return; } printf("........ success\n"); fastboot_okay(response_str, ""); return; </pre> The gpt partition image can be generated by PC's gdisk tool,<br/> for exsample: <pre>$ dd if=/dev/zero of=disk.img bs=1M count=256 256+0 records in 256+0 records out 268435456 bytes (268 MB) copied, 0.151867 s, 1.8 GB/s $ gdisk disk.img GPT fdisk (gdisk) version 0.8.1 Partition table scan: MBR: not present BSD: not present APM: not present GPT: not present Creating new GPT entries. Command (? for help): n Partition number (1-128, default 1): First sector (34-524254, default = 34) or {+-}size{KMGTP}: Information: Moved requested sector from 34 to 2048 in order to align on 2048-sector boundaries. Use 'l' on the experts' menu to adjust alignment Last sector (2048-524254, default = 524254) or {+-}size{KMGTP}: Current type is 'Linux filesystem' Hex code or GUID (L to show codes, Enter = 8300): Changed type of partition to 'Linux filesystem' Command (? for help): w Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING PARTITIONS!! Do you want to proceed? (Y/N): y OK; writing new GUID partition table (GPT). Warning: The kernel is still using the old partition table. The new table will be used at the next reboot. The operation has completed successfully. $ dd if=disk.img of=gpt.img count=64 64+0 records in 64+0 records out 32768 bytes (33 kB) copied, 0.00075438 s, 43.4 MB/s </pre> PC command: <pre>$ fastboot flash gpt gpt.img target reported max download size of 117440512 bytes sending 'gpt' (32 KB)... OKAY [ 0.006s] writing 'gpt'... OKAY [ 0.025s] finished. total time: 0.030s</pre> 4dacd27405c3b32b0f75b1b140054f9e0f3965bb 1543 1542 2017-10-31T09:00:25Z Kever 2 wikitext text/x-wiki = Introduction = Rockchip use&nbsp;[https://en.wikipedia.org/wiki/GUID_Partition_Table GPT]&nbsp;as its main partition table in open source support. We store GPT at LBA0 ~ LBA63. = GPT partition table in U-boot = U-boot supports standard&nbsp;[https://github.com/rockchip-linux/u-boot/blob/android/doc/README.gpt GPT partition table format]. &nbsp; = Default storage map = {| border="1" class="table_style" |- ! Partition ! colspan="2" | Start Sector ! colspan="2" | Number of Sectors ! colspan="2" | Partition Size ! PartNum in GPT ! Requirements |- | MBR | 0 | 00000000 | 1 | 00000001 | 512 | 0.5KB | &nbsp; | &nbsp; |- | Primary GPT | 1 | 00000001 | 63 | 0000003F | 32256 | 31.5KB | &nbsp; | &nbsp; |- | '''loader1''' | '''64''' | '''00000040''' | '''7104''' | '''00001bc0''' | '''4096000''' | '''2.5MB''' | '''1''' | '''preloader (miniloader or U-Boot SPL)''' |- | Vendor Storage | 7168 | 00001c00 | 512 | 00000200 | 262144 | 256KB | &nbsp; | SN, MAC and etc. |- | Reserved Space | 7680 | 00001e00 | 384 | 00000180 | 196608 | 192KB | &nbsp; | Not used |- | reserved1 | 8064 | 00001f80 | 128 | 00000080 | 65536 | 64KB | &nbsp; | legacy DRM key |- | U-Boot ENV | 8128 | 00001fc0 | 64 | 00000040 | 32768 | 32KB | &nbsp; | &nbsp; |- | reserved2 | 8192 | 00002000 | 8192 | 00002000 | 4194304 | 4MB | &nbsp; | legacy parameter |- | '''loader2''' | '''16384''' | '''00004000''' | '''8192''' | '''00002000''' | '''4194304''' | '''4MB''' | '''2''' | '''U-Boot or UEFI''' |- | '''trust''' | '''24576''' | '''00006000''' | '''8192''' | '''00002000''' | '''4194304''' | '''4MB''' | '''3''' | '''trusted-os like ATF, OP-TEE''' |- | '''boot(bootable must be set)''' | '''32768''' | '''00008000''' | '''229376''' | '''00038000''' | '''117440512''' | '''112MB''' | '''4''' | '''kernel, dtb, extlinux.conf, ramdisk''' |- | '''rootfs''' | '''262144''' | '''00040000''' | '''-''' | '''-''' | '''-''' | '''-MB''' | '''5''' | '''Linux system''' |- | Secondary GPT | 16777183 | 00FFFFDF | 33 | 00000021 | 16896 | 16.5KB | &nbsp; | &nbsp; |} Note 1: If preloader is miniloader, loader2 partition available for uboot.img and trust partition available for trust.img; if preloader is SPL without trust support, loader2 partition is available for u-boot.bin and&nbsp;trust partition not available; If preloader is SPL with trust support(ATF or OPTEE), loader2 is available for u-boot.itb(including u-boot.bin and trust binary) and trust partition not available. = Write GPT partition table through rkdeveloptool = <pre>rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool gpt parameter_gpt.txt</pre> where the sample parameter_gpt.txt including partition information: <pre>CMDLINE: mtdparts=rk29xxnand:0x00001f40@0x00000040(loader1),0x00000080@0x00001f80(reserved1),0x00002000@0x00002000(reserved2),0x00002000@0x00004000(loader2),0x00002000@0x00006000(atf),0x00038000@0x00008000(boot:bootable),-@0x0040000(rootfs) </pre> = Write GPT partition table through U-boot = In u-boot console, the "gpt" command can be used to write the gpt partition table: <pre>gpt - GUID Partition Table Usage: gpt <command> <interface> <dev> <partitions_list> - GUID partition table restoration and validity check Restore or verify GPT information on a device connected to interface Example usage: gpt write mmc 0 $partitions gpt verify mmc 0 $partitions</code> </pre> for exsample: <pre>=> env set partitions name=rootfs,size=-,type=system => gpt write mmc 0 $partitions Writing GPT: success! </pre> <br/> NOTE: the partitions env can be set in the u-boot console(using "env set" command), or in u-boot's source code,<br/> for exsample: <pre>include/configs/kylin_rk3036.h #define PARTS_DEFAULT \ "uuid_disk=${uuid_gpt_disk};" \ ... #undef CONFIG_EXTRA_ENV_SETTINGS #define CONFIG_EXTRA_ENV_SETTINGS \ "partitions=" PARTS_DEFAULT \ </pre> &nbsp; = Write GPT partition table through U-Boot's fastboot = The current upstream u-boot contains fastboot protocol support. And this version of fastboot supports 2 ways to modify gpt partition table: &nbsp; == fastboot oem format == It's the same as "gpt write mmc 0 $partitions" in u-boot console: <pre>#ifdef CONFIG_FASTBOOT_FLASH_MMC_DEV if (strncmp("format", cmd + 4, 6) == 0) { char cmdbuf[32]; sprintf(cmdbuf, "gpt write mmc&nbsp;%x $partitions", CONFIG_FASTBOOT_FLASH_MMC_DEV); if (run_command(cmdbuf, 0)) fastboot_tx_write_str("FAIL"); else fastboot_tx_write_str("OKAY"); } else #endif </pre> PC command: <pre>$ fastboot oem format -i 0x2207 ... OKAY [ 0.015s] finished. total time: 0.015s </pre> == fastboot flash gpt <gpt partition image> == <pre> if (strcmp(cmd, CONFIG_FASTBOOT_GPT_NAME) == 0) { printf("%s: updating MBR, Primary and Backup GPT(s)\n", __func__); if (is_valid_gpt_buf(dev_desc, download_buffer)) { printf("%s: invalid GPT - refusing to write to flash\n", __func__); fastboot_fail(response_str, "invalid GPT partition"); return; } if (write_mbr_and_gpt_partitions(dev_desc, download_buffer)) { printf("%s: writing GPT partitions failed\n", __func__); fastboot_fail(response_str, "writing GPT partitions failed"); return; } printf("........ success\n"); fastboot_okay(response_str, ""); return; </pre> The gpt partition image can be generated by PC's gdisk tool,<br/> for exsample: <pre>$ dd if=/dev/zero of=disk.img bs=1M count=256 256+0 records in 256+0 records out 268435456 bytes (268 MB) copied, 0.151867 s, 1.8 GB/s $ gdisk disk.img GPT fdisk (gdisk) version 0.8.1 Partition table scan: MBR: not present BSD: not present APM: not present GPT: not present Creating new GPT entries. Command (? for help): n Partition number (1-128, default 1): First sector (34-524254, default = 34) or {+-}size{KMGTP}: Information: Moved requested sector from 34 to 2048 in order to align on 2048-sector boundaries. Use 'l' on the experts' menu to adjust alignment Last sector (2048-524254, default = 524254) or {+-}size{KMGTP}: Current type is 'Linux filesystem' Hex code or GUID (L to show codes, Enter = 8300): Changed type of partition to 'Linux filesystem' Command (? for help): w Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING PARTITIONS!! Do you want to proceed? (Y/N): y OK; writing new GUID partition table (GPT). Warning: The kernel is still using the old partition table. The new table will be used at the next reboot. The operation has completed successfully. $ dd if=disk.img of=gpt.img count=64 64+0 records in 64+0 records out 32768 bytes (33 kB) copied, 0.00075438 s, 43.4 MB/s </pre> PC command: <pre>$ fastboot flash gpt gpt.img target reported max download size of 117440512 bytes sending 'gpt' (32 KB)... OKAY [ 0.006s] writing 'gpt'... OKAY [ 0.025s] finished. total time: 0.030s</pre> 8f951c86bc7dc50a8ff3af84c0532e08e5f38b9c Boot option 0 116 1544 1252 2017-11-01T02:58:45Z Kever 2 wikitext text/x-wiki &nbsp; &nbsp; &nbsp; &nbsp; = Boot introduce = &nbsp; First, let's make the concept clear, there are many boot stages when we boot up a Linux OS; Then we need to know about how the image should packaged, where&nbsp;the image locate; At last, we will explain how to write to different&nbsp;media and boot from there. Here is Rockchip pre-released binaries which may be mentioned later: [https://github.com/rockchip-linux/rkbin https://github.com/rockchip-linux/rkbin] &nbsp; &nbsp; == Boot flow == Here is a table show the detail what we may use in Rockchip platform, for 2 boot stage: - use U-Boot SPL; - use Rockchp idbLoader which is combinded by Rockchip ddr init bin and miniloader bin; <pre>+--------+----------------+----------+-------------+---------+ | Boot | Terminology #1 | Actual | Rockchip | | | stage | | program | Image | | | number | | name | Name | | +--------+----------------+----------+-------------+---------+ | 1 | Primary | ROM code | BootRom | | | | Program | | | | | | Loader | | | | | | | | | | | 2 | Secondary | U-Boot |idbloader.img| 0x40 |including u-boot if not use miniloader | | Program | SPL |idbspl.img | | | | Loader (SPL) | | | | | | | | | | | 3 | - | U-Boot | u-boot.itb | 0x4000 | including u-boot and atf | | | | u-boot.bin | 0x4000 | | | | | uboot.img | 0x4000 | only used with miniloader | | | | | | | | | ATF | trust.img | 0x6000 | only used with miniloader for armv8 | | | | | | | 4 | - | kernel | boot.img | 0x8000 | | | | | | | | 5 | - | rootfs | rootfs.img | 0x40000 | +--------+----------------+----------+-------------+---------+ </pre> Then when we talking about boot from eMMC/SD/U-Disk/net, they are in different concept: *Stage 1 is always in boot rom, it loads stage 2 and may load stage 3(when SPL_BACK_TO_BROM option enabled). *Boot from SPI flash means firmware for stage 2 and 3(SPL and U-Boot only) in SPI flash and stage 4/5 in other place; *Boot from eMMC means all the firmware(including stage 2, 3, 4, 5) in eMMC; *Boot from SD card means all the firmware(including stage 2, 3, 4, 5) in SD card; *Boot from U-Disk means firmware for stage 4 and 5(not including SPL and U-Boot) in Disk, optionally only including stage 5; *Boot from net/tftp means firmeware for stage 4 and 5(not including SPL and U-Boot) on the network; [[File:Rksoc boot storage.jpg|1000px|RTENOTITLE]] [[File:Rksoc boot flow.jpg|1000px|RTENOTITLE]] (Thanks to Fu Wei from RedHat who is the author of&nbsp;these two flow diagram.) Note 1. The concept of BL1/BL2/BL3 are from ARMv8 only. == Package option == After we know about the boot stages, Here are the file list before package for stage 2~4: *From source code: **From U-Boot: u-boot-spl.bin, u-boot.bin(may use u-boot-nodtb.bin and u-boot.dtb instead), **From kernel: kernel Image/zImage file, kernel dtb, **From ATF: bl31.bin; *From Rockchip binary: **ddr, usbplug, miniloader, bl31, (all with&nbsp;chip 'rkxx_'&nbsp; prefix and with version '_x.xx.bin' postfix); Here are the types to&nbsp;package image from those files: === idbspl.img === U-Boot SPL, with&nbsp;SPL_BACK_TO_BROM option '''disabled'''. <pre>mkimage -n rkxxxx -T rksd -d spl/u-boot-spl.bin idbspl.img</pre> Flash the idbspl.img to offset 0x40 which only including stage 2, and need flash stage 3 &nbsp;image to 0x200(which is defineded by CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR), the stage 3 image may be&nbsp;u-boot.bin directly(when there no ATF requirement), or FIT image bl3.itb(for ATF load from SPL, including bl31.bin, u-boot-nodtb.bin and u-boot.dtb). &nbsp; === idbloader.img === U-Boot SPL, with&nbsp;SPL_BACK_TO_BROM option '''enabled''': <pre>tools/mkimage -n rkxxxx -T rksd -d spl/u-boot-spl.bin idbloader.img cat u-boot.bin >> idbloader.img</pre> Flash the idbloader.img to offset 0x40 which including boot stage 2 and 3. Package the image from Rockchip binary: <pre>dd if=rkxx_ddr_vx.xx.bin of=ddr.bin bs=4 skip=1 tools/mkimage -n rkxxxx -T rksd -d ddr.bin idbloader.img rm ddr.bin cat rkxx_miniloader_vx.xx.bin >> idbloader.img</pre> Flash the idbloader.img to offset 0x40 which including stage 2, and you will need a uboot.img for boot stage 3. === bl3.itb === When using SPL to load the ATF, package the bl31.bin, u-boot-nodtb.bin and uboot.dtb into one FIT image. <pre>tools/mkimage -f fit4spl.its -E bl3.itb </pre> Flash the bl3.itb to offset 0x200, while&nbsp;need idbspl.img flasht to offset 0x40. === uboot.img === When using idbLoader from&nbsp;Rockchip miniloader, need package u-boot.bin into miniloader loadable format by Rockchip tool loaderimage. <pre>tools/loaderimage --pack --uboot u-boot.bin uboot.img</pre> Flash the uboot.img to offset 0x4000 which is stage 3; === trust.img === When using idbLoader from&nbsp;Rockchip miniloader, need package bl31.bin into miniloader loadable format by Rockchip tool trustmerge. <pre>tools/trustmerge tools/rk_tools/RKTRUST_RKXXXXTRUST.ini</pre> Flash the trust.img to offset 0x6000 which is for using Rockchip miniloader &nbsp; &nbsp; === rkxx_loader_vx.xx.xxx.bin === This is provide by Rockchip in binary mode, which is used for firmware upgrade to eMMC with [[Rkdeveloptool|rkdeveloptool]], can not be wirte to media device directly. This is a package from ddr.bin, usbplug.bin, miniloader.bin, Rockchip tool ''DB ''command will make usbplug.bin running in target which perform as a Rockusb device. === boot.img === This image is package the kernel Image and dtb file into a know filesystem(FAT or EXT2) image for distro boot. See [[Rockchip_Kernel#Install_Boot.2Fkernel|Install kernel]] for detail about generate boot.img from kernel zImage/Image, dtb. Flash the boot.img to offset 0x8000 which is stage 4. === rootfs.img === Flash the rootfs.img to offset 0x40000 which is stage 5. &nbsp; = Flash and boot from Media device = Here we introduce how to write image to different Medeia device. Get image Ready: *For armv7 with SPL with SPL_BACK_TO_BROM option enabled: **idbLoader.img **boot.img or boot folder with zImage, dtb and exitlinulx inside **rootfs.img *For armv7 with SPL with SPL_BACK_TO_BROM option disabled: **idbspl.img **u-boot.bin **boot.img or boot folder with zImage, dtb and exitlinulx inside **rootfs.img *For armv7 with miniloader **idbLoader.img **uboot.img **boot.img or&nbsp;boot folder with zImage, dtb and exitlinulx inside **rootfs.img *For armv8 with SPL: **idbspl.img **bl3.itb **boot.img or&nbsp;boot folder with Image, dtb and exitlinulx inside **rootfs.img *For armv8 with miniloader **idbLoader.img **uboot.img **trust.img **boot.img or&nbsp;boot folder with Image, dtb and exitlinulx inside **rootfs.img &nbsp; &nbsp; &nbsp; == Boot from eMMC == The eMMC is on the hardware board, so we need: *Get the board into [[Rockusb#Maskrom_mode|maskrom mode]]; *Connect the target to PC with USB cable; *Flash the image to eMMC with [[Rkdeveloptool|rkdeveloptool]] Example commands for flash image to target. Flash the gpt partition to target: <pre style="margin-left: 40px;">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool gpt parameter_gpt.txt</pre> *For armv7 with SPL with SPL_BACK_TO_BROM option enabled(rk3036, rk3188, rk3288): <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbloader.img rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> *For armv7 with SPL with SPL_BACK_TO_BROM option disabled(rk3288): <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbspl.img rkdeveloptool wl 0x200 u-boot.bin rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> *For armv7 with miniloader(rk3036, rk3188, rk3288) <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbloader.img rkdeveloptool wl 0x4000 uboot.img rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> *For armv8 with SPL(rk3399): <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbspl.img rkdeveloptool wl 0x200 bl3.itb rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> *For armv8 with miniloader(rk3399, rk3328) <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbloader.img rkdeveloptool wl 0x4000 uboot.img rkdeveloptool wl 0x6000 trust.img rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd</pre> &nbsp; &nbsp; == Boot from SD/TF Card == We can write SD/TF card with Linux PC ''dd'' command very easily. Insert SD card to PC and we assume the /dev/sdb is the SD card device. *For armv7 with SPL with SPL_BACK_TO_BROM option enabled(rk3036, rk3188, rk3288): <pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64 dd if=boot.img of=sdb seek=32768 dd if=rootfs.img of=sdb seek=262144 </pre> *For armv7 with SPL with SPL_BACK_TO_BROM option disabled(rk3288): <pre style="margin-left: 40px">dd if=idbspl.img of=sdb seek=64 dd if=u-boot.bin of=sdb seek=512 dd if=boot.img of=sdb seek=32768 dd if=rootfs.img of=sdb seek=262144 </pre> *For armv7 with miniloader(rk3036, rk3188, rk3288) <pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64 dd if=uboot.img of=sdb seek=16384 dd if=boot.img of=sdb seek=32768 dd if=rootfs.img of=sdb seek=262144 </pre> *For armv8 with SPL(rk3399): <pre style="margin-left: 40px">dd if=idbspl.img of=sdb seek=64 dd if=bl3.itb of=sdb seek=512 dd if=boot.img of=sdb seek=32768 dd if=rootfs.img of=sdb seek=262144 </pre> *For armv8 with miniloader(rk3399, rk3328) <pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64 dd if=uboot.img of=sdb seek=16384 dd if=trust.img of=sdb seek=24576 dd if=boot.img of=sdb seek=32768 dd if=rootfs.img of=sdb seek=262144</pre> In order to make sure everything has write to SD card before unpluged, recommand to run below command: <pre style="margin-left: 40px">sync</pre> Note, when using boot from SD card, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value. <pre>append earlyprintk console=ttyS2,115200n8 rw root=/dev/mmcblk1p7 rootwait rootfstype=ext4 init=/sbin/init </pre> Write GPT partition table to SD card&nbsp;in U-Boot, and then U-Boot can find the boot partition and run into kernel. <pre>gpt write mmc 0 $partitions</pre> &nbsp; == Boot from U-Disk == Same as&nbsp;[[#Boot_from_SD.2FTF_Card|boot-from-sdcard]], but please note that U-Disk&nbsp;only support stage 4 and 5, see [[#Boot_Stage|Boot Stage]] for detail. If U-Disk used for stage 4 and 5, format the U-Disk in gpt format and at least 2 partitions, write ''boot.img'' and ''rootfs.img'' in those partitions; if U-Dist is only used for stage 5, we can ''dd ''the ''rootfs.img'' to U-Disk device directly. Note, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value. <pre> append earlyprintk console=ttyS2,115200n8 rw root=/dev/sda1 rootwait rootfstype=ext4 init=/sbin/init </pre> == Boot from Network == &nbsp; &nbsp; = See also = [[Rkdeveloptool|rkdeveloptool]] [[Rockusb|rockusb]] [[Partitions|Rockchip Linux partition definition]] d2a5906865885d0b3526ca59eb2f020672e42a50 1546 1544 2017-11-02T06:57:57Z Kever 2 wikitext text/x-wiki &nbsp; &nbsp; &nbsp; &nbsp; = Boot introduce = &nbsp; First, let's make the concept clear, there are many boot stages when we boot up a Linux OS; Then we need to know about how the image should packaged, where&nbsp;the image locate; At last, we will explain how to write to different&nbsp;media and boot from there. Here is Rockchip pre-released binaries which may be mentioned later: [https://github.com/rockchip-linux/rkbin https://github.com/rockchip-linux/rkbin] &nbsp; &nbsp; == Boot flow == Here is a table show the detail what we may use in Rockchip platform, for 2 boot stage: - use U-Boot SPL; - use Rockchp idbLoader which is combinded by Rockchip ddr init bin and miniloader bin; <pre>+--------+----------------+----------+-------------+---------+ | Boot | Terminology #1 | Actual | Rockchip | | | stage | | program | Image | | | number | | name | Name | | +--------+----------------+----------+-------------+---------+ | 1 | Primary | ROM code | BootRom | | | | Program | | | | | | Loader | | | | | | | | | | | 2 | Secondary | U-Boot |idbloader.img| 0x40 |including u-boot if not use miniloader | | Program | SPL |idbspl.img | | | | Loader (SPL) | | | | | | | | | | | 3 | - | U-Boot | u-boot.itb | 0x4000 | including u-boot and atf | | | | u-boot.bin | 0x4000 | | | | | uboot.img | 0x4000 | only used with miniloader | | | | | | | | | ATF | trust.img | 0x6000 | only used with miniloader for armv8 | | | | | | | 4 | - | kernel | boot.img | 0x8000 | | | | | | | | 5 | - | rootfs | rootfs.img | 0x40000 | +--------+----------------+----------+-------------+---------+ </pre> Then when we talking about boot from eMMC/SD/U-Disk/net, they are in different concept: *Stage 1 is always in boot rom, it loads stage 2 and may load stage 3(when SPL_BACK_TO_BROM option enabled). *Boot from SPI flash means firmware for stage 2 and 3(SPL and U-Boot only) in SPI flash and stage 4/5 in other place; *Boot from eMMC means all the firmware(including stage 2, 3, 4, 5) in eMMC; *Boot from SD card means all the firmware(including stage 2, 3, 4, 5) in SD card; *Boot from U-Disk means firmware for stage 4 and 5(not including SPL and U-Boot) in Disk, optionally only including stage 5; *Boot from net/tftp means firmeware for stage 4 and 5(not including SPL and U-Boot) on the network; &nbsp; [[File:Rockchip bootflow.jpg|100x100px]] Boot Flow 1 is typical Rockchip boot flow with Rockchip miniloader;<br/> Boot Flow 2 is used for most SoCs with U-Boot TPL for ddr init and SPL for trust(ATF/OP-TEE) load and run into next stage;<br/> Boot Flow 3 is use only for RK3399 with SPL ATF support;<br/> Boot Flow 4 is used for armv7 SoCs which do not support trust;<br/> <br/> Note 1. If loader1 have more than 1 stage, program will back to bootrom and bootrom load and run into next stage. eg. If loader1 is tpl and spl, the bootrom will run into tpl first, tpl init ddr and back to bootrom, bootrom then load and run into spl.<br/> Note 2. If trust is enabled, loader1 need to load both trust and u-boot, and then run into trust in secure mode(EL3 in armv8), trust do the initialize and run into U-Boot in non-secure mode(EL2 in armv8).<br/> Note 3. For trust(in trust.img or u-boot.itb), armv7 has only one tee.bin with or without ta, armv8 has bl31.elf and option with bl32.<br/> Note 4. In boot.img, content can be zImage and its dtb for Linux, and can optionally be grub.efi, and can be AOSP boot.img, ramdisk is option; == Package option == After we know about the boot stages, Here are the file list before package for stage 2~4: *From source code: **From U-Boot: u-boot-spl.bin, u-boot.bin(may use u-boot-nodtb.bin and u-boot.dtb instead), **From kernel: kernel Image/zImage file, kernel dtb, **From ATF: bl31.bin; *From Rockchip binary: **ddr, usbplug, miniloader, bl31, (all with&nbsp;chip 'rkxx_'&nbsp; prefix and with version '_x.xx.bin' postfix); Here are the types to&nbsp;package image from those files: === idbspl.img === U-Boot SPL, with&nbsp;SPL_BACK_TO_BROM option '''disabled'''. <pre>mkimage -n rkxxxx -T rksd -d spl/u-boot-spl.bin idbspl.img</pre> Flash the idbspl.img to offset 0x40 which only including stage 2, and need flash stage 3 &nbsp;image to 0x200(which is defineded by CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR), the stage 3 image may be&nbsp;u-boot.bin directly(when there no ATF requirement), or FIT image bl3.itb(for ATF load from SPL, including bl31.bin, u-boot-nodtb.bin and u-boot.dtb). &nbsp; === idbloader.img === U-Boot SPL, with&nbsp;SPL_BACK_TO_BROM option '''enabled''': <pre>tools/mkimage -n rkxxxx -T rksd -d spl/u-boot-spl.bin idbloader.img cat u-boot.bin >> idbloader.img</pre> Flash the idbloader.img to offset 0x40 which including boot stage 2 and 3. Package the image from Rockchip binary: <pre>dd if=rkxx_ddr_vx.xx.bin of=ddr.bin bs=4 skip=1 tools/mkimage -n rkxxxx -T rksd -d ddr.bin idbloader.img rm ddr.bin cat rkxx_miniloader_vx.xx.bin >> idbloader.img</pre> Flash the idbloader.img to offset 0x40 which including stage 2, and you will need a uboot.img for boot stage 3. === bl3.itb === When using SPL to load the ATF, package the bl31.bin, u-boot-nodtb.bin and uboot.dtb into one FIT image. <pre>tools/mkimage -f fit4spl.its -E bl3.itb </pre> Flash the bl3.itb to offset 0x200, while&nbsp;need idbspl.img flasht to offset 0x40. === uboot.img === When using idbLoader from&nbsp;Rockchip miniloader, need package u-boot.bin into miniloader loadable format by Rockchip tool loaderimage. <pre>tools/loaderimage --pack --uboot u-boot.bin uboot.img</pre> Flash the uboot.img to offset 0x4000 which is stage 3; === trust.img === When using idbLoader from&nbsp;Rockchip miniloader, need package bl31.bin into miniloader loadable format by Rockchip tool trustmerge. <pre>tools/trustmerge tools/rk_tools/RKTRUST_RKXXXXTRUST.ini</pre> Flash the trust.img to offset 0x6000 which is for using Rockchip miniloader &nbsp; &nbsp; === rkxx_loader_vx.xx.xxx.bin === This is provide by Rockchip in binary mode, which is used for firmware upgrade to eMMC with [[Rkdeveloptool|rkdeveloptool]], can not be wirte to media device directly. This is a package from ddr.bin, usbplug.bin, miniloader.bin, Rockchip tool ''DB ''command will make usbplug.bin running in target which perform as a Rockusb device. === boot.img === This image is package the kernel Image and dtb file into a know filesystem(FAT or EXT2) image for distro boot. See [[Rockchip_Kernel#Install_Boot.2Fkernel|Install kernel]] for detail about generate boot.img from kernel zImage/Image, dtb. Flash the boot.img to offset 0x8000 which is stage 4. === rootfs.img === Flash the rootfs.img to offset 0x40000 which is stage 5. &nbsp; = Flash and boot from Media device = Here we introduce how to write image to different Medeia device. Get image Ready: *For armv7 with SPL with SPL_BACK_TO_BROM option enabled: **idbLoader.img **boot.img or boot folder with zImage, dtb and exitlinulx inside **rootfs.img *For armv7 with SPL with SPL_BACK_TO_BROM option disabled: **idbspl.img **u-boot.bin **boot.img or boot folder with zImage, dtb and exitlinulx inside **rootfs.img *For armv7 with miniloader **idbLoader.img **uboot.img **boot.img or&nbsp;boot folder with zImage, dtb and exitlinulx inside **rootfs.img *For armv8 with SPL: **idbspl.img **bl3.itb **boot.img or&nbsp;boot folder with Image, dtb and exitlinulx inside **rootfs.img *For armv8 with miniloader **idbLoader.img **uboot.img **trust.img **boot.img or&nbsp;boot folder with Image, dtb and exitlinulx inside **rootfs.img &nbsp; &nbsp; &nbsp; == Boot from eMMC == The eMMC is on the hardware board, so we need: *Get the board into [[Rockusb#Maskrom_mode|maskrom mode]]; *Connect the target to PC with USB cable; *Flash the image to eMMC with [[Rkdeveloptool|rkdeveloptool]] Example commands for flash image to target. Flash the gpt partition to target: <pre style="margin-left: 40px;">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool gpt parameter_gpt.txt</pre> *For armv7 with SPL with SPL_BACK_TO_BROM option enabled(rk3036, rk3188, rk3288): <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbloader.img rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> *For armv7 with SPL with SPL_BACK_TO_BROM option disabled(rk3288): <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbspl.img rkdeveloptool wl 0x200 u-boot.bin rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> *For armv7 with miniloader(rk3036, rk3188, rk3288) <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbloader.img rkdeveloptool wl 0x4000 uboot.img rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> *For armv8 with SPL(rk3399): <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbspl.img rkdeveloptool wl 0x200 bl3.itb rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> *For armv8 with miniloader(rk3399, rk3328) <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbloader.img rkdeveloptool wl 0x4000 uboot.img rkdeveloptool wl 0x6000 trust.img rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd</pre> &nbsp; &nbsp; == Boot from SD/TF Card == We can write SD/TF card with Linux PC ''dd'' command very easily. Insert SD card to PC and we assume the /dev/sdb is the SD card device. *For armv7 with SPL with SPL_BACK_TO_BROM option enabled(rk3036, rk3188, rk3288): <pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64 dd if=boot.img of=sdb seek=32768 dd if=rootfs.img of=sdb seek=262144 </pre> *For armv7 with SPL with SPL_BACK_TO_BROM option disabled(rk3288): <pre style="margin-left: 40px">dd if=idbspl.img of=sdb seek=64 dd if=u-boot.bin of=sdb seek=512 dd if=boot.img of=sdb seek=32768 dd if=rootfs.img of=sdb seek=262144 </pre> *For armv7 with miniloader(rk3036, rk3188, rk3288) <pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64 dd if=uboot.img of=sdb seek=16384 dd if=boot.img of=sdb seek=32768 dd if=rootfs.img of=sdb seek=262144 </pre> *For armv8 with SPL(rk3399): <pre style="margin-left: 40px">dd if=idbspl.img of=sdb seek=64 dd if=bl3.itb of=sdb seek=512 dd if=boot.img of=sdb seek=32768 dd if=rootfs.img of=sdb seek=262144 </pre> *For armv8 with miniloader(rk3399, rk3328) <pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64 dd if=uboot.img of=sdb seek=16384 dd if=trust.img of=sdb seek=24576 dd if=boot.img of=sdb seek=32768 dd if=rootfs.img of=sdb seek=262144</pre> In order to make sure everything has write to SD card before unpluged, recommand to run below command: <pre style="margin-left: 40px">sync</pre> Note, when using boot from SD card, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value. <pre>append earlyprintk console=ttyS2,115200n8 rw root=/dev/mmcblk1p7 rootwait rootfstype=ext4 init=/sbin/init </pre> Write GPT partition table to SD card&nbsp;in U-Boot, and then U-Boot can find the boot partition and run into kernel. <pre>gpt write mmc 0 $partitions</pre> &nbsp; == Boot from U-Disk == Same as&nbsp;[[#Boot_from_SD.2FTF_Card|boot-from-sdcard]], but please note that U-Disk&nbsp;only support stage 4 and 5, see [[#Boot_Stage|Boot Stage]] for detail. If U-Disk used for stage 4 and 5, format the U-Disk in gpt format and at least 2 partitions, write ''boot.img'' and ''rootfs.img'' in those partitions; if U-Dist is only used for stage 5, we can ''dd ''the ''rootfs.img'' to U-Disk device directly. Note, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value. <pre> append earlyprintk console=ttyS2,115200n8 rw root=/dev/sda1 rootwait rootfstype=ext4 init=/sbin/init </pre> == Boot from Network == &nbsp; &nbsp; = See also = [[Rkdeveloptool|rkdeveloptool]] [[Rockusb|rockusb]] [[Partitions|Rockchip Linux partition definition]] 3f06fade3b20d4aee2803fbae6628b65a671e4d4 1547 1546 2017-11-02T07:00:00Z Kever 2 wikitext text/x-wiki &nbsp; &nbsp; &nbsp; &nbsp; = Boot introduce = &nbsp; First, let's make the concept clear, there are many boot stages when we boot up a Linux OS; Then we need to know about how the image should packaged, where&nbsp;the image locate; At last, we will explain how to write to different&nbsp;media and boot from there. Here is Rockchip pre-released binaries which may be mentioned later: [https://github.com/rockchip-linux/rkbin https://github.com/rockchip-linux/rkbin] &nbsp; &nbsp; &nbsp; &nbsp; == Boot flow == Here is a table show the detail what we may use in Rockchip platform, for 2 boot stage: - use U-Boot SPL; - use Rockchp idbLoader which is combinded by Rockchip ddr init bin and miniloader bin; <pre>+--------+----------------+----------+-------------+---------+ | Boot | Terminology #1 | Actual | Rockchip | | | stage | | program | Image | | | number | | name | Name | | +--------+----------------+----------+-------------+---------+ | 1 | Primary | ROM code | BootRom | | | | Program | | | | | | Loader | | | | | | | | | | | 2 | Secondary | U-Boot |idbloader.img| 0x40 |including u-boot if not use miniloader | | Program | SPL |idbspl.img | | | | Loader (SPL) | | | | | | | | | | | 3 | - | U-Boot | u-boot.itb | 0x4000 | including u-boot and atf | | | | u-boot.bin | 0x4000 | | | | | uboot.img | 0x4000 | only used with miniloader | | | | | | | | | ATF | trust.img | 0x6000 | only used with miniloader for armv8 | | | | | | | 4 | - | kernel | boot.img | 0x8000 | | | | | | | | 5 | - | rootfs | rootfs.img | 0x40000 | +--------+----------------+----------+-------------+---------+ </pre> Then when we talking about boot from eMMC/SD/U-Disk/net, they are in different concept: *Stage 1 is always in boot rom, it loads stage 2 and may load stage 3(when SPL_BACK_TO_BROM option enabled). *Boot from SPI flash means firmware for stage 2 and 3(SPL and U-Boot only) in SPI flash and stage 4/5 in other place; *Boot from eMMC means all the firmware(including stage 2, 3, 4, 5) in eMMC; *Boot from SD card means all the firmware(including stage 2, 3, 4, 5) in SD card; *Boot from U-Disk means firmware for stage 4 and 5(not including SPL and U-Boot) in Disk, optionally only including stage 5; *Boot from net/tftp means firmeware for stage 4 and 5(not including SPL and U-Boot) on the network; &nbsp; [[File:Rockchip bootflow.jpg|1000x1000px|Rockchip bootflow.jpg]] Boot Flow 1 is typical Rockchip boot flow with Rockchip miniloader;<br/> Boot Flow 2 is used for most SoCs with U-Boot TPL for ddr init and SPL for trust(ATF/OP-TEE) load and run into next stage;<br/> Boot Flow 3 is use only for RK3399 with SPL ATF support;<br/> Boot Flow 4 is used for armv7 SoCs which do not support trust;<br/> <br/> Note 1. If loader1 have more than 1 stage, program will back to bootrom and bootrom load and run into next stage. eg. If loader1 is tpl and spl, the bootrom will run into tpl first, tpl init ddr and back to bootrom, bootrom then load and run into spl.<br/> Note 2. If trust is enabled, loader1 need to load both trust and u-boot, and then run into trust in secure mode(EL3 in armv8), trust do the initialize and run into U-Boot in non-secure mode(EL2 in armv8).<br/> Note 3. For trust(in trust.img or u-boot.itb), armv7 has only one tee.bin with or without ta, armv8 has bl31.elf and option with bl32.<br/> Note 4. In boot.img, content can be zImage and its dtb for Linux, and can optionally be grub.efi, and can be AOSP boot.img, ramdisk is option; == Package option == After we know about the boot stages, Here are the file list before package for stage 2~4: *From source code: **From U-Boot: u-boot-spl.bin, u-boot.bin(may use u-boot-nodtb.bin and u-boot.dtb instead), **From kernel: kernel Image/zImage file, kernel dtb, **From ATF: bl31.bin; *From Rockchip binary: **ddr, usbplug, miniloader, bl31, (all with&nbsp;chip 'rkxx_'&nbsp; prefix and with version '_x.xx.bin' postfix); Here are the types to&nbsp;package image from those files: === idbspl.img === U-Boot SPL, with&nbsp;SPL_BACK_TO_BROM option '''disabled'''. <pre>mkimage -n rkxxxx -T rksd -d spl/u-boot-spl.bin idbspl.img</pre> Flash the idbspl.img to offset 0x40 which only including stage 2, and need flash stage 3 &nbsp;image to 0x200(which is defineded by CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR), the stage 3 image may be&nbsp;u-boot.bin directly(when there no ATF requirement), or FIT image bl3.itb(for ATF load from SPL, including bl31.bin, u-boot-nodtb.bin and u-boot.dtb). &nbsp; === idbloader.img === U-Boot SPL, with&nbsp;SPL_BACK_TO_BROM option '''enabled''': <pre>tools/mkimage -n rkxxxx -T rksd -d spl/u-boot-spl.bin idbloader.img cat u-boot.bin >> idbloader.img</pre> Flash the idbloader.img to offset 0x40 which including boot stage 2 and 3. Package the image from Rockchip binary: <pre>dd if=rkxx_ddr_vx.xx.bin of=ddr.bin bs=4 skip=1 tools/mkimage -n rkxxxx -T rksd -d ddr.bin idbloader.img rm ddr.bin cat rkxx_miniloader_vx.xx.bin >> idbloader.img</pre> Flash the idbloader.img to offset 0x40 which including stage 2, and you will need a uboot.img for boot stage 3. === bl3.itb === When using SPL to load the ATF, package the bl31.bin, u-boot-nodtb.bin and uboot.dtb into one FIT image. <pre>tools/mkimage -f fit4spl.its -E bl3.itb </pre> Flash the bl3.itb to offset 0x200, while&nbsp;need idbspl.img flasht to offset 0x40. === uboot.img === When using idbLoader from&nbsp;Rockchip miniloader, need package u-boot.bin into miniloader loadable format by Rockchip tool loaderimage. <pre>tools/loaderimage --pack --uboot u-boot.bin uboot.img</pre> Flash the uboot.img to offset 0x4000 which is stage 3; === trust.img === When using idbLoader from&nbsp;Rockchip miniloader, need package bl31.bin into miniloader loadable format by Rockchip tool trustmerge. <pre>tools/trustmerge tools/rk_tools/RKTRUST_RKXXXXTRUST.ini</pre> Flash the trust.img to offset 0x6000 which is for using Rockchip miniloader &nbsp; &nbsp; === rkxx_loader_vx.xx.xxx.bin === This is provide by Rockchip in binary mode, which is used for firmware upgrade to eMMC with [[Rkdeveloptool|rkdeveloptool]], can not be wirte to media device directly. This is a package from ddr.bin, usbplug.bin, miniloader.bin, Rockchip tool ''DB ''command will make usbplug.bin running in target which perform as a Rockusb device. === boot.img === This image is package the kernel Image and dtb file into a know filesystem(FAT or EXT2) image for distro boot. See [[Rockchip_Kernel#Install_Boot.2Fkernel|Install kernel]] for detail about generate boot.img from kernel zImage/Image, dtb. Flash the boot.img to offset 0x8000 which is stage 4. === rootfs.img === Flash the rootfs.img to offset 0x40000 which is stage 5. &nbsp; = Flash and boot from Media device = Here we introduce how to write image to different Medeia device. Get image Ready: *For armv7 with SPL with SPL_BACK_TO_BROM option enabled: **idbLoader.img **boot.img or boot folder with zImage, dtb and exitlinulx inside **rootfs.img *For armv7 with SPL with SPL_BACK_TO_BROM option disabled: **idbspl.img **u-boot.bin **boot.img or boot folder with zImage, dtb and exitlinulx inside **rootfs.img *For armv7 with miniloader **idbLoader.img **uboot.img **boot.img or&nbsp;boot folder with zImage, dtb and exitlinulx inside **rootfs.img *For armv8 with SPL: **idbspl.img **bl3.itb **boot.img or&nbsp;boot folder with Image, dtb and exitlinulx inside **rootfs.img *For armv8 with miniloader **idbLoader.img **uboot.img **trust.img **boot.img or&nbsp;boot folder with Image, dtb and exitlinulx inside **rootfs.img &nbsp; &nbsp; &nbsp; == Boot from eMMC == The eMMC is on the hardware board, so we need: *Get the board into [[Rockusb#Maskrom_mode|maskrom mode]]; *Connect the target to PC with USB cable; *Flash the image to eMMC with [[Rkdeveloptool|rkdeveloptool]] Example commands for flash image to target. Flash the gpt partition to target: <pre style="margin-left: 40px;">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool gpt parameter_gpt.txt</pre> *For armv7 with SPL with SPL_BACK_TO_BROM option enabled(rk3036, rk3188, rk3288): <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbloader.img rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> *For armv7 with SPL with SPL_BACK_TO_BROM option disabled(rk3288): <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbspl.img rkdeveloptool wl 0x200 u-boot.bin rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> *For armv7 with miniloader(rk3036, rk3188, rk3288) <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbloader.img rkdeveloptool wl 0x4000 uboot.img rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> *For armv8 with SPL(rk3399): <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbspl.img rkdeveloptool wl 0x200 bl3.itb rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> *For armv8 with miniloader(rk3399, rk3328) <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbloader.img rkdeveloptool wl 0x4000 uboot.img rkdeveloptool wl 0x6000 trust.img rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd</pre> &nbsp; &nbsp; == Boot from SD/TF Card == We can write SD/TF card with Linux PC ''dd'' command very easily. Insert SD card to PC and we assume the /dev/sdb is the SD card device. *For armv7 with SPL with SPL_BACK_TO_BROM option enabled(rk3036, rk3188, rk3288): <pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64 dd if=boot.img of=sdb seek=32768 dd if=rootfs.img of=sdb seek=262144 </pre> *For armv7 with SPL with SPL_BACK_TO_BROM option disabled(rk3288): <pre style="margin-left: 40px">dd if=idbspl.img of=sdb seek=64 dd if=u-boot.bin of=sdb seek=512 dd if=boot.img of=sdb seek=32768 dd if=rootfs.img of=sdb seek=262144 </pre> *For armv7 with miniloader(rk3036, rk3188, rk3288) <pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64 dd if=uboot.img of=sdb seek=16384 dd if=boot.img of=sdb seek=32768 dd if=rootfs.img of=sdb seek=262144 </pre> *For armv8 with SPL(rk3399): <pre style="margin-left: 40px">dd if=idbspl.img of=sdb seek=64 dd if=bl3.itb of=sdb seek=512 dd if=boot.img of=sdb seek=32768 dd if=rootfs.img of=sdb seek=262144 </pre> *For armv8 with miniloader(rk3399, rk3328) <pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64 dd if=uboot.img of=sdb seek=16384 dd if=trust.img of=sdb seek=24576 dd if=boot.img of=sdb seek=32768 dd if=rootfs.img of=sdb seek=262144</pre> In order to make sure everything has write to SD card before unpluged, recommand to run below command: <pre style="margin-left: 40px">sync</pre> Note, when using boot from SD card, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value. <pre>append earlyprintk console=ttyS2,115200n8 rw root=/dev/mmcblk1p7 rootwait rootfstype=ext4 init=/sbin/init </pre> Write GPT partition table to SD card&nbsp;in U-Boot, and then U-Boot can find the boot partition and run into kernel. <pre>gpt write mmc 0 $partitions</pre> &nbsp; == Boot from U-Disk == Same as&nbsp;[[#Boot_from_SD.2FTF_Card|boot-from-sdcard]], but please note that U-Disk&nbsp;only support stage 4 and 5, see [[#Boot_Stage|Boot Stage]] for detail. If U-Disk used for stage 4 and 5, format the U-Disk in gpt format and at least 2 partitions, write ''boot.img'' and ''rootfs.img'' in those partitions; if U-Dist is only used for stage 5, we can ''dd ''the ''rootfs.img'' to U-Disk device directly. Note, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value. <pre> append earlyprintk console=ttyS2,115200n8 rw root=/dev/sda1 rootwait rootfstype=ext4 init=/sbin/init </pre> == Boot from Network == &nbsp; &nbsp; = See also = [[Rkdeveloptool|rkdeveloptool]] [[Rockusb|rockusb]] [[Partitions|Rockchip Linux partition definition]] 0ecabc975f12b78daf910695d0482f71e99534fa 1548 1547 2017-11-02T07:35:49Z Kever 2 wikitext text/x-wiki &nbsp; &nbsp; &nbsp; &nbsp; = Boot introduce = &nbsp; First, let's make the concept clear, there are many boot stages when we boot up a Linux OS; Then we need to know about how the image should packaged, where&nbsp;the image locate; At last, we will explain how to write to different&nbsp;media and boot from there. Here is Rockchip pre-released binaries which may be mentioned later: [https://github.com/rockchip-linux/rkbin https://github.com/rockchip-linux/rkbin] And [http://opensource.rock-chips.com/wiki_Partitions Rockcip Linux GPT partition] here. &nbsp; == Boot flow == Here is a table show the detail what we may use in Rockchip platform, for 2 boot stage: - use U-Boot SPL; - use Rockchp idbLoader which is combinded by Rockchip ddr init bin and miniloader bin; <pre>+--------+----------------+----------+-------------+---------+ | Boot | Terminology #1 | Actual | Rockchip | | | stage | | program | Image | | | number | | name | Name | | +--------+----------------+----------+-------------+---------+ | 1 | Primary | ROM code | BootRom | | | | Program | | | | | | Loader | | | | | | | | | | | 2 | Secondary | U-Boot |idbloader.img| 0x40 |including u-boot if not use miniloader | | Program | SPL |idbspl.img | | | | Loader (SPL) | | | | | | | | | | | 3 | - | U-Boot | u-boot.itb | 0x4000 | including u-boot and atf | | | | u-boot.bin | 0x4000 | | | | | uboot.img | 0x4000 | only used with miniloader | | | | | | | | | ATF | trust.img | 0x6000 | only used with miniloader for armv8 | | | | | | | 4 | - | kernel | boot.img | 0x8000 | | | | | | | | 5 | - | rootfs | rootfs.img | 0x40000 | +--------+----------------+----------+-------------+---------+ </pre> Then when we talking about boot from eMMC/SD/U-Disk/net, they are in different concept: *Stage 1 is always in boot rom, it loads stage 2 and may load stage 3(when SPL_BACK_TO_BROM option enabled). *Boot from SPI flash means firmware for stage 2 and 3(SPL and U-Boot only) in SPI flash and stage 4/5 in other place; *Boot from eMMC means all the firmware(including stage 2, 3, 4, 5) in eMMC; *Boot from SD card means all the firmware(including stage 2, 3, 4, 5) in SD card; *Boot from U-Disk means firmware for stage 4 and 5(not including SPL and U-Boot) in Disk, optionally only including stage 5; *Boot from net/tftp means firmeware for stage 4 and 5(not including SPL and U-Boot) on the network; &nbsp; [[File:Rockchip bootflow.jpg|1000x1000px|Rockchip bootflow.jpg]] Boot Flow 1 is typical Rockchip boot flow with Rockchip miniloader;<br/> Boot Flow 2 is used for most SoCs with U-Boot TPL for ddr init and SPL for trust(ATF/OP-TEE) load and run into next stage;<br/> Boot Flow 3 is use only for RK3399 with SPL ATF support;<br/> Boot Flow 4 is used for armv7 SoCs which do not support trust;<br/> <br/> Note 1. If loader1 have more than 1 stage, program will back to bootrom and bootrom load and run into next stage. eg. If loader1 is tpl and spl, the bootrom will run into tpl first, tpl init ddr and back to bootrom, bootrom then load and run into spl.<br/> Note 2. If trust is enabled, loader1 need to load both trust and u-boot, and then run into trust in secure mode(EL3 in armv8), trust do the initialize and run into U-Boot in non-secure mode(EL2 in armv8).<br/> Note 3. For trust(in trust.img or u-boot.itb), armv7 has only one tee.bin with or without ta, armv8 has bl31.elf and option with bl32.<br/> Note 4. In boot.img, content can be zImage and its dtb for Linux, and can optionally be grub.efi, and can be AOSP boot.img, ramdisk is option; == Package option == After we know about the boot stages, Here are the file list before package for stage 2~4: *From source code: **From U-Boot: u-boot-spl.bin, u-boot.bin(may use u-boot-nodtb.bin and u-boot.dtb instead), **From kernel: kernel Image/zImage file, kernel dtb, **From ATF: bl31.bin; *From Rockchip binary: **ddr, usbplug, miniloader, bl31, (all with&nbsp;chip 'rkxx_'&nbsp; prefix and with version '_x.xx.bin' postfix); Here are the types to&nbsp;package image from those files: === idbspl.img === U-Boot SPL, with&nbsp;SPL_BACK_TO_BROM option '''disabled'''. <pre>mkimage -n rkxxxx -T rksd -d spl/u-boot-spl.bin idbspl.img</pre> Flash the idbspl.img to offset 0x40 which only including stage 2, and need flash stage 3 &nbsp;image to 0x200(which is defineded by CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR), the stage 3 image may be&nbsp;u-boot.bin directly(when there no ATF requirement), or FIT image bl3.itb(for ATF load from SPL, including bl31.bin, u-boot-nodtb.bin and u-boot.dtb). &nbsp; === idbloader.img === U-Boot SPL, with&nbsp;SPL_BACK_TO_BROM option '''enabled''': <pre>tools/mkimage -n rkxxxx -T rksd -d spl/u-boot-spl.bin idbloader.img cat u-boot.bin >> idbloader.img</pre> Flash the idbloader.img to offset 0x40 which including boot stage 2 and 3. Package the image from Rockchip binary: <pre>dd if=rkxx_ddr_vx.xx.bin of=ddr.bin bs=4 skip=1 tools/mkimage -n rkxxxx -T rksd -d ddr.bin idbloader.img rm ddr.bin cat rkxx_miniloader_vx.xx.bin >> idbloader.img</pre> Flash the idbloader.img to offset 0x40 which including stage 2, and you will need a uboot.img for boot stage 3. === bl3.itb === When using SPL to load the ATF, package the bl31.bin, u-boot-nodtb.bin and uboot.dtb into one FIT image. <pre>tools/mkimage -f fit4spl.its -E bl3.itb </pre> Flash the bl3.itb to offset 0x200, while&nbsp;need idbspl.img flasht to offset 0x40. === uboot.img === When using idbLoader from&nbsp;Rockchip miniloader, need package u-boot.bin into miniloader loadable format by Rockchip tool loaderimage. <pre>tools/loaderimage --pack --uboot u-boot.bin uboot.img</pre> Flash the uboot.img to offset 0x4000 which is stage 3; === trust.img === When using idbLoader from&nbsp;Rockchip miniloader, need package bl31.bin into miniloader loadable format by Rockchip tool trustmerge. <pre>tools/trustmerge tools/rk_tools/RKTRUST_RKXXXXTRUST.ini</pre> Flash the trust.img to offset 0x6000 which is for using Rockchip miniloader &nbsp; &nbsp; === rkxx_loader_vx.xx.xxx.bin === This is provide by Rockchip in binary mode, which is used for firmware upgrade to eMMC with [[Rkdeveloptool|rkdeveloptool]], can not be wirte to media device directly. This is a package from ddr.bin, usbplug.bin, miniloader.bin, Rockchip tool ''DB ''command will make usbplug.bin running in target which perform as a Rockusb device. === boot.img === This image is package the kernel Image and dtb file into a know filesystem(FAT or EXT2) image for distro boot. See [[Rockchip_Kernel#Install_Boot.2Fkernel|Install kernel]] for detail about generate boot.img from kernel zImage/Image, dtb. Flash the boot.img to offset 0x8000 which is stage 4. === rootfs.img === Flash the rootfs.img to offset 0x40000 which is stage 5. &nbsp; = Flash and boot from Media device = Here we introduce how to write image to different Medeia device. Get image Ready: *For armv7 with SPL with SPL_BACK_TO_BROM option enabled: **idbLoader.img **boot.img or boot folder with zImage, dtb and exitlinulx inside **rootfs.img *For armv7 with SPL with SPL_BACK_TO_BROM option disabled: **idbspl.img **u-boot.bin **boot.img or boot folder with zImage, dtb and exitlinulx inside **rootfs.img *For armv7 with miniloader **idbLoader.img **uboot.img **boot.img or&nbsp;boot folder with zImage, dtb and exitlinulx inside **rootfs.img *For armv8 with SPL: **idbspl.img **bl3.itb **boot.img or&nbsp;boot folder with Image, dtb and exitlinulx inside **rootfs.img *For armv8 with miniloader **idbLoader.img **uboot.img **trust.img **boot.img or&nbsp;boot folder with Image, dtb and exitlinulx inside **rootfs.img &nbsp; &nbsp; &nbsp; == Boot from eMMC == The eMMC is on the hardware board, so we need: *Get the board into [[Rockusb#Maskrom_mode|maskrom mode]]; *Connect the target to PC with USB cable; *Flash the image to eMMC with [[Rkdeveloptool|rkdeveloptool]] Example commands for flash image to target. Flash the gpt partition to target: <pre style="margin-left: 40px;">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool gpt parameter_gpt.txt</pre> *For armv7 with SPL with SPL_BACK_TO_BROM option enabled(rk3036, rk3188, rk3288): <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbloader.img rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> *For armv7 with SPL with SPL_BACK_TO_BROM option disabled(rk3288): <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbspl.img rkdeveloptool wl 0x200 u-boot.bin rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> *For armv7 with miniloader(rk3036, rk3188, rk3288) <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbloader.img rkdeveloptool wl 0x4000 uboot.img rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> *For armv8 with SPL(rk3399): <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbspl.img rkdeveloptool wl 0x200 bl3.itb rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> *For armv8 with miniloader(rk3399, rk3328) <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbloader.img rkdeveloptool wl 0x4000 uboot.img rkdeveloptool wl 0x6000 trust.img rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd</pre> &nbsp; &nbsp; == Boot from SD/TF Card == We can write SD/TF card with Linux PC ''dd'' command very easily. Insert SD card to PC and we assume the /dev/sdb is the SD card device. *For armv7 with SPL with SPL_BACK_TO_BROM option enabled(rk3036, rk3188, rk3288): <pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64 dd if=boot.img of=sdb seek=32768 dd if=rootfs.img of=sdb seek=262144 </pre> *For armv7 with SPL with SPL_BACK_TO_BROM option disabled(rk3288): <pre style="margin-left: 40px">dd if=idbspl.img of=sdb seek=64 dd if=u-boot.bin of=sdb seek=512 dd if=boot.img of=sdb seek=32768 dd if=rootfs.img of=sdb seek=262144 </pre> *For armv7 with miniloader(rk3036, rk3188, rk3288) <pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64 dd if=uboot.img of=sdb seek=16384 dd if=boot.img of=sdb seek=32768 dd if=rootfs.img of=sdb seek=262144 </pre> *For armv8 with SPL(rk3399): <pre style="margin-left: 40px">dd if=idbspl.img of=sdb seek=64 dd if=bl3.itb of=sdb seek=512 dd if=boot.img of=sdb seek=32768 dd if=rootfs.img of=sdb seek=262144 </pre> *For armv8 with miniloader(rk3399, rk3328) <pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64 dd if=uboot.img of=sdb seek=16384 dd if=trust.img of=sdb seek=24576 dd if=boot.img of=sdb seek=32768 dd if=rootfs.img of=sdb seek=262144</pre> In order to make sure everything has write to SD card before unpluged, recommand to run below command: <pre style="margin-left: 40px">sync</pre> Note, when using boot from SD card, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value. <pre>append earlyprintk console=ttyS2,115200n8 rw root=/dev/mmcblk1p7 rootwait rootfstype=ext4 init=/sbin/init </pre> Write GPT partition table to SD card&nbsp;in U-Boot, and then U-Boot can find the boot partition and run into kernel. <pre>gpt write mmc 0 $partitions</pre> &nbsp; == Boot from U-Disk == Same as&nbsp;[[#Boot_from_SD.2FTF_Card|boot-from-sdcard]], but please note that U-Disk&nbsp;only support stage 4 and 5, see [[#Boot_Stage|Boot Stage]] for detail. If U-Disk used for stage 4 and 5, format the U-Disk in gpt format and at least 2 partitions, write ''boot.img'' and ''rootfs.img'' in those partitions; if U-Dist is only used for stage 5, we can ''dd ''the ''rootfs.img'' to U-Disk device directly. Note, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value. <pre> append earlyprintk console=ttyS2,115200n8 rw root=/dev/sda1 rootwait rootfstype=ext4 init=/sbin/init </pre> == Boot from Network == &nbsp; &nbsp; = See also = [[Rkdeveloptool|rkdeveloptool]] [[Rockusb|rockusb]] [[Partitions|Rockchip Linux partition definition]] bd65cb990fd344931629c227b57b578bfc9227dc 1552 1548 2017-11-20T01:42:47Z Kever 2 wikitext text/x-wiki &nbsp; &nbsp; &nbsp; &nbsp; = Boot introduce = &nbsp; First, let's make the concept clear, there are many boot stages when we boot up a Linux OS; Then we need to know about how the image should packaged, where&nbsp;the image locate; At last, we will explain how to write to different&nbsp;media and boot from there. Here is Rockchip pre-released binaries which may be mentioned later: [https://github.com/rockchip-linux/rkbin https://github.com/rockchip-linux/rkbin] And [http://opensource.rock-chips.com/wiki_Partitions Rockcip Linux GPT partition] here. &nbsp; == Boot flow == Here is a table show the detail what we may use in Rockchip platform, for 2 boot stage: - use U-Boot SPL; - use Rockchp idbLoader which is combinded by Rockchip ddr init bin and miniloader bin; <pre>+--------+----------------+----------+-------------+---------+ | Boot | Terminology #1 | Actual | Rockchip | | | stage | | program | Image | | | number | | name | Name | | +--------+----------------+----------+-------------+---------+ | 1 | Primary | ROM code | BootRom | | | | Program | | | | | | Loader | | | | | | | | | | | 2 | Secondary | U-Boot |idbloader.img| 0x40 |including u-boot if not use miniloader | | Program | SPL |idbspl.img | | | | Loader (SPL) | | | | | | | | | | | 3 | - | U-Boot | u-boot.itb | 0x4000 | including u-boot and atf | | | | u-boot.bin | 0x4000 | | | | | uboot.img | 0x4000 | only used with miniloader | | | | | | | | | ATF | trust.img | 0x6000 | only used with miniloader for armv8 | | | | | | | 4 | - | kernel | boot.img | 0x8000 | | | | | | | | 5 | - | rootfs | rootfs.img | 0x40000 | +--------+----------------+----------+-------------+---------+ </pre> Then when we talking about boot from eMMC/SD/U-Disk/net, they are in different concept: *Stage 1 is always in boot rom, it loads stage 2 and may load stage 3(when SPL_BACK_TO_BROM option enabled). *Boot from SPI flash means firmware for stage 2 and 3(SPL and U-Boot only) in SPI flash and stage 4/5 in other place; *Boot from eMMC means all the firmware(including stage 2, 3, 4, 5) in eMMC; *Boot from SD card means all the firmware(including stage 2, 3, 4, 5) in SD card; *Boot from U-Disk means firmware for stage 4 and 5(not including SPL and U-Boot) in Disk, optionally only including stage 5; *Boot from net/tftp means firmeware for stage 4 and 5(not including SPL and U-Boot) on the network; &nbsp; [[File:Rockchip bootflow.jpg|1000x1000px|Rockchip bootflow.jpg]] Boot Flow 1 is typical Rockchip boot flow with Rockchip miniloader;<br/> Boot Flow 2 is used for most SoCs with U-Boot TPL for ddr init and SPL for trust(ATF/OP-TEE) load and run into next stage;<br/> Boot Flow 3 is use only for RK3399 with SPL ATF support;<br/> Boot Flow 4 is used for armv7 SoCs which do not support trust;<br/> <br/> Note 1. If loader1 have more than 1 stage, program will back to bootrom and bootrom load and run into next stage. eg. If loader1 is tpl and spl, the bootrom will run into tpl first, tpl init ddr and back to bootrom, bootrom then load and run into spl.<br/> Note 2. If trust is enabled, loader1 need to load both trust and u-boot, and then run into trust in secure mode(EL3 in armv8), trust do the initialize and run into U-Boot in non-secure mode(EL2 in armv8).<br/> Note 3. For trust(in trust.img or u-boot.itb), armv7 has only one tee.bin with or without ta, armv8 has bl31.elf and option with bl32.<br/> Note 4. In boot.img, content can be zImage and its dtb for Linux, and can optionally be grub.efi, and can be AOSP boot.img, ramdisk is option; == Package option == After we know about the boot stages, Here are the file list before package for stage 2~4: *From source code: **From U-Boot: u-boot-spl.bin, u-boot.bin(may use u-boot-nodtb.bin and u-boot.dtb instead), **From kernel: kernel Image/zImage file, kernel dtb, **From ATF: bl31.bin; *From Rockchip binary: **ddr, usbplug, miniloader, bl31, (all with&nbsp;chip 'rkxx_'&nbsp; prefix and with version '_x.xx.bin' postfix); Here are the types to&nbsp;package image from those files: === idbspl.img === U-Boot SPL, with&nbsp;SPL_BACK_TO_BROM option '''disabled'''. <pre>mkimage -n rkxxxx -T rksd -d spl/u-boot-spl.bin idbspl.img</pre> Flash the idbspl.img to offset 0x40 which only including stage 2, and need flash stage 3 &nbsp;image to 0x200(which is defineded by CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR), the stage 3 image may be&nbsp;u-boot.bin directly(when there no ATF requirement), or FIT image bl3.itb(for ATF load from SPL, including bl31.bin, u-boot-nodtb.bin and u-boot.dtb). &nbsp; === idbloader.img === U-Boot SPL, with&nbsp;SPL_BACK_TO_BROM option '''enabled''': <pre>tools/mkimage -n rkxxxx -T rksd -d spl/u-boot-spl.bin idbloader.img cat u-boot.bin >> idbloader.img</pre> Flash the idbloader.img to offset 0x40 which including boot stage 2 and 3. Package the image from Rockchip binary: <pre>dd if=rkxx_ddr_vx.xx.bin of=ddr.bin bs=4 skip=1 tools/mkimage -n rkxxxx -T rksd -d ddr.bin idbloader.img rm ddr.bin cat rkxx_miniloader_vx.xx.bin >> idbloader.img</pre> Flash the idbloader.img to offset 0x40 which including stage 2, and you will need a uboot.img for boot stage 3. === u-boot.itb === When using SPL to load the ATF/OP-TEE, package the bl31.bin, u-boot-nodtb.bin and uboot.dtb into one FIT image. <pre>make u-boot.itb </pre> Note: please copy the trust binary() to u-boot root directory and rename it to tee.bin(armv7) or bl31.elf(armv8). Flash the bl3.itb to offset 0x4000, while&nbsp;need idbspl.img flash&nbsp;to offset 0x40. === uboot.img === When using idbLoader from&nbsp;Rockchip miniloader, need package u-boot.bin into miniloader loadable format by Rockchip tool loaderimage. <pre>tools/loaderimage --pack --uboot u-boot.bin uboot.img</pre> Flash the uboot.img to offset 0x4000 which is stage 3; === trust.img === When using idbLoader from&nbsp;Rockchip miniloader, need package bl31.bin into miniloader loadable format by Rockchip tool trustmerge. <pre>tools/trustmerge tools/rk_tools/RKTRUST_RKXXXXTRUST.ini</pre> Flash the trust.img to offset 0x6000 which is for using Rockchip miniloader &nbsp; &nbsp; === rkxx_loader_vx.xx.xxx.bin === This is provide by Rockchip in binary mode, which is used for firmware upgrade to eMMC with [[Rkdeveloptool|rkdeveloptool]], can not be wirte to media device directly. This is a package from ddr.bin, usbplug.bin, miniloader.bin, Rockchip tool ''DB ''command will make usbplug.bin running in target which perform as a Rockusb device. === boot.img === This image is package the kernel Image and dtb file into a know filesystem(FAT or EXT2) image for distro boot. See [[Rockchip_Kernel#Install_Boot.2Fkernel|Install kernel]] for detail about generate boot.img from kernel zImage/Image, dtb. Flash the boot.img to offset 0x8000 which is stage 4. === rootfs.img === Flash the rootfs.img to offset 0x40000 which is stage 5. &nbsp; = Flash and boot from Media device = Here we introduce how to write image to different Medeia device. Get image Ready: *For armv7 with SPL with SPL_BACK_TO_BROM option enabled: **idbLoader.img **boot.img or boot folder with zImage, dtb and exitlinulx inside **rootfs.img *For armv7 with SPL with SPL_BACK_TO_BROM option disabled: **idbspl.img **u-boot.bin **boot.img or boot folder with zImage, dtb and exitlinulx inside **rootfs.img *For armv7 with miniloader **idbLoader.img **uboot.img **boot.img or&nbsp;boot folder with zImage, dtb and exitlinulx inside **rootfs.img *For armv8 with SPL: **idbspl.img **bl3.itb **boot.img or&nbsp;boot folder with Image, dtb and exitlinulx inside **rootfs.img *For armv8 with miniloader **idbLoader.img **uboot.img **trust.img **boot.img or&nbsp;boot folder with Image, dtb and exitlinulx inside **rootfs.img &nbsp; &nbsp; &nbsp; == Boot from eMMC == The eMMC is on the hardware board, so we need: *Get the board into [[Rockusb#Maskrom_mode|maskrom mode]]; *Connect the target to PC with USB cable; *Flash the image to eMMC with [[Rkdeveloptool|rkdeveloptool]] Example commands for flash image to target. Flash the gpt partition to target: <pre style="margin-left: 40px;">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool gpt parameter_gpt.txt</pre> *For armv7 with SPL with SPL_BACK_TO_BROM option enabled(rk3036, rk3188, rk3288): <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbloader.img rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> *For armv7 with SPL with SPL_BACK_TO_BROM option disabled(rk3288): <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbspl.img rkdeveloptool wl 0x200 u-boot.bin rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> *For armv7 with miniloader(rk3036, rk3188, rk3288) <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbloader.img rkdeveloptool wl 0x4000 uboot.img rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> *For armv8 with SPL(rk3399): <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbspl.img rkdeveloptool wl 0x200 bl3.itb rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> *For armv8 with miniloader(rk3399, rk3328) <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbloader.img rkdeveloptool wl 0x4000 uboot.img rkdeveloptool wl 0x6000 trust.img rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd</pre> &nbsp; &nbsp; == Boot from SD/TF Card == We can write SD/TF card with Linux PC ''dd'' command very easily. Insert SD card to PC and we assume the /dev/sdb is the SD card device. *For armv7 with SPL with SPL_BACK_TO_BROM option enabled(rk3036, rk3188, rk3288): <pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64 dd if=boot.img of=sdb seek=32768 dd if=rootfs.img of=sdb seek=262144 </pre> *For armv7 with SPL with SPL_BACK_TO_BROM option disabled(rk3288): <pre style="margin-left: 40px">dd if=idbspl.img of=sdb seek=64 dd if=u-boot.bin of=sdb seek=512 dd if=boot.img of=sdb seek=32768 dd if=rootfs.img of=sdb seek=262144 </pre> *For armv7 with miniloader(rk3036, rk3188, rk3288) <pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64 dd if=uboot.img of=sdb seek=16384 dd if=boot.img of=sdb seek=32768 dd if=rootfs.img of=sdb seek=262144 </pre> *For armv8 with SPL(rk3399): <pre style="margin-left: 40px">dd if=idbspl.img of=sdb seek=64 dd if=bl3.itb of=sdb seek=512 dd if=boot.img of=sdb seek=32768 dd if=rootfs.img of=sdb seek=262144 </pre> *For armv8 with miniloader(rk3399, rk3328) <pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64 dd if=uboot.img of=sdb seek=16384 dd if=trust.img of=sdb seek=24576 dd if=boot.img of=sdb seek=32768 dd if=rootfs.img of=sdb seek=262144</pre> In order to make sure everything has write to SD card before unpluged, recommand to run below command: <pre style="margin-left: 40px">sync</pre> Note, when using boot from SD card, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value. <pre>append earlyprintk console=ttyS2,115200n8 rw root=/dev/mmcblk1p7 rootwait rootfstype=ext4 init=/sbin/init </pre> Write GPT partition table to SD card&nbsp;in U-Boot, and then U-Boot can find the boot partition and run into kernel. <pre>gpt write mmc 0 $partitions</pre> &nbsp; == Boot from U-Disk == Same as&nbsp;[[#Boot_from_SD.2FTF_Card|boot-from-sdcard]], but please note that U-Disk&nbsp;only support stage 4 and 5, see [[#Boot_Stage|Boot Stage]] for detail. If U-Disk used for stage 4 and 5, format the U-Disk in gpt format and at least 2 partitions, write ''boot.img'' and ''rootfs.img'' in those partitions; if U-Dist is only used for stage 5, we can ''dd ''the ''rootfs.img'' to U-Disk device directly. Note, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value. <pre> append earlyprintk console=ttyS2,115200n8 rw root=/dev/sda1 rootwait rootfstype=ext4 init=/sbin/init </pre> == Boot from Network == &nbsp; &nbsp; = See also = [[Rkdeveloptool|rkdeveloptool]] [[Rockusb|rockusb]] [[Partitions|Rockchip Linux partition definition]] 30bee17bff4d4bfe0fb8b274e4baa74f2387a0bc 1553 1552 2017-11-20T01:44:19Z Kever 2 wikitext text/x-wiki &nbsp; &nbsp; &nbsp; &nbsp; = Boot introduce = &nbsp; First, let's make the concept clear, there are many boot stages when we boot up a Linux OS; Then we need to know about how the image should packaged, where&nbsp;the image locate; At last, we will explain how to write to different&nbsp;media and boot from there. Here is Rockchip pre-released binaries which may be mentioned later: [https://github.com/rockchip-linux/rkbin https://github.com/rockchip-linux/rkbin] And [http://opensource.rock-chips.com/wiki_Partitions Rockcip Linux GPT partition] here. &nbsp; == Boot flow == Here is a table show the detail what we may use in Rockchip platform, for 2 boot stage: - use U-Boot SPL; - use Rockchp idbLoader which is combinded by Rockchip ddr init bin and miniloader bin; <pre>+--------+----------------+----------+-------------+---------+ | Boot | Terminology #1 | Actual | Rockchip | | | stage | | program | Image | | | number | | name | Name | | +--------+----------------+----------+-------------+---------+ | 1 | Primary | ROM code | BootRom | | | | Program | | | | | | Loader | | | | | | | | | | | 2 | Secondary | U-Boot |idbloader.img| 0x40 |including u-boot if not use miniloader | | Program | SPL |idbspl.img | | | | Loader (SPL) | | | | | | | | | | | 3 | - | U-Boot | u-boot.itb | 0x4000 | including u-boot and atf | | | | u-boot.bin | 0x4000 | | | | | uboot.img | 0x4000 | only used with miniloader | | | | | | | | | ATF | trust.img | 0x6000 | only used with miniloader for armv8 | | | | | | | 4 | - | kernel | boot.img | 0x8000 | | | | | | | | 5 | - | rootfs | rootfs.img | 0x40000 | +--------+----------------+----------+-------------+---------+ </pre> Then when we talking about boot from eMMC/SD/U-Disk/net, they are in different concept: *Stage 1 is always in boot rom, it loads stage 2 and may load stage 3(when SPL_BACK_TO_BROM option enabled). *Boot from SPI flash means firmware for stage 2 and 3(SPL and U-Boot only) in SPI flash and stage 4/5 in other place; *Boot from eMMC means all the firmware(including stage 2, 3, 4, 5) in eMMC; *Boot from SD card means all the firmware(including stage 2, 3, 4, 5) in SD card; *Boot from U-Disk means firmware for stage 4 and 5(not including SPL and U-Boot) in Disk, optionally only including stage 5; *Boot from net/tftp means firmeware for stage 4 and 5(not including SPL and U-Boot) on the network; &nbsp; [[File:Rockchip bootflow.jpg|1000x1000px|Rockchip bootflow.jpg]] Boot Flow 1 is typical Rockchip boot flow with Rockchip miniloader;<br/> Boot Flow 2 is used for most SoCs with U-Boot TPL for ddr init and SPL for trust(ATF/OP-TEE) load and run into next stage;<br/> Boot Flow 3 is use only for RK3399 with SPL ATF support;<br/> Boot Flow 4 is used for armv7 SoCs which do not support trust;<br/> <br/> Note 1. If loader1 have more than 1 stage, program will back to bootrom and bootrom load and run into next stage. eg. If loader1 is tpl and spl, the bootrom will run into tpl first, tpl init ddr and back to bootrom, bootrom then load and run into spl.<br/> Note 2. If trust is enabled, loader1 need to load both trust and u-boot, and then run into trust in secure mode(EL3 in armv8), trust do the initialize and run into U-Boot in non-secure mode(EL2 in armv8).<br/> Note 3. For trust(in trust.img or u-boot.itb), armv7 has only one tee.bin with or without ta, armv8 has bl31.elf and option with bl32.<br/> Note 4. In boot.img, content can be zImage and its dtb for Linux, and can optionally be grub.efi, and can be AOSP boot.img, ramdisk is option; == Package option == After we know about the boot stages, Here are the file list before package for stage 2~4: *From source code: **From U-Boot: '''u-boot-spl.bin''', '''u-boot.bin'''(may use u-boot-nodtb.bin and u-boot.dtb instead), **From kernel: kernel '''Image/zImage''' file, kernel dtb, **From ATF: '''bl31.elf'''; *From Rockchip binary: **ddr, usbplug, miniloader, bl31/op-tee, (all with&nbsp;chip 'rkxx_'&nbsp; prefix and with version '_x.xx.bin' postfix); Here are the types to&nbsp;package image from those files: === idbspl.img === U-Boot SPL, with&nbsp;SPL_BACK_TO_BROM option '''disabled'''. <pre>mkimage -n rkxxxx -T rksd -d spl/u-boot-spl.bin idbspl.img</pre> Flash the idbspl.img to offset 0x40 which only including stage 2, and need flash stage 3 &nbsp;image to 0x200(which is defineded by CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR), the stage 3 image may be&nbsp;u-boot.bin directly(when there no ATF requirement), or FIT image bl3.itb(for ATF load from SPL, including bl31.bin, u-boot-nodtb.bin and u-boot.dtb). &nbsp; === idbloader.img === U-Boot SPL, with&nbsp;SPL_BACK_TO_BROM option '''enabled''': <pre>tools/mkimage -n rkxxxx -T rksd -d spl/u-boot-spl.bin idbloader.img cat u-boot.bin >> idbloader.img</pre> Flash the idbloader.img to offset 0x40 which including boot stage 2 and 3. Package the image from Rockchip binary: <pre>dd if=rkxx_ddr_vx.xx.bin of=ddr.bin bs=4 skip=1 tools/mkimage -n rkxxxx -T rksd -d ddr.bin idbloader.img rm ddr.bin cat rkxx_miniloader_vx.xx.bin >> idbloader.img</pre> Flash the idbloader.img to offset 0x40 which including stage 2, and you will need a uboot.img for boot stage 3. === u-boot.itb === When using SPL to load the ATF/OP-TEE, package the bl31.bin, u-boot-nodtb.bin and uboot.dtb into one FIT image. <pre>make u-boot.itb </pre> Note: please copy the trust binary() to u-boot root directory and rename it to tee.bin(armv7) or bl31.elf(armv8). Flash the bl3.itb to offset 0x4000, while&nbsp;need idbspl.img flash&nbsp;to offset 0x40. === uboot.img === When using idbLoader from&nbsp;Rockchip miniloader, need package u-boot.bin into miniloader loadable format by Rockchip tool loaderimage. <pre>tools/loaderimage --pack --uboot u-boot.bin uboot.img</pre> Flash the uboot.img to offset 0x4000 which is stage 3; === trust.img === When using idbLoader from&nbsp;Rockchip miniloader, need package bl31.bin into miniloader loadable format by Rockchip tool trustmerge. <pre>tools/trustmerge tools/rk_tools/RKTRUST_RKXXXXTRUST.ini</pre> Flash the trust.img to offset 0x6000 which is for using Rockchip miniloader &nbsp; &nbsp; === rkxx_loader_vx.xx.xxx.bin === This is provide by Rockchip in binary mode, which is used for firmware upgrade to eMMC with [[Rkdeveloptool|rkdeveloptool]], can not be wirte to media device directly. This is a package from ddr.bin, usbplug.bin, miniloader.bin, Rockchip tool ''DB ''command will make usbplug.bin running in target which perform as a Rockusb device. === boot.img === This image is package the kernel Image and dtb file into a know filesystem(FAT or EXT2) image for distro boot. See [[Rockchip_Kernel#Install_Boot.2Fkernel|Install kernel]] for detail about generate boot.img from kernel zImage/Image, dtb. Flash the boot.img to offset 0x8000 which is stage 4. === rootfs.img === Flash the rootfs.img to offset 0x40000 which is stage 5. &nbsp; = Flash and boot from Media device = Here we introduce how to write image to different Medeia device. Get image Ready: *For armv7 with SPL with SPL_BACK_TO_BROM option enabled: **idbLoader.img **boot.img or boot folder with zImage, dtb and exitlinulx inside **rootfs.img *For armv7 with SPL with SPL_BACK_TO_BROM option disabled: **idbspl.img **u-boot.bin **boot.img or boot folder with zImage, dtb and exitlinulx inside **rootfs.img *For armv7 with miniloader **idbLoader.img **uboot.img **boot.img or&nbsp;boot folder with zImage, dtb and exitlinulx inside **rootfs.img *For armv8 with SPL: **idbspl.img **bl3.itb **boot.img or&nbsp;boot folder with Image, dtb and exitlinulx inside **rootfs.img *For armv8 with miniloader **idbLoader.img **uboot.img **trust.img **boot.img or&nbsp;boot folder with Image, dtb and exitlinulx inside **rootfs.img &nbsp; &nbsp; &nbsp; == Boot from eMMC == The eMMC is on the hardware board, so we need: *Get the board into [[Rockusb#Maskrom_mode|maskrom mode]]; *Connect the target to PC with USB cable; *Flash the image to eMMC with [[Rkdeveloptool|rkdeveloptool]] Example commands for flash image to target. Flash the gpt partition to target: <pre style="margin-left: 40px;">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool gpt parameter_gpt.txt</pre> *For armv7 with SPL with SPL_BACK_TO_BROM option enabled(rk3036, rk3188, rk3288): <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbloader.img rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> *For armv7 with SPL with SPL_BACK_TO_BROM option disabled(rk3288): <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbspl.img rkdeveloptool wl 0x200 u-boot.bin rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> *For armv7 with miniloader(rk3036, rk3188, rk3288) <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbloader.img rkdeveloptool wl 0x4000 uboot.img rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> *For armv8 with SPL(rk3399): <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbspl.img rkdeveloptool wl 0x200 bl3.itb rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> *For armv8 with miniloader(rk3399, rk3328) <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbloader.img rkdeveloptool wl 0x4000 uboot.img rkdeveloptool wl 0x6000 trust.img rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd</pre> &nbsp; &nbsp; == Boot from SD/TF Card == We can write SD/TF card with Linux PC ''dd'' command very easily. Insert SD card to PC and we assume the /dev/sdb is the SD card device. *For armv7 with SPL with SPL_BACK_TO_BROM option enabled(rk3036, rk3188, rk3288): <pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64 dd if=boot.img of=sdb seek=32768 dd if=rootfs.img of=sdb seek=262144 </pre> *For armv7 with SPL with SPL_BACK_TO_BROM option disabled(rk3288): <pre style="margin-left: 40px">dd if=idbspl.img of=sdb seek=64 dd if=u-boot.bin of=sdb seek=512 dd if=boot.img of=sdb seek=32768 dd if=rootfs.img of=sdb seek=262144 </pre> *For armv7 with miniloader(rk3036, rk3188, rk3288) <pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64 dd if=uboot.img of=sdb seek=16384 dd if=boot.img of=sdb seek=32768 dd if=rootfs.img of=sdb seek=262144 </pre> *For armv8 with SPL(rk3399): <pre style="margin-left: 40px">dd if=idbspl.img of=sdb seek=64 dd if=bl3.itb of=sdb seek=512 dd if=boot.img of=sdb seek=32768 dd if=rootfs.img of=sdb seek=262144 </pre> *For armv8 with miniloader(rk3399, rk3328) <pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64 dd if=uboot.img of=sdb seek=16384 dd if=trust.img of=sdb seek=24576 dd if=boot.img of=sdb seek=32768 dd if=rootfs.img of=sdb seek=262144</pre> In order to make sure everything has write to SD card before unpluged, recommand to run below command: <pre style="margin-left: 40px">sync</pre> Note, when using boot from SD card, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value. <pre>append earlyprintk console=ttyS2,115200n8 rw root=/dev/mmcblk1p7 rootwait rootfstype=ext4 init=/sbin/init </pre> Write GPT partition table to SD card&nbsp;in U-Boot, and then U-Boot can find the boot partition and run into kernel. <pre>gpt write mmc 0 $partitions</pre> &nbsp; == Boot from U-Disk == Same as&nbsp;[[#Boot_from_SD.2FTF_Card|boot-from-sdcard]], but please note that U-Disk&nbsp;only support stage 4 and 5, see [[#Boot_Stage|Boot Stage]] for detail. If U-Disk used for stage 4 and 5, format the U-Disk in gpt format and at least 2 partitions, write ''boot.img'' and ''rootfs.img'' in those partitions; if U-Dist is only used for stage 5, we can ''dd ''the ''rootfs.img'' to U-Disk device directly. Note, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value. <pre> append earlyprintk console=ttyS2,115200n8 rw root=/dev/sda1 rootwait rootfstype=ext4 init=/sbin/init </pre> == Boot from Network == &nbsp; &nbsp; = See also = [[Rkdeveloptool|rkdeveloptool]] [[Rockusb|rockusb]] [[Partitions|Rockchip Linux partition definition]] 47c0bb2ad302d9beaffd4473c3a6fe6254247982 1554 1553 2017-11-20T03:38:05Z Ayaka 16 Split the first bootloader method into two sections wikitext text/x-wiki &nbsp; &nbsp; &nbsp; &nbsp; = Boot introduce = &nbsp; First, let's make the concept clear, there are many boot stages when we boot up a Linux OS; Then we need to know about how the image should packaged, where&nbsp;the image locate; At last, we will explain how to write to different&nbsp;media and boot from there. Here is Rockchip pre-released binaries which may be mentioned later: [https://github.com/rockchip-linux/rkbin https://github.com/rockchip-linux/rkbin] And [http://opensource.rock-chips.com/wiki_Partitions Rockcip Linux GPT partition] here. &nbsp; == Boot flow == Here is a table show the detail what we may use in Rockchip platform, for 2 boot stage: - use U-Boot SPL; - use Rockchp idbLoader which is combinded by Rockchip ddr init bin and miniloader bin; <pre>+--------+----------------+----------+-------------+---------+ | Boot | Terminology #1 | Actual | Rockchip | | | stage | | program | Image | | | number | | name | Name | | +--------+----------------+----------+-------------+---------+ | 1 | Primary | ROM code | BootRom | | | | Program | | | | | | Loader | | | | | | | | | | | 2 | Secondary | U-Boot |idbloader.img| 0x40 |including u-boot if not use miniloader | | Program | SPL |idbspl.img | | | | Loader (SPL) | | | | | | | | | | | 3 | - | U-Boot | u-boot.itb | 0x4000 | including u-boot and atf | | | | u-boot.bin | 0x4000 | | | | | uboot.img | 0x4000 | only used with miniloader | | | | | | | | | ATF | trust.img | 0x6000 | only used with miniloader for armv8 | | | | | | | 4 | - | kernel | boot.img | 0x8000 | | | | | | | | 5 | - | rootfs | rootfs.img | 0x40000 | +--------+----------------+----------+-------------+---------+ </pre> Then when we talking about boot from eMMC/SD/U-Disk/net, they are in different concept: *Stage 1 is always in boot rom, it loads stage 2 and may load stage 3(when SPL_BACK_TO_BROM option enabled). *Boot from SPI flash means firmware for stage 2 and 3(SPL and U-Boot only) in SPI flash and stage 4/5 in other place; *Boot from eMMC means all the firmware(including stage 2, 3, 4, 5) in eMMC; *Boot from SD card means all the firmware(including stage 2, 3, 4, 5) in SD card; *Boot from U-Disk means firmware for stage 4 and 5(not including SPL and U-Boot) in Disk, optionally only including stage 5; *Boot from net/tftp means firmeware for stage 4 and 5(not including SPL and U-Boot) on the network; &nbsp; [[File:Rockchip bootflow.jpg|1000x1000px|Rockchip bootflow.jpg]] Boot Flow 1 is typical Rockchip boot flow with Rockchip miniloader;<br/> Boot Flow 2 is used for most SoCs with U-Boot TPL for ddr init and SPL for trust(ATF/OP-TEE) load and run into next stage;<br/> Boot Flow 3 is use only for RK3399 with SPL ATF support;<br/> Boot Flow 4 is used for armv7 SoCs which do not support trust;<br/> <br/> Note 1. If loader1 have more than 1 stage, program will back to bootrom and bootrom load and run into next stage. eg. If loader1 is tpl and spl, the bootrom will run into tpl first, tpl init ddr and back to bootrom, bootrom then load and run into spl.<br/> Note 2. If trust is enabled, loader1 need to load both trust and u-boot, and then run into trust in secure mode(EL3 in armv8), trust do the initialize and run into U-Boot in non-secure mode(EL2 in armv8).<br/> Note 3. For trust(in trust.img or u-boot.itb), armv7 has only one tee.bin with or without ta, armv8 has bl31.elf and option with bl32.<br/> Note 4. In boot.img, content can be zImage and its dtb for Linux, and can optionally be grub.efi, and can be AOSP boot.img, ramdisk is option; == Package option == After we know about the boot stages, Here are the file list before package for stage 2~4: *From source code: **From U-Boot: '''u-boot-spl.bin''', '''u-boot.bin'''(may use u-boot-nodtb.bin and u-boot.dtb instead), **From kernel: kernel '''Image/zImage''' file, kernel dtb, **From ATF: '''bl31.elf'''; *From Rockchip binary: **ddr, usbplug, miniloader, bl31/op-tee, (all with&nbsp;chip 'rkxx_'&nbsp; prefix and with version '_x.xx.bin' postfix); We offer two different boot-loader methods for different solutions, the steps and request files are also complete different. But not all the platforms supports the both boot-loader methods. Here are the types to&nbsp;package image from those files: === Using U-Boot SPL as the first bootloader === ==== idbspl.img ==== U-Boot SPL, with&nbsp;SPL_BACK_TO_BROM option '''disabled'''. <pre>mkimage -n rkxxxx -T rksd -d spl/u-boot-spl.bin idbspl.img</pre> Flash the idbspl.img to offset 0x40 which only including stage 2, and need flash stage 3 &nbsp;image to 0x200(which is defineded by CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR), the stage 3 image may be&nbsp;u-boot.bin directly(when there no ATF requirement), or FIT image bl3.itb(for ATF load from SPL, including bl31.bin, u-boot-nodtb.bin and u-boot.dtb). &nbsp; ==== u-boot.itb ==== When using SPL to load the ATF/OP-TEE, package the bl31.bin, u-boot-nodtb.bin and uboot.dtb into one FIT image. <pre>make u-boot.itb </pre> Note: please copy the trust binary() to u-boot root directory and rename it to tee.bin(armv7) or bl31.elf(armv8). Flash the bl3.itb to offset 0x4000, while&nbsp;need idbspl.img flash&nbsp;to offset 0x40. === Using Miniloader as the first bootloader === ==== idbloader.img ==== U-Boot SPL, with&nbsp;SPL_BACK_TO_BROM option '''enabled''': <pre>tools/mkimage -n rkxxxx -T rksd -d spl/u-boot-spl.bin idbloader.img cat u-boot.bin >> idbloader.img</pre> Flash the idbloader.img to offset 0x40 which including boot stage 2 and 3. Package the image from Rockchip binary: <pre>dd if=rkxx_ddr_vx.xx.bin of=ddr.bin bs=4 skip=1 tools/mkimage -n rkxxxx -T rksd -d ddr.bin idbloader.img rm ddr.bin cat rkxx_miniloader_vx.xx.bin >> idbloader.img</pre> Flash the idbloader.img to offset 0x40 which including stage 2, and you will need a uboot.img for boot stage 3. &nbsp; ==== uboot.img ==== When using idbLoader from&nbsp;Rockchip miniloader, need package u-boot.bin into miniloader loadable format by Rockchip tool loaderimage. <pre>tools/loaderimage --pack --uboot u-boot.bin uboot.img</pre> Flash the uboot.img to offset 0x4000 which is stage 3; ==== trust.img ==== When using idbLoader from&nbsp;Rockchip miniloader, need package bl31.bin into miniloader loadable format by Rockchip tool trustmerge. <pre>tools/trustmerge tools/rk_tools/RKTRUST_RKXXXXTRUST.ini</pre> Flash the trust.img to offset 0x6000 which is for using Rockchip miniloader &nbsp; &nbsp; === rkxx_loader_vx.xx.xxx.bin === This is provide by Rockchip in binary mode, which is used for firmware upgrade to eMMC with [[Rkdeveloptool|rkdeveloptool]], can not be wirte to media device directly. This is a package from ddr.bin, usbplug.bin, miniloader.bin, Rockchip tool ''DB ''command will make usbplug.bin running in target which perform as a Rockusb device. === boot.img === This image is package the kernel Image and dtb file into a know filesystem(FAT or EXT2) image for distro boot. See [[Rockchip_Kernel#Install_Boot.2Fkernel|Install kernel]] for detail about generate boot.img from kernel zImage/Image, dtb. Flash the boot.img to offset 0x8000 which is stage 4. === rootfs.img === Flash the rootfs.img to offset 0x40000 which is stage 5. As long as the kernel you chosen can support that filesystem, there is not limit in the format of the image. &nbsp; = Flash and boot from Media device = Here we introduce how to write image to different Medeia device. Get image Ready: *For armv7 with SPL with SPL_BACK_TO_BROM option enabled: **idbLoader.img **boot.img or boot folder with zImage, dtb and exitlinulx inside **rootfs.img *For armv7 with SPL with SPL_BACK_TO_BROM option disabled: **idbspl.img **u-boot.bin **boot.img or boot folder with zImage, dtb and exitlinulx inside **rootfs.img *For armv7 with miniloader **idbLoader.img **uboot.img **boot.img or&nbsp;boot folder with zImage, dtb and exitlinulx inside **rootfs.img *For armv8 with SPL: **idbspl.img **bl3.itb **boot.img or&nbsp;boot folder with Image, dtb and exitlinulx inside **rootfs.img *For armv8 with miniloader **idbLoader.img **uboot.img **trust.img **boot.img or&nbsp;boot folder with Image, dtb and exitlinulx inside **rootfs.img &nbsp; &nbsp; &nbsp; == Boot from eMMC == The eMMC is on the hardware board, so we need: *Get the board into [[Rockusb#Maskrom_mode|maskrom mode]]; *Connect the target to PC with USB cable; *Flash the image to eMMC with [[Rkdeveloptool|rkdeveloptool]] Example commands for flash image to target. Flash the gpt partition to target: <pre style="margin-left: 40px;">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool gpt parameter_gpt.txt</pre> *For armv7 with SPL with SPL_BACK_TO_BROM option enabled(rk3036, rk3188, rk3288): <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbloader.img rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> *For armv7 with SPL with SPL_BACK_TO_BROM option disabled(rk3288): <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbspl.img rkdeveloptool wl 0x200 u-boot.bin rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> *For armv7 with miniloader(rk3036, rk3188, rk3288) <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbloader.img rkdeveloptool wl 0x4000 uboot.img rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> *For armv8 with SPL(rk3399): <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbspl.img rkdeveloptool wl 0x200 bl3.itb rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> *For armv8 with miniloader(rk3399, rk3328) <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbloader.img rkdeveloptool wl 0x4000 uboot.img rkdeveloptool wl 0x6000 trust.img rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd</pre> &nbsp; &nbsp; == Boot from SD/TF Card == We can write SD/TF card with Linux PC ''dd'' command very easily. Insert SD card to PC and we assume the /dev/sdb is the SD card device. *For armv7 with SPL with SPL_BACK_TO_BROM option enabled(rk3036, rk3188, rk3288): <pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64 dd if=boot.img of=sdb seek=32768 dd if=rootfs.img of=sdb seek=262144 </pre> *For armv7 with SPL with SPL_BACK_TO_BROM option disabled(rk3288): <pre style="margin-left: 40px">dd if=idbspl.img of=sdb seek=64 dd if=u-boot.bin of=sdb seek=512 dd if=boot.img of=sdb seek=32768 dd if=rootfs.img of=sdb seek=262144 </pre> *For armv7 with miniloader(rk3036, rk3188, rk3288) <pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64 dd if=uboot.img of=sdb seek=16384 dd if=boot.img of=sdb seek=32768 dd if=rootfs.img of=sdb seek=262144 </pre> *For armv8 with SPL(rk3399): <pre style="margin-left: 40px">dd if=idbspl.img of=sdb seek=64 dd if=bl3.itb of=sdb seek=512 dd if=boot.img of=sdb seek=32768 dd if=rootfs.img of=sdb seek=262144 </pre> *For armv8 with miniloader(rk3399, rk3328) <pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64 dd if=uboot.img of=sdb seek=16384 dd if=trust.img of=sdb seek=24576 dd if=boot.img of=sdb seek=32768 dd if=rootfs.img of=sdb seek=262144</pre> In order to make sure everything has write to SD card before unpluged, recommand to run below command: <pre style="margin-left: 40px">sync</pre> Note, when using boot from SD card, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value. <pre>append earlyprintk console=ttyS2,115200n8 rw root=/dev/mmcblk1p7 rootwait rootfstype=ext4 init=/sbin/init </pre> Write GPT partition table to SD card&nbsp;in U-Boot, and then U-Boot can find the boot partition and run into kernel. <pre>gpt write mmc 0 $partitions</pre> &nbsp; == Boot from U-Disk == Same as&nbsp;[[#Boot_from_SD.2FTF_Card|boot-from-sdcard]], but please note that U-Disk&nbsp;only support stage 4 and 5, see [[#Boot_Stage|Boot Stage]] for detail. If U-Disk used for stage 4 and 5, format the U-Disk in gpt format and at least 2 partitions, write ''boot.img'' and ''rootfs.img'' in those partitions; if U-Dist is only used for stage 5, we can ''dd ''the ''rootfs.img'' to U-Disk device directly. Note, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value. <pre> append earlyprintk console=ttyS2,115200n8 rw root=/dev/sda1 rootwait rootfstype=ext4 init=/sbin/init </pre> == Boot from Network == &nbsp; &nbsp; = See also = [[Rkdeveloptool|rkdeveloptool]] [[Rockusb|rockusb]] [[Partitions|Rockchip Linux partition definition]] f187d99a53ec14622691b18d53b3e6b30ca038ac File:Rockchip bootflow.jpg 6 170 1545 2017-11-02T06:55:10Z Kever 2 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 U-Boot 0 11 1551 949 2017-11-20T01:40:13Z Kever 2 wikitext text/x-wiki U-Boot Guide = Download U-Boot = == Upstream U-Boot == You can clone the u-boot repository by running: <pre>git clone git://git.denx.de/u-boot.git</pre> Alternatively you can use u-boot-rockchip instead which may with some patches not get in mainline: <pre>git clone git://git.denx.de/u-boot-rockchip.git</pre> &nbsp; == Rockchip U-Boot == You can clone the u-boot repository by running: <pre>git clone https://github.com/rockchip-linux/u-boot.git </pre> = Supported Devices = Upstream U-Boot support Rockchip SoCs: RK3036, RK3188, [[RK3288|RK3288]], [[RK3328|RK3328]], [[RK3399|RK3399]] &nbsp; *RK3036 boards supported: <ol style="margin-left: 40px;"> <li>EVB RK3036 - use evb-rk3036 configuration</li> <li>Kylin - use kylin_rk3036 configuration</li> </ol> *RK3288 boards supported: <ol style="margin-left: 40px;"> <li>EVB RK3288 - use evb-rk3288 configuration</li> <li>Fennec RK3288 - use fennec-rk3288 configuration</li> <li>Firefly RK3288 - use firefly-rk3288 configuration</li> <li>Hisense Chromebook - use chromebook_jerry configuration</li> <li>Miniarm RK3288 - use miniarm-rk3288 configuration</li> <li>PopMetal RK3288 - use popmetal-rk3288 configuration</li> <li>Radxa Rock 2 - use rock2 configuration</li> <li>ASUS Tinker</li> </ol> *RK3188 boards&nbsp;supported: <ol style="margin-left: 40px;"> <li>Radxa Rock - use rock&nbsp;configuration</li> </ol> *RK3328 boards&nbsp;supported: <ol style="margin-left: 40px;"> <li>EVB RK3328 - use evb-rk3328 configuration</li> </ol> *RK3399 boards&nbsp;supported: <ol style="margin-left: 40px;"> <li>EVB RK3399 - use evb-rk3399 configuration</li> </ol> &nbsp; &nbsp; = Configure U-Boot = First you need to choose a correct defconfig for your board; When you have determined what <board_name> you want to build, configure: <pre>make CROSS_COMPILE=arm-linux-gnueabi-&nbsp;<board_name>_defconfig</pre> You may need to change the U-Boot function/feature support by modify the defconfig file or, there is also menuconfig to play with settings if you feel like it: <pre>make CROSS_COMPILE=arm-linux-gnueabi- menuconfig</pre> &nbsp; &nbsp; = Build U-Boot = == Get a toolchain == If you haven't done so before, get a suitable&nbsp;toolchain&nbsp;installed and add it&nbsp;to your PATH. In Ubuntu 14.04, you can use below command to install cross compiler for armv7: <pre>sudo apt-get install gcc-arm-linux-gnueabi</pre> Or for ARM64 <pre>sudo apt-get install gcc-aarch64-linux-gnu </pre> &nbsp; == Build == For armv7: <pre>make CROSS_COMPILE=arm-linux-gnueabi-</pre> or for ARM64: <pre>make ARCH=arm CROSS_COMPILE=aarch64-linux-gnu-</pre> In order to support debug in ARM DS-5, you may need add ctags in make command: <pre>CFLAGS='-gdwarf-3'</pre> For trust support, we are using FIT image with 'mkimage' cmd in Makefile and its script defined in defconfig: <pre>make u-boot.itb</pre> Note: please copy the trust binary() to u-boot root directory and rename it to tee.bin(armv7) or bl31.elf(armv8). The u-boot.itb including u-boot-nodtb.bin, board.dtb, and trust binaries. = Install U-Boot = Rockchip SoCs's bootrom need special format named IDBlock at special offset 0x40&nbsp;block for boot, so we need to package&nbsp;SPL(or Rockchip miniloader) &nbsp;in IDB format. Rockchip bootrom supports SPL back to bootrom and bootrom load the U-Boot, so the SPL for Rockchip SoCs can option to back to bootrom, usually decided by if the IRAM is enough&nbsp;for driver to load U-Boot. &nbsp; &nbsp; == Using U-Boot SPL == After build&nbsp;complete, U-Boot with SPL support will generate a spl folder with <var>u-boot-spl.bin</var>&nbsp;inside <pre>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl.bin rk3288_idb.img</pre> '''This image is supposed to flash to offset 0x40.''' For&nbsp;<var>u-boot.bin</var>, it's different for SPL back to bootrom or not, if enable&nbsp;CONFIG_ROCKCHIP_SPL_BACK_TO_BROM, we can append the U-Boot to IDB data: <pre>cat u-boot.bin >> rk3288_idb.img</pre> <code>If&nbsp;</code>CONFIG_ROCKCHIP_SPL_BACK_TO_BROM&nbsp;not enabled, no more package operation is need for u-boot-dtb.bin, and it need to flalsh to 0x200 which is decide by&nbsp;CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR. == Support ATF with SPL FIT image == &nbsp; == Using Rockchip miniloader == Alternatively, you can use Rockchip miniloader and U-Boot instead which do not need SPL. The miniloader is package as IDBlock, and the u-boot.bin need to package with rockchip tool: <pre>loaderimage --pack --uboot u-boot.bin uboot.img</pre> According to the [[Partitions|partitions]] definition, the miniloader should write to offset 0x40 and &nbsp;this uboot.img should write to offset 0x4000. &nbsp; &nbsp; &nbsp; == Boot up == See [[Boot_option|boot option]]&nbsp;about how to boot from eMMC/SD card. = Boot cmd = == Distro boot == == EFI boot == = Firmware download in U-Boot = In U-Boot, there are multi way to update image for system, you can chose any of one easy use for you. == fastboot == See [[Fastboot|fastboot]] == ums == == rockusb == 07dd1a7985cbec55f207150323f2b987442c47ac Camera 0 74 1555 1061 2017-11-22T10:53:02Z Jacob 6 wikitext text/x-wiki = Rockchip ISP1 = rockchip-isp1 is a&nbsp;v4l2 driver writen with media controller api, it will be used for rockchip rk3288/rk3399 SoC on all linux-kernel based OS, including Android, GNU/Linux, ChromeOS. To get more info, please see&nbsp;[https://www.gitbook.com/book/rockchip-linux/rockchip-isp/welcome gitbook]. 3f8a11d3e139372a93691e4c2f8075304ccd83f3 1556 1555 2017-11-22T10:53:43Z Jacob 6 wikitext text/x-wiki = Rockchip ISP1 = rockchip-isp1 is a&nbsp;isp driver writen with media controller api, it will be used for rockchip rk3288/rk3399 SoC on all linux-kernel based OS, including Android, GNU/Linux, ChromeOS. To get more info, please see&nbsp;[https://www.gitbook.com/book/rockchip-linux/rockchip-isp/welcome gitbook]. 1bcc9c6ea15a93fbe5eafb6fe715b562b5da9377 1557 1556 2017-11-22T11:16:18Z Jacob 6 wikitext text/x-wiki = [https://www.gitbook.com/book/rockchip-linux/rockchip-isp/welcome Rockchip ISP1] = 6cc2ecaf68dd98537039edef65fa524f42f23886 1558 1557 2017-11-23T06:26:55Z Jacob 6 wikitext text/x-wiki = &nbsp; = 77e27efff7e8db4b7ddf1ca832fda0aae19afcd5 1560 1558 2017-11-27T08:30:11Z Jacob 6 wikitext text/x-wiki {| border="1" style="width: 492px;" |- ! rowspan="2" style="width: 49px;" | &nbsp; ! rowspan="2" style="width: 116px;" | rk3288 ! rowspan="2" | rk3399 ! rowspan="2" style="width: 138px;" | rk3328 |- |- | style="width: 49px; text-align: center;" | ISP | style="width: 116px; text-align: center;" | &nbsp;rockchip-isp1 | style="text-align: center;" | rk-isp10 | style="width: 138px; text-align: center;" | N/A |- | style="width: 49px; text-align: center;" | CIF | style="width: 116px; text-align: center;" | NO | style="text-align: center;" | NO | style="width: 138px; text-align: center;" | NO |} &nbsp; = rockchip-isp1 = Please refer to [https://www.gitbook.com/book/rockchip-linux/rockchip-isp gitbook]. &nbsp; = rk-isp10 = Source Code: driver/media/platform/rk-isp10 &nbsp; = v4l2-cif = b75264e6e0e230cb261179a328ce66f1852e7e5c 1561 1560 2017-11-27T08:32:39Z Jacob 6 wikitext text/x-wiki {| border="1" cellpadding="1" cellspacing="1" style="width: 589px;" |- | &nbsp; | style="text-align: center;" | rk3288 | style="text-align: center; width: 247px;" | rk3399 |- | ISP | style="text-align: center;" | rockchip-isp1 | style="text-align: center; width: 247px;" | rk-isp10 |- | CIF | style="text-align: center;" | NO | style="text-align: center; width: 247px;" | NO |} = &nbsp; = = rockchip-isp1 = Please refer to [https://www.gitbook.com/book/rockchip-linux/rockchip-isp gitbook]. &nbsp; = rk-isp10 = Source Code: driver/media/platform/rk-isp10 &nbsp; = v4l2-cif = 8c8324845a8f50ee5b1f0b5fad6725b11f64db39 1562 1561 2017-11-27T08:33:03Z Jacob 6 wikitext text/x-wiki = status = {| border="1" cellpadding="1" cellspacing="1" style="width: 589px;" |- | &nbsp; | style="text-align: center;" | rk3288 | style="text-align: center; width: 247px;" | rk3399 |- | ISP | style="text-align: center;" | rockchip-isp1 | style="text-align: center; width: 247px;" | rk-isp10 |- | CIF | style="text-align: center;" | NO | style="text-align: center; width: 247px;" | NO |} = rockchip-isp1 = Please refer to [https://www.gitbook.com/book/rockchip-linux/rockchip-isp gitbook]. &nbsp; = rk-isp10 = Source Code: driver/media/platform/rk-isp10 &nbsp; = v4l2-cif = 84d6cb16db104b728137c71b3defee6223786e2a 1563 1562 2017-11-27T08:33:47Z Jacob 6 wikitext text/x-wiki = status = {| border="1" class="table_style" style="width: 659px;" |- | &nbsp; | style="text-align: center;" | rk3288 | style="text-align: center; width: 247px;" | rk3399 |- | ISP | style="text-align: center;" | rockchip-isp1 | style="text-align: center; width: 247px;" | rk-isp10 |- | CIF | style="text-align: center;" | NO | style="text-align: center; width: 247px;" | NO |} = rockchip-isp1 = Please refer to [https://www.gitbook.com/book/rockchip-linux/rockchip-isp gitbook]. &nbsp; = rk-isp10 = Source Code: driver/media/platform/rk-isp10 &nbsp; = v4l2-cif = b2af8ee9993c3346b1999fa43c95eac8200b3c6a 1564 1563 2017-11-27T08:34:25Z Jacob 6 wikitext text/x-wiki = status = {| border="1" class="table_style" style="width: 659px;" |- ! style="text-align: center;" | rk3288 ! style="text-align: center; width: 247px;" | rk3399 |- | ISP | style="text-align: center;" | rockchip-isp1 | style="text-align: center; width: 247px;" | rk-isp10 |- | CIF | style="text-align: center;" | NO | style="text-align: center; width: 247px;" | NO |} = rockchip-isp1 = Please refer to [https://www.gitbook.com/book/rockchip-linux/rockchip-isp gitbook]. &nbsp; = rk-isp10 = Source Code: driver/media/platform/rk-isp10 &nbsp; = v4l2-cif = bce869a1e50a7bdf1e1eb7f0c961667366adbf23 1565 1564 2017-11-27T08:34:41Z Jacob 6 wikitext text/x-wiki &nbsp; = status = {| border="1" class="table_style" style="width: 659px;" |- ! ! style="text-align: center;" | rk3288 ! style="text-align: center; width: 247px;" | rk3399 |- | ISP | style="text-align: center;" | rockchip-isp1 | style="text-align: center; width: 247px;" | rk-isp10 |- | CIF | style="text-align: center;" | NO | style="text-align: center; width: 247px;" | NO |} = rockchip-isp1 = Please refer to [https://www.gitbook.com/book/rockchip-linux/rockchip-isp gitbook]. &nbsp; = rk-isp10 = Source Code: driver/media/platform/rk-isp10 &nbsp; = v4l2-cif = ac9f66dfef16c9ff99d932e62b88b90c7f36ead3 1566 1565 2017-11-27T08:35:02Z Jacob 6 wikitext text/x-wiki &nbsp; = status = {| border="1" class="table_style" style="width: 659px;" |- ! &nbsp; ! style="text-align: center;" | rk3288 ! style="text-align: center; width: 247px;" | rk3399 |- | ISP | style="text-align: center;" | rockchip-isp1 | style="text-align: center; width: 247px;" | rk-isp10 |- | CIF | style="text-align: center;" | NO | style="text-align: center; width: 247px;" | NO |} = &nbsp; = = rockchip-isp1 = Please refer to [https://www.gitbook.com/book/rockchip-linux/rockchip-isp gitbook]. &nbsp; = rk-isp10 = Source Code: driver/media/platform/rk-isp10 &nbsp; = v4l2-cif = 873c8515dfa302d986c7bb0507411404f1508f15 1567 1566 2017-11-27T08:35:22Z Jacob 6 wikitext text/x-wiki &nbsp; = status = {| border="1" class="table_style" style="width: 659px;" |- ! &nbsp; ! style="text-align: center;" | rk3288 ! style="text-align: center; width: 247px;" | rk3399 |- | ISP | style="text-align: center;" | rockchip-isp1 | style="text-align: center; width: 247px;" | rk-isp10 |- | CIF | style="text-align: center;" | NO | style="text-align: center; width: 247px;" | NO |} = rockchip-isp1 = Please refer to [https://www.gitbook.com/book/rockchip-linux/rockchip-isp gitbook]. &nbsp; = rk-isp10 = Source Code: driver/media/platform/rk-isp10 &nbsp; = v4l2-cif = fec533821f87bb648798004a97732293cc385b17 1573 1567 2017-11-30T05:56:31Z Jacob 6 wikitext text/x-wiki &nbsp; = status = {| border="1" class="table_style" style="width: 659px;" |- ! &nbsp; ! style="text-align: center;" | rk3288 ! style="text-align: center; width: 247px;" | rk3399 |- | ISP | style="text-align: center;" | rockchip-isp1 | style="text-align: center; width: 247px;" | rk-isp10 |- | CIF | style="text-align: center;" | NO | style="text-align: center; width: 247px;" | NO |} &nbsp; = [[rockchip-isp1]] = &nbsp; = rk-isp10 = Source Code: driver/media/platform/rk-isp10 &nbsp; = v4l2-cif = 737e6aca447f259a606ad707083e134c28d6d927 Status Matrix 0 154 1569 1536 2017-11-27T08:39:09Z Jacob 6 wikitext text/x-wiki &nbsp; &nbsp; == Rockchip 4.4 Kernel Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! RK3288 ! RK3328 ! RK3399 |- | rowspan="2" style="text-align: left;" | ADC | style="text-align: left;" | SARADC | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | TSADC | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | Clocks | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | CPUFreq | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | Crypto | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | CSI/ISP | style="background: orange;" | WIP | N/A | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | CIF | style="background: orange;" | WIP | style="background: orange;" | WIP | style="background: orange;" | WIP |- | rowspan="8" style="text-align: left;" | Display (DRM) | style="text-align: left;" | RGB | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | EDP | style="background: lightgreen;" | SUPPORT | N/A | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | LVDS | style="background: lightgreen;" | SUPPORT | N/A | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | MIPI DSI | style="background: lightgreen;" | SUPPORT | N/A | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | CVBS | N/A | style="background: lightgreen;" | SUPPORT | N/A |- | style="text-align: left;" | VGA | N/A | N/A | N/A |- | style="text-align: left;" | HDMI | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | CEC | style="background: red;" | NO | style="background: orange;" | WIP | style="background: red;" | NO |- | colspan="2" style="text-align: left;" | DMA | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | DDR DVFS | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |- | rowspan="2" style="text-align: left;" | Ethernet | style="text-align: left;" | GMAC | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | EMAC | N/A | style="background: lightgreen;" | SUPPORT | N/A |- | colspan="2" style="text-align: left;" | I2S | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left" | I2C | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | MsgBox | N/A | N/A | N/A |- | colspan="2" style="text-align: left;" | Pinctrl | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | PWM | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | Power Domain | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | PCIE | N/A | N/A | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | SD / SDIO / MMC | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | SPDIF | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | SPI | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | SUSPEND / RESUME | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | USB | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | USB OTG | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | TYPEC | N/A | N/A | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | Watchdog | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | GPU | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | VPU | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | RGA | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | IEP | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |} &nbsp; &nbsp; &nbsp; == Mainline Kernel Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! RK3288 ! RK3328 ! RK3399 |- | rowspan="2" style="text-align: left;" | ADC | style="text-align: left;" | SARADC | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.14 |- | style="text-align: left;" | TSADC1 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | Clocks | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | CPUFreq | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | Crypto | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | CSI/ISP | style="background: orange;" | WIP | N/A | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | CIF | style="background: orange;" | WIP | style="background: orange;" | WIP | style="background: orange;" | WIP |- | rowspan="8" style="text-align: left;" | Display (DRM) | style="text-align: left;" | RGB | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |- | style="text-align: left;" | EDP | style="background: lightgreen;" | 4.4 | N/A | style="background: lightgreen;" | 4.14 |- | style="text-align: left;" | LVDS | style="background: red;" | NO | N/A | style="background: red;" | NO |- | style="text-align: left;" | MIPI DSI | style="background: lightgreen;" | 4.4 | N/A | style="background: lightgreen;" | 4.14 |- | style="text-align: left;" | CVBS | N/A | style="background: darkgreen;" | INCOMPLETE | N/A |- | style="text-align: left;" | VGA | N/A | N/A | N/A |- | style="text-align: left;" | HDMI | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE |- | style="text-align: left;" | CEC | style="background: red;" | NO | style="background: darkgreen;" | INCOMPLETE | style="background: red;" | NO |- | colspan="2" style="text-align: left;" | DMA | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | DDR DVFS | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |- | rowspan="2" style="text-align: left;" | Ethernet | style="text-align: left;" | GMAC | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.14 |- | style="text-align: left;" | EMAC | N/A | style="background: lightgreen;" | 4.14 | N/A |- | colspan="2" style="text-align: left;" | I2S | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left" | I2C | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | MsgBox | N/A | N/A | N/A |- | colspan="2" style="text-align: left;" | Pinctrl | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | PWM | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | Power Domain | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | PCIE | N/A | N/A | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | SD / SDIO / MMC | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | SPDIF | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | SPI | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | SUSPEND / RESUME | style="background: darkgreen;" | INCOMPLETE | style="background: lightgreen;" | 4.14 | style="background: darkgreen;" | INCOMPLETE |- | colspan="2" style="text-align: left;" | USB | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | USB OTG | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | TYPEC | N/A | N/A | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | Watchdog | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | GPU | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |- | colspan="2" style="text-align: left;" | VPU | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |- | colspan="2" style="text-align: left;" | RGA | style="background: lightgreen;" | 4.15 | style="background: orange;" | WIP | style="background: lightgreen;" | 4.15 |- | colspan="2" style="text-align: left;" | IEP | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |} &nbsp; &nbsp; &nbsp; == Linux SDK CHIP Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! RK3288 ! RK3328 ! RK3399 |- | colspan="2" style="text-align: left;" | Debian | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | rowspan="3" style="text-align: left;" | Yocto | style="text-align: left;" | X11 | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | QT EGLFS | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | WESTON | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE |- | colspan="2" style="text-align: left;" | Buildroot | N/A | N/A | style="background: lightgreen;" | SUPPORT |- | rowspan="5" style="text-align: left;" | Decode | style="text-align: left;" | H264 | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | H265 | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | VP8 | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | VP9 | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | JPEG | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE |- | rowspan="3" style="text-align: left;" | Encode | style="text-align: left;" | H264 | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | H265 | N/A | style="background: lightgreen;" | SUPPORT | N/A |- | style="text-align: left;" | JPEG | style="background: darkgreen;" | MPP | style="background: darkgreen;" | MPP | style="background: darkgreen;" | MPP |- | colspan="2" style="text-align: left;" | ISP(3A) | style="background: orange;" | WIP | N/A | style="background: orange;" | WIP |} <br/> &nbsp; == Linux&nbsp;Funciton Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! Status |- | rowspan="5" style="text-align: left;" | Gstreamer | style="text-align: left;" | Display | style="background: lightgreen;" | kmssink(qt eglfs),rkximagesink(x11), waylandsink(wayland) |- | style="text-align: left;" | Decode&nbsp; | style="background: lightgreen;" | h264, h265, vp8, vp9, jpeg |- | style="text-align: left;" | Encode | style="background: lightgreen;" | h264 |- | style="text-align: left;" | Camera | style="background: orange;" | Without 3A |- | style="text-align: left;" | Transform | style="background: orange;" | WIP |- | rowspan="2" style="text-align: left;" | GPU | style="text-align: left;" | GLES | style="background: lightgreen;" | libmali |- | style="text-align: left;" | OPENCL | style="background: lightgreen;" | libmali |- | colspan="2" rowspan="1" style="text-align: left;" | QT | style="background: lightgreen;" | QT 5.x |- | colspan="2" style="text-align: left;" | Browser(HTML5 Accelerate) | style="background: orange;" | WIP |- | colspan="2" style="text-align: left;" | IOT(Third part Could Service) | style="background: orange;" | WIP |- | colspan="2" style="text-align: left;" | FFmpeg | style="background: yellow;" | Community |- | colspan="2" style="text-align: left;" | MPV | style="background: yellow;" | Community |- | colspan="2" style="text-align: left;" | KODI | style="background: yellow;" | Community |} 712c1e419cec05a3b0ab174e0ace4aec57e8e8c2 1570 1569 2017-11-27T08:40:08Z Jacob 6 wikitext text/x-wiki &nbsp; &nbsp; == Rockchip 4.4 Kernel Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! RK3288 ! RK3328 ! RK3399 |- | rowspan="2" style="text-align: left;" | ADC | style="text-align: left;" | SARADC | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | TSADC | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | Clocks | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | CPUFreq | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | Crypto | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | CSI/ISP | style="background: lightgreen;" | SUPPORT | N/A | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | CIF | style="background: orange;" | WIP | style="background: orange;" | WIP | style="background: orange;" | WIP |- | rowspan="8" style="text-align: left;" | Display (DRM) | style="text-align: left;" | RGB | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | EDP | style="background: lightgreen;" | SUPPORT | N/A | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | LVDS | style="background: lightgreen;" | SUPPORT | N/A | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | MIPI DSI | style="background: lightgreen;" | SUPPORT | N/A | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | CVBS | N/A | style="background: lightgreen;" | SUPPORT | N/A |- | style="text-align: left;" | VGA | N/A | N/A | N/A |- | style="text-align: left;" | HDMI | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | CEC | style="background: red;" | NO | style="background: orange;" | WIP | style="background: red;" | NO |- | colspan="2" style="text-align: left;" | DMA | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | DDR DVFS | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |- | rowspan="2" style="text-align: left;" | Ethernet | style="text-align: left;" | GMAC | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | EMAC | N/A | style="background: lightgreen;" | SUPPORT | N/A |- | colspan="2" style="text-align: left;" | I2S | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left" | I2C | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | MsgBox | N/A | N/A | N/A |- | colspan="2" style="text-align: left;" | Pinctrl | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | PWM | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | Power Domain | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | PCIE | N/A | N/A | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | SD / SDIO / MMC | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | SPDIF | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | SPI | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | SUSPEND / RESUME | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | USB | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | USB OTG | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | TYPEC | N/A | N/A | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | Watchdog | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | GPU | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | VPU | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | RGA | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | IEP | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |} &nbsp; &nbsp; &nbsp; == Mainline Kernel Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! RK3288 ! RK3328 ! RK3399 |- | rowspan="2" style="text-align: left;" | ADC | style="text-align: left;" | SARADC | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.14 |- | style="text-align: left;" | TSADC1 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | Clocks | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | CPUFreq | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | Crypto | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | CSI/ISP | style="background: orange;" | WIP | N/A | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | CIF | style="background: orange;" | WIP | style="background: orange;" | WIP | style="background: orange;" | WIP |- | rowspan="8" style="text-align: left;" | Display (DRM) | style="text-align: left;" | RGB | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |- | style="text-align: left;" | EDP | style="background: lightgreen;" | 4.4 | N/A | style="background: lightgreen;" | 4.14 |- | style="text-align: left;" | LVDS | style="background: red;" | NO | N/A | style="background: red;" | NO |- | style="text-align: left;" | MIPI DSI | style="background: lightgreen;" | 4.4 | N/A | style="background: lightgreen;" | 4.14 |- | style="text-align: left;" | CVBS | N/A | style="background: darkgreen;" | INCOMPLETE | N/A |- | style="text-align: left;" | VGA | N/A | N/A | N/A |- | style="text-align: left;" | HDMI | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE |- | style="text-align: left;" | CEC | style="background: red;" | NO | style="background: darkgreen;" | INCOMPLETE | style="background: red;" | NO |- | colspan="2" style="text-align: left;" | DMA | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | DDR DVFS | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |- | rowspan="2" style="text-align: left;" | Ethernet | style="text-align: left;" | GMAC | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.14 |- | style="text-align: left;" | EMAC | N/A | style="background: lightgreen;" | 4.14 | N/A |- | colspan="2" style="text-align: left;" | I2S | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left" | I2C | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | MsgBox | N/A | N/A | N/A |- | colspan="2" style="text-align: left;" | Pinctrl | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | PWM | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | Power Domain | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | PCIE | N/A | N/A | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | SD / SDIO / MMC | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | SPDIF | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | SPI | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | SUSPEND / RESUME | style="background: darkgreen;" | INCOMPLETE | style="background: lightgreen;" | 4.14 | style="background: darkgreen;" | INCOMPLETE |- | colspan="2" style="text-align: left;" | USB | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | USB OTG | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | TYPEC | N/A | N/A | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | Watchdog | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | GPU | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |- | colspan="2" style="text-align: left;" | VPU | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |- | colspan="2" style="text-align: left;" | RGA | style="background: lightgreen;" | 4.15 | style="background: orange;" | WIP | style="background: lightgreen;" | 4.15 |- | colspan="2" style="text-align: left;" | IEP | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |} &nbsp; &nbsp; &nbsp; == Linux SDK CHIP Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! RK3288 ! RK3328 ! RK3399 |- | colspan="2" style="text-align: left;" | Debian | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | rowspan="3" style="text-align: left;" | Yocto | style="text-align: left;" | X11 | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | QT EGLFS | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | WESTON | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE |- | colspan="2" style="text-align: left;" | Buildroot | N/A | N/A | style="background: lightgreen;" | SUPPORT |- | rowspan="5" style="text-align: left;" | Decode | style="text-align: left;" | H264 | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | H265 | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | VP8 | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | VP9 | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | JPEG | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE |- | rowspan="3" style="text-align: left;" | Encode | style="text-align: left;" | H264 | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | H265 | N/A | style="background: lightgreen;" | SUPPORT | N/A |- | style="text-align: left;" | JPEG | style="background: darkgreen;" | MPP | style="background: darkgreen;" | MPP | style="background: darkgreen;" | MPP |- | colspan="2" style="text-align: left;" | ISP(3A) | style="background: orange;" | WIP | N/A | style="background: orange;" | WIP |} <br/> &nbsp; == Linux&nbsp;Funciton Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! Status |- | rowspan="5" style="text-align: left;" | Gstreamer | style="text-align: left;" | Display | style="background: lightgreen;" | kmssink(qt eglfs),rkximagesink(x11), waylandsink(wayland) |- | style="text-align: left;" | Decode&nbsp; | style="background: lightgreen;" | h264, h265, vp8, vp9, jpeg |- | style="text-align: left;" | Encode | style="background: lightgreen;" | h264 |- | style="text-align: left;" | Camera | style="background: orange;" | Without 3A |- | style="text-align: left;" | Transform | style="background: orange;" | WIP |- | rowspan="2" style="text-align: left;" | GPU | style="text-align: left;" | GLES | style="background: lightgreen;" | libmali |- | style="text-align: left;" | OPENCL | style="background: lightgreen;" | libmali |- | colspan="2" rowspan="1" style="text-align: left;" | QT | style="background: lightgreen;" | QT 5.x |- | colspan="2" style="text-align: left;" | Browser(HTML5 Accelerate) | style="background: orange;" | WIP |- | colspan="2" style="text-align: left;" | IOT(Third part Could Service) | style="background: orange;" | WIP |- | colspan="2" style="text-align: left;" | FFmpeg | style="background: yellow;" | Community |- | colspan="2" style="text-align: left;" | MPV | style="background: yellow;" | Community |- | colspan="2" style="text-align: left;" | KODI | style="background: yellow;" | Community |} 80e1b95cb89f5517e840f90d873aaf5a9a2a53a6 Rockchip-isp1 0 171 1574 2017-11-30T05:57:06Z Jacob 6 Created page with " &nbsp;" wikitext text/x-wiki &nbsp; 9012a5db0e48f472dc89e97fa239cc9970681b37 1575 1574 2017-11-30T06:30:08Z Jacob 6 wikitext text/x-wiki NOTE: Under construction &nbsp; = Overview = rockchip-isp1 is a V4L2 based driver for Image Signal Processing block on Rockchip SoC. Compared to the earlier driver&nbsp;rk-isp10, it use&nbsp;Media Controller&nbsp;framework, which it's kind of different with&nbsp;plain v4L2. The document below&nbsp;provide&nbsp;basical informations&nbsp;about the&nbsp;rockchip-isp1 driver and&nbsp;Image Signal Processing block on Rockchip SoC&nbsp;with&nbsp; examples and details. &nbsp; 5ddd8d91128364cbe697cf9a15bdb6915ce1280b 1576 1575 2017-11-30T06:41:17Z Jacob 6 wikitext text/x-wiki NOTE: Under construction = Overview = rockchip-isp1 is a V4L2 based driver for Image Signal Processing block on Rockchip SoC. Compared to the earlier driver&nbsp;rk-isp10, it use&nbsp;Media Controller&nbsp;framework, which it's kind of different with&nbsp;plain v4L2. The document below&nbsp;provide&nbsp;basical informations&nbsp;about the&nbsp;rockchip-isp1 driver and&nbsp;Image Signal Processing block on Rockchip SoC&nbsp;with&nbsp; examples and details. = Hardware = == ISP Details == === Block diagram === The datasheet about ISP&nbsp;need NDA == MIPI Details == 2d97920769d363f71a5c2f7177602ae5e3ea5955 1577 1576 2017-11-30T06:48:28Z Jacob 6 wikitext text/x-wiki NOTE: Under construction = Overview = rockchip-isp1 is a V4L2 based driver for Image Signal Processing block on Rockchip SoC. Compared to the earlier driver&nbsp;rk-isp10, it use&nbsp;Media Controller&nbsp;framework, which it's kind of different with&nbsp;plain v4L2. The document below&nbsp;provide&nbsp;basical informations&nbsp;about the&nbsp;rockchip-isp1 driver and&nbsp;Image Signal Processing block on Rockchip SoC&nbsp;with&nbsp;examples and details. = Hardware = == ISP Details == === Block diagram === The datasheet about ISP&nbsp;is currently only available under&nbsp;''NDA, so we can't&nbsp;paste the completed block diagram from&nbsp;''datasheet&nbsp;to here. Below&nbsp;diagram&nbsp;is a abstract version: == MIPI Details == = Driver = = Software = == Android == === Camera Hal3 === TO BE DONE == Linux == === Gstreamer === === User applications&nbsp; === = Usage Example = &nbsp; 5a9edb9cc99f53e2cad1c8ffcda1a4ce24463094 1578 1577 2017-11-30T06:49:02Z Jacob 6 wikitext text/x-wiki NOTE: Under construction = Overview = rockchip-isp1 is a V4L2 based driver for Image Signal Processing block on Rockchip SoC. Compared to the earlier driver&nbsp;rk-isp10, it use&nbsp;Media Controller&nbsp;framework, which it's kind of different with&nbsp;plain v4L2. The document below&nbsp;provide&nbsp;basical informations&nbsp;about the&nbsp;rockchip-isp1 driver and&nbsp;Image Signal Processing block on Rockchip SoC&nbsp;with&nbsp;examples and details. = Hardware = == ISP Details == === Block diagram === The datasheet about ISP&nbsp;is currently only available under&nbsp;''NDA, so we can't&nbsp;paste the completed block diagram from&nbsp;''datasheet&nbsp;to here. Below&nbsp;diagram&nbsp;is a abstract version: == MIPI Details == = Driver = = Software = == Linux == === Gstreamer === === User applications&nbsp; === == Android == === Camera Hal3 === https://source.android.com/devices/camera/camera3?hl=zh-cn = Usage Example = &nbsp; a034df08a2fa1a94d873c06c2ebee01dd887114e 1579 1578 2017-11-30T06:50:57Z Jacob 6 wikitext text/x-wiki NOTE: Under construction = Overview = The document below&nbsp;provide&nbsp;basical informations&nbsp;about the&nbsp;rockchip-isp1 driver driver and&nbsp;Image Signal Processing block on Rockchip SoC&nbsp;with&nbsp;examples and details. = Hardware = == ISP Details == === Block diagram === The datasheet about ISP&nbsp;is currently only available under&nbsp;''NDA, so we can't&nbsp;paste the completed block diagram from&nbsp;''datasheet&nbsp;to here. Below&nbsp;diagram&nbsp;is a abstract version: == MIPI Details == = Driver = = Software = == Linux == === Gstreamer === === User applications&nbsp; === == Android == === Camera Hal3 === https://source.android.com/devices/camera/camera3?hl=zh-cn = Usage Example = &nbsp; 821a2bdcdddad54e8c685864ed111a7ef5cea5b2 1580 1579 2017-11-30T07:03:42Z Jacob 6 wikitext text/x-wiki NOTE: Under construction &nbsp; = Overview = The document below&nbsp;provide&nbsp;basical informations&nbsp;about the&nbsp;rockchip-isp1 driver driver and&nbsp;Image Signal Processing block on Rockchip SoC&nbsp;with&nbsp;examples and details. = Hardware = == ISP Details == === Block diagram === The datasheet about ISP&nbsp;is currently only available under&nbsp;''NDA, so we can't&nbsp;paste the completed block diagram from&nbsp;''datasheet&nbsp;to here. Below&nbsp;diagram&nbsp;is a abstract version: == MIPI Details == = Software = == Driver == rockchip-isp1 is a V4L2 based driver for Image Signal Processing block on Rockchip SoC. Compared to the earlier driver&nbsp;rk-isp10, it use&nbsp;Media Controller&nbsp;framework, which it's different from plain v4L2. === Media Controller Basics === Please read below link carefully,&nbsp;especially you don't have use it before. https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.html == Linux == === Gstreamer === === User applications&nbsp; === == Android == === Camera Hal3 === [https://source.android.com/devices/camera/camera3?hl=zh-cn https://source.android.com/devices/camera/camera3?hl=zh-cn] = Usage Example = &nbsp; 9edd88d138317fde7183fcdcacfc389969e4e340 1581 1580 2017-11-30T07:44:28Z Jacob 6 wikitext text/x-wiki NOTE: Under construction &nbsp; = Overview = The document below&nbsp;provide&nbsp;basical informations&nbsp;about the&nbsp;rockchip-isp1 driver driver and&nbsp;Image Signal Processing block on Rockchip SoC&nbsp;with&nbsp;examples and details. = Hardware = == ISP Details == === Block diagram === The datasheet about ISP&nbsp;is currently only available under&nbsp;''NDA, so we can't&nbsp;paste the completed block diagram from&nbsp;''datasheet&nbsp;to here. Below&nbsp;diagram&nbsp;is a abstract version: == MIPI Details == = Software = == Driver == rockchip-isp1 is a V4L2 based driver for Image Signal Processing block on Rockchip SoC. Compared to the earlier driver&nbsp;rk-isp10, it use&nbsp;Media Controller&nbsp;framework, which it's different from plain v4L2. While the plain v4L2 had a view of the device as a plain DMA based image drabber which connects the input data to the host memory, the Media Controller takes into consideration the fact that a typical video device might consist of multiple sub-devices&nbsp; === Media Controller Basics === Please read below link carefully,&nbsp;especially if you don't have use it before. [https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.html https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.html] === Topology === <pre>Media device information ------------------------ driver rkisp1 model rkisp1 serial bus info hw revision 0x0 driver version 0.0.0 Device topology - entity 1: rkisp1-isp-subdev (4 pads, 5 links) type V4L2 subdev subtype Unknown flags 0 device node name /dev/v4l-subdev0 pad0: Sink [fmt:SBGGR10_1X10/800x600 field:none crop.bounds:(0,0)/800x600 crop:(0,0)/800x600] <- "rockchip-sy-mipi-dphy":1 [ENABLED] pad1: Sink <- "rkisp1-input-params":0 [ENABLED] pad2: Source [fmt:SBGGR10_1X10/800x600 field:none crop.bounds:(0,0)/800x600 crop:(0,0)/800x600] -> "rkisp1_selfpath":0 [ENABLED] -> "rkisp1_mainpath":0 [ENABLED] pad3: Source -> "rkisp1-statistics":0 [ENABLED] - entity 2: rkisp1_selfpath (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video0 pad0: Sink <- "rkisp1-isp-subdev":2 [ENABLED] - entity 3: rkisp1_mainpath (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video1 pad0: Sink <- "rkisp1-isp-subdev":2 [ENABLED] - entity 4: rkisp1-statistics (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video2 pad0: Sink <- "rkisp1-isp-subdev":3 [ENABLED] - entity 5: rkisp1-input-params (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video3 pad0: Source -> "rkisp1-isp-subdev":1 [ENABLED] - entity 6: rockchip-sy-mipi-dphy (2 pads, 2 links) type V4L2 subdev subtype Unknown flags 0 device node name /dev/v4l-subdev1 pad0: Sink [fmt:SRGGB10_1X10/3280x2464 field:none] <- "imx219 2-0010":0 [ENABLED] pad1: Source [fmt:SRGGB10_1X10/3280x2464 field:none] -> "rkisp1-isp-subdev":0 [ENABLED] - entity 7: imx219 2-0010 (1 pad, 1 link) type V4L2 subdev subtype Sensor flags 0 device node name /dev/v4l-subdev2 pad0: Source [fmt:SRGGB10_1X10/3280x2464 field:none] -> "rockchip-sy-mipi-dphy":0 [ENABLED]</pre> == Linux == === User applications&nbsp; === === The applcation for&nbsp;plain v4L2 capture device still can be used(like gstreamer v4l2src plugins, v4l2ctl), but the media&nbsp;controller must be setup in a&nbsp;proper state before starting capture.<br/> For your own applications for Video Capture with rockchip-isp1 driver, it should do things like thefollowing commands: === === <br/> Gstreamer === == Android == === Camera Hal3 === [https://source.android.com/devices/camera/camera3?hl=zh-cn https://source.android.com/devices/camera/camera3?hl=zh-cn] = Usage Example = &nbsp; bf2cf6719709545b811491a5a18e3c7950be5647 1582 1581 2017-11-30T07:45:39Z Jacob 6 wikitext text/x-wiki NOTE: Under construction &nbsp; = Overview = The document below&nbsp;provide&nbsp;basical informations&nbsp;about the&nbsp;rockchip-isp1 driver driver and&nbsp;Image Signal Processing block on Rockchip SoC&nbsp;with&nbsp;examples and details. = Hardware = == ISP Details == === Block diagram === The datasheet about ISP&nbsp;is currently only available under&nbsp;''NDA, so we can't&nbsp;paste the completed block diagram from&nbsp;''datasheet&nbsp;to here. Below&nbsp;diagram&nbsp;is a abstract version: == MIPI Details == = Software = == Driver == rockchip-isp1 is a V4L2 based driver for Image Signal Processing block on Rockchip SoC. Compared to the earlier driver&nbsp;rk-isp10, it use&nbsp;Media Controller&nbsp;framework, which it's different from plain v4L2. While the plain v4L2 had a view of the device as a plain DMA based image drabber which connects the input data to the host memory, the Media Controller takes into consideration the fact that a typical video device might consist of multiple sub-devices&nbsp; === Media Controller Basics === Please read below link carefully,&nbsp;especially if you don't have use it before. [https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.html https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.html] == Linux == === User applications&nbsp; === The applcation for&nbsp;plain v4L2 capture device still can be used(like gstreamer v4l2src plugins, v4l2ctl), but the media&nbsp;controller must be setup in a&nbsp;proper state before starting capture.<br/> For your own applications for Video Capture with rockchip-isp1 driver, it should do things like thefollowing commands: === <br/> Gstreamer === == Android == === Camera Hal3 === [https://source.android.com/devices/camera/camera3?hl=zh-cn https://source.android.com/devices/camera/camera3?hl=zh-cn] = Usage Example = = Others = == Topology == <pre>Media device information ------------------------ driver rkisp1 model rkisp1 serial bus info hw revision 0x0 driver version 0.0.0 Device topology - entity 1: rkisp1-isp-subdev (4 pads, 5 links) type V4L2 subdev subtype Unknown flags 0 device node name /dev/v4l-subdev0 pad0: Sink [fmt:SBGGR10_1X10/800x600 field:none crop.bounds:(0,0)/800x600 crop:(0,0)/800x600] <- "rockchip-sy-mipi-dphy":1 [ENABLED] pad1: Sink <- "rkisp1-input-params":0 [ENABLED] pad2: Source [fmt:SBGGR10_1X10/800x600 field:none crop.bounds:(0,0)/800x600 crop:(0,0)/800x600] -> "rkisp1_selfpath":0 [ENABLED] -> "rkisp1_mainpath":0 [ENABLED] pad3: Source -> "rkisp1-statistics":0 [ENABLED] - entity 2: rkisp1_selfpath (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video0 pad0: Sink <- "rkisp1-isp-subdev":2 [ENABLED] - entity 3: rkisp1_mainpath (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video1 pad0: Sink <- "rkisp1-isp-subdev":2 [ENABLED] - entity 4: rkisp1-statistics (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video2 pad0: Sink <- "rkisp1-isp-subdev":3 [ENABLED] - entity 5: rkisp1-input-params (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video3 pad0: Source -> "rkisp1-isp-subdev":1 [ENABLED] - entity 6: rockchip-sy-mipi-dphy (2 pads, 2 links) type V4L2 subdev subtype Unknown flags 0 device node name /dev/v4l-subdev1 pad0: Sink [fmt:SRGGB10_1X10/3280x2464 field:none] <- "imx219 2-0010":0 [ENABLED] pad1: Source [fmt:SRGGB10_1X10/3280x2464 field:none] -> "rkisp1-isp-subdev":0 [ENABLED] - entity 7: imx219 2-0010 (1 pad, 1 link) type V4L2 subdev subtype Sensor flags 0 device node name /dev/v4l-subdev2 pad0: Source [fmt:SRGGB10_1X10/3280x2464 field:none] -> "rockchip-sy-mipi-dphy":0 [ENABLED]</pre> 1a2236e4387b0d588ee85c13157b4ea019235599 1583 1582 2017-11-30T08:16:20Z Jacob 6 wikitext text/x-wiki NOTE: Under construction &nbsp; = Overview = The document below&nbsp;provide&nbsp;basical informations&nbsp;about the&nbsp;rockchip-isp1 driver driver and&nbsp;Image Signal Processing block on Rockchip SoC&nbsp;with&nbsp;examples and details. = Hardware = == ISP Details == === Block diagram === The datasheet about ISP&nbsp;is currently only available under&nbsp;''NDA, so we can't&nbsp;paste the completed block diagram from&nbsp;''datasheet&nbsp;to here. Below&nbsp;diagram&nbsp;is a abstract version: == MIPI Details == = Software = == Driver == rockchip-isp1 is a V4L2 based driver for Image Signal Processing block on Rockchip SoC. Compared to the earlier driver&nbsp;rk-isp10, it use&nbsp;Media Controller&nbsp;framework, which it's different from plain v4L2. While the plain v4L2 had a view of the device as a plain DMA based image drabber which connects the input data to the host memory, the Media Controller takes into consideration the fact that a typical video device might consist of multiple sub-devices&nbsp; === Media Controller Basics === Please read below link carefully,&nbsp;especially if you don't have use it before. [https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.html https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.html] == Linux == === User applications&nbsp; === The applcation for&nbsp;plain v4L2 capture device still can be used(like gstreamer v4l2src plugins, v4l2ctl), but the media&nbsp;controller must be setup in a&nbsp;proper state before starting capture.<br/> For your own applications for Video Capture with rockchip-isp1 driver, it should do things like thefollowing commands: <pre>media-ctl -l '"rockchip-sy-mipi-dphy":1->"rkisp1-isp-subdev":0[1]' media-ctl -l '"rkisp1-input-params":0->"rkisp1-isp-subdev":1[1]' media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_selfpath":0[1]' media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_mainpath":0[1]' media-ctl -l '"rkisp1-isp-subdev":3->"rkisp1-statistics":0[1]' # Above parts of media pipeline have been initializated when kernel driver probing, but please note that they can be changed in runtime # Set pad formats ## rkisp1 source pad media-ctl -d /dev/media0 --set-v4l2 '"rkisp1-isp-subdev":2[fmt:YUYV2X8/800x600]' ## rkisp1 sink pad == sensor source [ad] media-ctl -d /dev/media0 --set-v4l2 '"rkisp1-isp-subdev":0[fmt:YUYV2X8/800*600]' media-ctl -d /dev/media0 --set-v4l2 '"ov2685 7-0010":0[fmt:SRGGB10/800*600]' # Set link(Assume there are two sensors in one mipi-phy) ## Enable sensor1 media-ctl -l '"ov2685 7-0010":0->"rockchip-sy-mipi-dphy":0[1]' ## Disable sensor2 media-ctl -l '"ov5695 7-0036":0->"rockchip-sy-mipi-dphy":0[0]'</pre> ==== Integrate 3A&nbsp;algorithm ==== TO BE DONE === <br/> Gstreamer === &nbsp; == Android == === Camera Hal3 === [https://source.android.com/devices/camera/camera3?hl=zh-cn https://source.android.com/devices/camera/camera3?hl=zh-cn] = Usage Example = = Others = == Topology == <pre>Media device information ------------------------ driver rkisp1 model rkisp1 serial bus info hw revision 0x0 driver version 0.0.0 Device topology - entity 1: rkisp1-isp-subdev (4 pads, 5 links) type V4L2 subdev subtype Unknown flags 0 device node name /dev/v4l-subdev0 pad0: Sink [fmt:SBGGR10_1X10/800x600 field:none crop.bounds:(0,0)/800x600 crop:(0,0)/800x600] <- "rockchip-sy-mipi-dphy":1 [ENABLED] pad1: Sink <- "rkisp1-input-params":0 [ENABLED] pad2: Source [fmt:SBGGR10_1X10/800x600 field:none crop.bounds:(0,0)/800x600 crop:(0,0)/800x600] -> "rkisp1_selfpath":0 [ENABLED] -> "rkisp1_mainpath":0 [ENABLED] pad3: Source -> "rkisp1-statistics":0 [ENABLED] - entity 2: rkisp1_selfpath (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video0 pad0: Sink <- "rkisp1-isp-subdev":2 [ENABLED] - entity 3: rkisp1_mainpath (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video1 pad0: Sink <- "rkisp1-isp-subdev":2 [ENABLED] - entity 4: rkisp1-statistics (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video2 pad0: Sink <- "rkisp1-isp-subdev":3 [ENABLED] - entity 5: rkisp1-input-params (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video3 pad0: Source -> "rkisp1-isp-subdev":1 [ENABLED] - entity 6: rockchip-sy-mipi-dphy (2 pads, 2 links) type V4L2 subdev subtype Unknown flags 0 device node name /dev/v4l-subdev1 pad0: Sink [fmt:SRGGB10_1X10/3280x2464 field:none] <- "imx219 2-0010":0 [ENABLED] pad1: Source [fmt:SRGGB10_1X10/3280x2464 field:none] -> "rkisp1-isp-subdev":0 [ENABLED] - entity 7: imx219 2-0010 (1 pad, 1 link) type V4L2 subdev subtype Sensor flags 0 device node name /dev/v4l-subdev2 pad0: Source [fmt:SRGGB10_1X10/3280x2464 field:none] -> "rockchip-sy-mipi-dphy":0 [ENABLED]</pre> 3df03cd60e7b5984383efc7058c53b843f6f9430 1584 1583 2017-11-30T08:22:44Z Jacob 6 wikitext text/x-wiki NOTE: Under construction &nbsp; = Overview = The document below&nbsp;provide&nbsp;basical informations&nbsp;about the&nbsp;rockchip-isp1 driver driver and&nbsp;Image Signal Processing block on Rockchip SoC&nbsp;with&nbsp;examples and details. = Hardware = == ISP Details == === Block diagram === The datasheet about ISP&nbsp;is currently only available under&nbsp;NDA, so we can't&nbsp;paste the completed block diagram from&nbsp;datasheet&nbsp;to here. Below&nbsp;diagram&nbsp;is a abstract version: == MIPI Details == = Software = == Driver == rockchip-isp1 is a V4L2 based driver for Image Signal Processing block on Rockchip SoC. Compared to the earlier driver&nbsp;rk-isp10, it use&nbsp;Media Controller&nbsp;framework, which it's different from plain v4L2. While the plain v4L2 had a view of the device as a plain DMA based image drabber which connects the input data to the host memory, the Media Controller takes into consideration the fact that a typical video device might consist of multiple sub-devices&nbsp; === Media Controller Basics === Please read below link carefully,&nbsp;especially if you don't have use it before. [https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.html https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.html] == Linux == === User applications&nbsp; === The applcation for&nbsp;plain v4L2 capture device still can be used(like gstreamer v4l2src plugins, v4l2ctl), but the media&nbsp;controller must be setup in a&nbsp;proper state before starting capture.<br/> For your own applications for Video Capture with rockchip-isp1 driver, it should do things like thefollowing commands: <pre>media-ctl -l '"rockchip-sy-mipi-dphy":1->"rkisp1-isp-subdev":0[1]' media-ctl -l '"rkisp1-input-params":0->"rkisp1-isp-subdev":1[1]' media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_selfpath":0[1]' media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_mainpath":0[1]' media-ctl -l '"rkisp1-isp-subdev":3->"rkisp1-statistics":0[1]' # Above parts of media pipeline have been initializated when kernel driver probing, but please note that they can be changed in runtime # Set pad formats ## rkisp1 source pad media-ctl -d /dev/media0 --set-v4l2 '"rkisp1-isp-subdev":2[fmt:YUYV2X8/800x600]' ## rkisp1 sink pad == sensor source [ad] media-ctl -d /dev/media0 --set-v4l2 '"rkisp1-isp-subdev":0[fmt:YUYV2X8/800*600]' media-ctl -d /dev/media0 --set-v4l2 '"ov2685 7-0010":0[fmt:SRGGB10/800*600]' # Set link(Assume there are two sensors in one mipi-phy) ## Enable sensor1 media-ctl -l '"ov2685 7-0010":0->"rockchip-sy-mipi-dphy":0[1]' ## Disable sensor2 media-ctl -l '"ov5695 7-0036":0->"rockchip-sy-mipi-dphy":0[0]'</pre> ==== Integrate 3A&nbsp;algorithm ==== TO BE DONE === <br/> Gstreamer === &nbsp; == Android == === Camera Hal3 === [https://source.android.com/devices/camera/camera3?hl=zh-cn https://source.android.com/devices/camera/camera3?hl=zh-cn] = Reproduce = The driver can run&nbsp;on ASUS Tinker Board and Firefly-RK3288-Reload. == Source Code == === Kernel: === ==== Mainline: ==== 4.15 + [https://patchwork.linuxtv.org/project/linux-media/list/?submitter=7231 FORMLIST Patches] Rockchip BSP: https://github.com/rockchip-linux/kernel/tree/isp-early-access === Sensor Driver: === = Others = == Topology == <pre>Media device information ------------------------ driver rkisp1 model rkisp1 serial bus info hw revision 0x0 driver version 0.0.0 Device topology - entity 1: rkisp1-isp-subdev (4 pads, 5 links) type V4L2 subdev subtype Unknown flags 0 device node name /dev/v4l-subdev0 pad0: Sink [fmt:SBGGR10_1X10/800x600 field:none crop.bounds:(0,0)/800x600 crop:(0,0)/800x600] <- "rockchip-sy-mipi-dphy":1 [ENABLED] pad1: Sink <- "rkisp1-input-params":0 [ENABLED] pad2: Source [fmt:SBGGR10_1X10/800x600 field:none crop.bounds:(0,0)/800x600 crop:(0,0)/800x600] -> "rkisp1_selfpath":0 [ENABLED] -> "rkisp1_mainpath":0 [ENABLED] pad3: Source -> "rkisp1-statistics":0 [ENABLED] - entity 2: rkisp1_selfpath (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video0 pad0: Sink <- "rkisp1-isp-subdev":2 [ENABLED] - entity 3: rkisp1_mainpath (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video1 pad0: Sink <- "rkisp1-isp-subdev":2 [ENABLED] - entity 4: rkisp1-statistics (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video2 pad0: Sink <- "rkisp1-isp-subdev":3 [ENABLED] - entity 5: rkisp1-input-params (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video3 pad0: Source -> "rkisp1-isp-subdev":1 [ENABLED] - entity 6: rockchip-sy-mipi-dphy (2 pads, 2 links) type V4L2 subdev subtype Unknown flags 0 device node name /dev/v4l-subdev1 pad0: Sink [fmt:SRGGB10_1X10/3280x2464 field:none] <- "imx219 2-0010":0 [ENABLED] pad1: Source [fmt:SRGGB10_1X10/3280x2464 field:none] -> "rkisp1-isp-subdev":0 [ENABLED] - entity 7: imx219 2-0010 (1 pad, 1 link) type V4L2 subdev subtype Sensor flags 0 device node name /dev/v4l-subdev2 pad0: Source [fmt:SRGGB10_1X10/3280x2464 field:none] -> "rockchip-sy-mipi-dphy":0 [ENABLED]</pre> 4e1b1d48242552844f47709722a6e693856520ce 1585 1584 2017-11-30T08:23:43Z Jacob 6 wikitext text/x-wiki NOTE: Under construction &nbsp; = Overview = The document below&nbsp;provide&nbsp;basical informations&nbsp;about the&nbsp;rockchip-isp1 driver driver and&nbsp;Image Signal Processing block on Rockchip SoC&nbsp;with&nbsp;examples and details. = Hardware = == ISP Details == === Block diagram === The datasheet about ISP&nbsp;is currently only available under&nbsp;NDA, so we can't&nbsp;paste the completed block diagram from&nbsp;datasheet&nbsp;to here. Below&nbsp;diagram&nbsp;is a abstract version: == MIPI Details == = Software = == Driver == rockchip-isp1 is a V4L2 based driver for Image Signal Processing block on Rockchip SoC. Compared to the earlier driver&nbsp;rk-isp10, it use&nbsp;Media Controller&nbsp;framework, which it's different from plain v4L2. While the plain v4L2 had a view of the device as a plain DMA based image drabber which connects the input data to the host memory, the Media Controller takes into consideration the fact that a typical video device might consist of multiple sub-devices&nbsp; === Media Controller Basics === Please read below link carefully,&nbsp;especially if you don't have use it before. [https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.html https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.html] == Linux == === User applications&nbsp; === The applcation for&nbsp;plain v4L2 capture device still can be used(like gstreamer v4l2src plugins, v4l2ctl), but the media&nbsp;controller must be setup in a&nbsp;proper state before starting capture.<br/> For your own applications for Video Capture with rockchip-isp1 driver, it should do things like the following commands: <pre>media-ctl -l '"rockchip-sy-mipi-dphy":1->"rkisp1-isp-subdev":0[1]' media-ctl -l '"rkisp1-input-params":0->"rkisp1-isp-subdev":1[1]' media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_selfpath":0[1]' media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_mainpath":0[1]' media-ctl -l '"rkisp1-isp-subdev":3->"rkisp1-statistics":0[1]' # Above parts of media pipeline have been initializated when kernel driver probing, but please note that they can be changed in runtime # Set pad formats ## rkisp1 source pad media-ctl -set-v4l2 '"rkisp1-isp-subdev":2[fmt:YUYV2X8/800x600]' ## rkisp1 sink pad == sensor source [ad] media-ctl --set-v4l2 '"rkisp1-isp-subdev":0[fmt:YUYV2X8/800*600]' media-ctl --set-v4l2 '"ov2685 7-0010":0[fmt:SRGGB10/800*600]' # Set link(Assume there are two sensors in one mipi-phy) ## Enable sensor1 media-ctl -l '"ov2685 7-0010":0->"rockchip-sy-mipi-dphy":0[1]' ## Disable sensor2 media-ctl -l '"ov5695 7-0036":0->"rockchip-sy-mipi-dphy":0[0]'</pre> ==== Integrate 3A&nbsp;algorithm ==== TO BE DONE === <br/> Gstreamer === &nbsp; == Android == === Camera Hal3 === [https://source.android.com/devices/camera/camera3?hl=zh-cn https://source.android.com/devices/camera/camera3?hl=zh-cn] = Reproduce = The driver can run&nbsp;on ASUS Tinker Board and Firefly-RK3288-Reload. == Source Code == === Kernel: === ==== Mainline: ==== 4.15 + [https://patchwork.linuxtv.org/project/linux-media/list/?submitter=7231 FORMLIST Patches] Rockchip BSP: https://github.com/rockchip-linux/kernel/tree/isp-early-access === Sensor Driver: === = Others = == Topology == <pre>Media device information ------------------------ driver rkisp1 model rkisp1 serial bus info hw revision 0x0 driver version 0.0.0 Device topology - entity 1: rkisp1-isp-subdev (4 pads, 5 links) type V4L2 subdev subtype Unknown flags 0 device node name /dev/v4l-subdev0 pad0: Sink [fmt:SBGGR10_1X10/800x600 field:none crop.bounds:(0,0)/800x600 crop:(0,0)/800x600] <- "rockchip-sy-mipi-dphy":1 [ENABLED] pad1: Sink <- "rkisp1-input-params":0 [ENABLED] pad2: Source [fmt:SBGGR10_1X10/800x600 field:none crop.bounds:(0,0)/800x600 crop:(0,0)/800x600] -> "rkisp1_selfpath":0 [ENABLED] -> "rkisp1_mainpath":0 [ENABLED] pad3: Source -> "rkisp1-statistics":0 [ENABLED] - entity 2: rkisp1_selfpath (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video0 pad0: Sink <- "rkisp1-isp-subdev":2 [ENABLED] - entity 3: rkisp1_mainpath (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video1 pad0: Sink <- "rkisp1-isp-subdev":2 [ENABLED] - entity 4: rkisp1-statistics (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video2 pad0: Sink <- "rkisp1-isp-subdev":3 [ENABLED] - entity 5: rkisp1-input-params (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video3 pad0: Source -> "rkisp1-isp-subdev":1 [ENABLED] - entity 6: rockchip-sy-mipi-dphy (2 pads, 2 links) type V4L2 subdev subtype Unknown flags 0 device node name /dev/v4l-subdev1 pad0: Sink [fmt:SRGGB10_1X10/3280x2464 field:none] <- "imx219 2-0010":0 [ENABLED] pad1: Source [fmt:SRGGB10_1X10/3280x2464 field:none] -> "rkisp1-isp-subdev":0 [ENABLED] - entity 7: imx219 2-0010 (1 pad, 1 link) type V4L2 subdev subtype Sensor flags 0 device node name /dev/v4l-subdev2 pad0: Source [fmt:SRGGB10_1X10/3280x2464 field:none] -> "rockchip-sy-mipi-dphy":0 [ENABLED]</pre> 5e562708a4f1d2dd7c5493ff6cc1df72ada49fbe 1586 1585 2017-11-30T08:24:07Z Jacob 6 wikitext text/x-wiki NOTE: Under construction &nbsp; = Overview = The document below&nbsp;provide&nbsp;basical informations&nbsp;about the&nbsp;rockchip-isp1 driver driver and&nbsp;Image Signal Processing block on Rockchip SoC&nbsp;with&nbsp;examples and details. = Hardware = == ISP Details == === Block diagram === The datasheet about ISP&nbsp;is currently only available under&nbsp;NDA, so we can't&nbsp;paste the completed block diagram from&nbsp;datasheet&nbsp;to here. Below&nbsp;diagram&nbsp;is a abstract version: == MIPI Details == = Software = == Driver == rockchip-isp1 is a V4L2 based driver for Image Signal Processing block on Rockchip SoC. Compared to the earlier driver&nbsp;rk-isp10, it use&nbsp;Media Controller&nbsp;framework, which it's different from plain v4L2. While the plain v4L2 had a view of the device as a plain DMA based image drabber which connects the input data to the host memory, the Media Controller takes into consideration the fact that a typical video device might consist of multiple sub-devices&nbsp; === Media Controller Basics === Please read below link carefully,&nbsp;especially if you don't have use it before. [https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.html https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.html] == Linux == === User applications&nbsp; === The applcation for&nbsp;plain v4L2 capture device still can be used(like gstreamer v4l2src plugins, v4l2ctl), but the media&nbsp;controller must be setup in a&nbsp;proper state before starting capture.<br/> For your own applications for Video Capture with rockchip-isp1 driver, it should do things like the following commands: <pre>media-ctl -l '"rockchip-sy-mipi-dphy":1->"rkisp1-isp-subdev":0[1]' media-ctl -l '"rkisp1-input-params":0->"rkisp1-isp-subdev":1[1]' media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_selfpath":0[1]' media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_mainpath":0[1]' media-ctl -l '"rkisp1-isp-subdev":3->"rkisp1-statistics":0[1]' # Above parts of media pipeline have been initializated when kernel driver probing, but please note that they can be changed in runtime # Set pad formats ## rkisp1 source pad media-ctl -set-v4l2 '"rkisp1-isp-subdev":2[fmt:YUYV2X8/800x600]' ## rkisp1 sink pad == sensor source [ad] media-ctl --set-v4l2 '"rkisp1-isp-subdev":0[fmt:SRGGB10/800*600]' media-ctl --set-v4l2 '"ov2685 7-0010":0[fmt:SRGGB10/800*600]' # Set link(Assume there are two sensors in one mipi-phy) ## Enable sensor1 media-ctl -l '"ov2685 7-0010":0->"rockchip-sy-mipi-dphy":0[1]' ## Disable sensor2 media-ctl -l '"ov5695 7-0036":0->"rockchip-sy-mipi-dphy":0[0]'</pre> ==== Integrate 3A&nbsp;algorithm ==== TO BE DONE === <br/> Gstreamer === &nbsp; == Android == === Camera Hal3 === [https://source.android.com/devices/camera/camera3?hl=zh-cn https://source.android.com/devices/camera/camera3?hl=zh-cn] = Reproduce = The driver can run&nbsp;on ASUS Tinker Board and Firefly-RK3288-Reload. == Source Code == === Kernel: === ==== Mainline: ==== 4.15 + [https://patchwork.linuxtv.org/project/linux-media/list/?submitter=7231 FORMLIST Patches] Rockchip BSP: https://github.com/rockchip-linux/kernel/tree/isp-early-access === Sensor Driver: === = Others = == Topology == <pre>Media device information ------------------------ driver rkisp1 model rkisp1 serial bus info hw revision 0x0 driver version 0.0.0 Device topology - entity 1: rkisp1-isp-subdev (4 pads, 5 links) type V4L2 subdev subtype Unknown flags 0 device node name /dev/v4l-subdev0 pad0: Sink [fmt:SBGGR10_1X10/800x600 field:none crop.bounds:(0,0)/800x600 crop:(0,0)/800x600] <- "rockchip-sy-mipi-dphy":1 [ENABLED] pad1: Sink <- "rkisp1-input-params":0 [ENABLED] pad2: Source [fmt:SBGGR10_1X10/800x600 field:none crop.bounds:(0,0)/800x600 crop:(0,0)/800x600] -> "rkisp1_selfpath":0 [ENABLED] -> "rkisp1_mainpath":0 [ENABLED] pad3: Source -> "rkisp1-statistics":0 [ENABLED] - entity 2: rkisp1_selfpath (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video0 pad0: Sink <- "rkisp1-isp-subdev":2 [ENABLED] - entity 3: rkisp1_mainpath (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video1 pad0: Sink <- "rkisp1-isp-subdev":2 [ENABLED] - entity 4: rkisp1-statistics (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video2 pad0: Sink <- "rkisp1-isp-subdev":3 [ENABLED] - entity 5: rkisp1-input-params (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video3 pad0: Source -> "rkisp1-isp-subdev":1 [ENABLED] - entity 6: rockchip-sy-mipi-dphy (2 pads, 2 links) type V4L2 subdev subtype Unknown flags 0 device node name /dev/v4l-subdev1 pad0: Sink [fmt:SRGGB10_1X10/3280x2464 field:none] <- "imx219 2-0010":0 [ENABLED] pad1: Source [fmt:SRGGB10_1X10/3280x2464 field:none] -> "rkisp1-isp-subdev":0 [ENABLED] - entity 7: imx219 2-0010 (1 pad, 1 link) type V4L2 subdev subtype Sensor flags 0 device node name /dev/v4l-subdev2 pad0: Source [fmt:SRGGB10_1X10/3280x2464 field:none] -> "rockchip-sy-mipi-dphy":0 [ENABLED]</pre> cc89311e69440f1993c9a98a7c725a73f727493a 1587 1586 2017-11-30T08:37:54Z Jacob 6 wikitext text/x-wiki NOTE: Under construction &nbsp; = Overview = The document below&nbsp;provide&nbsp;basical informations&nbsp;about the&nbsp;rockchip-isp1 driver driver and&nbsp;Image Signal Processing block on Rockchip SoC&nbsp;with&nbsp;examples and details. = Hardware = == ISP Details == === Block diagram === The datasheet about ISP&nbsp;is currently only available under&nbsp;NDA, so we can't&nbsp;paste the completed block diagram from&nbsp;datasheet&nbsp;to here. Below&nbsp;diagram&nbsp;is a abstract version: == MIPI Details == = Software = == Driver == rockchip-isp1 is a V4L2 based driver for Image Signal Processing block on Rockchip SoC. Compared to the earlier driver&nbsp;rk-isp10, it use&nbsp;Media Controller&nbsp;framework, which it's different from plain v4L2. While the plain v4L2 had a view of the device as a plain DMA based image drabber which connects the input data to the host memory, the Media Controller takes into consideration the fact that a typical video device might consist of multiple sub-devices&nbsp; === Media Controller Basics === Please read below link carefully,&nbsp;especially if you don't have use it before. [https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.html https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.html] == Linux == === User applications&nbsp; === The applcation for&nbsp;plain v4L2 capture device still can be used(like gstreamer v4l2src plugins, v4l2ctl), but the media&nbsp;controller must be setup in a&nbsp;proper state before starting capture.<br/> For your own applications for Video Capture with rockchip-isp1 driver, it should do things like the following commands: <pre>media-ctl -l '"rockchip-sy-mipi-dphy":1->"rkisp1-isp-subdev":0[1]' media-ctl -l '"rkisp1-input-params":0->"rkisp1-isp-subdev":1[1]' media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_selfpath":0[1]' media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_mainpath":0[1]' media-ctl -l '"rkisp1-isp-subdev":3->"rkisp1-statistics":0[1]' # Above parts of media pipeline have been initializated when kernel driver probing, but please note that they can be changed in runtime # Set pad formats ## rkisp1 source pad media-ctl -set-v4l2 '"rkisp1-isp-subdev":2[fmt:YUYV2X8/800x600]' ## rkisp1 sink pad == sensor source [ad] media-ctl --set-v4l2 '"rkisp1-isp-subdev":0[fmt:SRGGB10/800*600]' media-ctl --set-v4l2 '"ov2685 7-0010":0[fmt:SRGGB10/800*600]' # Set link(Assume there are two sensors in one mipi-phy) ## Enable sensor1 media-ctl -l '"ov2685 7-0010":0->"rockchip-sy-mipi-dphy":0[1]' ## Disable sensor2 media-ctl -l '"ov5695 7-0036":0->"rockchip-sy-mipi-dphy":0[0]'</pre> ==== Integrate 3A&nbsp;algorithm(TO BE DONE) ==== Multi sensors(TO BE DONE) Multi paths (TO BE DONE) ===== Record&nbsp;Preview, Still Capture&nbsp;in different resolution&nbsp;at a time ===== === <br/> Gstreamer === We have write a gstreamer plugin, [https://github.com/rockchip-linux/gstreamer-rockchip-extra rkcamsrc], which is a modified&nbsp;v4l2src plugin. &nbsp; Please refer to readme in github for usage. == Android == === Camera Hal3 === [https://source.android.com/devices/camera/camera3?hl=zh-cn https://source.android.com/devices/camera/camera3?hl=zh-cn] = Reproduce = The driver can run&nbsp;on ASUS Tinker Board and Firefly-RK3288-Reload. == Source Code == === Kernel: === ==== Mainline: ==== 4.15 + [https://patchwork.linuxtv.org/project/linux-media/list/?submitter=7231 FORMLIST Patches] Rockchip BSP: [https://github.com/rockchip-linux/kernel/tree/isp-early-access https://github.com/rockchip-linux/kernel/tree/isp-early-access] === Sensor Driver: === = Others = == Topology == <pre>Media device information ------------------------ driver rkisp1 model rkisp1 serial bus info hw revision 0x0 driver version 0.0.0 Device topology - entity 1: rkisp1-isp-subdev (4 pads, 5 links) type V4L2 subdev subtype Unknown flags 0 device node name /dev/v4l-subdev0 pad0: Sink [fmt:SBGGR10_1X10/800x600 field:none crop.bounds:(0,0)/800x600 crop:(0,0)/800x600] <- "rockchip-sy-mipi-dphy":1 [ENABLED] pad1: Sink <- "rkisp1-input-params":0 [ENABLED] pad2: Source [fmt:SBGGR10_1X10/800x600 field:none crop.bounds:(0,0)/800x600 crop:(0,0)/800x600] -> "rkisp1_selfpath":0 [ENABLED] -> "rkisp1_mainpath":0 [ENABLED] pad3: Source -> "rkisp1-statistics":0 [ENABLED] - entity 2: rkisp1_selfpath (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video0 pad0: Sink <- "rkisp1-isp-subdev":2 [ENABLED] - entity 3: rkisp1_mainpath (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video1 pad0: Sink <- "rkisp1-isp-subdev":2 [ENABLED] - entity 4: rkisp1-statistics (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video2 pad0: Sink <- "rkisp1-isp-subdev":3 [ENABLED] - entity 5: rkisp1-input-params (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video3 pad0: Source -> "rkisp1-isp-subdev":1 [ENABLED] - entity 6: rockchip-sy-mipi-dphy (2 pads, 2 links) type V4L2 subdev subtype Unknown flags 0 device node name /dev/v4l-subdev1 pad0: Sink [fmt:SRGGB10_1X10/3280x2464 field:none] <- "imx219 2-0010":0 [ENABLED] pad1: Source [fmt:SRGGB10_1X10/3280x2464 field:none] -> "rkisp1-isp-subdev":0 [ENABLED] - entity 7: imx219 2-0010 (1 pad, 1 link) type V4L2 subdev subtype Sensor flags 0 device node name /dev/v4l-subdev2 pad0: Source [fmt:SRGGB10_1X10/3280x2464 field:none] -> "rockchip-sy-mipi-dphy":0 [ENABLED]</pre> b97195b11f273496b43b08252f76340ab3c23673 1588 1587 2017-11-30T08:41:36Z Jacob 6 wikitext text/x-wiki NOTE: Under construction &nbsp; = Overview = The document below&nbsp;provide&nbsp;basical informations&nbsp;about the&nbsp;rockchip-isp1 driver driver and&nbsp;Image Signal Processing block on Rockchip SoC&nbsp;with&nbsp;examples and details. = Hardware = == ISP Details == === Block diagram === The datasheet about ISP&nbsp;is currently only available under&nbsp;NDA, so we can't&nbsp;paste the completed block diagram from&nbsp;datasheet&nbsp;to here. Below&nbsp;diagram&nbsp;is a abstract version: == MIPI Details == = Software = == Driver == rockchip-isp1 is a V4L2 based driver for Image Signal Processing block on Rockchip SoC. Compared to the earlier driver&nbsp;rk-isp10, it use&nbsp;Media Controller&nbsp;framework, which it's different from plain v4L2. While the plain v4L2 had a view of the device as a plain DMA based image drabber which connects the input data to the host memory, the Media Controller takes into consideration the fact that a typical video device might consist of multiple sub-devices&nbsp; === Media Controller Basics === Please read below link carefully,&nbsp;especially if you don't have use it before. [https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.html https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.html] == Linux == === User applications&nbsp; === The applcation for&nbsp;plain v4L2 capture device still can be used(like gstreamer v4l2src plugins, v4l2ctl), but the media&nbsp;controller must be setup in a&nbsp;proper state before starting capture.<br/> For your own applications for Video Capture with rockchip-isp1 driver, it should do things like the following commands: <pre>media-ctl -l '"rockchip-sy-mipi-dphy":1->"rkisp1-isp-subdev":0[1]' media-ctl -l '"rkisp1-input-params":0->"rkisp1-isp-subdev":1[1]' media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_selfpath":0[1]' media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_mainpath":0[1]' media-ctl -l '"rkisp1-isp-subdev":3->"rkisp1-statistics":0[1]' # Above parts of media pipeline have been initializated when kernel driver probing, but please note that they can be changed in runtime # Set pad formats ## rkisp1 source pad media-ctl -set-v4l2 '"rkisp1-isp-subdev":2[fmt:YUYV2X8/800x600]' ## rkisp1 sink pad == sensor source [ad] media-ctl --set-v4l2 '"rkisp1-isp-subdev":0[fmt:SRGGB10/800*600]' media-ctl --set-v4l2 '"ov2685 7-0010":0[fmt:SRGGB10/800*600]' # Set link(Assume there are two sensors in one mipi-phy) ## Enable sensor1 media-ctl -l '"ov2685 7-0010":0->"rockchip-sy-mipi-dphy":0[1]' ## Disable sensor2 media-ctl -l '"ov5695 7-0036":0->"rockchip-sy-mipi-dphy":0[0]'</pre> Integrate 3A&nbsp;algorithm(TO BE DONE) ==== Multi sensors(TO BE DONE) ==== ==== Multi paths (TO BE DONE) ==== ===== Record&nbsp;Preview, Still Capture&nbsp;in different resolution&nbsp;at a time ===== === <br/> Gstreamer === We have write a gstreamer plugin, [https://github.com/rockchip-linux/gstreamer-rockchip-extra rkcamsrc], which is a modified&nbsp;v4l2src plugin. &nbsp; Please refer to readme in github for usage. == Android == === Camera Hal3 === [https://source.android.com/devices/camera/camera3?hl=zh-cn https://source.android.com/devices/camera/camera3?hl=zh-cn] = Reproduce = The driver can run&nbsp;on ASUS Tinker Board and Firefly-RK3288-Reload. == Source Code == === Kernel === ==== Mainline ==== 4.15 + [https://patchwork.linuxtv.org/project/linux-media/list/?submitter=7231 FORMLIST Patches] ==== [https://github.com/rockchip-linux/kernel/tree/isp-early-access Rockchip BSP] ==== === Sensor Driver === [https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/imx219.c IMX219] [https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/ov5647.c OV5647] [https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/tc35874x.c TC358746] = Others = == Topology == <pre>Media device information ------------------------ driver rkisp1 model rkisp1 serial bus info hw revision 0x0 driver version 0.0.0 Device topology - entity 1: rkisp1-isp-subdev (4 pads, 5 links) type V4L2 subdev subtype Unknown flags 0 device node name /dev/v4l-subdev0 pad0: Sink [fmt:SBGGR10_1X10/800x600 field:none crop.bounds:(0,0)/800x600 crop:(0,0)/800x600] <- "rockchip-sy-mipi-dphy":1 [ENABLED] pad1: Sink <- "rkisp1-input-params":0 [ENABLED] pad2: Source [fmt:SBGGR10_1X10/800x600 field:none crop.bounds:(0,0)/800x600 crop:(0,0)/800x600] -> "rkisp1_selfpath":0 [ENABLED] -> "rkisp1_mainpath":0 [ENABLED] pad3: Source -> "rkisp1-statistics":0 [ENABLED] - entity 2: rkisp1_selfpath (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video0 pad0: Sink <- "rkisp1-isp-subdev":2 [ENABLED] - entity 3: rkisp1_mainpath (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video1 pad0: Sink <- "rkisp1-isp-subdev":2 [ENABLED] - entity 4: rkisp1-statistics (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video2 pad0: Sink <- "rkisp1-isp-subdev":3 [ENABLED] - entity 5: rkisp1-input-params (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video3 pad0: Source -> "rkisp1-isp-subdev":1 [ENABLED] - entity 6: rockchip-sy-mipi-dphy (2 pads, 2 links) type V4L2 subdev subtype Unknown flags 0 device node name /dev/v4l-subdev1 pad0: Sink [fmt:SRGGB10_1X10/3280x2464 field:none] <- "imx219 2-0010":0 [ENABLED] pad1: Source [fmt:SRGGB10_1X10/3280x2464 field:none] -> "rkisp1-isp-subdev":0 [ENABLED] - entity 7: imx219 2-0010 (1 pad, 1 link) type V4L2 subdev subtype Sensor flags 0 device node name /dev/v4l-subdev2 pad0: Source [fmt:SRGGB10_1X10/3280x2464 field:none] -> "rockchip-sy-mipi-dphy":0 [ENABLED]</pre> 29d87cfe827738a6a6a3b8f4aff6386fcb3e69b0 1589 1588 2017-11-30T08:42:44Z Jacob 6 wikitext text/x-wiki NOTE: Under construction &nbsp; = Overview = The document below&nbsp;provide&nbsp;basical informations&nbsp;about the&nbsp;rockchip-isp1 driver driver and&nbsp;Image Signal Processing block on Rockchip SoC&nbsp;with&nbsp;examples and details. = Hardware = == ISP Details == === Block diagram === The datasheet about ISP&nbsp;is currently only available under&nbsp;NDA, so we can't&nbsp;paste the completed block diagram from&nbsp;datasheet&nbsp;to here. Below&nbsp;diagram&nbsp;is a abstract version: == MIPI Details == = Software = == Driver == rockchip-isp1 is a V4L2 based driver for Image Signal Processing block on Rockchip SoC. Compared to the earlier driver&nbsp;rk-isp10, it use&nbsp;Media Controller&nbsp;framework, which it's different from plain v4L2. While the plain v4L2 had a view of the device as a plain DMA based image drabber which connects the input data to the host memory, the Media Controller takes into consideration the fact that a typical video device might consist of multiple sub-devices&nbsp; === Media Controller Basics === Please read below link carefully,&nbsp;especially if you don't have use it before. [https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.html https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.html] == Linux == === User applications&nbsp; === The applcation for&nbsp;plain v4L2 capture device still can be used(like gstreamer v4l2src plugins, v4l2ctl), but the media&nbsp;controller must be setup in a&nbsp;proper state before starting capture.<br/> For your own applications for Video Capture with rockchip-isp1 driver, it should do things like the following commands: <pre>media-ctl -l '"rockchip-sy-mipi-dphy":1->"rkisp1-isp-subdev":0[1]' media-ctl -l '"rkisp1-input-params":0->"rkisp1-isp-subdev":1[1]' media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_selfpath":0[1]' media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_mainpath":0[1]' media-ctl -l '"rkisp1-isp-subdev":3->"rkisp1-statistics":0[1]' # Above parts of media pipeline have been initializated when kernel driver probing, but please note that they can be changed in runtime # Set pad formats ## rkisp1 source pad media-ctl -set-v4l2 '"rkisp1-isp-subdev":2[fmt:YUYV2X8/800x600]' ## rkisp1 sink pad == sensor source [ad] media-ctl --set-v4l2 '"rkisp1-isp-subdev":0[fmt:SRGGB10/800*600]' media-ctl --set-v4l2 '"ov2685 7-0010":0[fmt:SRGGB10/800*600]' # Set link(Assume there are two sensors in one mipi-phy) ## Enable sensor1 media-ctl -l '"ov2685 7-0010":0->"rockchip-sy-mipi-dphy":0[1]' ## Disable sensor2 media-ctl -l '"ov5695 7-0036":0->"rockchip-sy-mipi-dphy":0[0]'</pre> Integrate 3A&nbsp;algorithm(TO BE DONE) ==== Multi sensors(TO BE DONE) ==== ==== Multi paths (TO BE DONE) ==== Record&nbsp;Preview, Still Capture&nbsp;in different resolution&nbsp;at a time <br/> Gstreamer We have write a gstreamer plugin, [https://github.com/rockchip-linux/gstreamer-rockchip-extra rkcamsrc], which is a modified&nbsp;v4l2src plugin. &nbsp; Please refer to readme in github for usage. == Android == === Camera Hal3 === [https://source.android.com/devices/camera/camera3?hl=zh-cn https://source.android.com/devices/camera/camera3?hl=zh-cn] = Reproduce = The driver can run&nbsp;on ASUS Tinker Board and Firefly-RK3288-Reload. == Source Code == === Kernel === ==== Mainline ==== 4.15 + [https://patchwork.linuxtv.org/project/linux-media/list/?submitter=7231 FORMLIST Patches] ==== [https://github.com/rockchip-linux/kernel/tree/isp-early-access Rockchip BSP] ==== === Sensor Driver === [https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/imx219.c IMX219] [https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/ov5647.c OV5647] [https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/tc35874x.c TC358746] = Others = == Topology == <pre>Media device information ------------------------ driver rkisp1 model rkisp1 serial bus info hw revision 0x0 driver version 0.0.0 Device topology - entity 1: rkisp1-isp-subdev (4 pads, 5 links) type V4L2 subdev subtype Unknown flags 0 device node name /dev/v4l-subdev0 pad0: Sink [fmt:SBGGR10_1X10/800x600 field:none crop.bounds:(0,0)/800x600 crop:(0,0)/800x600] <- "rockchip-sy-mipi-dphy":1 [ENABLED] pad1: Sink <- "rkisp1-input-params":0 [ENABLED] pad2: Source [fmt:SBGGR10_1X10/800x600 field:none crop.bounds:(0,0)/800x600 crop:(0,0)/800x600] -> "rkisp1_selfpath":0 [ENABLED] -> "rkisp1_mainpath":0 [ENABLED] pad3: Source -> "rkisp1-statistics":0 [ENABLED] - entity 2: rkisp1_selfpath (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video0 pad0: Sink <- "rkisp1-isp-subdev":2 [ENABLED] - entity 3: rkisp1_mainpath (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video1 pad0: Sink <- "rkisp1-isp-subdev":2 [ENABLED] - entity 4: rkisp1-statistics (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video2 pad0: Sink <- "rkisp1-isp-subdev":3 [ENABLED] - entity 5: rkisp1-input-params (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video3 pad0: Source -> "rkisp1-isp-subdev":1 [ENABLED] - entity 6: rockchip-sy-mipi-dphy (2 pads, 2 links) type V4L2 subdev subtype Unknown flags 0 device node name /dev/v4l-subdev1 pad0: Sink [fmt:SRGGB10_1X10/3280x2464 field:none] <- "imx219 2-0010":0 [ENABLED] pad1: Source [fmt:SRGGB10_1X10/3280x2464 field:none] -> "rkisp1-isp-subdev":0 [ENABLED] - entity 7: imx219 2-0010 (1 pad, 1 link) type V4L2 subdev subtype Sensor flags 0 device node name /dev/v4l-subdev2 pad0: Source [fmt:SRGGB10_1X10/3280x2464 field:none] -> "rockchip-sy-mipi-dphy":0 [ENABLED]</pre> 532aed6a7e97bc36fe734a4bf1d19cae43d3d1fb 1590 1589 2017-11-30T08:47:52Z Jacob 6 wikitext text/x-wiki NOTE: Under construction &nbsp; = Overview = The document below&nbsp;provide&nbsp;basical informations&nbsp;about the&nbsp;rockchip-isp1 driver driver and&nbsp;Image Signal Processing block on Rockchip SoC&nbsp;with&nbsp;examples and details. = Hardware = == ISP Details == === Block diagram === The datasheet about ISP&nbsp;is currently only available under&nbsp;NDA, so we can't&nbsp;paste the completed block diagram from&nbsp;datasheet&nbsp;to here. Below&nbsp;diagram&nbsp;is a abstract version: == MIPI Details == = Software = == Driver == rockchip-isp1 is a V4L2 based driver for Image Signal Processing block on Rockchip SoC. Compared to the earlier driver&nbsp;rk-isp10, it use&nbsp;Media Controller&nbsp;framework, which it's different from plain v4L2. While the plain v4L2 had a view of the device as a plain DMA based image drabber which connects the input data to the host memory, the Media Controller takes into consideration the fact that a typical video device might consist of multiple sub-devices&nbsp; === Media Controller Basics === Please read below link carefully,&nbsp;especially if you don't have use it before. [https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.html https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.html] == Linux == === User applications&nbsp; === The applcation for&nbsp;plain v4L2 capture device still can be used(like gstreamer v4l2src plugins, v4l2ctl), but the media&nbsp;controller must be setup in a&nbsp;proper state before starting capture.<br/> For your own applications for Video Capture with rockchip-isp1 driver, it should do things like the following commands: <pre>media-ctl -l '"rockchip-sy-mipi-dphy":1->"rkisp1-isp-subdev":0[1]' media-ctl -l '"rkisp1-input-params":0->"rkisp1-isp-subdev":1[1]' media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_selfpath":0[1]' media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_mainpath":0[1]' media-ctl -l '"rkisp1-isp-subdev":3->"rkisp1-statistics":0[1]' # Above parts of media pipeline have been initializated when kernel driver probing, but please note that they can be changed in runtime # Set pad formats ## rkisp1 source pad media-ctl -set-v4l2 '"rkisp1-isp-subdev":2[fmt:YUYV2X8/800x600]' ## rkisp1 sink pad == sensor source [ad] media-ctl --set-v4l2 '"rkisp1-isp-subdev":0[fmt:SRGGB10/800*600]' media-ctl --set-v4l2 '"ov2685 7-0010":0[fmt:SRGGB10/800*600]' # Set link(Assume there are two sensors in one mipi-phy) ## Enable sensor1 media-ctl -l '"ov2685 7-0010":0->"rockchip-sy-mipi-dphy":0[1]' ## Disable sensor2 media-ctl -l '"ov5695 7-0036":0->"rockchip-sy-mipi-dphy":0[0]'</pre> Integrate 3A&nbsp;algorithm(TO BE DONE) ==== Multi sensors(TO BE DONE) ==== ==== Multi paths (TO BE DONE) ==== Record&nbsp;Preview, Still Capture&nbsp;in different resolution&nbsp;at a time <br/> Gstreamer We have write a gstreamer plugin, [https://github.com/rockchip-linux/gstreamer-rockchip-extra rkcamsrc], which is a modified&nbsp;v4l2src plugin. &nbsp; Please refer to readme in github for usage. == Android == === Camera Hal3 === [https://source.android.com/devices/camera/camera3?hl=zh-cn https://source.android.com/devices/camera/camera3?hl=zh-cn] = Reproduce = The driver can run&nbsp;on ASUS Tinker Board and Firefly-RK3288-Reload. == Source Code == === Kernel === #4.15 + [https://patchwork.linuxtv.org/project/linux-media/list/?submitter=7231 FORMLIST Patches] #[https://github.com/rockchip-linux/kernel/tree/isp-early-access Rockchip 4.4 BSP] === Sensor Driver === #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/imx219.c IMX219] #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/ov5647.c OV5647] #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/tc35874x.c TC35874X] === Device Tree === #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/arch/arm/boot/dts/rk3288-miniarm.dts Tinker Board] #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/arch/arm/boot/dts/rk3288-firefly.dtsi Firefly-rk3288-Reload] = Others = == Topology == <pre>Media device information ------------------------ driver rkisp1 model rkisp1 serial bus info hw revision 0x0 driver version 0.0.0 Device topology - entity 1: rkisp1-isp-subdev (4 pads, 5 links) type V4L2 subdev subtype Unknown flags 0 device node name /dev/v4l-subdev0 pad0: Sink [fmt:SBGGR10_1X10/800x600 field:none crop.bounds:(0,0)/800x600 crop:(0,0)/800x600] <- "rockchip-sy-mipi-dphy":1 [ENABLED] pad1: Sink <- "rkisp1-input-params":0 [ENABLED] pad2: Source [fmt:SBGGR10_1X10/800x600 field:none crop.bounds:(0,0)/800x600 crop:(0,0)/800x600] -> "rkisp1_selfpath":0 [ENABLED] -> "rkisp1_mainpath":0 [ENABLED] pad3: Source -> "rkisp1-statistics":0 [ENABLED] - entity 2: rkisp1_selfpath (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video0 pad0: Sink <- "rkisp1-isp-subdev":2 [ENABLED] - entity 3: rkisp1_mainpath (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video1 pad0: Sink <- "rkisp1-isp-subdev":2 [ENABLED] - entity 4: rkisp1-statistics (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video2 pad0: Sink <- "rkisp1-isp-subdev":3 [ENABLED] - entity 5: rkisp1-input-params (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video3 pad0: Source -> "rkisp1-isp-subdev":1 [ENABLED] - entity 6: rockchip-sy-mipi-dphy (2 pads, 2 links) type V4L2 subdev subtype Unknown flags 0 device node name /dev/v4l-subdev1 pad0: Sink [fmt:SRGGB10_1X10/3280x2464 field:none] <- "imx219 2-0010":0 [ENABLED] pad1: Source [fmt:SRGGB10_1X10/3280x2464 field:none] -> "rkisp1-isp-subdev":0 [ENABLED] - entity 7: imx219 2-0010 (1 pad, 1 link) type V4L2 subdev subtype Sensor flags 0 device node name /dev/v4l-subdev2 pad0: Source [fmt:SRGGB10_1X10/3280x2464 field:none] -> "rockchip-sy-mipi-dphy":0 [ENABLED]</pre> 28cdd9deb8094bbf3901ed2dd41cc409f8e97dad 1591 1590 2017-11-30T08:51:40Z Jacob 6 wikitext text/x-wiki NOTE: Under construction &nbsp; = Overview = The document below&nbsp;provide&nbsp;basical informations&nbsp;about the&nbsp;rockchip-isp1 driver driver and&nbsp;Image Signal Processing block on Rockchip SoC&nbsp;with&nbsp;examples and details. = Hardware = == ISP Details == === Block diagram === The datasheet about ISP&nbsp;is currently only available under&nbsp;NDA, so we can't&nbsp;paste the completed block diagram from&nbsp;datasheet&nbsp;to here. Below&nbsp;diagram&nbsp;is a abstract version: == MIPI Details == = Software = == Driver == rockchip-isp1 is a V4L2 based driver for Image Signal Processing block on Rockchip SoC. Compared to the earlier driver&nbsp;rk-isp10, it use&nbsp;Media Controller&nbsp;framework, which it's different from plain v4L2. While the plain v4L2 had a view of the device as a plain DMA based image drabber which connects the input data to the host memory, the Media Controller takes into consideration the fact that a typical video device might consist of multiple sub-devices&nbsp; === Media Controller Basics === Please read below link carefully,&nbsp;especially if you don't have use it before. [https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.html https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.html] == Linux == === User applications&nbsp; === The applcation for&nbsp;plain v4L2 capture device still can be used(like gstreamer v4l2src plugins, v4l2ctl), but the media&nbsp;controller must be setup in a&nbsp;proper state before starting capture.<br/> For your own applications for Video Capture with rockchip-isp1 driver, it should do things like the following commands: <pre>media-ctl -l '"rockchip-sy-mipi-dphy":1->"rkisp1-isp-subdev":0[1]' media-ctl -l '"rkisp1-input-params":0->"rkisp1-isp-subdev":1[1]' media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_selfpath":0[1]' media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_mainpath":0[1]' media-ctl -l '"rkisp1-isp-subdev":3->"rkisp1-statistics":0[1]' # Above parts of media pipeline have been initializated when kernel driver probing, but please note that they can be changed in runtime # Set pad formats ## rkisp1 source pad media-ctl -set-v4l2 '"rkisp1-isp-subdev":2[fmt:YUYV2X8/800x600]' ## rkisp1 sink pad == sensor source [ad] media-ctl --set-v4l2 '"rkisp1-isp-subdev":0[fmt:SRGGB10/800*600]' media-ctl --set-v4l2 '"ov2685 7-0010":0[fmt:SRGGB10/800*600]' # Set link(Assume there are two sensors in one mipi-phy) ## Enable sensor1 media-ctl -l '"ov2685 7-0010":0->"rockchip-sy-mipi-dphy":0[1]' ## Disable sensor2 media-ctl -l '"ov5695 7-0036":0->"rockchip-sy-mipi-dphy":0[0]'</pre> Integrate 3A&nbsp;algorithm(TO BE DONE) ==== Multi sensors(TO BE DONE) ==== ==== Multi paths (TO BE DONE) ==== Record&nbsp;Preview, Still Capture&nbsp;in different resolution&nbsp;at a time ==== Gstreamer ==== We have write a gstreamer plugin, [https://github.com/rockchip-linux/gstreamer-rockchip-extra rkcamsrc], which is a modified&nbsp;v4l2src plugin. Please refer to readme in github for usage. == Android == === Camera Hal3 === [https://source.android.com/devices/camera/camera3?hl=zh-cn https://source.android.com/devices/camera/camera3?hl=zh-cn] = Reproduce = The driver currently can run&nbsp;on ASUS Tinker Board and Firefly-RK3288-Reload. == Source Code == === Kernel === #4.15 + [https://patchwork.linuxtv.org/project/linux-media/list/?submitter=7231 FORMLIST Patches] #[https://github.com/rockchip-linux/kernel/tree/isp-early-access Rockchip 4.4 BSP] === Sensor Driver === #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/imx219.c IMX219] #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/ov5647.c OV5647] #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/tc35874x.c TC35874X] === Device Tree === #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/arch/arm/boot/dts/rk3288-miniarm.dts Tinker Board] #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/arch/arm/boot/dts/rk3288-firefly.dtsi Firefly-rk3288-Reload] == Test Command == <pre>cat /sys/class/video4linux/video*/name # get self_path videox and main_path videox+1 gst-launch-1.0 rkcamsrc device=/dev/videox+1 io-mode=4 disable-3A=true ! videoconvert ! video/x-raw,format=NV12,width=640,height=480 ! kmssink</pre> = Others = == Topology == <pre>Media device information ------------------------ driver rkisp1 model rkisp1 serial bus info hw revision 0x0 driver version 0.0.0 Device topology - entity 1: rkisp1-isp-subdev (4 pads, 5 links) type V4L2 subdev subtype Unknown flags 0 device node name /dev/v4l-subdev0 pad0: Sink [fmt:SBGGR10_1X10/800x600 field:none crop.bounds:(0,0)/800x600 crop:(0,0)/800x600] <- "rockchip-sy-mipi-dphy":1 [ENABLED] pad1: Sink <- "rkisp1-input-params":0 [ENABLED] pad2: Source [fmt:SBGGR10_1X10/800x600 field:none crop.bounds:(0,0)/800x600 crop:(0,0)/800x600] -> "rkisp1_selfpath":0 [ENABLED] -> "rkisp1_mainpath":0 [ENABLED] pad3: Source -> "rkisp1-statistics":0 [ENABLED] - entity 2: rkisp1_selfpath (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video0 pad0: Sink <- "rkisp1-isp-subdev":2 [ENABLED] - entity 3: rkisp1_mainpath (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video1 pad0: Sink <- "rkisp1-isp-subdev":2 [ENABLED] - entity 4: rkisp1-statistics (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video2 pad0: Sink <- "rkisp1-isp-subdev":3 [ENABLED] - entity 5: rkisp1-input-params (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video3 pad0: Source -> "rkisp1-isp-subdev":1 [ENABLED] - entity 6: rockchip-sy-mipi-dphy (2 pads, 2 links) type V4L2 subdev subtype Unknown flags 0 device node name /dev/v4l-subdev1 pad0: Sink [fmt:SRGGB10_1X10/3280x2464 field:none] <- "imx219 2-0010":0 [ENABLED] pad1: Source [fmt:SRGGB10_1X10/3280x2464 field:none] -> "rkisp1-isp-subdev":0 [ENABLED] - entity 7: imx219 2-0010 (1 pad, 1 link) type V4L2 subdev subtype Sensor flags 0 device node name /dev/v4l-subdev2 pad0: Source [fmt:SRGGB10_1X10/3280x2464 field:none] -> "rockchip-sy-mipi-dphy":0 [ENABLED]</pre> 39e6b65efd27dc0c6d675e0ccf39a187042c107d 1592 1591 2017-11-30T08:52:38Z Jacob 6 wikitext text/x-wiki NOTE: Under construction &nbsp; = Overview = The document below&nbsp;provide&nbsp;basical informations&nbsp;about the&nbsp;rockchip-isp1 driver driver and&nbsp;Image Signal Processing block on Rockchip SoC&nbsp;with&nbsp;examples and details. = Hardware = == ISP Details == === Block diagram === The datasheet about ISP&nbsp;is currently only available under&nbsp;NDA, so we can't&nbsp;paste the completed block diagram from&nbsp;datasheet&nbsp;to here. Below&nbsp;diagram&nbsp;is a abstract version: == MIPI Details == = Software = == Driver == rockchip-isp1 is a V4L2 based driver for Image Signal Processing block on Rockchip SoC. Compared to the earlier driver&nbsp;rk-isp10, it use&nbsp;Media Controller&nbsp;framework, which it's different from plain v4L2. While the plain v4L2 had a view of the device as a plain DMA based image drabber which connects the input data to the host memory, the Media Controller takes into consideration the fact that a typical video device might consist of multiple sub-devices&nbsp; === Media Controller Basics === Please read below link carefully,&nbsp;especially if you don't have use it before. [https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.html https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.html] == Linux == === User applications&nbsp; === The applcation for&nbsp;plain v4L2 capture device still can be used(like gstreamer v4l2src plugins, v4l2ctl), but the media&nbsp;controller must be setup in a&nbsp;proper state before starting capture.<br/> For your own applications for Video Capture with rockchip-isp1 driver, it should do things like the following commands: <pre>media-ctl -l '"rockchip-sy-mipi-dphy":1->"rkisp1-isp-subdev":0[1]' media-ctl -l '"rkisp1-input-params":0->"rkisp1-isp-subdev":1[1]' media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_selfpath":0[1]' media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_mainpath":0[1]' media-ctl -l '"rkisp1-isp-subdev":3->"rkisp1-statistics":0[1]' # Above parts of media pipeline have been initializated when kernel driver probing, but please note that they can be changed in runtime # Set pad formats ## rkisp1 source pad media-ctl -set-v4l2 '"rkisp1-isp-subdev":2[fmt:YUYV2X8/800x600]' ## rkisp1 sink pad == sensor source [ad] media-ctl --set-v4l2 '"rkisp1-isp-subdev":0[fmt:SRGGB10/800*600]' media-ctl --set-v4l2 '"ov2685 7-0010":0[fmt:SRGGB10/800*600]' # Set link(Assume there are two sensors in one mipi-phy) ## Enable sensor1 media-ctl -l '"ov2685 7-0010":0->"rockchip-sy-mipi-dphy":0[1]' ## Disable sensor2 media-ctl -l '"ov5695 7-0036":0->"rockchip-sy-mipi-dphy":0[0]'</pre> Integrate 3A&nbsp;algorithm(TO BE DONE) ==== Multi sensors(TO BE DONE) ==== ==== Multi paths (TO BE DONE) ==== Record, Preview, Still Capture&nbsp;in different resolution&nbsp;at a time ==== Gstreamer ==== We have write a gstreamer plugin, [https://github.com/rockchip-linux/gstreamer-rockchip-extra rkcamsrc], which is a modified&nbsp;v4l2src plugin. Please refer to readme in github for usage. == Android == === Camera Hal3 === [https://source.android.com/devices/camera/camera3?hl=zh-cn https://source.android.com/devices/camera/camera3?hl=zh-cn] = Reproduce = The driver currently can run&nbsp;on ASUS Tinker Board and Firefly-RK3288-Reload. == Source Code == === Kernel === #4.15 + [https://patchwork.linuxtv.org/project/linux-media/list/?submitter=7231 FORMLIST Patches] #[https://github.com/rockchip-linux/kernel/tree/isp-early-access Rockchip 4.4 BSP] === Sensor Driver === #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/imx219.c IMX219] #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/ov5647.c OV5647] #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/tc35874x.c TC35874X] === Device Tree === #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/arch/arm/boot/dts/rk3288-miniarm.dts Tinker Board] #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/arch/arm/boot/dts/rk3288-firefly.dtsi Firefly-rk3288-Reload] == Test Command == <pre>cat /sys/class/video4linux/video*/name # get self_path videox and main_path videox+1 gst-launch-1.0 rkcamsrc device=/dev/videox+1 io-mode=4 disable-3A=true&nbsp;! videoconvert&nbsp;! video/x-raw,format=NV12,width=640,height=480&nbsp;! kmssink</pre> = Others = == Topology == <pre>Media device information ------------------------ driver rkisp1 model rkisp1 serial bus info hw revision 0x0 driver version 0.0.0 Device topology - entity 1: rkisp1-isp-subdev (4 pads, 5 links) type V4L2 subdev subtype Unknown flags 0 device node name /dev/v4l-subdev0 pad0: Sink [fmt:SBGGR10_1X10/800x600 field:none crop.bounds:(0,0)/800x600 crop:(0,0)/800x600] <- "rockchip-sy-mipi-dphy":1 [ENABLED] pad1: Sink <- "rkisp1-input-params":0 [ENABLED] pad2: Source [fmt:SBGGR10_1X10/800x600 field:none crop.bounds:(0,0)/800x600 crop:(0,0)/800x600] -> "rkisp1_selfpath":0 [ENABLED] -> "rkisp1_mainpath":0 [ENABLED] pad3: Source -> "rkisp1-statistics":0 [ENABLED] - entity 2: rkisp1_selfpath (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video0 pad0: Sink <- "rkisp1-isp-subdev":2 [ENABLED] - entity 3: rkisp1_mainpath (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video1 pad0: Sink <- "rkisp1-isp-subdev":2 [ENABLED] - entity 4: rkisp1-statistics (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video2 pad0: Sink <- "rkisp1-isp-subdev":3 [ENABLED] - entity 5: rkisp1-input-params (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video3 pad0: Source -> "rkisp1-isp-subdev":1 [ENABLED] - entity 6: rockchip-sy-mipi-dphy (2 pads, 2 links) type V4L2 subdev subtype Unknown flags 0 device node name /dev/v4l-subdev1 pad0: Sink [fmt:SRGGB10_1X10/3280x2464 field:none] <- "imx219 2-0010":0 [ENABLED] pad1: Source [fmt:SRGGB10_1X10/3280x2464 field:none] -> "rkisp1-isp-subdev":0 [ENABLED] - entity 7: imx219 2-0010 (1 pad, 1 link) type V4L2 subdev subtype Sensor flags 0 device node name /dev/v4l-subdev2 pad0: Source [fmt:SRGGB10_1X10/3280x2464 field:none] -> "rockchip-sy-mipi-dphy":0 [ENABLED]</pre> 08f92b60d44c130a6aee9598ca5e6670d92e627b 1593 1592 2017-11-30T08:54:39Z Jacob 6 wikitext text/x-wiki NOTE: Under Construction &nbsp; = Overview = The document below&nbsp;provide&nbsp;basical informations&nbsp;about the&nbsp;rockchip-isp1 driver driver and&nbsp;Image Signal Processing block on Rockchip SoC&nbsp;with&nbsp;examples and details. = Hardware = == ISP Details == === Block diagram === The datasheet about ISP&nbsp;is currently only available under&nbsp;NDA, so we can't&nbsp;paste the completed block diagram from&nbsp;datasheet&nbsp;to here. Below&nbsp;diagram&nbsp;is a abstract version: == MIPI Details == = Software = == Driver == rockchip-isp1 is a V4L2 based driver for Image Signal Processing block on Rockchip SoC. Compared to the earlier driver&nbsp;rk-isp10, it use&nbsp;Media Controller&nbsp;framework, which it's different from plain v4L2. While the plain v4L2 had a view of the device as a plain DMA based image drabber which connects the input data to the host memory, the Media Controller takes into consideration the fact that a typical video device might consist of multiple sub-devices&nbsp; === Media Controller Basics === Please read below link carefully,&nbsp;especially if you don't have use it before. [https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.html https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.html] == Linux == === User applications&nbsp; === The applcation for&nbsp;plain v4L2 capture device still can be used(like gstreamer v4l2src plugins, v4l2ctl), but the media&nbsp;controller must be setup in a&nbsp;proper state before starting capture.<br/> For your own applications for Video Capture with rockchip-isp1 driver, it should do things like the following commands: <pre>media-ctl -l '"rockchip-sy-mipi-dphy":1->"rkisp1-isp-subdev":0[1]' media-ctl -l '"rkisp1-input-params":0->"rkisp1-isp-subdev":1[1]' media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_selfpath":0[1]' media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_mainpath":0[1]' media-ctl -l '"rkisp1-isp-subdev":3->"rkisp1-statistics":0[1]' # Above parts of media pipeline have been initializated when kernel driver probing, but please note that they can be changed in runtime # Set pad formats ## rkisp1 source pad media-ctl -set-v4l2 '"rkisp1-isp-subdev":2[fmt:YUYV2X8/800x600]' ## rkisp1 sink pad == sensor source [ad] media-ctl --set-v4l2 '"rkisp1-isp-subdev":0[fmt:SRGGB10/800*600]' media-ctl --set-v4l2 '"ov2685 7-0010":0[fmt:SRGGB10/800*600]' # Set link(Assume there are two sensors in one mipi-phy) ## Enable sensor1 media-ctl -l '"ov2685 7-0010":0->"rockchip-sy-mipi-dphy":0[1]' ## Disable sensor2 media-ctl -l '"ov5695 7-0036":0->"rockchip-sy-mipi-dphy":0[0]'</pre> Integrate 3A&nbsp;algorithm(TO BE DONE) ==== Multi sensors(TO BE DONE) ==== ==== Multi paths (TO BE DONE) ==== Record, Preview, Still Capture&nbsp;in different resolution&nbsp;at a time ==== Gstreamer ==== We have write a gstreamer plugin, [https://github.com/rockchip-linux/gstreamer-rockchip-extra rkcamsrc], which is modified from gstreamer v4l2src plugin. Please refer to readme in github for usage. == Android == === Camera Hal3 === [https://source.android.com/devices/camera/camera3?hl=zh-cn https://source.android.com/devices/camera/camera3?hl=zh-cn] = Reproduce = The driver currently can run&nbsp;on ASUS Tinker Board and Firefly-RK3288-Reload. == Source Code == === Kernel === #4.15 + [https://patchwork.linuxtv.org/project/linux-media/list/?submitter=7231 FORMLIST Patches] #[https://github.com/rockchip-linux/kernel/tree/isp-early-access Rockchip 4.4 BSP] === Sensor Driver === #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/imx219.c IMX219] #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/ov5647.c OV5647] #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/tc35874x.c TC35874X] === Device Tree === #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/arch/arm/boot/dts/rk3288-miniarm.dts Tinker Board] #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/arch/arm/boot/dts/rk3288-firefly.dtsi Firefly-rk3288-Reload] == Test Command == <pre>cat /sys/class/video4linux/video*/name # get self_path videox and main_path videox+1 gst-launch-1.0 rkcamsrc device=/dev/videox+1 io-mode=4 disable-3A=true&nbsp;! videoconvert&nbsp;! video/x-raw,format=NV12,width=640,height=480&nbsp;! kmssink</pre> = Others = == Topology == <pre>Media device information ------------------------ driver rkisp1 model rkisp1 serial bus info hw revision 0x0 driver version 0.0.0 Device topology - entity 1: rkisp1-isp-subdev (4 pads, 5 links) type V4L2 subdev subtype Unknown flags 0 device node name /dev/v4l-subdev0 pad0: Sink [fmt:SBGGR10_1X10/800x600 field:none crop.bounds:(0,0)/800x600 crop:(0,0)/800x600] <- "rockchip-sy-mipi-dphy":1 [ENABLED] pad1: Sink <- "rkisp1-input-params":0 [ENABLED] pad2: Source [fmt:SBGGR10_1X10/800x600 field:none crop.bounds:(0,0)/800x600 crop:(0,0)/800x600] -> "rkisp1_selfpath":0 [ENABLED] -> "rkisp1_mainpath":0 [ENABLED] pad3: Source -> "rkisp1-statistics":0 [ENABLED] - entity 2: rkisp1_selfpath (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video0 pad0: Sink <- "rkisp1-isp-subdev":2 [ENABLED] - entity 3: rkisp1_mainpath (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video1 pad0: Sink <- "rkisp1-isp-subdev":2 [ENABLED] - entity 4: rkisp1-statistics (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video2 pad0: Sink <- "rkisp1-isp-subdev":3 [ENABLED] - entity 5: rkisp1-input-params (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video3 pad0: Source -> "rkisp1-isp-subdev":1 [ENABLED] - entity 6: rockchip-sy-mipi-dphy (2 pads, 2 links) type V4L2 subdev subtype Unknown flags 0 device node name /dev/v4l-subdev1 pad0: Sink [fmt:SRGGB10_1X10/3280x2464 field:none] <- "imx219 2-0010":0 [ENABLED] pad1: Source [fmt:SRGGB10_1X10/3280x2464 field:none] -> "rkisp1-isp-subdev":0 [ENABLED] - entity 7: imx219 2-0010 (1 pad, 1 link) type V4L2 subdev subtype Sensor flags 0 device node name /dev/v4l-subdev2 pad0: Source [fmt:SRGGB10_1X10/3280x2464 field:none] -> "rockchip-sy-mipi-dphy":0 [ENABLED]</pre> 8bfb3316e6bfc99ce562a26a13114b20692b1ed0 1594 1593 2017-11-30T08:56:21Z Jacob 6 wikitext text/x-wiki NOTE: Under Construction &nbsp; = Overview = The document below&nbsp;provide&nbsp;basical informations&nbsp;about the&nbsp;rockchip-isp1 driver driver and&nbsp;Image Signal Processing block on Rockchip SoC&nbsp;with&nbsp;examples and details. = Hardware = == ISP Details == === Block diagram === The datasheet about ISP&nbsp;is currently only available under&nbsp;NDA, so we can't&nbsp;paste the completed block diagram from&nbsp;datasheet&nbsp;to here. Below&nbsp;diagram&nbsp;is a abstract version: == MIPI Details == = Software = == Driver == rockchip-isp1 is a V4L2 based driver for Image Signal Processing block on Rockchip SoC. Compared to the earlier driver&nbsp;rk-isp10, it use&nbsp;Media Controller&nbsp;framework, which it's different from plain v4L2. While the plain v4L2 had a view of the device as a plain DMA based image drabber which connects the input data to the host memory, the Media Controller takes into consideration the fact that a typical video device might consist of multiple sub-devices&nbsp; === Media Controller Basics === Please read below link carefully,&nbsp;especially if you don't have use it before. [https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.html https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.html] == Linux == === User applications&nbsp; === The applcation for&nbsp;plain v4L2 capture device still can be used(like gstreamer v4l2src plugins, v4l2ctl), but the media&nbsp;controller must be setup in a&nbsp;proper state before starting capture.<br/> The applications for Video Capture with rockchip-isp1 driver&nbsp;should do things like the following commands: <pre>media-ctl -l '"rockchip-sy-mipi-dphy":1->"rkisp1-isp-subdev":0[1]' media-ctl -l '"rkisp1-input-params":0->"rkisp1-isp-subdev":1[1]' media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_selfpath":0[1]' media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_mainpath":0[1]' media-ctl -l '"rkisp1-isp-subdev":3->"rkisp1-statistics":0[1]' # Above parts of media pipeline have been initializated when kernel driver probing, but please note that they can be changed in runtime # Set pad formats ## rkisp1 source pad media-ctl -set-v4l2 '"rkisp1-isp-subdev":2[fmt:YUYV2X8/800x600]' ## rkisp1 sink pad == sensor source [ad] media-ctl --set-v4l2 '"rkisp1-isp-subdev":0[fmt:SRGGB10/800*600]' media-ctl --set-v4l2 '"ov2685 7-0010":0[fmt:SRGGB10/800*600]' # Set link(Assume there are two sensors in one mipi-phy) ## Enable sensor1 media-ctl -l '"ov2685 7-0010":0->"rockchip-sy-mipi-dphy":0[1]' ## Disable sensor2 media-ctl -l '"ov5695 7-0036":0->"rockchip-sy-mipi-dphy":0[0]'</pre> Integrate 3A&nbsp;algorithm(TO BE DONE) ==== Multi sensors(TO BE DONE) ==== ==== Multi paths (TO BE DONE) ==== Record, Preview, Still Capture&nbsp;in different resolution&nbsp;at a time ==== Gstreamer ==== We have write a gstreamer plugin, [https://github.com/rockchip-linux/gstreamer-rockchip-extra rkcamsrc], which is modified from gstreamer v4l2src plugin. Please refer to readme in github for usage. == Android == === Camera Hal3 === [https://source.android.com/devices/camera/camera3?hl=zh-cn https://source.android.com/devices/camera/camera3?hl=zh-cn] = Reproduce = The driver currently can run&nbsp;on ASUS Tinker Board and Firefly-RK3288-Reload. == Source Code == === Kernel === #4.15 + [https://patchwork.linuxtv.org/project/linux-media/list/?submitter=7231 FORMLIST Patches] #[https://github.com/rockchip-linux/kernel/tree/isp-early-access Rockchip 4.4 BSP] === Sensor Driver === #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/imx219.c IMX219] #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/ov5647.c OV5647] #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/tc35874x.c TC35874X] === Device Tree === #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/arch/arm/boot/dts/rk3288-miniarm.dts Tinker Board] #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/arch/arm/boot/dts/rk3288-firefly.dtsi Firefly-rk3288-Reload] == Test Command == <pre>cat /sys/class/video4linux/video*/name # get self_path videox and main_path videox+1 gst-launch-1.0 rkcamsrc device=/dev/videox+1 io-mode=4 disable-3A=true&nbsp;! videoconvert&nbsp;! video/x-raw,format=NV12,width=640,height=480&nbsp;! kmssink</pre> = Others = == Topology == <pre>Media device information ------------------------ driver rkisp1 model rkisp1 serial bus info hw revision 0x0 driver version 0.0.0 Device topology - entity 1: rkisp1-isp-subdev (4 pads, 5 links) type V4L2 subdev subtype Unknown flags 0 device node name /dev/v4l-subdev0 pad0: Sink [fmt:SBGGR10_1X10/800x600 field:none crop.bounds:(0,0)/800x600 crop:(0,0)/800x600] <- "rockchip-sy-mipi-dphy":1 [ENABLED] pad1: Sink <- "rkisp1-input-params":0 [ENABLED] pad2: Source [fmt:SBGGR10_1X10/800x600 field:none crop.bounds:(0,0)/800x600 crop:(0,0)/800x600] -> "rkisp1_selfpath":0 [ENABLED] -> "rkisp1_mainpath":0 [ENABLED] pad3: Source -> "rkisp1-statistics":0 [ENABLED] - entity 2: rkisp1_selfpath (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video0 pad0: Sink <- "rkisp1-isp-subdev":2 [ENABLED] - entity 3: rkisp1_mainpath (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video1 pad0: Sink <- "rkisp1-isp-subdev":2 [ENABLED] - entity 4: rkisp1-statistics (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video2 pad0: Sink <- "rkisp1-isp-subdev":3 [ENABLED] - entity 5: rkisp1-input-params (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video3 pad0: Source -> "rkisp1-isp-subdev":1 [ENABLED] - entity 6: rockchip-sy-mipi-dphy (2 pads, 2 links) type V4L2 subdev subtype Unknown flags 0 device node name /dev/v4l-subdev1 pad0: Sink [fmt:SRGGB10_1X10/3280x2464 field:none] <- "imx219 2-0010":0 [ENABLED] pad1: Source [fmt:SRGGB10_1X10/3280x2464 field:none] -> "rkisp1-isp-subdev":0 [ENABLED] - entity 7: imx219 2-0010 (1 pad, 1 link) type V4L2 subdev subtype Sensor flags 0 device node name /dev/v4l-subdev2 pad0: Source [fmt:SRGGB10_1X10/3280x2464 field:none] -> "rockchip-sy-mipi-dphy":0 [ENABLED]</pre> d6b9da667a8b95fb4390d02966cceed1686389d3 File:Rkcamsrc.png 6 172 1595 2017-11-30T09:16:21Z Jacob 6 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 Rockchip-isp1 0 171 1596 1594 2017-11-30T09:17:32Z Jacob 6 wikitext text/x-wiki NOTE: Under Construction &nbsp; = Overview = The document below&nbsp;provide&nbsp;basical informations&nbsp;about the&nbsp;rockchip-isp1 driver driver and&nbsp;Image Signal Processing block on Rockchip SoC&nbsp;with&nbsp;examples and details. = Hardware = == ISP Details == === Block diagram === The datasheet about ISP&nbsp;is currently only available under&nbsp;NDA, so we can't&nbsp;paste the completed block diagram from&nbsp;datasheet&nbsp;to here. Below&nbsp;diagram&nbsp;is a abstract version: == MIPI Details == = Software = == Driver == rockchip-isp1 is a V4L2 based driver for Image Signal Processing block on Rockchip SoC. Compared to the earlier driver&nbsp;rk-isp10, it use&nbsp;Media Controller&nbsp;framework, which it's different from plain v4L2. While the plain v4L2 had a view of the device as a plain DMA based image drabber which connects the input data to the host memory, the Media Controller takes into consideration the fact that a typical video device might consist of multiple sub-devices&nbsp; === Media Controller Basics === Please read below link carefully,&nbsp;especially if you don't have use it before. [https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.html https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.html] == Linux == === User applications&nbsp; === The applcation for&nbsp;plain v4L2 capture device still can be used(like gstreamer v4l2src plugins, v4l2ctl), but the media&nbsp;controller must be setup in a&nbsp;proper state before starting capture.<br/> The applications for Video Capture with rockchip-isp1 driver&nbsp;should do things like the following commands: <pre>media-ctl -l '"rockchip-sy-mipi-dphy":1->"rkisp1-isp-subdev":0[1]' media-ctl -l '"rkisp1-input-params":0->"rkisp1-isp-subdev":1[1]' media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_selfpath":0[1]' media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_mainpath":0[1]' media-ctl -l '"rkisp1-isp-subdev":3->"rkisp1-statistics":0[1]' # Above parts of media pipeline have been initializated when kernel driver probing, but please note that they can be changed in runtime # Set pad formats ## rkisp1 source pad media-ctl -set-v4l2 '"rkisp1-isp-subdev":2[fmt:YUYV2X8/800x600]' ## rkisp1 sink pad == sensor source [ad] media-ctl --set-v4l2 '"rkisp1-isp-subdev":0[fmt:SRGGB10/800*600]' media-ctl --set-v4l2 '"ov2685 7-0010":0[fmt:SRGGB10/800*600]' # Set link(Assume there are two sensors in one mipi-phy) ## Enable sensor1 media-ctl -l '"ov2685 7-0010":0->"rockchip-sy-mipi-dphy":0[1]' ## Disable sensor2 media-ctl -l '"ov5695 7-0036":0->"rockchip-sy-mipi-dphy":0[0]'</pre> Integrate 3A&nbsp;algorithm(TO BE DONE) ==== Multi sensors(TO BE DONE) ==== ==== Multi paths (TO BE DONE) ==== Record, Preview, Still Capture&nbsp;in different resolution&nbsp;at a time ==== Gstreamer ==== We have write a gstreamer plugin, [https://github.com/rockchip-linux/gstreamer-rockchip-extra rkcamsrc], which is modified from gstreamer v4l2src plugin. [[File:Rkcamsrc.png]] Please refer to readme in github for usage. == Android == === Camera Hal3 === [https://source.android.com/devices/camera/camera3?hl=zh-cn https://source.android.com/devices/camera/camera3?hl=zh-cn] = Reproduce = The driver currently can run&nbsp;on ASUS Tinker Board and Firefly-RK3288-Reload. == Source Code == === Kernel === #4.15 + [https://patchwork.linuxtv.org/project/linux-media/list/?submitter=7231 FORMLIST Patches] #[https://github.com/rockchip-linux/kernel/tree/isp-early-access Rockchip 4.4 BSP] === Sensor Driver === #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/imx219.c IMX219] #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/ov5647.c OV5647] #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/tc35874x.c TC35874X] === Device Tree === #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/arch/arm/boot/dts/rk3288-miniarm.dts Tinker Board] #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/arch/arm/boot/dts/rk3288-firefly.dtsi Firefly-rk3288-Reload] == Test Command == <pre>cat /sys/class/video4linux/video*/name # get self_path videox and main_path videox+1 gst-launch-1.0 rkcamsrc device=/dev/videox+1 io-mode=4 disable-3A=true&nbsp;! videoconvert&nbsp;! video/x-raw,format=NV12,width=640,height=480&nbsp;! kmssink</pre> = Others = == Topology == <pre>Media device information ------------------------ driver rkisp1 model rkisp1 serial bus info hw revision 0x0 driver version 0.0.0 Device topology - entity 1: rkisp1-isp-subdev (4 pads, 5 links) type V4L2 subdev subtype Unknown flags 0 device node name /dev/v4l-subdev0 pad0: Sink [fmt:SBGGR10_1X10/800x600 field:none crop.bounds:(0,0)/800x600 crop:(0,0)/800x600] <- "rockchip-sy-mipi-dphy":1 [ENABLED] pad1: Sink <- "rkisp1-input-params":0 [ENABLED] pad2: Source [fmt:SBGGR10_1X10/800x600 field:none crop.bounds:(0,0)/800x600 crop:(0,0)/800x600] -> "rkisp1_selfpath":0 [ENABLED] -> "rkisp1_mainpath":0 [ENABLED] pad3: Source -> "rkisp1-statistics":0 [ENABLED] - entity 2: rkisp1_selfpath (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video0 pad0: Sink <- "rkisp1-isp-subdev":2 [ENABLED] - entity 3: rkisp1_mainpath (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video1 pad0: Sink <- "rkisp1-isp-subdev":2 [ENABLED] - entity 4: rkisp1-statistics (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video2 pad0: Sink <- "rkisp1-isp-subdev":3 [ENABLED] - entity 5: rkisp1-input-params (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video3 pad0: Source -> "rkisp1-isp-subdev":1 [ENABLED] - entity 6: rockchip-sy-mipi-dphy (2 pads, 2 links) type V4L2 subdev subtype Unknown flags 0 device node name /dev/v4l-subdev1 pad0: Sink [fmt:SRGGB10_1X10/3280x2464 field:none] <- "imx219 2-0010":0 [ENABLED] pad1: Source [fmt:SRGGB10_1X10/3280x2464 field:none] -> "rkisp1-isp-subdev":0 [ENABLED] - entity 7: imx219 2-0010 (1 pad, 1 link) type V4L2 subdev subtype Sensor flags 0 device node name /dev/v4l-subdev2 pad0: Source [fmt:SRGGB10_1X10/3280x2464 field:none] -> "rockchip-sy-mipi-dphy":0 [ENABLED]</pre> 876318c33c86da377dcd483da829ccf666051f9f 1597 1596 2017-11-30T09:19:27Z Jacob 6 wikitext text/x-wiki NOTE: Under Construction &nbsp; = Overview = The document below&nbsp;provide&nbsp;basical informations&nbsp;about the&nbsp;rockchip-isp1 driver driver and&nbsp;Image Signal Processing block on Rockchip SoC&nbsp;with&nbsp;examples and details. = Hardware = == ISP Details == === Block diagram === The datasheet about ISP&nbsp;is currently only available under&nbsp;NDA, so we can't&nbsp;paste the completed block diagram from&nbsp;datasheet&nbsp;to here. Below&nbsp;diagram&nbsp;is a abstract version: == MIPI Details == = Software = == Driver == rockchip-isp1 is a V4L2 based driver for Image Signal Processing block on Rockchip SoC. Compared to the earlier driver&nbsp;rk-isp10, it use&nbsp;Media Controller&nbsp;framework, which it's different from plain v4L2. While the plain v4L2 had a view of the device as a plain DMA based image drabber which connects the input data to the host memory, the Media Controller takes into consideration the fact that a typical video device might consist of multiple sub-devices&nbsp; === Media Controller Basics === Please read below link carefully,&nbsp;especially if you don't have use it before. [https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.html https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.html] == Linux == === User applications&nbsp; === The applcation for&nbsp;plain v4L2 capture device still can be used(like gstreamer v4l2src plugins, v4l2ctl), but the media&nbsp;controller must be setup in a&nbsp;proper state before starting capture.<br/> The applications for Video Capture with rockchip-isp1 driver&nbsp;should do things like the following commands: <pre>media-ctl -l '"rockchip-sy-mipi-dphy":1->"rkisp1-isp-subdev":0[1]' media-ctl -l '"rkisp1-input-params":0->"rkisp1-isp-subdev":1[1]' media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_selfpath":0[1]' media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_mainpath":0[1]' media-ctl -l '"rkisp1-isp-subdev":3->"rkisp1-statistics":0[1]' # Above parts of media pipeline have been initializated when kernel driver probing, but please note that they can be changed in runtime # Set pad formats ## rkisp1 source pad media-ctl -set-v4l2 '"rkisp1-isp-subdev":2[fmt:YUYV2X8/800x600]' ## rkisp1 sink pad == sensor source [ad] media-ctl --set-v4l2 '"rkisp1-isp-subdev":0[fmt:SRGGB10/800*600]' media-ctl --set-v4l2 '"ov2685 7-0010":0[fmt:SRGGB10/800*600]' # Set link(Assume there are two sensors in one mipi-phy) ## Enable sensor1 media-ctl -l '"ov2685 7-0010":0->"rockchip-sy-mipi-dphy":0[1]' ## Disable sensor2 media-ctl -l '"ov5695 7-0036":0->"rockchip-sy-mipi-dphy":0[0]'</pre> Integrate 3A&nbsp;algorithm(TO BE DONE) ==== Multi sensors(TO BE DONE) ==== ==== Multi paths (TO BE DONE) ==== Record, Preview, Still Capture&nbsp;in different resolution&nbsp;at a time &nbsp; ==== Gstreamer ==== We have write a gstreamer plugin, [https://github.com/rockchip-linux/gstreamer-rockchip-extra rkcamsrc], which is modified from gstreamer v4l2src plugin. [[File:Rkcamsrc.png|upright|RTENOTITLE]] Please refer to readme in github for usage. == Android == === Camera Hal3 === [https://source.android.com/devices/camera/camera3?hl=zh-cn https://source.android.com/devices/camera/camera3?hl=zh-cn] = Reproduce = The driver currently can run&nbsp;on ASUS Tinker Board and Firefly-RK3288-Reload. == Source Code == === Kernel === #4.15 + [https://patchwork.linuxtv.org/project/linux-media/list/?submitter=7231 FORMLIST Patches] #[https://github.com/rockchip-linux/kernel/tree/isp-early-access Rockchip 4.4 BSP] === Sensor Driver === #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/imx219.c IMX219] #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/ov5647.c OV5647] #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/tc35874x.c TC35874X] === Device Tree === #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/arch/arm/boot/dts/rk3288-miniarm.dts Tinker Board] #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/arch/arm/boot/dts/rk3288-firefly.dtsi Firefly-rk3288-Reload] == Test Command == <pre>cat /sys/class/video4linux/video*/name # get self_path videox and main_path videox+1 gst-launch-1.0 rkcamsrc device=/dev/videox+1 io-mode=4 disable-3A=true&nbsp;! videoconvert&nbsp;! video/x-raw,format=NV12,width=640,height=480&nbsp;! kmssink</pre> = Others = == Topology == <pre>Media device information ------------------------ driver rkisp1 model rkisp1 serial bus info hw revision 0x0 driver version 0.0.0 Device topology - entity 1: rkisp1-isp-subdev (4 pads, 5 links) type V4L2 subdev subtype Unknown flags 0 device node name /dev/v4l-subdev0 pad0: Sink [fmt:SBGGR10_1X10/800x600 field:none crop.bounds:(0,0)/800x600 crop:(0,0)/800x600] <- "rockchip-sy-mipi-dphy":1 [ENABLED] pad1: Sink <- "rkisp1-input-params":0 [ENABLED] pad2: Source [fmt:SBGGR10_1X10/800x600 field:none crop.bounds:(0,0)/800x600 crop:(0,0)/800x600] -> "rkisp1_selfpath":0 [ENABLED] -> "rkisp1_mainpath":0 [ENABLED] pad3: Source -> "rkisp1-statistics":0 [ENABLED] - entity 2: rkisp1_selfpath (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video0 pad0: Sink <- "rkisp1-isp-subdev":2 [ENABLED] - entity 3: rkisp1_mainpath (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video1 pad0: Sink <- "rkisp1-isp-subdev":2 [ENABLED] - entity 4: rkisp1-statistics (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video2 pad0: Sink <- "rkisp1-isp-subdev":3 [ENABLED] - entity 5: rkisp1-input-params (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video3 pad0: Source -> "rkisp1-isp-subdev":1 [ENABLED] - entity 6: rockchip-sy-mipi-dphy (2 pads, 2 links) type V4L2 subdev subtype Unknown flags 0 device node name /dev/v4l-subdev1 pad0: Sink [fmt:SRGGB10_1X10/3280x2464 field:none] <- "imx219 2-0010":0 [ENABLED] pad1: Source [fmt:SRGGB10_1X10/3280x2464 field:none] -> "rkisp1-isp-subdev":0 [ENABLED] - entity 7: imx219 2-0010 (1 pad, 1 link) type V4L2 subdev subtype Sensor flags 0 device node name /dev/v4l-subdev2 pad0: Source [fmt:SRGGB10_1X10/3280x2464 field:none] -> "rockchip-sy-mipi-dphy":0 [ENABLED]</pre> 7015a587863af3409902481370d0c41b96335659 1598 1597 2017-11-30T09:25:50Z Jacob 6 wikitext text/x-wiki NOTE: Under Construction &nbsp; = Overview = The document below&nbsp;provide&nbsp;basical informations&nbsp;about the&nbsp;rockchip-isp1 driver driver and&nbsp;Image Signal Processing block on Rockchip SoC&nbsp;with&nbsp;examples and details. = Hardware = == ISP Details == === Block diagram === The datasheet about ISP&nbsp;is currently only available under&nbsp;NDA, so we can't&nbsp;paste the completed block diagram from&nbsp;datasheet&nbsp;to here. Below&nbsp;diagram&nbsp;is a abstract version: == MIPI Details == = Software = == Driver == rockchip-isp1 is a V4L2 based driver for Image Signal Processing block on Rockchip SoC. Compared to the earlier driver&nbsp;rk-isp10, it use&nbsp;Media Controller&nbsp;framework, which it's different from plain v4L2. While the plain v4L2 had a view of the device as a plain DMA based image drabber which connects the input data to the host memory, the Media Controller takes into consideration the fact that a typical video device might consist of multiple sub-devices&nbsp; === Media Controller Basics === Please read below link carefully,&nbsp;especially if you don't have use it before. [https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.html https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.html] == Linux == === User applications&nbsp; === The applcation for&nbsp;plain v4L2 capture device still can be used(like gstreamer v4l2src plugins, v4l2ctl), but the media&nbsp;controller must be setup in a&nbsp;proper state before starting capture.<br/> The applications for Video Capture with rockchip-isp1 driver&nbsp;should do things like the following commands: <pre>media-ctl -l '"rockchip-sy-mipi-dphy":1->"rkisp1-isp-subdev":0[1]' media-ctl -l '"rkisp1-input-params":0->"rkisp1-isp-subdev":1[1]' media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_selfpath":0[1]' media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_mainpath":0[1]' media-ctl -l '"rkisp1-isp-subdev":3->"rkisp1-statistics":0[1]' # Above parts of media pipeline have been initializated when kernel driver probing, but please note that they can be changed in runtime # Set pad formats ## rkisp1 source pad media-ctl -set-v4l2 '"rkisp1-isp-subdev":2[fmt:YUYV2X8/800x600]' ## rkisp1 sink pad == sensor source [ad] media-ctl --set-v4l2 '"rkisp1-isp-subdev":0[fmt:SRGGB10/800*600]' media-ctl --set-v4l2 '"ov2685 7-0010":0[fmt:SRGGB10/800*600]' # Set link(Assume there are two sensors in one mipi-phy) ## Enable sensor1 media-ctl -l '"ov2685 7-0010":0->"rockchip-sy-mipi-dphy":0[1]' ## Disable sensor2 media-ctl -l '"ov5695 7-0036":0->"rockchip-sy-mipi-dphy":0[0]'</pre> Integrate 3A&nbsp;algorithm(TO BE DONE) ==== Multi sensors(TO BE DONE) ==== ==== Multi paths (TO BE DONE) ==== Record, Preview, Still Capture&nbsp;in different resolution&nbsp;at a time === Gstreamer === We have write a gstreamer plugin, [https://github.com/rockchip-linux/gstreamer-rockchip-extra rkcamsrc], which is modified from gstreamer v4l2src plugin. [[File:Rkcamsrc.png|420px|RTENOTITLE]] Please refer to readme in github for usage. == Android == === Camera Hal3 === [https://source.android.com/devices/camera/camera3?hl=zh-cn https://source.android.com/devices/camera/camera3?hl=zh-cn] = Reproduce = The driver currently can run&nbsp;on ASUS Tinker Board and Firefly-RK3288-Reload. == Source Code == === Kernel === #4.15 + [https://patchwork.linuxtv.org/project/linux-media/list/?submitter=7231 FORMLIST Patches] #[https://github.com/rockchip-linux/kernel/tree/isp-early-access Rockchip 4.4 BSP] === Sensor Driver === #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/imx219.c IMX219] #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/ov5647.c OV5647] #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/tc35874x.c TC35874X] === Device Tree === #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/arch/arm/boot/dts/rk3288-miniarm.dts Tinker Board] #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/arch/arm/boot/dts/rk3288-firefly.dtsi Firefly-rk3288-Reload] == Test Command == <pre>cat /sys/class/video4linux/video*/name # get self_path videox and main_path videox+1 gst-launch-1.0 rkcamsrc device=/dev/videox+1 io-mode=4 disable-3A=true&nbsp;! videoconvert&nbsp;! video/x-raw,format=NV12,width=640,height=480&nbsp;! kmssink</pre> = Others = == Topology == <pre>Media device information ------------------------ driver rkisp1 model rkisp1 serial bus info hw revision 0x0 driver version 0.0.0 Device topology - entity 1: rkisp1-isp-subdev (4 pads, 5 links) type V4L2 subdev subtype Unknown flags 0 device node name /dev/v4l-subdev0 pad0: Sink [fmt:SBGGR10_1X10/800x600 field:none crop.bounds:(0,0)/800x600 crop:(0,0)/800x600] <- "rockchip-sy-mipi-dphy":1 [ENABLED] pad1: Sink <- "rkisp1-input-params":0 [ENABLED] pad2: Source [fmt:SBGGR10_1X10/800x600 field:none crop.bounds:(0,0)/800x600 crop:(0,0)/800x600] -> "rkisp1_selfpath":0 [ENABLED] -> "rkisp1_mainpath":0 [ENABLED] pad3: Source -> "rkisp1-statistics":0 [ENABLED] - entity 2: rkisp1_selfpath (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video0 pad0: Sink <- "rkisp1-isp-subdev":2 [ENABLED] - entity 3: rkisp1_mainpath (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video1 pad0: Sink <- "rkisp1-isp-subdev":2 [ENABLED] - entity 4: rkisp1-statistics (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video2 pad0: Sink <- "rkisp1-isp-subdev":3 [ENABLED] - entity 5: rkisp1-input-params (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video3 pad0: Source -> "rkisp1-isp-subdev":1 [ENABLED] - entity 6: rockchip-sy-mipi-dphy (2 pads, 2 links) type V4L2 subdev subtype Unknown flags 0 device node name /dev/v4l-subdev1 pad0: Sink [fmt:SRGGB10_1X10/3280x2464 field:none] <- "imx219 2-0010":0 [ENABLED] pad1: Source [fmt:SRGGB10_1X10/3280x2464 field:none] -> "rkisp1-isp-subdev":0 [ENABLED] - entity 7: imx219 2-0010 (1 pad, 1 link) type V4L2 subdev subtype Sensor flags 0 device node name /dev/v4l-subdev2 pad0: Source [fmt:SRGGB10_1X10/3280x2464 field:none] -> "rockchip-sy-mipi-dphy":0 [ENABLED]</pre> 5ae5915b2260152cd81096ea93cbea19e2b127ce 1599 1598 2017-11-30T09:27:12Z Jacob 6 wikitext text/x-wiki NOTE: Under Construction &nbsp; = Overview = The document below&nbsp;provide&nbsp;basical informations&nbsp;about the&nbsp;rockchip-isp1 driver driver and&nbsp;Image Signal Processing block on Rockchip SoC&nbsp;with&nbsp;examples and details. = Hardware = == ISP Details == === Block diagram === The datasheet about ISP&nbsp;is currently only available under&nbsp;NDA, so we can't&nbsp;paste the completed block diagram from&nbsp;datasheet&nbsp;to here. Below&nbsp;diagram&nbsp;is a abstract version: == MIPI Details == = Software = == Driver == rockchip-isp1 is a V4L2 based driver for Image Signal Processing block on Rockchip SoC. Compared to the earlier driver&nbsp;rk-isp10, it use&nbsp;Media Controller&nbsp;framework, which it's different from plain v4L2. While the plain v4L2 had a view of the device as a plain DMA based image drabber which connects the input data to the host memory, the Media Controller takes into consideration the fact that a typical video device might consist of multiple sub-devices&nbsp; === Media Controller Basics === Please read below link carefully,&nbsp;especially if you don't have use it before. [https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.html https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.html] == Linux == === User applications&nbsp; === The applcation for&nbsp;plain v4L2 capture device still can be used(like gstreamer v4l2src plugins, v4l2ctl), but the media&nbsp;controller must be setup in a&nbsp;proper state before starting capture.<br/> The applications for Video Capture with rockchip-isp1 driver&nbsp;should do things like the following commands: <pre>media-ctl -l '"rockchip-sy-mipi-dphy":1->"rkisp1-isp-subdev":0[1]' media-ctl -l '"rkisp1-input-params":0->"rkisp1-isp-subdev":1[1]' media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_selfpath":0[1]' media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_mainpath":0[1]' media-ctl -l '"rkisp1-isp-subdev":3->"rkisp1-statistics":0[1]' # Above parts of media pipeline have been initializated when kernel driver probing, but please note that they can be changed in runtime # Set pad formats ## rkisp1 source pad media-ctl -set-v4l2 '"rkisp1-isp-subdev":2[fmt:YUYV2X8/800x600]' ## rkisp1 sink pad == sensor source [ad] media-ctl --set-v4l2 '"rkisp1-isp-subdev":0[fmt:SRGGB10/800*600]' media-ctl --set-v4l2 '"ov2685 7-0010":0[fmt:SRGGB10/800*600]' # Set link(Assume there are two sensors in one mipi-phy) ## Enable sensor1 media-ctl -l '"ov2685 7-0010":0->"rockchip-sy-mipi-dphy":0[1]' ## Disable sensor2 media-ctl -l '"ov5695 7-0036":0->"rockchip-sy-mipi-dphy":0[0]'</pre> ==== Integrate 3A&nbsp;algorithm(TO BE DONE) ==== ==== Multi sensors(TO BE DONE) ==== ==== Multi paths (TO BE DONE) ==== Record, Preview, Still Capture&nbsp;in different resolution&nbsp;at a time === Gstreamer === We have write a gstreamer plugin, [https://github.com/rockchip-linux/gstreamer-rockchip-extra rkcamsrc], which is modified from gstreamer v4l2src plugin. [[File:Rkcamsrc.png|420px|RTENOTITLE]] Please refer to readme in github for usage. == Android == === Camera Hal3 === [https://source.android.com/devices/camera/camera3?hl=zh-cn https://source.android.com/devices/camera/camera3?hl=zh-cn] = Reproduce = The driver currently can run&nbsp;on ASUS Tinker Board and Firefly-RK3288-Reload. == Source Code == === Kernel === #4.15 + [https://patchwork.linuxtv.org/project/linux-media/list/?submitter=7231 FORMLIST Patches] #[https://github.com/rockchip-linux/kernel/tree/isp-early-access Rockchip 4.4 BSP] === Sensor Driver === #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/imx219.c IMX219] #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/ov5647.c OV5647] #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/tc35874x.c TC35874X] === Device Tree === #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/arch/arm/boot/dts/rk3288-miniarm.dts Tinker Board] #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/arch/arm/boot/dts/rk3288-firefly.dtsi Firefly-rk3288-Reload] == Test Command == <pre>cat /sys/class/video4linux/video*/name # get self_path videox and main_path videox+1 gst-launch-1.0 rkcamsrc device=/dev/videox+1 io-mode=4 disable-3A=true&nbsp;! videoconvert&nbsp;! video/x-raw,format=NV12,width=640,height=480&nbsp;! kmssink</pre> = Others = == Topology == <pre>Media device information ------------------------ driver rkisp1 model rkisp1 serial bus info hw revision 0x0 driver version 0.0.0 Device topology - entity 1: rkisp1-isp-subdev (4 pads, 5 links) type V4L2 subdev subtype Unknown flags 0 device node name /dev/v4l-subdev0 pad0: Sink [fmt:SBGGR10_1X10/800x600 field:none crop.bounds:(0,0)/800x600 crop:(0,0)/800x600] <- "rockchip-sy-mipi-dphy":1 [ENABLED] pad1: Sink <- "rkisp1-input-params":0 [ENABLED] pad2: Source [fmt:SBGGR10_1X10/800x600 field:none crop.bounds:(0,0)/800x600 crop:(0,0)/800x600] -> "rkisp1_selfpath":0 [ENABLED] -> "rkisp1_mainpath":0 [ENABLED] pad3: Source -> "rkisp1-statistics":0 [ENABLED] - entity 2: rkisp1_selfpath (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video0 pad0: Sink <- "rkisp1-isp-subdev":2 [ENABLED] - entity 3: rkisp1_mainpath (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video1 pad0: Sink <- "rkisp1-isp-subdev":2 [ENABLED] - entity 4: rkisp1-statistics (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video2 pad0: Sink <- "rkisp1-isp-subdev":3 [ENABLED] - entity 5: rkisp1-input-params (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video3 pad0: Source -> "rkisp1-isp-subdev":1 [ENABLED] - entity 6: rockchip-sy-mipi-dphy (2 pads, 2 links) type V4L2 subdev subtype Unknown flags 0 device node name /dev/v4l-subdev1 pad0: Sink [fmt:SRGGB10_1X10/3280x2464 field:none] <- "imx219 2-0010":0 [ENABLED] pad1: Source [fmt:SRGGB10_1X10/3280x2464 field:none] -> "rkisp1-isp-subdev":0 [ENABLED] - entity 7: imx219 2-0010 (1 pad, 1 link) type V4L2 subdev subtype Sensor flags 0 device node name /dev/v4l-subdev2 pad0: Source [fmt:SRGGB10_1X10/3280x2464 field:none] -> "rockchip-sy-mipi-dphy":0 [ENABLED]</pre> 0663024501d53679dd427a96b34cc8d4848de655 1600 1599 2017-11-30T10:11:48Z Jacob 6 wikitext text/x-wiki NOTE: Under Construction &nbsp; = Overview = The document below&nbsp;provide&nbsp;basical informations&nbsp;about the&nbsp;rockchip-isp1 driver driver and&nbsp;Image Signal Processing block on Rockchip SoC&nbsp;with&nbsp;examples and details. = Hardware = == ISP Details == === Block diagram === The datasheet about ISP&nbsp;is currently only available under&nbsp;NDA, so we can't&nbsp;paste the completed block diagram from&nbsp;datasheet&nbsp;to here. Below&nbsp;diagram&nbsp;is a abstract version: == MIPI Details == = Software = == Driver == rockchip-isp1 is a V4L2 based driver for Image Signal Processing block on Rockchip SoC. Compared to the earlier driver&nbsp;rk-isp10, it use&nbsp;Media Controller&nbsp;framework, which it's different from plain v4L2. While the plain v4L2 had a view of the device as a plain DMA based image drabber which connects the input data to the host memory, the Media Controller takes into consideration the fact that a typical video device might consist of multiple sub-devices&nbsp; === Media Controller Basics === Please read below link carefully,&nbsp;especially if you don't have use it before. [https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.html https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.htmlIntegrate 3A algorithm(TO BE DONE)] == Linux == === User applications&nbsp; === The applcation for&nbsp;plain v4L2 capture device still can be used(like gstreamer v4l2src plugins, v4l2ctl), but the media&nbsp;controller must be setup in a&nbsp;proper state before starting capture.<br/> The applications for Video Capture with rockchip-isp1 driver&nbsp;should do things like the following commands: <pre>media-ctl -l '"rockchip-sy-mipi-dphy":1->"rkisp1-isp-subdev":0[1]' media-ctl -l '"rkisp1-input-params":0->"rkisp1-isp-subdev":1[1]' media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_selfpath":0[1]' media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_mainpath":0[1]' media-ctl -l '"rkisp1-isp-subdev":3->"rkisp1-statistics":0[1]' # Above parts of media pipeline have been initializated when kernel driver probing, but please note that they can be changed in runtime # Set pad formats ## rkisp1 source pad media-ctl -set-v4l2 '"rkisp1-isp-subdev":2[fmt:YUYV2X8/800x600]' ## rkisp1 sink pad == sensor source [ad] media-ctl --set-v4l2 '"rkisp1-isp-subdev":0[fmt:SRGGB10/800*600]' media-ctl --set-v4l2 '"ov2685 7-0010":0[fmt:SRGGB10/800*600]' # Set link(Assume there are two sensors in one mipi-phy) ## Enable sensor1 media-ctl -l '"ov2685 7-0010":0->"rockchip-sy-mipi-dphy":0[1]' ## Disable sensor2 media-ctl -l '"ov5695 7-0036":0->"rockchip-sy-mipi-dphy":0[0]'</pre> ==== Integrate 3A&nbsp;algorithm(TO BE DONE) ==== ==== Multi sensors(TO BE DONE) ==== ==== Multi paths (TO BE DONE) ==== Record, Preview, Still Capture&nbsp;in different resolution&nbsp;at a time === Gstreamer === We have write a gstreamer plugin, [https://github.com/rockchip-linux/gstreamer-rockchip-extra rkcamsrc], which is modified from gstreamer v4l2src plugin. [[File:Rkcamsrc.png|500px|RTENOTITLE]] Please refer to readme in github for usage. == Android == === Camera Hal3 === [https://source.android.com/devices/camera/camera3?hl=zh-cn https://source.android.com/devices/camera/camera3?hl=zh-cn] = Reproduce = The driver currently can run&nbsp;on ASUS Tinker Board and Firefly-RK3288-Reload. == Source Code == === Kernel === #4.15 + [https://patchwork.linuxtv.org/project/linux-media/list/?submitter=7231 FORMLIST Patches] #[https://github.com/rockchip-linux/kernel/tree/isp-early-access Rockchip 4.4 BSP] === Sensor Driver === #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/imx219.c IMX219] #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/ov5647.c OV5647] #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/tc35874x.c TC35874X] === Device Tree === #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/arch/arm/boot/dts/rk3288-miniarm.dts Tinker Board] #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/arch/arm/boot/dts/rk3288-firefly.dtsi Firefly-rk3288-Reload] == Test Command == <pre>cat /sys/class/video4linux/video*/name # get self_path videox and main_path videox+1 gst-launch-1.0 rkcamsrc device=/dev/videox+1 io-mode=4 disable-3A=true&nbsp;! videoconvert&nbsp;! video/x-raw,format=NV12,width=640,height=480&nbsp;! kmssink</pre> = Others = == Topology == <pre>Media device information ------------------------ driver rkisp1 model rkisp1 serial bus info hw revision 0x0 driver version 0.0.0 Device topology - entity 1: rkisp1-isp-subdev (4 pads, 5 links) type V4L2 subdev subtype Unknown flags 0 device node name /dev/v4l-subdev0 pad0: Sink [fmt:SBGGR10_1X10/800x600 field:none crop.bounds:(0,0)/800x600 crop:(0,0)/800x600] <- "rockchip-sy-mipi-dphy":1 [ENABLED] pad1: Sink <- "rkisp1-input-params":0 [ENABLED] pad2: Source [fmt:SBGGR10_1X10/800x600 field:none crop.bounds:(0,0)/800x600 crop:(0,0)/800x600] -> "rkisp1_selfpath":0 [ENABLED] -> "rkisp1_mainpath":0 [ENABLED] pad3: Source -> "rkisp1-statistics":0 [ENABLED] - entity 2: rkisp1_selfpath (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video0 pad0: Sink <- "rkisp1-isp-subdev":2 [ENABLED] - entity 3: rkisp1_mainpath (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video1 pad0: Sink <- "rkisp1-isp-subdev":2 [ENABLED] - entity 4: rkisp1-statistics (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video2 pad0: Sink <- "rkisp1-isp-subdev":3 [ENABLED] - entity 5: rkisp1-input-params (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video3 pad0: Source -> "rkisp1-isp-subdev":1 [ENABLED] - entity 6: rockchip-sy-mipi-dphy (2 pads, 2 links) type V4L2 subdev subtype Unknown flags 0 device node name /dev/v4l-subdev1 pad0: Sink [fmt:SRGGB10_1X10/3280x2464 field:none] <- "imx219 2-0010":0 [ENABLED] pad1: Source [fmt:SRGGB10_1X10/3280x2464 field:none] -> "rkisp1-isp-subdev":0 [ENABLED] - entity 7: imx219 2-0010 (1 pad, 1 link) type V4L2 subdev subtype Sensor flags 0 device node name /dev/v4l-subdev2 pad0: Source [fmt:SRGGB10_1X10/3280x2464 field:none] -> "rockchip-sy-mipi-dphy":0 [ENABLED]</pre> 6a7f22becab3289dea7140010b1948e22093f5c1 1601 1600 2017-11-30T10:12:45Z Jacob 6 wikitext text/x-wiki NOTE: Under Construction &nbsp; = Overview = The document below&nbsp;provide&nbsp;basical informations&nbsp;about the&nbsp;rockchip-isp1 driver driver and&nbsp;Image Signal Processing block on Rockchip SoC&nbsp;with&nbsp;examples and details. = Hardware = == ISP Details == === Block diagram === The datasheet about ISP&nbsp;is currently only available under&nbsp;NDA, so we can't&nbsp;paste the completed block diagram from&nbsp;datasheet&nbsp;to here. Below&nbsp;diagram&nbsp;is a abstract version: == MIPI Details == = Software = == Driver == rockchip-isp1 is a V4L2 based driver for Image Signal Processing block on Rockchip SoC. Compared to the earlier driver&nbsp;rk-isp10, it use&nbsp;Media Controller&nbsp;framework, which it's different from plain v4L2. While the plain v4L2 had a view of the device as a plain DMA based image drabber which connects the input data to the host memory, the Media Controller takes into consideration the fact that a typical video device might consist of multiple sub-devices&nbsp; === Media Controller Basics === Please read below link carefully,&nbsp;especially if you don't have use it before. [https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.html https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.htmlIntegrate 3A algorithm(TO BE DONE)] == Linux == === User applications&nbsp; === The applcation for&nbsp;plain v4L2 capture device still can be used(like gstreamer v4l2src plugins, v4l2ctl), but the media&nbsp;controller must be setup in a&nbsp;proper state before starting capture.<br/> The applications for Video Capture with rockchip-isp1 driver&nbsp;should do things like the following commands: <pre>media-ctl -l '"rockchip-sy-mipi-dphy":1->"rkisp1-isp-subdev":0[1]' media-ctl -l '"rkisp1-input-params":0->"rkisp1-isp-subdev":1[1]' media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_selfpath":0[1]' media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_mainpath":0[1]' media-ctl -l '"rkisp1-isp-subdev":3->"rkisp1-statistics":0[1]' # Above parts of media pipeline have been initializated when kernel driver probing, but please note that they can be changed in runtime # Set pad formats ## rkisp1 source pad media-ctl -set-v4l2 '"rkisp1-isp-subdev":2[fmt:YUYV2X8/800x600]' ## rkisp1 sink pad == sensor source [ad] media-ctl --set-v4l2 '"rkisp1-isp-subdev":0[fmt:SRGGB10/800*600]' media-ctl --set-v4l2 '"ov2685 7-0010":0[fmt:SRGGB10/800*600]' # Set link(Assume there are two sensors in one mipi-phy) ## Enable sensor1 media-ctl -l '"ov2685 7-0010":0->"rockchip-sy-mipi-dphy":0[1]' ## Disable sensor2 media-ctl -l '"ov5695 7-0036":0->"rockchip-sy-mipi-dphy":0[0]'</pre> ==== Integrate 3A&nbsp;algorithm(TO BE DONE) ==== ==== Multi sensors(TO BE DONE) ==== ==== Multi paths (TO BE DONE) ==== Record, Preview, Still Capture&nbsp;in different resolution&nbsp;at a time === Gstreamer === We have write a gstreamer plugin, [https://github.com/rockchip-linux/gstreamer-rockchip-extra rkcamsrc], which is modified from gstreamer v4l2src plugin. [[File:Rkcamsrc.png|500px|RTENOTITLE]] Please refer to readme in github for usage. == Android == === Camera Hal3 === [https://source.android.com/devices/camera/camera3?hl=zh-cn https://source.android.com/devices/camera/camera3] = Reproduce = The driver currently can run&nbsp;on ASUS Tinker Board and Firefly-RK3288-Reload. == Source Code == === Kernel === #4.15 + [https://patchwork.linuxtv.org/project/linux-media/list/?submitter=7231 FORMLIST Patches] #[https://github.com/rockchip-linux/kernel/tree/isp-early-access Rockchip 4.4 BSP] === Sensor Driver === #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/imx219.c IMX219] #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/ov5647.c OV5647] #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/tc35874x.c TC35874X] === Device Tree === #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/arch/arm/boot/dts/rk3288-miniarm.dts Tinker Board] #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/arch/arm/boot/dts/rk3288-firefly.dtsi Firefly-rk3288-Reload] == Test Command == <pre>cat /sys/class/video4linux/video*/name # get self_path videox and main_path videox+1 gst-launch-1.0 rkcamsrc device=/dev/videox+1 io-mode=4 disable-3A=true&nbsp;! videoconvert&nbsp;! video/x-raw,format=NV12,width=640,height=480&nbsp;! kmssink</pre> = Others = == Topology == <pre>Media device information ------------------------ driver rkisp1 model rkisp1 serial bus info hw revision 0x0 driver version 0.0.0 Device topology - entity 1: rkisp1-isp-subdev (4 pads, 5 links) type V4L2 subdev subtype Unknown flags 0 device node name /dev/v4l-subdev0 pad0: Sink [fmt:SBGGR10_1X10/800x600 field:none crop.bounds:(0,0)/800x600 crop:(0,0)/800x600] <- "rockchip-sy-mipi-dphy":1 [ENABLED] pad1: Sink <- "rkisp1-input-params":0 [ENABLED] pad2: Source [fmt:SBGGR10_1X10/800x600 field:none crop.bounds:(0,0)/800x600 crop:(0,0)/800x600] -> "rkisp1_selfpath":0 [ENABLED] -> "rkisp1_mainpath":0 [ENABLED] pad3: Source -> "rkisp1-statistics":0 [ENABLED] - entity 2: rkisp1_selfpath (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video0 pad0: Sink <- "rkisp1-isp-subdev":2 [ENABLED] - entity 3: rkisp1_mainpath (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video1 pad0: Sink <- "rkisp1-isp-subdev":2 [ENABLED] - entity 4: rkisp1-statistics (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video2 pad0: Sink <- "rkisp1-isp-subdev":3 [ENABLED] - entity 5: rkisp1-input-params (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video3 pad0: Source -> "rkisp1-isp-subdev":1 [ENABLED] - entity 6: rockchip-sy-mipi-dphy (2 pads, 2 links) type V4L2 subdev subtype Unknown flags 0 device node name /dev/v4l-subdev1 pad0: Sink [fmt:SRGGB10_1X10/3280x2464 field:none] <- "imx219 2-0010":0 [ENABLED] pad1: Source [fmt:SRGGB10_1X10/3280x2464 field:none] -> "rkisp1-isp-subdev":0 [ENABLED] - entity 7: imx219 2-0010 (1 pad, 1 link) type V4L2 subdev subtype Sensor flags 0 device node name /dev/v4l-subdev2 pad0: Source [fmt:SRGGB10_1X10/3280x2464 field:none] -> "rockchip-sy-mipi-dphy":0 [ENABLED]</pre> 2a65e5a66607d594454a9fdc3edf0ecfc222c9ba 1602 1601 2017-11-30T10:13:50Z Jacob 6 wikitext text/x-wiki NOTE: Under Construction &nbsp; = Overview = The document below&nbsp;provide&nbsp;basical informations&nbsp;about the&nbsp;rockchip-isp1 driver driver and&nbsp;Image Signal Processing block on Rockchip SoC&nbsp;with&nbsp;examples and details. = Hardware = == ISP Details == === Block diagram === The datasheet about ISP&nbsp;is currently only available under&nbsp;NDA, so we can't&nbsp;paste the completed block diagram from&nbsp;datasheet&nbsp;to here. Below&nbsp;diagram&nbsp;is a abstract version: == MIPI Details == = Software = == Driver == rockchip-isp1 is a V4L2 based driver for Image Signal Processing block on Rockchip SoC. Compared to the earlier driver&nbsp;rk-isp10, it use&nbsp;Media Controller&nbsp;framework, which it's different from plain v4L2. While the plain v4L2 had a view of the device as a plain DMA based image drabber which connects the input data to the host memory, the Media Controller takes into consideration the fact that a typical video device might consist of multiple sub-devices&nbsp; === Media Controller Basics === Please read below link carefully,&nbsp;especially if you don't have use it before. [https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.html https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.htmlIntegrate 3A algorithm(TO BE DONE)] == Linux == === User applications&nbsp; === The applcation for&nbsp;plain v4L2 capture device still can be used(like gstreamer v4l2src plugins, v4l2ctl), but the media&nbsp;controller must be setup in a&nbsp;proper state before starting capture.<br/> The applications for Video Capture with rockchip-isp1 driver&nbsp;should do things like the following commands: <pre>media-ctl -l '"rockchip-sy-mipi-dphy":1->"rkisp1-isp-subdev":0[1]' media-ctl -l '"rkisp1-input-params":0->"rkisp1-isp-subdev":1[1]' media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_selfpath":0[1]' media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_mainpath":0[1]' media-ctl -l '"rkisp1-isp-subdev":3->"rkisp1-statistics":0[1]' # Above parts of media pipeline have been initializated when kernel driver probing, but please note that they can be changed in runtime # Set pad formats ## rkisp1 source pad media-ctl -set-v4l2 '"rkisp1-isp-subdev":2[fmt:YUYV2X8/800x600]' ## rkisp1 sink pad == sensor source [ad] media-ctl --set-v4l2 '"rkisp1-isp-subdev":0[fmt:SRGGB10/800*600]' media-ctl --set-v4l2 '"ov2685 7-0010":0[fmt:SRGGB10/800*600]' # Set link(Assume there are two sensors in one mipi-phy) ## Enable sensor1 media-ctl -l '"ov2685 7-0010":0->"rockchip-sy-mipi-dphy":0[1]' ## Disable sensor2 media-ctl -l '"ov5695 7-0036":0->"rockchip-sy-mipi-dphy":0[0]'</pre> ==== Integrate 3A&nbsp;algorithm(TO BE DONE) ==== ==== Multi sensors(TO BE DONE) ==== ==== Multi paths (TO BE DONE) ==== Record, Preview, Still Capture&nbsp;in different resolution&nbsp;at a time === Gstreamer === We have write a gstreamer plugin, [https://github.com/rockchip-linux/gstreamer-rockchip-extra rkcamsrc], which is modified from gstreamer v4l2src plugin. [[File:Rkcamsrc.png|500px|RTENOTITLE]] Please refer to readme in github for usage. == Android == === Camera Hal3 === [https://source.android.com/devices/camera/camera3?hl=zh-cn https://source.android.com/devices/camera/camera3] = Reproduce = The driver currently can run&nbsp;on ASUS Tinker Board and Firefly-RK3288-Reload + Rockchip Linux Debian/Yocto SDK. == Source Code == === Kernel === #4.15 + [https://patchwork.linuxtv.org/project/linux-media/list/?submitter=7231 FORMLIST Patches] #[https://github.com/rockchip-linux/kernel/tree/isp-early-access Rockchip 4.4 BSP] === Sensor Driver === #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/imx219.c IMX219] #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/ov5647.c OV5647] #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/tc35874x.c TC35874X] === Device Tree === #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/arch/arm/boot/dts/rk3288-miniarm.dts Tinker Board] #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/arch/arm/boot/dts/rk3288-firefly.dtsi Firefly-rk3288-Reload] == Test Command == <pre>cat /sys/class/video4linux/video*/name # get self_path videox and main_path videox+1 gst-launch-1.0 rkcamsrc device=/dev/videox+1 io-mode=4 disable-3A=true&nbsp;! videoconvert&nbsp;! video/x-raw,format=NV12,width=640,height=480&nbsp;! kmssink</pre> = Others = == Topology == <pre>Media device information ------------------------ driver rkisp1 model rkisp1 serial bus info hw revision 0x0 driver version 0.0.0 Device topology - entity 1: rkisp1-isp-subdev (4 pads, 5 links) type V4L2 subdev subtype Unknown flags 0 device node name /dev/v4l-subdev0 pad0: Sink [fmt:SBGGR10_1X10/800x600 field:none crop.bounds:(0,0)/800x600 crop:(0,0)/800x600] <- "rockchip-sy-mipi-dphy":1 [ENABLED] pad1: Sink <- "rkisp1-input-params":0 [ENABLED] pad2: Source [fmt:SBGGR10_1X10/800x600 field:none crop.bounds:(0,0)/800x600 crop:(0,0)/800x600] -> "rkisp1_selfpath":0 [ENABLED] -> "rkisp1_mainpath":0 [ENABLED] pad3: Source -> "rkisp1-statistics":0 [ENABLED] - entity 2: rkisp1_selfpath (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video0 pad0: Sink <- "rkisp1-isp-subdev":2 [ENABLED] - entity 3: rkisp1_mainpath (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video1 pad0: Sink <- "rkisp1-isp-subdev":2 [ENABLED] - entity 4: rkisp1-statistics (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video2 pad0: Sink <- "rkisp1-isp-subdev":3 [ENABLED] - entity 5: rkisp1-input-params (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video3 pad0: Source -> "rkisp1-isp-subdev":1 [ENABLED] - entity 6: rockchip-sy-mipi-dphy (2 pads, 2 links) type V4L2 subdev subtype Unknown flags 0 device node name /dev/v4l-subdev1 pad0: Sink [fmt:SRGGB10_1X10/3280x2464 field:none] <- "imx219 2-0010":0 [ENABLED] pad1: Source [fmt:SRGGB10_1X10/3280x2464 field:none] -> "rkisp1-isp-subdev":0 [ENABLED] - entity 7: imx219 2-0010 (1 pad, 1 link) type V4L2 subdev subtype Sensor flags 0 device node name /dev/v4l-subdev2 pad0: Source [fmt:SRGGB10_1X10/3280x2464 field:none] -> "rockchip-sy-mipi-dphy":0 [ENABLED]</pre> 51252ac3e81f23c99bc45a36b35fa43c869cd5ed 1603 1602 2017-11-30T10:14:07Z Jacob 6 wikitext text/x-wiki NOTE: Under Construction &nbsp; = Overview = The document below&nbsp;provide&nbsp;basical informations&nbsp;about the&nbsp;rockchip-isp1 driver driver and&nbsp;Image Signal Processing block on Rockchip SoC&nbsp;with&nbsp;examples and details. = Hardware = == ISP Details == === Block diagram === The datasheet about ISP&nbsp;is currently only available under&nbsp;NDA, so we can't&nbsp;paste the completed block diagram from&nbsp;datasheet&nbsp;to here. Below&nbsp;diagram&nbsp;is a abstract version: == MIPI Details == = Software = == Driver == rockchip-isp1 is a V4L2 based driver for Image Signal Processing block on Rockchip SoC. Compared to the earlier driver&nbsp;rk-isp10, it use&nbsp;Media Controller&nbsp;framework, which it's different from plain v4L2. While the plain v4L2 had a view of the device as a plain DMA based image drabber which connects the input data to the host memory, the Media Controller takes into consideration the fact that a typical video device might consist of multiple sub-devices&nbsp; === Media Controller Basics === Please read below link carefully,&nbsp;especially if you don't have use it before. [https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.html https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.htmlIntegrate 3A algorithm(TO BE DONE)] == Linux == === User applications&nbsp; === The applcation for&nbsp;plain v4L2 capture device still can be used(like gstreamer v4l2src plugins, v4l2ctl), but the media&nbsp;controller must be setup in a&nbsp;proper state before starting capture.<br/> The applications for Video Capture with rockchip-isp1 driver&nbsp;should do things like the following commands: <pre>media-ctl -l '"rockchip-sy-mipi-dphy":1->"rkisp1-isp-subdev":0[1]' media-ctl -l '"rkisp1-input-params":0->"rkisp1-isp-subdev":1[1]' media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_selfpath":0[1]' media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_mainpath":0[1]' media-ctl -l '"rkisp1-isp-subdev":3->"rkisp1-statistics":0[1]' # Above parts of media pipeline have been initializated when kernel driver probing, but please note that they can be changed in runtime # Set pad formats ## rkisp1 source pad media-ctl -set-v4l2 '"rkisp1-isp-subdev":2[fmt:YUYV2X8/800x600]' ## rkisp1 sink pad == sensor source [ad] media-ctl --set-v4l2 '"rkisp1-isp-subdev":0[fmt:SRGGB10/800*600]' media-ctl --set-v4l2 '"ov2685 7-0010":0[fmt:SRGGB10/800*600]' # Set link(Assume there are two sensors in one mipi-phy) ## Enable sensor1 media-ctl -l '"ov2685 7-0010":0->"rockchip-sy-mipi-dphy":0[1]' ## Disable sensor2 media-ctl -l '"ov5695 7-0036":0->"rockchip-sy-mipi-dphy":0[0]'</pre> ==== Integrate 3A&nbsp;algorithm(TO BE DONE) ==== ==== Multi sensors(TO BE DONE) ==== ==== Multi paths (TO BE DONE) ==== Record, Preview, Still Capture&nbsp;in different resolution&nbsp;at a time === Gstreamer === We have write a gstreamer plugin, [https://github.com/rockchip-linux/gstreamer-rockchip-extra rkcamsrc], which is modified from gstreamer v4l2src plugin. [[File:Rkcamsrc.png|500px|RTENOTITLE]] Please refer to readme in github for usage. == Android == === Camera Hal3 === [https://source.android.com/devices/camera/camera3?hl=zh-cn https://source.android.com/devices/camera/camera3] = Reproduce = The driver currently can run&nbsp;on ASUS Tinker Board and Firefly-RK3288-Reload + Rockchip&nbsp;Debian/Yocto SDK. == Source Code == === Kernel === #4.15 + [https://patchwork.linuxtv.org/project/linux-media/list/?submitter=7231 FORMLIST Patches] #[https://github.com/rockchip-linux/kernel/tree/isp-early-access Rockchip 4.4 BSP] === Sensor Driver === #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/imx219.c IMX219] #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/ov5647.c OV5647] #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/tc35874x.c TC35874X] === Device Tree === #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/arch/arm/boot/dts/rk3288-miniarm.dts Tinker Board] #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/arch/arm/boot/dts/rk3288-firefly.dtsi Firefly-rk3288-Reload] == Test Command == <pre>cat /sys/class/video4linux/video*/name # get self_path videox and main_path videox+1 gst-launch-1.0 rkcamsrc device=/dev/videox+1 io-mode=4 disable-3A=true&nbsp;! videoconvert&nbsp;! video/x-raw,format=NV12,width=640,height=480&nbsp;! kmssink</pre> = Others = == Topology == <pre>Media device information ------------------------ driver rkisp1 model rkisp1 serial bus info hw revision 0x0 driver version 0.0.0 Device topology - entity 1: rkisp1-isp-subdev (4 pads, 5 links) type V4L2 subdev subtype Unknown flags 0 device node name /dev/v4l-subdev0 pad0: Sink [fmt:SBGGR10_1X10/800x600 field:none crop.bounds:(0,0)/800x600 crop:(0,0)/800x600] <- "rockchip-sy-mipi-dphy":1 [ENABLED] pad1: Sink <- "rkisp1-input-params":0 [ENABLED] pad2: Source [fmt:SBGGR10_1X10/800x600 field:none crop.bounds:(0,0)/800x600 crop:(0,0)/800x600] -> "rkisp1_selfpath":0 [ENABLED] -> "rkisp1_mainpath":0 [ENABLED] pad3: Source -> "rkisp1-statistics":0 [ENABLED] - entity 2: rkisp1_selfpath (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video0 pad0: Sink <- "rkisp1-isp-subdev":2 [ENABLED] - entity 3: rkisp1_mainpath (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video1 pad0: Sink <- "rkisp1-isp-subdev":2 [ENABLED] - entity 4: rkisp1-statistics (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video2 pad0: Sink <- "rkisp1-isp-subdev":3 [ENABLED] - entity 5: rkisp1-input-params (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video3 pad0: Source -> "rkisp1-isp-subdev":1 [ENABLED] - entity 6: rockchip-sy-mipi-dphy (2 pads, 2 links) type V4L2 subdev subtype Unknown flags 0 device node name /dev/v4l-subdev1 pad0: Sink [fmt:SRGGB10_1X10/3280x2464 field:none] <- "imx219 2-0010":0 [ENABLED] pad1: Source [fmt:SRGGB10_1X10/3280x2464 field:none] -> "rkisp1-isp-subdev":0 [ENABLED] - entity 7: imx219 2-0010 (1 pad, 1 link) type V4L2 subdev subtype Sensor flags 0 device node name /dev/v4l-subdev2 pad0: Source [fmt:SRGGB10_1X10/3280x2464 field:none] -> "rockchip-sy-mipi-dphy":0 [ENABLED]</pre> 450938d8da951a4ed8155c40482446ecb1e0ad01 1604 1603 2017-11-30T10:14:40Z Jacob 6 wikitext text/x-wiki NOTE: Under Construction &nbsp; = Overview = The document below&nbsp;provide&nbsp;basical informations&nbsp;about the&nbsp;rockchip-isp1 driver driver and&nbsp;Image Signal Processing block on Rockchip SoC&nbsp;with&nbsp;examples and details. = Hardware = == ISP Details == === Block diagram === The datasheet about ISP&nbsp;is currently only available under&nbsp;NDA, so we can't&nbsp;paste the completed block diagram from&nbsp;datasheet&nbsp;to here. Below&nbsp;diagram&nbsp;is a abstract version: == MIPI Details == = Software = == Driver == rockchip-isp1 is a V4L2 based driver for Image Signal Processing block on Rockchip SoC. Compared to the earlier driver&nbsp;rk-isp10, it use&nbsp;Media Controller&nbsp;framework, which it's different from plain v4L2. While the plain v4L2 had a view of the device as a plain DMA based image drabber which connects the input data to the host memory, the Media Controller takes into consideration the fact that a typical video device might consist of multiple sub-devices&nbsp; === Media Controller Basics === Please read below link carefully,&nbsp;especially if you don't have use it before. [https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.html https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.htmlIntegrate 3A algorithm(TO BE DONE)] == Linux == === User applications&nbsp; === The applcation for&nbsp;plain v4L2 capture device still can be used(like gstreamer v4l2src plugins, v4l2ctl), but the media&nbsp;controller must be setup in a&nbsp;proper state before starting capture.<br/> The applications for Video Capture with rockchip-isp1 driver&nbsp;should do things like the following commands: <pre>media-ctl -l '"rockchip-sy-mipi-dphy":1->"rkisp1-isp-subdev":0[1]' media-ctl -l '"rkisp1-input-params":0->"rkisp1-isp-subdev":1[1]' media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_selfpath":0[1]' media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_mainpath":0[1]' media-ctl -l '"rkisp1-isp-subdev":3->"rkisp1-statistics":0[1]' # Above parts of media pipeline have been initializated when kernel driver probing, but please note that they can be changed in runtime # Set pad formats ## rkisp1 source pad media-ctl -set-v4l2 '"rkisp1-isp-subdev":2[fmt:YUYV2X8/800x600]' ## rkisp1 sink pad == sensor source [ad] media-ctl --set-v4l2 '"rkisp1-isp-subdev":0[fmt:SRGGB10/800*600]' media-ctl --set-v4l2 '"ov2685 7-0010":0[fmt:SRGGB10/800*600]' # Set link(Assume there are two sensors in one mipi-phy) ## Enable sensor1 media-ctl -l '"ov2685 7-0010":0->"rockchip-sy-mipi-dphy":0[1]' ## Disable sensor2 media-ctl -l '"ov5695 7-0036":0->"rockchip-sy-mipi-dphy":0[0]'</pre> ==== Integrate 3A&nbsp;algorithm(TO BE DONE) ==== ==== Multi sensors(TO BE DONE) ==== ==== Multi paths (TO BE DONE) ==== Record, Preview, Still Capture&nbsp;in different resolution&nbsp;at a time === Gstreamer === We have write a gstreamer plugin, [https://github.com/rockchip-linux/gstreamer-rockchip-extra rkcamsrc], which is modified from gstreamer v4l2src plugin. [[File:Rkcamsrc.png|500px|RTENOTITLE]] Please refer to readme in github for usage. == Android == === Camera Hal3 === [https://source.android.com/devices/camera/camera3?hl=zh-cn https://source.android.com/devices/camera/camera3] = Reproduce = The driver currently can run&nbsp;on ASUS Tinker Board and Firefly-RK3288-Reload + Rockchip&nbsp;Debian/Yocto SDK. == Source Code == === Kernel === #4.15 + [https://patchwork.linuxtv.org/project/linux-media/list/?submitter=7231 FORMLIST Patches] #[https://github.com/rockchip-linux/kernel/tree/isp-early-access Rockchip 4.4 BSP] === Sensor Driver === #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/imx219.c IMX219] #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/ov5647.c OV5647] #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/tc35874x.c TC35874X] === Device Tree === #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/arch/arm/boot/dts/rk3288-miniarm.dts Tinker Board] #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/arch/arm/boot/dts/rk3288-firefly.dtsi Firefly-rk3288-Reload] == Test Command == <pre>cat /sys/class/video4linux/video*/name # get self_path videox and main_path videox+1 gst-launch-1.0 rkcamsrc device=/dev/videox+1 io-mode=4 disable-3A=true&nbsp;! videoconvert&nbsp;! video/x-raw,format=NV12,width=640,height=480&nbsp;! kmssink</pre> = Others = == Topology == <pre>Media device information ------------------------ driver rkisp1 model rkisp1 serial bus info hw revision 0x0 driver version 0.0.0 Device topology - entity 1: rkisp1-isp-subdev (4 pads, 5 links) type V4L2 subdev subtype Unknown flags 0 device node name /dev/v4l-subdev0 pad0: Sink [fmt:SBGGR10_1X10/800x600 field:none crop.bounds:(0,0)/800x600 crop:(0,0)/800x600] <- "rockchip-sy-mipi-dphy":1 [ENABLED] pad1: Sink <- "rkisp1-input-params":0 [ENABLED] pad2: Source [fmt:SBGGR10_1X10/800x600 field:none crop.bounds:(0,0)/800x600 crop:(0,0)/800x600] -> "rkisp1_selfpath":0 [ENABLED] -> "rkisp1_mainpath":0 [ENABLED] pad3: Source -> "rkisp1-statistics":0 [ENABLED] - entity 2: rkisp1_selfpath (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video0 pad0: Sink <- "rkisp1-isp-subdev":2 [ENABLED] - entity 3: rkisp1_mainpath (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video1 pad0: Sink <- "rkisp1-isp-subdev":2 [ENABLED] - entity 4: rkisp1-statistics (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video2 pad0: Sink <- "rkisp1-isp-subdev":3 [ENABLED] - entity 5: rkisp1-input-params (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video3 pad0: Source -> "rkisp1-isp-subdev":1 [ENABLED] - entity 6: rockchip-sy-mipi-dphy (2 pads, 2 links) type V4L2 subdev subtype Unknown flags 0 device node name /dev/v4l-subdev1 pad0: Sink [fmt:SRGGB10_1X10/3280x2464 field:none] <- "imx219 2-0010":0 [ENABLED] pad1: Source [fmt:SRGGB10_1X10/3280x2464 field:none] -> "rkisp1-isp-subdev":0 [ENABLED] - entity 7: imx219 2-0010 (1 pad, 1 link) type V4L2 subdev subtype Sensor flags 0 device node name /dev/v4l-subdev2 pad0: Source [fmt:SRGGB10_1X10/3280x2464 field:none] -> "rockchip-sy-mipi-dphy":0 [ENABLED]</pre> c234c8e4cb2102fb5b62bda27d5a31a447c2b62b 1605 1604 2017-11-30T11:03:45Z Jacob 6 wikitext text/x-wiki NOTE: Under Construction &nbsp; = Overview = The document below&nbsp;provide&nbsp;basical informations&nbsp;about the&nbsp;rockchip-isp1 driver driver and&nbsp;Image Signal Processing block on Rockchip SoC&nbsp;with&nbsp;examples and details. = Hardware = == ISP Details == === Block diagram === The datasheet about ISP&nbsp;is currently only available under&nbsp;NDA, so we can't&nbsp;paste the completed block diagram from&nbsp;datasheet&nbsp;to here. Below&nbsp;diagram&nbsp;is a abstract version: == MIPI Details == = Software = == Driver == rockchip-isp1 is a V4L2 based driver for Image Signal Processing block on Rockchip SoC. Compared to the earlier driver&nbsp;rk-isp10, it use&nbsp;Media Controller&nbsp;framework, which it's different from plain v4L2. While the plain v4L2 had a view of the device as a plain DMA based image drabber which connects the input data to the host memory, the Media Controller takes into consideration the fact that a typical video device might consist of multiple sub-devices. === Media Controller Basics === Please read below link carefully,&nbsp;especially if you don't have use it before. [https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.html https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.htmlIntegrate 3A algorithm(TO BE DONE)] === Sensor Driver Requirement === The sensor driver should implement controls in the following table.&nbsp; {| border="1" |- ! rowspan="2" | Controls ! rowspan="2" | Description ! rowspan="2" | R/W ! rowspan="2" | Needed by |- |- | V4L2_CID_VBLANK | Vertical blanking. The idle period after every frame during which no image data is produced. The unit of vertical blanking is a line. Every line has length of the image width plus horizontal blanking at the pixel rate defined by&nbsp;<code>V4L2_CID_PIXEL_RATE</code>&nbsp;control in the same sub-device. | R | Ae |- | V4L2_CID_HBLANK | Horizontal blanking. The idle period after every line of image data during which no image data is produced. The unit of horizontal blanking is pixels. | R | Ae |- | V4L2_CID_EXPOSURE | Determines the exposure time of the camera sensor. The exposure time is limited by the frame interval. Drivers should interpret the values as 100 µs units, where the value 1 stands for 1/10000th of a second, 10000 for 1 second and 100000 for 10 seconds. | R/W | Ae |- | V4L2_CID_ANALOGUE_GAIN | Analogue gain is gain affecting all colour components in the pixel matrix. The gain operation is performed in the analogue domain before A/D conversion. | R/W | Ae |- | V4L2_CID_DIGITAL_GAIN | Digital gain is the value by which all colour components are multiplied by. Typically the digital gain applied is the control value divided by e.g. 0x100, meaning that to get no digital gain the control value needs to be 0x100. The no-gain configuration is also typically the default. | R/W | Ae |- | V4L2_CID_PIXEL_RATEP | Pixel rate in the source pads of the subdev. This control is read-only and its unit is pixels / second. | R | Ae |- | V4L2_CID_LINK_FREQ | Data bus frequency. Together with the media bus pixel code, bus type (clock cycles per sample), the data bus frequency defines the pixel rate (<code>V4L2_CID_PIXEL_RATE</code>) in the pixel array (or possibly elsewhere, if the device is not an image sensor). The frame rate can be calculated from the pixel clock, image width and height and horizontal and vertical blanking. While the pixel rate control may be defined elsewhere than in the subdev containing the pixel array, the frame rate cannot be obtained from that information. This is because only on the pixel array it can be assumed that the vertical and horizontal blanking information is exact: no other blanking is allowed in the pixel array. The selection of frame rate is performed by selecting the desired horizontal and vertical blanking. The unit of this control is Hz. | R | mipi-dphy |} == Linux == === User applications&nbsp; === The applcation for&nbsp;plain v4L2 capture device still can be used(like gstreamer v4l2src plugins, v4l2ctl), but the media&nbsp;controller must be setup in a&nbsp;proper state before starting capture.<br/> The applications for Video Capture with rockchip-isp1 driver&nbsp;should do things like the following commands: <pre>media-ctl -l '"rockchip-sy-mipi-dphy":1->"rkisp1-isp-subdev":0[1]' media-ctl -l '"rkisp1-input-params":0->"rkisp1-isp-subdev":1[1]' media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_selfpath":0[1]' media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_mainpath":0[1]' media-ctl -l '"rkisp1-isp-subdev":3->"rkisp1-statistics":0[1]' # Above parts of media pipeline have been initializated when kernel driver probing, but please note that they can be changed in runtime # Set pad formats ## rkisp1 source pad media-ctl -set-v4l2 '"rkisp1-isp-subdev":2[fmt:YUYV2X8/800x600]' ## rkisp1 sink pad == sensor source [ad] media-ctl --set-v4l2 '"rkisp1-isp-subdev":0[fmt:SRGGB10/800*600]' media-ctl --set-v4l2 '"ov2685 7-0010":0[fmt:SRGGB10/800*600]' # Set link(Assume there are two sensors in one mipi-phy) ## Enable sensor1 media-ctl -l '"ov2685 7-0010":0->"rockchip-sy-mipi-dphy":0[1]' ## Disable sensor2 media-ctl -l '"ov5695 7-0036":0->"rockchip-sy-mipi-dphy":0[0]'</pre> ==== Integrate 3A&nbsp;algorithm(TO BE DONE) ==== ==== Multi sensors(TO BE DONE) ==== ==== Multi paths (TO BE DONE) ==== Record, Preview, Still Capture&nbsp;in different resolution&nbsp;at a time === Gstreamer === We have write a gstreamer plugin, [https://github.com/rockchip-linux/gstreamer-rockchip-extra rkcamsrc], which is modified from gstreamer v4l2src plugin. [[File:Rkcamsrc.png|500px|RTENOTITLE]] Please refer to readme in github for usage. == Android == === Camera Hal3(TO BE DONE) === [https://source.android.com/devices/camera/camera3?hl=zh-cn https://source.android.com/devices/camera/camera3] = Reproduce = The driver currently can run&nbsp;on ASUS Tinker Board and Firefly-RK3288-Reload + Rockchip&nbsp;Debian/Yocto SDK. == Source Code == === Kernel === #4.15 + [https://patchwork.linuxtv.org/project/linux-media/list/?submitter=7231 FORMLIST Patches] #[https://github.com/rockchip-linux/kernel/tree/isp-early-access Rockchip 4.4 BSP] === Sensor Driver === #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/imx219.c IMX219] #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/ov5647.c OV5647] #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/tc35874x.c TC35874X] === Device Tree === #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/arch/arm/boot/dts/rk3288-miniarm.dts Tinker Board] #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/arch/arm/boot/dts/rk3288-firefly.dtsi Firefly-rk3288-Reload] == Test Command == <pre>cat /sys/class/video4linux/video*/name # get self_path videox and main_path videox+1 gst-launch-1.0 rkcamsrc device=/dev/videox+1 io-mode=4 disable-3A=true&nbsp;! videoconvert&nbsp;! video/x-raw,format=NV12,width=640,height=480&nbsp;! kmssink</pre> = Others = == Topology == <pre>Media device information ------------------------ driver rkisp1 model rkisp1 serial bus info hw revision 0x0 driver version 0.0.0 Device topology - entity 1: rkisp1-isp-subdev (4 pads, 5 links) type V4L2 subdev subtype Unknown flags 0 device node name /dev/v4l-subdev0 pad0: Sink [fmt:SBGGR10_1X10/800x600 field:none crop.bounds:(0,0)/800x600 crop:(0,0)/800x600] <- "rockchip-sy-mipi-dphy":1 [ENABLED] pad1: Sink <- "rkisp1-input-params":0 [ENABLED] pad2: Source [fmt:SBGGR10_1X10/800x600 field:none crop.bounds:(0,0)/800x600 crop:(0,0)/800x600] -> "rkisp1_selfpath":0 [ENABLED] -> "rkisp1_mainpath":0 [ENABLED] pad3: Source -> "rkisp1-statistics":0 [ENABLED] - entity 2: rkisp1_selfpath (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video0 pad0: Sink <- "rkisp1-isp-subdev":2 [ENABLED] - entity 3: rkisp1_mainpath (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video1 pad0: Sink <- "rkisp1-isp-subdev":2 [ENABLED] - entity 4: rkisp1-statistics (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video2 pad0: Sink <- "rkisp1-isp-subdev":3 [ENABLED] - entity 5: rkisp1-input-params (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video3 pad0: Source -> "rkisp1-isp-subdev":1 [ENABLED] - entity 6: rockchip-sy-mipi-dphy (2 pads, 2 links) type V4L2 subdev subtype Unknown flags 0 device node name /dev/v4l-subdev1 pad0: Sink [fmt:SRGGB10_1X10/3280x2464 field:none] <- "imx219 2-0010":0 [ENABLED] pad1: Source [fmt:SRGGB10_1X10/3280x2464 field:none] -> "rkisp1-isp-subdev":0 [ENABLED] - entity 7: imx219 2-0010 (1 pad, 1 link) type V4L2 subdev subtype Sensor flags 0 device node name /dev/v4l-subdev2 pad0: Source [fmt:SRGGB10_1X10/3280x2464 field:none] -> "rockchip-sy-mipi-dphy":0 [ENABLED]</pre> c4cbe0a1cf961890a9baffeb8c9839bc4909c5e3 1606 1605 2017-11-30T11:04:28Z Jacob 6 wikitext text/x-wiki NOTE: Under Construction &nbsp; = Overview = The document below&nbsp;provide&nbsp;basical informations&nbsp;about the&nbsp;rockchip-isp1 driver driver and&nbsp;Image Signal Processing block on Rockchip SoC&nbsp;with&nbsp;examples and details. = Hardware = == ISP Details == === Block diagram === The datasheet about ISP&nbsp;is currently only available under&nbsp;NDA, so we can't&nbsp;paste the completed block diagram from&nbsp;datasheet&nbsp;to here. Below&nbsp;diagram&nbsp;is a abstract version: == MIPI Details == = Software = == Driver == rockchip-isp1 is a V4L2 based driver for Image Signal Processing block on Rockchip SoC. Compared to the earlier driver&nbsp;rk-isp10, it use&nbsp;Media Controller&nbsp;framework, which it's different from plain v4L2. While the plain v4L2 had a view of the device as a plain DMA based image drabber which connects the input data to the host memory, the Media Controller takes into consideration the fact that a typical video device might consist of multiple sub-devices. === Media Controller Basics === Please read below link carefully,&nbsp;especially if you don't have use it before. [https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.html https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.htmlIntegrate 3A algorithm(TO BE DONE)] === Sensor Driver Requirement === The sensor driver should implement controls in the following table.&nbsp; {| border="1" |- ! rowspan="2" | Controls ! rowspan="2" | Description ! rowspan="2" | R/W ! rowspan="2" | Needed by |- | V4L2_CID_VBLANK | Vertical blanking. The idle period after every frame during which no image data is produced. The unit of vertical blanking is a line. Every line has length of the image width plus horizontal blanking at the pixel rate defined by&nbsp;<code>V4L2_CID_PIXEL_RATE</code>&nbsp;control in the same sub-device. | R | Ae |- | V4L2_CID_HBLANK | Horizontal blanking. The idle period after every line of image data during which no image data is produced. The unit of horizontal blanking is pixels. | R | Ae |- | V4L2_CID_EXPOSURE | Determines the exposure time of the camera sensor. The exposure time is limited by the frame interval. Drivers should interpret the values as 100 µs units, where the value 1 stands for 1/10000th of a second, 10000 for 1 second and 100000 for 10 seconds. | R/W | Ae |- | V4L2_CID_ANALOGUE_GAIN | Analogue gain is gain affecting all colour components in the pixel matrix. The gain operation is performed in the analogue domain before A/D conversion. | R/W | Ae |- | V4L2_CID_DIGITAL_GAIN | Digital gain is the value by which all colour components are multiplied by. Typically the digital gain applied is the control value divided by e.g. 0x100, meaning that to get no digital gain the control value needs to be 0x100. The no-gain configuration is also typically the default. | R/W | Ae |- | V4L2_CID_PIXEL_RATEP | Pixel rate in the source pads of the subdev. This control is read-only and its unit is pixels / second. | R | Ae |- | V4L2_CID_LINK_FREQ | Data bus frequency. Together with the media bus pixel code, bus type (clock cycles per sample), the data bus frequency defines the pixel rate (<code>V4L2_CID_PIXEL_RATE</code>) in the pixel array (or possibly elsewhere, if the device is not an image sensor). The frame rate can be calculated from the pixel clock, image width and height and horizontal and vertical blanking. While the pixel rate control may be defined elsewhere than in the subdev containing the pixel array, the frame rate cannot be obtained from that information. This is because only on the pixel array it can be assumed that the vertical and horizontal blanking information is exact: no other blanking is allowed in the pixel array. The selection of frame rate is performed by selecting the desired horizontal and vertical blanking. The unit of this control is Hz. | R | mipi-dphy |} == Linux == === User applications&nbsp; === The applcation for&nbsp;plain v4L2 capture device still can be used(like gstreamer v4l2src plugins, v4l2ctl), but the media&nbsp;controller must be setup in a&nbsp;proper state before starting capture.<br/> The applications for Video Capture with rockchip-isp1 driver&nbsp;should do things like the following commands: <pre>media-ctl -l '"rockchip-sy-mipi-dphy":1->"rkisp1-isp-subdev":0[1]' media-ctl -l '"rkisp1-input-params":0->"rkisp1-isp-subdev":1[1]' media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_selfpath":0[1]' media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_mainpath":0[1]' media-ctl -l '"rkisp1-isp-subdev":3->"rkisp1-statistics":0[1]' # Above parts of media pipeline have been initializated when kernel driver probing, but please note that they can be changed in runtime # Set pad formats ## rkisp1 source pad media-ctl -set-v4l2 '"rkisp1-isp-subdev":2[fmt:YUYV2X8/800x600]' ## rkisp1 sink pad == sensor source [ad] media-ctl --set-v4l2 '"rkisp1-isp-subdev":0[fmt:SRGGB10/800*600]' media-ctl --set-v4l2 '"ov2685 7-0010":0[fmt:SRGGB10/800*600]' # Set link(Assume there are two sensors in one mipi-phy) ## Enable sensor1 media-ctl -l '"ov2685 7-0010":0->"rockchip-sy-mipi-dphy":0[1]' ## Disable sensor2 media-ctl -l '"ov5695 7-0036":0->"rockchip-sy-mipi-dphy":0[0]'</pre> ==== <del>Integrate 3A&nbsp;algorithm</del> ==== ==== <del>Multi sensors</del> ==== ==== <del>Multi paths</del> ==== Record, Preview, Still Capture&nbsp;in different resolution&nbsp;at a time === Gstreamer === We have write a gstreamer plugin, [https://github.com/rockchip-linux/gstreamer-rockchip-extra rkcamsrc], which is modified from gstreamer v4l2src plugin. [[File:Rkcamsrc.png|500px|RTENOTITLE]] Please refer to readme in github for usage. == Android == === <del>Camera Hal3</del> === [https://source.android.com/devices/camera/camera3?hl=zh-cn https://source.android.com/devices/camera/camera3] = Reproduce = The driver currently can run&nbsp;on ASUS Tinker Board and Firefly-RK3288-Reload + Rockchip&nbsp;Debian/Yocto SDK. == Source Code == === Kernel === #4.15 + [https://patchwork.linuxtv.org/project/linux-media/list/?submitter=7231 FORMLIST Patches] #[https://github.com/rockchip-linux/kernel/tree/isp-early-access Rockchip 4.4 BSP] === Sensor Driver === #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/imx219.c IMX219] #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/ov5647.c OV5647] #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/tc35874x.c TC35874X] === Device Tree === #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/arch/arm/boot/dts/rk3288-miniarm.dts Tinker Board] #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/arch/arm/boot/dts/rk3288-firefly.dtsi Firefly-rk3288-Reload] == Test Command == <pre>cat /sys/class/video4linux/video*/name # get self_path videox and main_path videox+1 gst-launch-1.0 rkcamsrc device=/dev/videox+1 io-mode=4 disable-3A=true&nbsp;! videoconvert&nbsp;! video/x-raw,format=NV12,width=640,height=480&nbsp;! kmssink</pre> = Others = == Topology == <pre>Media device information ------------------------ driver rkisp1 model rkisp1 serial bus info hw revision 0x0 driver version 0.0.0 Device topology - entity 1: rkisp1-isp-subdev (4 pads, 5 links) type V4L2 subdev subtype Unknown flags 0 device node name /dev/v4l-subdev0 pad0: Sink [fmt:SBGGR10_1X10/800x600 field:none crop.bounds:(0,0)/800x600 crop:(0,0)/800x600] <- "rockchip-sy-mipi-dphy":1 [ENABLED] pad1: Sink <- "rkisp1-input-params":0 [ENABLED] pad2: Source [fmt:SBGGR10_1X10/800x600 field:none crop.bounds:(0,0)/800x600 crop:(0,0)/800x600] -> "rkisp1_selfpath":0 [ENABLED] -> "rkisp1_mainpath":0 [ENABLED] pad3: Source -> "rkisp1-statistics":0 [ENABLED] - entity 2: rkisp1_selfpath (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video0 pad0: Sink <- "rkisp1-isp-subdev":2 [ENABLED] - entity 3: rkisp1_mainpath (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video1 pad0: Sink <- "rkisp1-isp-subdev":2 [ENABLED] - entity 4: rkisp1-statistics (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video2 pad0: Sink <- "rkisp1-isp-subdev":3 [ENABLED] - entity 5: rkisp1-input-params (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video3 pad0: Source -> "rkisp1-isp-subdev":1 [ENABLED] - entity 6: rockchip-sy-mipi-dphy (2 pads, 2 links) type V4L2 subdev subtype Unknown flags 0 device node name /dev/v4l-subdev1 pad0: Sink [fmt:SRGGB10_1X10/3280x2464 field:none] <- "imx219 2-0010":0 [ENABLED] pad1: Source [fmt:SRGGB10_1X10/3280x2464 field:none] -> "rkisp1-isp-subdev":0 [ENABLED] - entity 7: imx219 2-0010 (1 pad, 1 link) type V4L2 subdev subtype Sensor flags 0 device node name /dev/v4l-subdev2 pad0: Source [fmt:SRGGB10_1X10/3280x2464 field:none] -> "rockchip-sy-mipi-dphy":0 [ENABLED]</pre> 16663976fa70c488a9e636b54205f01ce0142077 1607 1606 2017-11-30T11:07:59Z Jacob 6 wikitext text/x-wiki NOTE: Under Construction &nbsp; = Overview = The document below&nbsp;provide&nbsp;basical informations&nbsp;about the&nbsp;rockchip-isp1 driver driver and&nbsp;Image Signal Processing block on Rockchip SoC&nbsp;with&nbsp;examples and details. = Hardware = == ISP Details == === Block diagram === The datasheet about ISP&nbsp;is currently only available under&nbsp;NDA, so we can't&nbsp;paste the completed block diagram from&nbsp;datasheet&nbsp;to here. Below&nbsp;diagram&nbsp;is a abstract version: == MIPI Details == = Software = == Driver == rockchip-isp1 is a V4L2 based driver for Image Signal Processing block on Rockchip SoC. Compared to the earlier driver&nbsp;rk-isp10, it use&nbsp;Media Controller&nbsp;framework, which it's different from plain v4L2. While the plain v4L2 had a view of the device as a plain DMA based image drabber which connects the input data to the host memory, the Media Controller takes into consideration the fact that a typical video device might consist of multiple sub-devices. === Media Controller Basics === Please read below link carefully,&nbsp;especially if you don't have use it before. [https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.html https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.htmlIntegrate 3A algorithm(TO BE DONE)] === Sensor Driver Requirement === The sensor driver should implement controls in the following table.&nbsp; {| border="1" class="table_style" |- ! rowspan="2" | Controls ! rowspan="2" | Description ! rowspan="2" | R/W ! rowspan="2" | Needed by |- | V4L2_CID_VBLANK | Vertical blanking. The idle period after every frame during which no image data is produced. The unit of vertical blanking is a line. Every line has length of the image width plus horizontal blanking at the pixel rate defined by&nbsp;<code>V4L2_CID_PIXEL_RATE</code>&nbsp;control in the same sub-device. | R | Ae |- | V4L2_CID_HBLANK | Horizontal blanking. The idle period after every line of image data during which no image data is produced. The unit of horizontal blanking is pixels. | R | Ae |- | V4L2_CID_EXPOSURE | Determines the exposure time of the camera sensor. The exposure time is limited by the frame interval. Drivers should interpret the values as 100 µs units, where the value 1 stands for 1/10000th of a second, 10000 for 1 second and 100000 for 10 seconds. | R/W | Ae |- | V4L2_CID_ANALOGUE_GAIN | Analogue gain is gain affecting all colour components in the pixel matrix. The gain operation is performed in the analogue domain before A/D conversion. | R/W | Ae |- | V4L2_CID_DIGITAL_GAIN | Digital gain is the value by which all colour components are multiplied by. Typically the digital gain applied is the control value divided by e.g. 0x100, meaning that to get no digital gain the control value needs to be 0x100. The no-gain configuration is also typically the default. | R/W | Ae |- | V4L2_CID_PIXEL_RATEP | Pixel rate in the source pads of the subdev. This control is read-only and its unit is pixels / second. | R | Ae |- | V4L2_CID_LINK_FREQ | Data bus frequency. Together with the media bus pixel code, bus type (clock cycles per sample), the data bus frequency defines the pixel rate (<code>V4L2_CID_PIXEL_RATE</code>) in the pixel array (or possibly elsewhere, if the device is not an image sensor). The frame rate can be calculated from the pixel clock, image width and height and horizontal and vertical blanking. While the pixel rate control may be defined elsewhere than in the subdev containing the pixel array, the frame rate cannot be obtained from that information. This is because only on the pixel array it can be assumed that the vertical and horizontal blanking information is exact: no other blanking is allowed in the pixel array. The selection of frame rate is performed by selecting the desired horizontal and vertical blanking. The unit of this control is Hz. | R | mipi-dphy |} == Linux == === User applications&nbsp; === The applcation for&nbsp;plain v4L2 capture device still can be used(like gstreamer v4l2src plugins, v4l2ctl), but the media&nbsp;controller must be setup in a&nbsp;proper state before starting capture.<br/> The applications for Video Capture with rockchip-isp1 driver&nbsp;should do things like the following commands: <pre>media-ctl -l '"rockchip-sy-mipi-dphy":1->"rkisp1-isp-subdev":0[1]' media-ctl -l '"rkisp1-input-params":0->"rkisp1-isp-subdev":1[1]' media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_selfpath":0[1]' media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_mainpath":0[1]' media-ctl -l '"rkisp1-isp-subdev":3->"rkisp1-statistics":0[1]' # Above parts of media pipeline have been initializated when kernel driver probing, but please note that they can be changed in runtime # Set pad formats ## rkisp1 source pad media-ctl -set-v4l2 '"rkisp1-isp-subdev":2[fmt:YUYV2X8/800x600]' ## rkisp1 sink pad == sensor source [ad] media-ctl --set-v4l2 '"rkisp1-isp-subdev":0[fmt:SRGGB10/800*600]' media-ctl --set-v4l2 '"ov2685 7-0010":0[fmt:SRGGB10/800*600]' # Set link(Assume there are two sensors in one mipi-phy) ## Enable sensor1 media-ctl -l '"ov2685 7-0010":0->"rockchip-sy-mipi-dphy":0[1]' ## Disable sensor2 media-ctl -l '"ov5695 7-0036":0->"rockchip-sy-mipi-dphy":0[0]'</pre> ==== <del>Integrate 3A&nbsp;algorithm</del> ==== ==== <del>Multi sensors</del> ==== ==== <del>Multi paths</del> ==== Record, Preview, Still Capture&nbsp;in different resolution&nbsp;at a time === Gstreamer === We have write a gstreamer plugin, [https://github.com/rockchip-linux/gstreamer-rockchip-extra rkcamsrc], which is modified from gstreamer v4l2src plugin. [[File:Rkcamsrc.png|500px|RTENOTITLE]] Please refer to readme in github for usage. == Android == === <del>Camera Hal3</del> === [https://source.android.com/devices/camera/camera3?hl=zh-cn https://source.android.com/devices/camera/camera3] = Reproduce = The driver currently can run&nbsp;on ASUS Tinker Board and Firefly-RK3288-Reload + Rockchip&nbsp;Debian/Yocto SDK. == Source Code == === Kernel === #4.15 + [https://patchwork.linuxtv.org/project/linux-media/list/?submitter=7231 FORMLIST Patches] #[https://github.com/rockchip-linux/kernel/tree/isp-early-access Rockchip 4.4 BSP] === Sensor Driver === #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/imx219.c IMX219] #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/ov5647.c OV5647] #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/tc35874x.c TC35874X] === Device Tree === #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/arch/arm/boot/dts/rk3288-miniarm.dts Tinker Board] #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/arch/arm/boot/dts/rk3288-firefly.dtsi Firefly-rk3288-Reload] == Test Command == <pre>cat /sys/class/video4linux/video*/name # get self_path videox and main_path videox+1 gst-launch-1.0 rkcamsrc device=/dev/videox+1 io-mode=4 disable-3A=true&nbsp;! videoconvert&nbsp;! video/x-raw,format=NV12,width=640,height=480&nbsp;! kmssink</pre> = Others = == Topology == <pre>Media device information ------------------------ driver rkisp1 model rkisp1 serial bus info hw revision 0x0 driver version 0.0.0 Device topology - entity 1: rkisp1-isp-subdev (4 pads, 5 links) type V4L2 subdev subtype Unknown flags 0 device node name /dev/v4l-subdev0 pad0: Sink [fmt:SBGGR10_1X10/800x600 field:none crop.bounds:(0,0)/800x600 crop:(0,0)/800x600] <- "rockchip-sy-mipi-dphy":1 [ENABLED] pad1: Sink <- "rkisp1-input-params":0 [ENABLED] pad2: Source [fmt:SBGGR10_1X10/800x600 field:none crop.bounds:(0,0)/800x600 crop:(0,0)/800x600] -> "rkisp1_selfpath":0 [ENABLED] -> "rkisp1_mainpath":0 [ENABLED] pad3: Source -> "rkisp1-statistics":0 [ENABLED] - entity 2: rkisp1_selfpath (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video0 pad0: Sink <- "rkisp1-isp-subdev":2 [ENABLED] - entity 3: rkisp1_mainpath (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video1 pad0: Sink <- "rkisp1-isp-subdev":2 [ENABLED] - entity 4: rkisp1-statistics (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video2 pad0: Sink <- "rkisp1-isp-subdev":3 [ENABLED] - entity 5: rkisp1-input-params (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video3 pad0: Source -> "rkisp1-isp-subdev":1 [ENABLED] - entity 6: rockchip-sy-mipi-dphy (2 pads, 2 links) type V4L2 subdev subtype Unknown flags 0 device node name /dev/v4l-subdev1 pad0: Sink [fmt:SRGGB10_1X10/3280x2464 field:none] <- "imx219 2-0010":0 [ENABLED] pad1: Source [fmt:SRGGB10_1X10/3280x2464 field:none] -> "rkisp1-isp-subdev":0 [ENABLED] - entity 7: imx219 2-0010 (1 pad, 1 link) type V4L2 subdev subtype Sensor flags 0 device node name /dev/v4l-subdev2 pad0: Source [fmt:SRGGB10_1X10/3280x2464 field:none] -> "rockchip-sy-mipi-dphy":0 [ENABLED]</pre> 77ed789417949158cdc4642870cc32de1a1a36a7 1608 1607 2017-11-30T11:08:49Z Jacob 6 wikitext text/x-wiki NOTE: Under Construction &nbsp; = Overview = The document below&nbsp;provide&nbsp;basical informations&nbsp;about the&nbsp;rockchip-isp1 driver driver and&nbsp;Image Signal Processing block on Rockchip SoC&nbsp;with&nbsp;examples and details. = Hardware = == ISP Details == === Block diagram === The datasheet about ISP&nbsp;is currently only available under&nbsp;NDA, so we can't&nbsp;paste the completed block diagram from&nbsp;datasheet&nbsp;to here. Below&nbsp;diagram&nbsp;is a abstract version: == MIPI Details == = Software = == Driver == rockchip-isp1 is a V4L2 based driver for Image Signal Processing block on Rockchip SoC. Compared to the earlier driver&nbsp;rk-isp10, it use&nbsp;Media Controller&nbsp;framework, which it's different from plain v4L2. While the plain v4L2 had a view of the device as a plain DMA based image drabber which connects the input data to the host memory, the Media Controller takes into consideration the fact that a typical video device might consist of multiple sub-devices. === Media Controller Basics === Please read below link carefully,&nbsp;especially if you don't have use it before. [https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.html https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.htmlIntegrate 3A algorithm(TO BE DONE)] === Sensor Driver Requirement === The sensor driver should implement controls in the following table.&nbsp; {| border="1" class="table_style" |- ! rowspan="2" | Controls ! rowspan="2" | Description ! rowspan="2" | R/W ! rowspan="2" | Needed by |- | V4L2_CID_VBLANK | Vertical blanking. The idle period after every frame during which no image data is produced. The unit of vertical blanking is a line. Every line has length of the image width plus horizontal blanking at the pixel rate defined by&nbsp;<code>V4L2_CID_PIXEL_RATE</code>&nbsp;control in the same sub-device. | R | Ae |- | V4L2_CID_HBLANK | Horizontal blanking. The idle period after every line of image data during which no image data is produced. The unit of horizontal blanking is pixels. | R | Ae |- | V4L2_CID_EXPOSURE | Determines the exposure time of the camera sensor. The exposure time is limited by the frame interval. Drivers should interpret the values as 100 µs units, where the value 1 stands for 1/10000th of a second, 10000 for 1 second and 100000 for 10 seconds. | R/W | Ae |- | V4L2_CID_ANALOGUE_GAIN | Analogue gain is gain affecting all colour components in the pixel matrix. The gain operation is performed in the analogue domain before A/D conversion. | R/W | Ae |- | V4L2_CID_DIGITAL_GAIN | Digital gain is the value by which all colour components are multiplied by. Typically the digital gain applied is the control value divided by e.g. 0x100, meaning that to get no digital gain the control value needs to be 0x100. The no-gain configuration is also typically the default. | R/W | Ae |- | V4L2_CID_PIXEL_RATEP | Pixel rate in the source pads of the subdev. This control is read-only and its unit is pixels / second. | R | Ae |- | V4L2_CID_LINK_FREQ | Data bus frequency. Together with the media bus pixel code, bus type (clock cycles per sample), the data bus frequency defines the pixel rate (<code>V4L2_CID_PIXEL_RATE</code>) in the pixel array (or possibly elsewhere, if the device is not an image sensor). The frame rate can be calculated from the pixel clock, image width and height and horizontal and vertical blanking. While the pixel rate control may be defined elsewhere than in the subdev containing the pixel array, the frame rate cannot be obtained from that information. This is because only on the pixel array it can be assumed that the vertical and horizontal blanking information is exact: no other blanking is allowed in the pixel array. The selection of frame rate is performed by selecting the desired horizontal and vertical blanking. The unit of this control is Hz. | R | mipi-dphy |} == Linux == === User applications&nbsp; === The applcation for&nbsp;plain v4L2 capture device still can be used(like gstreamer v4l2src plugins, v4l2ctl), but the media&nbsp;controller must be setup in a&nbsp;proper state before starting capture.<br/> The applications for Video Capture with rockchip-isp1 driver&nbsp;should do things like the following commands: <pre>media-ctl -l '"rockchip-sy-mipi-dphy":1->"rkisp1-isp-subdev":0[1]' media-ctl -l '"rkisp1-input-params":0->"rkisp1-isp-subdev":1[1]' media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_selfpath":0[1]' media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_mainpath":0[1]' media-ctl -l '"rkisp1-isp-subdev":3->"rkisp1-statistics":0[1]' # Above parts of media pipeline have been initializated when kernel driver probing, but please note that they can be changed in runtime # Set pad formats ## rkisp1 source pad media-ctl -set-v4l2 '"rkisp1-isp-subdev":2[fmt:YUYV2X8/800x600]' ## rkisp1 sink pad == sensor source [ad] media-ctl --set-v4l2 '"rkisp1-isp-subdev":0[fmt:SRGGB10/800*600]' media-ctl --set-v4l2 '"ov2685 7-0010":0[fmt:SRGGB10/800*600]' # Set link(Assume there are two sensors in one mipi-phy) ## Enable sensor1 media-ctl -l '"ov2685 7-0010":0->"rockchip-sy-mipi-dphy":0[1]' ## Disable sensor2 media-ctl -l '"ov5695 7-0036":0->"rockchip-sy-mipi-dphy":0[0]'</pre> ==== <del>Integrate 3A&nbsp;algorithm</del> ==== ==== <del>Multi sensors</del> ==== ==== <del>Multi paths</del> ==== Record, Preview, Still Capture&nbsp;in different resolution&nbsp;at a time === Gstreamer === We have write a gstreamer plugin, [https://github.com/rockchip-linux/gstreamer-rockchip-extra rkcamsrc], which is modified from gstreamer v4l2src plugin. [[File:Rkcamsrc.png|500px|RTENOTITLE]] Please refer to readme in github for usage. == Android == === <del>Camera Hal3</del> === [https://source.android.com/devices/camera/camera3?hl=zh-cn https://source.android.com/devices/camera/camera3] = Reproduce = The driver currently can run&nbsp;on ASUS Tinker Board and Firefly-RK3288-Reload + Rockchip&nbsp;Debian/Yocto SDK. == Source Code == === Kernel === #4.15 + [https://patchwork.linuxtv.org/project/linux-media/list/?submitter=7231 FORMLIST Patches] #[https://github.com/rockchip-linux/kernel/tree/isp-early-access Rockchip 4.4 BSP] === Sensor Driver === #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/imx219.c IMX219] #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/ov5647.c OV5647] #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/tc35874x.c TC35874X] === Device Tree === #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/arch/arm/boot/dts/rk3288-miniarm.dts Tinker Board] #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/arch/arm/boot/dts/rk3288-firefly.dtsi Firefly-rk3288-Reload] == Test Command == <pre>cat /sys/class/video4linux/video*/name # get self_path videox and main_path videox+1 gst-launch-1.0 rkcamsrc device=/dev/videox+1 io-mode=4 disable-3A=true&nbsp;! videoconvert&nbsp;! video/x-raw,format=NV12,width=640,height=480&nbsp;! kmssink</pre> = Others = == Topology == <pre>Media device information ------------------------ driver rkisp1 model rkisp1 serial bus info hw revision 0x0 driver version 0.0.0 Device topology - entity 1: rkisp1-isp-subdev (4 pads, 5 links) type V4L2 subdev subtype Unknown flags 0 device node name /dev/v4l-subdev0 pad0: Sink [fmt:SBGGR10_1X10/800x600 field:none crop.bounds:(0,0)/800x600 crop:(0,0)/800x600] <- "rockchip-sy-mipi-dphy":1 [ENABLED] pad1: Sink <- "rkisp1-input-params":0 [ENABLED] pad2: Source [fmt:SBGGR10_1X10/800x600 field:none crop.bounds:(0,0)/800x600 crop:(0,0)/800x600] -> "rkisp1_selfpath":0 [ENABLED] -> "rkisp1_mainpath":0 [ENABLED] pad3: Source -> "rkisp1-statistics":0 [ENABLED] - entity 2: rkisp1_selfpath (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video0 pad0: Sink <- "rkisp1-isp-subdev":2 [ENABLED] - entity 3: rkisp1_mainpath (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video1 pad0: Sink <- "rkisp1-isp-subdev":2 [ENABLED] - entity 4: rkisp1-statistics (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video2 pad0: Sink <- "rkisp1-isp-subdev":3 [ENABLED] - entity 5: rkisp1-input-params (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video3 pad0: Source -> "rkisp1-isp-subdev":1 [ENABLED] - entity 6: rockchip-sy-mipi-dphy (2 pads, 2 links) type V4L2 subdev subtype Unknown flags 0 device node name /dev/v4l-subdev1 pad0: Sink [fmt:SRGGB10_1X10/3280x2464 field:none] <- "imx219 2-0010":0 [ENABLED] pad1: Source [fmt:SRGGB10_1X10/3280x2464 field:none] -> "rkisp1-isp-subdev":0 [ENABLED] - entity 7: imx219 2-0010 (1 pad, 1 link) type V4L2 subdev subtype Sensor flags 0 device node name /dev/v4l-subdev2 pad0: Source [fmt:SRGGB10_1X10/3280x2464 field:none] -> "rockchip-sy-mipi-dphy":0 [ENABLED]</pre> e034a5d08224628a3bc155ca93061a6051b323db 1609 1608 2017-11-30T11:10:33Z Jacob 6 wikitext text/x-wiki NOTE: Under Construction &nbsp; = Overview = The document below&nbsp;provide&nbsp;basical informations&nbsp;about the&nbsp;rockchip-isp1 driver driver and&nbsp;Image Signal Processing block on Rockchip SoC&nbsp;with&nbsp;examples and details. = Hardware = == ISP Details == === Block diagram === The datasheet about ISP&nbsp;is currently only available under&nbsp;NDA, so we can't&nbsp;paste the completed block diagram from&nbsp;datasheet&nbsp;to here. Below&nbsp;diagram&nbsp;is a abstract version: == MIPI Details == = Software = == Driver == rockchip-isp1 is a V4L2 based driver for Image Signal Processing block on Rockchip SoC. Compared to the earlier driver&nbsp;rk-isp10, it use&nbsp;Media Controller&nbsp;framework, which it's different from plain v4L2. While the plain v4L2 had a view of the device as a plain DMA based image drabber which connects the input data to the host memory, the Media Controller takes into consideration the fact that a typical video device might consist of multiple sub-devices. === Media Controller Basics === Please read below link carefully,&nbsp;especially if you don't have use it before. [https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.html https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.htmlIntegrate 3A algorithm(TO BE DONE)] === Sensor Driver Requirement === The sensor driver should implement controls in the following table.&nbsp; {| border="1" class="table_style" |- ! Controls ! Description ! R/W ! Needed by |- | V4L2_CID_VBLANK | <span style="font-size:smaller;">Vertical blanking. The idle period after every frame during which no image data is produced. The unit of vertical blanking is a line. Every line has length of the image width plus horizontal blanking at the pixel rate defined by&nbsp;<code>V4L2_CID_PIXEL_RATE</code>&nbsp;control in the same sub-device.</span> | R | Ae |- | V4L2_CID_HBLANK | <span style="font-size:smaller;">Horizontal blanking. The idle period after every line of image data during which no image data is produced. The unit of horizontal blanking is pixels.</span> | R | Ae |- | V4L2_CID_EXPOSURE | <span style="font-size:smaller;">Determines the exposure time of the camera sensor. The exposure time is limited by the frame interval. Drivers should interpret the values as 100 µs units, where the value 1 stands for 1/10000th of a second, 10000 for 1 second and 100000 for 10 seconds.</span> | R/W | Ae |- | V4L2_CID_ANALOGUE_GAIN | <span style="font-size:smaller;">Analogue gain is gain affecting all colour components in the pixel matrix. The gain operation is performed in the analogue domain before A/D conversion.</span> | R/W | Ae |- | V4L2_CID_DIGITAL_GAIN | <span style="font-size:smaller;">Digital gain is the value by which all colour components are multiplied by. Typically the digital gain applied is the control value divided by e.g. 0x100, meaning that to get no digital gain the control value needs to be 0x100. The no-gain configuration is also typically the default.</span> | R/W | Ae |- | V4L2_CID_PIXEL_RATEP | <span style="font-size:smaller;">Pixel rate in the source pads of the subdev. This control is read-only and its unit is pixels / second.</span> | R | Ae |- | V4L2_CID_LINK_FREQ | <span style="font-size:smaller;">Data bus frequency. Together with the media bus pixel code, bus type (clock cycles per sample), the data bus frequency defines the pixel rate (<code>V4L2_CID_PIXEL_RATE</code>) in the pixel array (or possibly elsewhere, if the device is not an image sensor). The frame rate can be calculated from the pixel clock, image width and height and horizontal and vertical blanking. While the pixel rate control may be defined elsewhere than in the subdev containing the pixel array, the frame rate cannot be obtained from that information. This is because only on the pixel array it can be assumed that the vertical and horizontal blanking information is exact: no other blanking is allowed in the pixel array. The selection of frame rate is performed by selecting the desired horizontal and vertical blanking. The unit of this control is Hz.</span> | R | mipi-dphy |} == Linux == === User applications&nbsp; === The applcation for&nbsp;plain v4L2 capture device still can be used(like gstreamer v4l2src plugins, v4l2ctl), but the media&nbsp;controller must be setup in a&nbsp;proper state before starting capture.<br/> The applications for Video Capture with rockchip-isp1 driver&nbsp;should do things like the following commands: <pre>media-ctl -l '"rockchip-sy-mipi-dphy":1->"rkisp1-isp-subdev":0[1]' media-ctl -l '"rkisp1-input-params":0->"rkisp1-isp-subdev":1[1]' media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_selfpath":0[1]' media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_mainpath":0[1]' media-ctl -l '"rkisp1-isp-subdev":3->"rkisp1-statistics":0[1]' # Above parts of media pipeline have been initializated when kernel driver probing, but please note that they can be changed in runtime # Set pad formats ## rkisp1 source pad media-ctl -set-v4l2 '"rkisp1-isp-subdev":2[fmt:YUYV2X8/800x600]' ## rkisp1 sink pad == sensor source [ad] media-ctl --set-v4l2 '"rkisp1-isp-subdev":0[fmt:SRGGB10/800*600]' media-ctl --set-v4l2 '"ov2685 7-0010":0[fmt:SRGGB10/800*600]' # Set link(Assume there are two sensors in one mipi-phy) ## Enable sensor1 media-ctl -l '"ov2685 7-0010":0->"rockchip-sy-mipi-dphy":0[1]' ## Disable sensor2 media-ctl -l '"ov5695 7-0036":0->"rockchip-sy-mipi-dphy":0[0]'</pre> ==== <del>Integrate 3A&nbsp;algorithm</del> ==== ==== <del>Multi sensors</del> ==== ==== <del>Multi paths</del> ==== Record, Preview, Still Capture&nbsp;in different resolution&nbsp;at a time === Gstreamer === We have write a gstreamer plugin, [https://github.com/rockchip-linux/gstreamer-rockchip-extra rkcamsrc], which is modified from gstreamer v4l2src plugin. [[File:Rkcamsrc.png|500px|RTENOTITLE]] Please refer to readme in github for usage. == Android == === <del>Camera Hal3</del> === [https://source.android.com/devices/camera/camera3?hl=zh-cn https://source.android.com/devices/camera/camera3] = Reproduce = The driver currently can run&nbsp;on ASUS Tinker Board and Firefly-RK3288-Reload + Rockchip&nbsp;Debian/Yocto SDK. == Source Code == === Kernel === #4.15 + [https://patchwork.linuxtv.org/project/linux-media/list/?submitter=7231 FORMLIST Patches] #[https://github.com/rockchip-linux/kernel/tree/isp-early-access Rockchip 4.4 BSP] === Sensor Driver === #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/imx219.c IMX219] #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/ov5647.c OV5647] #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/tc35874x.c TC35874X] === Device Tree === #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/arch/arm/boot/dts/rk3288-miniarm.dts Tinker Board] #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/arch/arm/boot/dts/rk3288-firefly.dtsi Firefly-rk3288-Reload] == Test Command == <pre>cat /sys/class/video4linux/video*/name # get self_path videox and main_path videox+1 gst-launch-1.0 rkcamsrc device=/dev/videox+1 io-mode=4 disable-3A=true&nbsp;! videoconvert&nbsp;! video/x-raw,format=NV12,width=640,height=480&nbsp;! kmssink</pre> = Others = == Topology == <pre>Media device information ------------------------ driver rkisp1 model rkisp1 serial bus info hw revision 0x0 driver version 0.0.0 Device topology - entity 1: rkisp1-isp-subdev (4 pads, 5 links) type V4L2 subdev subtype Unknown flags 0 device node name /dev/v4l-subdev0 pad0: Sink [fmt:SBGGR10_1X10/800x600 field:none crop.bounds:(0,0)/800x600 crop:(0,0)/800x600] <- "rockchip-sy-mipi-dphy":1 [ENABLED] pad1: Sink <- "rkisp1-input-params":0 [ENABLED] pad2: Source [fmt:SBGGR10_1X10/800x600 field:none crop.bounds:(0,0)/800x600 crop:(0,0)/800x600] -> "rkisp1_selfpath":0 [ENABLED] -> "rkisp1_mainpath":0 [ENABLED] pad3: Source -> "rkisp1-statistics":0 [ENABLED] - entity 2: rkisp1_selfpath (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video0 pad0: Sink <- "rkisp1-isp-subdev":2 [ENABLED] - entity 3: rkisp1_mainpath (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video1 pad0: Sink <- "rkisp1-isp-subdev":2 [ENABLED] - entity 4: rkisp1-statistics (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video2 pad0: Sink <- "rkisp1-isp-subdev":3 [ENABLED] - entity 5: rkisp1-input-params (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video3 pad0: Source -> "rkisp1-isp-subdev":1 [ENABLED] - entity 6: rockchip-sy-mipi-dphy (2 pads, 2 links) type V4L2 subdev subtype Unknown flags 0 device node name /dev/v4l-subdev1 pad0: Sink [fmt:SRGGB10_1X10/3280x2464 field:none] <- "imx219 2-0010":0 [ENABLED] pad1: Source [fmt:SRGGB10_1X10/3280x2464 field:none] -> "rkisp1-isp-subdev":0 [ENABLED] - entity 7: imx219 2-0010 (1 pad, 1 link) type V4L2 subdev subtype Sensor flags 0 device node name /dev/v4l-subdev2 pad0: Source [fmt:SRGGB10_1X10/3280x2464 field:none] -> "rockchip-sy-mipi-dphy":0 [ENABLED]</pre> 6698e119c16b546e1954faa3d8622c0686a2beb1 1610 1609 2017-11-30T11:16:47Z Jacob 6 wikitext text/x-wiki NOTE: Under Construction &nbsp; = Overview = The document below&nbsp;provide&nbsp;basical informations&nbsp;about the&nbsp;rockchip-isp1 driver driver and&nbsp;Image Signal Processing block on Rockchip SoC&nbsp;with&nbsp;examples and details. = Hardware = == ISP Details == === Block diagram === The datasheet about ISP&nbsp;is currently only available under&nbsp;NDA, so we can't&nbsp;paste the completed block diagram from&nbsp;datasheet&nbsp;to here. Below&nbsp;diagram&nbsp;is a abstract version: == MIPI Details == = Software = == Driver == rockchip-isp1 is a V4L2 based driver for Image Signal Processing block on Rockchip SoC. Compared to the earlier driver&nbsp;rk-isp10, it use&nbsp;Media Controller&nbsp;framework, which it's different from plain v4L2. While the plain v4L2 had a view of the device as a plain DMA based image drabber which connects the input data to the host memory, the Media Controller takes into consideration the fact that a typical video device might consist of multiple sub-devices. === Media Controller Basics === Please read below link carefully,&nbsp;especially if you don't have use it before. [https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.html https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.htmlIntegrate 3A algorithm(TO BE DONE)] === Sensor Driver Requirement === The sensor driver should implement controls in the following table.&nbsp; {| border="1" class="table_style" |- ! Controls ! Description ! R/W ! Needed by |- | V4L2_CID_VBLANK | <span style="font-size:smaller;">Vertical blanking. The idle period after every frame during which no image data is produced. The unit of vertical blanking is a line. Every line has length of the image width plus horizontal blanking at the pixel rate defined by&nbsp;<code>V4L2_CID_PIXEL_RATE</code>&nbsp;control in the same sub-device.</span> | R | Ae |- | V4L2_CID_HBLANK | <span style="font-size:smaller;">Horizontal blanking. The idle period after every line of image data during which no image data is produced. The unit of horizontal blanking is pixels.</span> | R | Ae |- | V4L2_CID_EXPOSURE | <span style="font-size:smaller;">Determines the exposure time of the camera sensor. The exposure time is limited by the frame interval. Drivers should interpret the values as 100 µs units, where the value 1 stands for 1/10000th of a second, 10000 for 1 second and 100000 for 10 seconds.</span> | R/W | Ae |- | V4L2_CID_ANALOGUE_GAIN | <span style="font-size:smaller;">Analogue gain is gain affecting all colour components in the pixel matrix. The gain operation is performed in the analogue domain before A/D conversion.</span> | R/W | Ae |- | V4L2_CID_DIGITAL_GAIN | <span style="font-size:smaller;">Digital gain is the value by which all colour components are multiplied by. Typically the digital gain applied is the control value divided by e.g. 0x100, meaning that to get no digital gain the control value needs to be 0x100. The no-gain configuration is also typically the default.</span> | R/W | Ae |- | V4L2_CID_PIXEL_RATEP | <span style="font-size:smaller;">Pixel rate in the source pads of the subdev. This control is read-only and its unit is pixels / second.</span> | R | Ae |- | V4L2_CID_LINK_FREQ | <span style="font-size:smaller;">Data bus frequency. Together with the media bus pixel code, bus type (clock cycles per sample), the data bus frequency defines the pixel rate (<code>V4L2_CID_PIXEL_RATE</code>) in the pixel array (or possibly elsewhere, if the device is not an image sensor). The frame rate can be calculated from the pixel clock, image width and height and horizontal and vertical blanking. While the pixel rate control may be defined elsewhere than in the subdev containing the pixel array, the frame rate cannot be obtained from that information. This is because only on the pixel array it can be assumed that the vertical and horizontal blanking information is exact: no other blanking is allowed in the pixel array. The selection of frame rate is performed by selecting the desired horizontal and vertical blanking. The unit of this control is Hz.</span> | R | mipi-dphy |} == Linux == === User applications&nbsp; === The applcation for&nbsp;plain v4L2 capture device still can be used(like gstreamer v4l2src plugins, v4l2ctl), but the media&nbsp;controller must be setup in a&nbsp;proper state before starting capture.<br/> The applications for Video Capture with rockchip-isp1 driver&nbsp;should do things like the following commands: <pre>media-ctl -l '"rockchip-sy-mipi-dphy":1->"rkisp1-isp-subdev":0[1]' media-ctl -l '"rkisp1-input-params":0->"rkisp1-isp-subdev":1[1]' media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_selfpath":0[1]' media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_mainpath":0[1]' media-ctl -l '"rkisp1-isp-subdev":3->"rkisp1-statistics":0[1]' # Media graph have been initializated when kernel driver probing, so above commands don't have to be called, though please note that they can be changed in the runtime # Set pad formats ## rkisp1 source pad media-ctl -set-v4l2 '"rkisp1-isp-subdev":2[fmt:YUYV2X8/800x600]' ## rkisp1 sink pad == sensor source [ad] media-ctl --set-v4l2 '"rkisp1-isp-subdev":0[fmt:SRGGB10/800*600]' media-ctl --set-v4l2 '"ov2685 7-0010":0[fmt:SRGGB10/800*600]' # Set link(Assume there are two sensors in one mipi-phy) ## Enable sensor1 media-ctl -l '"ov2685 7-0010":0->"rockchip-sy-mipi-dphy":0[1]' ## Disable sensor2 media-ctl -l '"ov5695 7-0036":0->"rockchip-sy-mipi-dphy":0[0]' # Start capture v4l2-ctl xxxxxxx </pre> ==== <del>Integrate 3A&nbsp;algorithm</del> ==== ==== <del>Multi sensors</del> ==== ==== <del>Multi paths</del> ==== Record, Preview, Still Capture&nbsp;in different resolution&nbsp;at a time === Gstreamer === We have write a gstreamer plugin, [https://github.com/rockchip-linux/gstreamer-rockchip-extra rkcamsrc], which is modified from gstreamer v4l2src plugin. [[File:Rkcamsrc.png|500px|RTENOTITLE]] Please refer to readme in github for usage. == Android == === <del>Camera Hal3</del> === [https://source.android.com/devices/camera/camera3?hl=zh-cn https://source.android.com/devices/camera/camera3] = Reproduce = The driver currently can run&nbsp;on ASUS Tinker Board and Firefly-RK3288-Reload + Rockchip&nbsp;Debian/Yocto SDK. == Source Code == === Kernel === #4.15 + [https://patchwork.linuxtv.org/project/linux-media/list/?submitter=7231 FORMLIST Patches] #[https://github.com/rockchip-linux/kernel/tree/isp-early-access Rockchip 4.4 BSP] === Sensor Driver === #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/imx219.c IMX219] #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/ov5647.c OV5647] #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/tc35874x.c TC35874X] === Device Tree === #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/arch/arm/boot/dts/rk3288-miniarm.dts Tinker Board] #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/arch/arm/boot/dts/rk3288-firefly.dtsi Firefly-rk3288-Reload] == Test Command == <pre>cat /sys/class/video4linux/video*/name # get self_path videox and main_path videox+1 gst-launch-1.0 rkcamsrc device=/dev/videox+1 io-mode=4 disable-3A=true&nbsp;! videoconvert&nbsp;! video/x-raw,format=NV12,width=640,height=480&nbsp;! kmssink</pre> = Others = == Topology == <pre>Media device information ------------------------ driver rkisp1 model rkisp1 serial bus info hw revision 0x0 driver version 0.0.0 Device topology - entity 1: rkisp1-isp-subdev (4 pads, 5 links) type V4L2 subdev subtype Unknown flags 0 device node name /dev/v4l-subdev0 pad0: Sink [fmt:SBGGR10_1X10/800x600 field:none crop.bounds:(0,0)/800x600 crop:(0,0)/800x600] <- "rockchip-sy-mipi-dphy":1 [ENABLED] pad1: Sink <- "rkisp1-input-params":0 [ENABLED] pad2: Source [fmt:SBGGR10_1X10/800x600 field:none crop.bounds:(0,0)/800x600 crop:(0,0)/800x600] -> "rkisp1_selfpath":0 [ENABLED] -> "rkisp1_mainpath":0 [ENABLED] pad3: Source -> "rkisp1-statistics":0 [ENABLED] - entity 2: rkisp1_selfpath (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video0 pad0: Sink <- "rkisp1-isp-subdev":2 [ENABLED] - entity 3: rkisp1_mainpath (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video1 pad0: Sink <- "rkisp1-isp-subdev":2 [ENABLED] - entity 4: rkisp1-statistics (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video2 pad0: Sink <- "rkisp1-isp-subdev":3 [ENABLED] - entity 5: rkisp1-input-params (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video3 pad0: Source -> "rkisp1-isp-subdev":1 [ENABLED] - entity 6: rockchip-sy-mipi-dphy (2 pads, 2 links) type V4L2 subdev subtype Unknown flags 0 device node name /dev/v4l-subdev1 pad0: Sink [fmt:SRGGB10_1X10/3280x2464 field:none] <- "imx219 2-0010":0 [ENABLED] pad1: Source [fmt:SRGGB10_1X10/3280x2464 field:none] -> "rkisp1-isp-subdev":0 [ENABLED] - entity 7: imx219 2-0010 (1 pad, 1 link) type V4L2 subdev subtype Sensor flags 0 device node name /dev/v4l-subdev2 pad0: Source [fmt:SRGGB10_1X10/3280x2464 field:none] -> "rockchip-sy-mipi-dphy":0 [ENABLED]</pre> 538b44b8936e7508f4fde4c360324c7231a86b58 1611 1610 2017-11-30T11:24:51Z Jacob 6 wikitext text/x-wiki NOTE: Under Construction &nbsp; = Overview = The document below&nbsp;provide&nbsp;basical informations&nbsp;about the&nbsp;rockchip-isp1 driver driver and&nbsp;Image Signal Processing block on Rockchip SoC&nbsp;with&nbsp;examples and details. = Hardware = More detailed information could be found in TRM chapter "Image Signal Processing", "MIPI D-PHY"&nbsp;, but they are only available under&nbsp;NDA. == ISP Details == === Block diagram === Sorry&nbsp;we can't&nbsp;paste the completed block diagram from&nbsp;datasheet&nbsp;to here. Below&nbsp;diagram&nbsp;is a abstract version: == MIPI Details == = Software = == Driver == rockchip-isp1 is a V4L2 based driver for Image Signal Processing block on Rockchip SoC. Compared to the earlier driver&nbsp;rk-isp10, it use&nbsp;Media Controller&nbsp;framework, which it's different from plain v4L2. While the plain v4L2 had a view of the device as a plain DMA based image drabber which connects the input data to the host memory, the Media Controller takes into consideration the fact that a typical video device might consist of multiple sub-devices. === Media Controller Basics === Please read below link carefully,&nbsp;especially if you don't have use it before. [https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.html https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.htmlIntegrate 3A algorithm(TO BE DONE)] === Sensor Driver Requirement === The sensor driver should implement controls in the following table.&nbsp; {| border="1" class="table_style" |- ! Controls ! Description ! R/W ! Needed by |- | V4L2_CID_VBLANK | <span style="font-size:smaller;">Vertical blanking. The idle period after every frame during which no image data is produced. The unit of vertical blanking is a line. Every line has length of the image width plus horizontal blanking at the pixel rate defined by&nbsp;<code>V4L2_CID_PIXEL_RATE</code>&nbsp;control in the same sub-device.</span> | R | Ae |- | V4L2_CID_HBLANK | <span style="font-size:smaller;">Horizontal blanking. The idle period after every line of image data during which no image data is produced. The unit of horizontal blanking is pixels.</span> | R | Ae |- | V4L2_CID_EXPOSURE | <span style="font-size:smaller;">Determines the exposure time of the camera sensor. The exposure time is limited by the frame interval. Drivers should interpret the values as 100 µs units, where the value 1 stands for 1/10000th of a second, 10000 for 1 second and 100000 for 10 seconds.</span> | R/W | Ae |- | V4L2_CID_ANALOGUE_GAIN | <span style="font-size:smaller;">Analogue gain is gain affecting all colour components in the pixel matrix. The gain operation is performed in the analogue domain before A/D conversion.</span> | R/W | Ae |- | V4L2_CID_DIGITAL_GAIN | <span style="font-size:smaller;">Digital gain is the value by which all colour components are multiplied by. Typically the digital gain applied is the control value divided by e.g. 0x100, meaning that to get no digital gain the control value needs to be 0x100. The no-gain configuration is also typically the default.</span> | R/W | Ae |- | V4L2_CID_PIXEL_RATEP | <span style="font-size:smaller;">Pixel rate in the source pads of the subdev. This control is read-only and its unit is pixels / second.</span> | R | Ae |- | V4L2_CID_LINK_FREQ | <span style="font-size:smaller;">Data bus frequency. Together with the media bus pixel code, bus type (clock cycles per sample), the data bus frequency defines the pixel rate (<code>V4L2_CID_PIXEL_RATE</code>) in the pixel array (or possibly elsewhere, if the device is not an image sensor). The frame rate can be calculated from the pixel clock, image width and height and horizontal and vertical blanking. While the pixel rate control may be defined elsewhere than in the subdev containing the pixel array, the frame rate cannot be obtained from that information. This is because only on the pixel array it can be assumed that the vertical and horizontal blanking information is exact: no other blanking is allowed in the pixel array. The selection of frame rate is performed by selecting the desired horizontal and vertical blanking. The unit of this control is Hz.</span> | R | mipi-dphy |} == Linux == === User applications&nbsp; === The applcation for&nbsp;plain v4L2 capture device still can be used(like gstreamer v4l2src plugins, v4l2ctl), but the media&nbsp;controller must be setup in a&nbsp;proper state before starting capture.<br/> The applications for Video Capture with rockchip-isp1 driver&nbsp;should do things like the following commands: <pre>media-ctl -l '"rockchip-sy-mipi-dphy":1->"rkisp1-isp-subdev":0[1]' media-ctl -l '"rkisp1-input-params":0->"rkisp1-isp-subdev":1[1]' media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_selfpath":0[1]' media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_mainpath":0[1]' media-ctl -l '"rkisp1-isp-subdev":3->"rkisp1-statistics":0[1]' # Media graph have been initializated when kernel driver probing, so above commands don't have to be called, though please note that they can be changed in the runtime # Set pad formats ## rkisp1 source pad media-ctl -set-v4l2 '"rkisp1-isp-subdev":2[fmt:YUYV2X8/800x600]' ## rkisp1 sink pad == sensor source [ad] media-ctl --set-v4l2 '"rkisp1-isp-subdev":0[fmt:SRGGB10/800*600]' media-ctl --set-v4l2 '"ov2685 7-0010":0[fmt:SRGGB10/800*600]' # Set link(Assume there are two sensors in one mipi-phy) ## Enable sensor1 media-ctl -l '"ov2685 7-0010":0->"rockchip-sy-mipi-dphy":0[1]' ## Disable sensor2 media-ctl -l '"ov5695 7-0036":0->"rockchip-sy-mipi-dphy":0[0]' # Start capture v4l2-ctl xxxxxxx </pre> ==== <del>Integrate 3A&nbsp;algorithm</del> ==== ==== <del>Multi sensors</del> ==== ==== <del>Multi paths</del> ==== Record, Preview, Still Capture&nbsp;in different resolution&nbsp;at a time === Gstreamer === We have write a gstreamer plugin, [https://github.com/rockchip-linux/gstreamer-rockchip-extra rkcamsrc], which is modified from gstreamer v4l2src plugin. [[File:Rkcamsrc.png|500px|RTENOTITLE]] Please refer to readme in github for usage. == Android == === <del>Camera Hal3</del> === [https://source.android.com/devices/camera/camera3?hl=zh-cn https://source.android.com/devices/camera/camera3] = Reproduce = The driver currently can run&nbsp;on ASUS Tinker Board and Firefly-RK3288-Reload + Rockchip&nbsp;Debian/Yocto SDK. == Source Code == === Kernel === #4.15 + [https://patchwork.linuxtv.org/project/linux-media/list/?submitter=7231 FORMLIST Patches] #[https://github.com/rockchip-linux/kernel/tree/isp-early-access Rockchip 4.4 BSP] === Sensor Driver === #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/imx219.c IMX219] #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/ov5647.c OV5647] #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/tc35874x.c TC35874X] === Device Tree === #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/arch/arm/boot/dts/rk3288-miniarm.dts Tinker Board] #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/arch/arm/boot/dts/rk3288-firefly.dtsi Firefly-rk3288-Reload] == Test Command == <pre>cat /sys/class/video4linux/video*/name # get self_path videox and main_path videox+1 gst-launch-1.0 rkcamsrc device=/dev/videox+1 io-mode=4 disable-3A=true&nbsp;! videoconvert&nbsp;! video/x-raw,format=NV12,width=640,height=480&nbsp;! kmssink</pre> = Others = == Topology == <pre>Media device information ------------------------ driver rkisp1 model rkisp1 serial bus info hw revision 0x0 driver version 0.0.0 Device topology - entity 1: rkisp1-isp-subdev (4 pads, 5 links) type V4L2 subdev subtype Unknown flags 0 device node name /dev/v4l-subdev0 pad0: Sink [fmt:SBGGR10_1X10/800x600 field:none crop.bounds:(0,0)/800x600 crop:(0,0)/800x600] <- "rockchip-sy-mipi-dphy":1 [ENABLED] pad1: Sink <- "rkisp1-input-params":0 [ENABLED] pad2: Source [fmt:SBGGR10_1X10/800x600 field:none crop.bounds:(0,0)/800x600 crop:(0,0)/800x600] -> "rkisp1_selfpath":0 [ENABLED] -> "rkisp1_mainpath":0 [ENABLED] pad3: Source -> "rkisp1-statistics":0 [ENABLED] - entity 2: rkisp1_selfpath (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video0 pad0: Sink <- "rkisp1-isp-subdev":2 [ENABLED] - entity 3: rkisp1_mainpath (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video1 pad0: Sink <- "rkisp1-isp-subdev":2 [ENABLED] - entity 4: rkisp1-statistics (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video2 pad0: Sink <- "rkisp1-isp-subdev":3 [ENABLED] - entity 5: rkisp1-input-params (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video3 pad0: Source -> "rkisp1-isp-subdev":1 [ENABLED] - entity 6: rockchip-sy-mipi-dphy (2 pads, 2 links) type V4L2 subdev subtype Unknown flags 0 device node name /dev/v4l-subdev1 pad0: Sink [fmt:SRGGB10_1X10/3280x2464 field:none] <- "imx219 2-0010":0 [ENABLED] pad1: Source [fmt:SRGGB10_1X10/3280x2464 field:none] -> "rkisp1-isp-subdev":0 [ENABLED] - entity 7: imx219 2-0010 (1 pad, 1 link) type V4L2 subdev subtype Sensor flags 0 device node name /dev/v4l-subdev2 pad0: Source [fmt:SRGGB10_1X10/3280x2464 field:none] -> "rockchip-sy-mipi-dphy":0 [ENABLED]</pre> 6f1ed0b88521eac36ce324f5afd66d813c78fb88 1612 1611 2017-11-30T11:25:53Z Jacob 6 wikitext text/x-wiki NOTE: Under Construction &nbsp; = Overview = The document below&nbsp;provide&nbsp;basical informations&nbsp;about the&nbsp;rockchip-isp1 driver driver and&nbsp;Image Signal Processing block on Rockchip SoC&nbsp;with&nbsp;examples and details. &nbsp; = Hardware = More detailed information could be found in TRM chapter "Image Signal Processing", "MIPI D-PHY"&nbsp;, but they are only available under&nbsp;NDA. == ISP Details == === Block diagram === The completed block diagram&nbsp; can not be pasted from&nbsp;datasheet&nbsp;to here, below&nbsp;diagram&nbsp;is a abstract version: == MIPI Details == = Software = == Driver == rockchip-isp1 is a V4L2 based driver for Image Signal Processing block on Rockchip SoC. Compared to the earlier driver&nbsp;rk-isp10, it use&nbsp;Media Controller&nbsp;framework, which it's different from plain v4L2. While the plain v4L2 had a view of the device as a plain DMA based image drabber which connects the input data to the host memory, the Media Controller takes into consideration the fact that a typical video device might consist of multiple sub-devices. === Media Controller Basics === Please read below link carefully,&nbsp;especially if you don't have use it before. [https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.html https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.htmlIntegrate 3A algorithm(TO BE DONE)] === Sensor Driver Requirement === The sensor driver should implement controls in the following table.&nbsp; {| border="1" class="table_style" |- ! Controls ! Description ! R/W ! Needed by |- | V4L2_CID_VBLANK | <span style="font-size:smaller;">Vertical blanking. The idle period after every frame during which no image data is produced. The unit of vertical blanking is a line. Every line has length of the image width plus horizontal blanking at the pixel rate defined by&nbsp;<code>V4L2_CID_PIXEL_RATE</code>&nbsp;control in the same sub-device.</span> | R | Ae |- | V4L2_CID_HBLANK | <span style="font-size:smaller;">Horizontal blanking. The idle period after every line of image data during which no image data is produced. The unit of horizontal blanking is pixels.</span> | R | Ae |- | V4L2_CID_EXPOSURE | <span style="font-size:smaller;">Determines the exposure time of the camera sensor. The exposure time is limited by the frame interval. Drivers should interpret the values as 100 µs units, where the value 1 stands for 1/10000th of a second, 10000 for 1 second and 100000 for 10 seconds.</span> | R/W | Ae |- | V4L2_CID_ANALOGUE_GAIN | <span style="font-size:smaller;">Analogue gain is gain affecting all colour components in the pixel matrix. The gain operation is performed in the analogue domain before A/D conversion.</span> | R/W | Ae |- | V4L2_CID_DIGITAL_GAIN | <span style="font-size:smaller;">Digital gain is the value by which all colour components are multiplied by. Typically the digital gain applied is the control value divided by e.g. 0x100, meaning that to get no digital gain the control value needs to be 0x100. The no-gain configuration is also typically the default.</span> | R/W | Ae |- | V4L2_CID_PIXEL_RATEP | <span style="font-size:smaller;">Pixel rate in the source pads of the subdev. This control is read-only and its unit is pixels / second.</span> | R | Ae |- | V4L2_CID_LINK_FREQ | <span style="font-size:smaller;">Data bus frequency. Together with the media bus pixel code, bus type (clock cycles per sample), the data bus frequency defines the pixel rate (<code>V4L2_CID_PIXEL_RATE</code>) in the pixel array (or possibly elsewhere, if the device is not an image sensor). The frame rate can be calculated from the pixel clock, image width and height and horizontal and vertical blanking. While the pixel rate control may be defined elsewhere than in the subdev containing the pixel array, the frame rate cannot be obtained from that information. This is because only on the pixel array it can be assumed that the vertical and horizontal blanking information is exact: no other blanking is allowed in the pixel array. The selection of frame rate is performed by selecting the desired horizontal and vertical blanking. The unit of this control is Hz.</span> | R | mipi-dphy |} == Linux == === User applications&nbsp; === The applcation for&nbsp;plain v4L2 capture device still can be used(like gstreamer v4l2src plugins, v4l2ctl), but the media&nbsp;controller must be setup in a&nbsp;proper state before starting capture.<br/> The applications for Video Capture with rockchip-isp1 driver&nbsp;should do things like the following commands: <pre>media-ctl -l '"rockchip-sy-mipi-dphy":1->"rkisp1-isp-subdev":0[1]' media-ctl -l '"rkisp1-input-params":0->"rkisp1-isp-subdev":1[1]' media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_selfpath":0[1]' media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_mainpath":0[1]' media-ctl -l '"rkisp1-isp-subdev":3->"rkisp1-statistics":0[1]' # Media graph have been initializated when kernel driver probing, so above commands don't have to be called, though please note that they can be changed in the runtime # Set pad formats ## rkisp1 source pad media-ctl -set-v4l2 '"rkisp1-isp-subdev":2[fmt:YUYV2X8/800x600]' ## rkisp1 sink pad == sensor source [ad] media-ctl --set-v4l2 '"rkisp1-isp-subdev":0[fmt:SRGGB10/800*600]' media-ctl --set-v4l2 '"ov2685 7-0010":0[fmt:SRGGB10/800*600]' # Set link(Assume there are two sensors in one mipi-phy) ## Enable sensor1 media-ctl -l '"ov2685 7-0010":0->"rockchip-sy-mipi-dphy":0[1]' ## Disable sensor2 media-ctl -l '"ov5695 7-0036":0->"rockchip-sy-mipi-dphy":0[0]' # Start capture v4l2-ctl xxxxxxx </pre> ==== <del>Integrate 3A&nbsp;algorithm</del> ==== ==== <del>Multi sensors</del> ==== ==== <del>Multi paths</del> ==== Record, Preview, Still Capture&nbsp;in different resolution&nbsp;at a time === Gstreamer === We have write a gstreamer plugin, [https://github.com/rockchip-linux/gstreamer-rockchip-extra rkcamsrc], which is modified from gstreamer v4l2src plugin. [[File:Rkcamsrc.png|500px|RTENOTITLE]] Please refer to readme in github for usage. == Android == === <del>Camera Hal3</del> === [https://source.android.com/devices/camera/camera3?hl=zh-cn https://source.android.com/devices/camera/camera3] = Reproduce = The driver currently can run&nbsp;on ASUS Tinker Board and Firefly-RK3288-Reload + Rockchip&nbsp;Debian/Yocto SDK. == Source Code == === Kernel === #4.15 + [https://patchwork.linuxtv.org/project/linux-media/list/?submitter=7231 FORMLIST Patches] #[https://github.com/rockchip-linux/kernel/tree/isp-early-access Rockchip 4.4 BSP] === Sensor Driver === #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/imx219.c IMX219] #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/ov5647.c OV5647] #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/tc35874x.c TC35874X] === Device Tree === #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/arch/arm/boot/dts/rk3288-miniarm.dts Tinker Board] #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/arch/arm/boot/dts/rk3288-firefly.dtsi Firefly-rk3288-Reload] == Test Command == <pre>cat /sys/class/video4linux/video*/name # get self_path videox and main_path videox+1 gst-launch-1.0 rkcamsrc device=/dev/videox+1 io-mode=4 disable-3A=true&nbsp;! videoconvert&nbsp;! video/x-raw,format=NV12,width=640,height=480&nbsp;! kmssink</pre> = Others = == Topology == <pre>Media device information ------------------------ driver rkisp1 model rkisp1 serial bus info hw revision 0x0 driver version 0.0.0 Device topology - entity 1: rkisp1-isp-subdev (4 pads, 5 links) type V4L2 subdev subtype Unknown flags 0 device node name /dev/v4l-subdev0 pad0: Sink [fmt:SBGGR10_1X10/800x600 field:none crop.bounds:(0,0)/800x600 crop:(0,0)/800x600] <- "rockchip-sy-mipi-dphy":1 [ENABLED] pad1: Sink <- "rkisp1-input-params":0 [ENABLED] pad2: Source [fmt:SBGGR10_1X10/800x600 field:none crop.bounds:(0,0)/800x600 crop:(0,0)/800x600] -> "rkisp1_selfpath":0 [ENABLED] -> "rkisp1_mainpath":0 [ENABLED] pad3: Source -> "rkisp1-statistics":0 [ENABLED] - entity 2: rkisp1_selfpath (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video0 pad0: Sink <- "rkisp1-isp-subdev":2 [ENABLED] - entity 3: rkisp1_mainpath (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video1 pad0: Sink <- "rkisp1-isp-subdev":2 [ENABLED] - entity 4: rkisp1-statistics (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video2 pad0: Sink <- "rkisp1-isp-subdev":3 [ENABLED] - entity 5: rkisp1-input-params (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video3 pad0: Source -> "rkisp1-isp-subdev":1 [ENABLED] - entity 6: rockchip-sy-mipi-dphy (2 pads, 2 links) type V4L2 subdev subtype Unknown flags 0 device node name /dev/v4l-subdev1 pad0: Sink [fmt:SRGGB10_1X10/3280x2464 field:none] <- "imx219 2-0010":0 [ENABLED] pad1: Source [fmt:SRGGB10_1X10/3280x2464 field:none] -> "rkisp1-isp-subdev":0 [ENABLED] - entity 7: imx219 2-0010 (1 pad, 1 link) type V4L2 subdev subtype Sensor flags 0 device node name /dev/v4l-subdev2 pad0: Source [fmt:SRGGB10_1X10/3280x2464 field:none] -> "rockchip-sy-mipi-dphy":0 [ENABLED]</pre> dff4f2d3ee6bbe37b1907f5f5e32a62e286362c4 1613 1612 2017-11-30T11:29:59Z Jacob 6 wikitext text/x-wiki NOTE: Under Construction &nbsp; = Overview = The document below&nbsp;provide&nbsp;basical informations&nbsp;about the&nbsp;rockchip-isp1 driver driver and&nbsp;Image Signal Processing block on Rockchip SoC&nbsp;with&nbsp;examples and details. = Hardware = More detailed information could be found in TRM chapter "Image Signal Processing", "MIPI D-PHY"&nbsp;, but they are only available under&nbsp;NDA. == ISP Details == === Block diagram === The completed block diagram&nbsp;can not be pasted from&nbsp;datasheet&nbsp;to here, below&nbsp;diagram&nbsp;is a abstract version: &nbsp; == MIPI Details == &nbsp; = Software = == Driver == rockchip-isp1 is a V4L2 based driver for Image Signal Processing block on Rockchip SoC. Compared to the earlier driver&nbsp;rk-isp10, it use&nbsp;Media Controller&nbsp;framework, which it's different from plain v4L2. While the plain v4L2 had a view of the device as a plain DMA based image drabber which connects the input data to the host memory, the Media Controller takes into consideration the fact that a typical video device might consist of multiple sub-devices. === Media Controller Basics === Please read below link carefully,&nbsp;especially if you don't have use it before. [https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.html https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.htmlIntegrate 3A algorithm(TO BE DONE)] === Driver Structure === ==== Block diagram ==== === Sensor Driver Requirement === The sensor driver should implement controls in the following table.&nbsp; {| border="1" class="table_style" |- ! Controls ! Description ! R/W ! Needed by |- | V4L2_CID_VBLANK | <span style="font-size:smaller;">Vertical blanking. The idle period after every frame during which no image data is produced. The unit of vertical blanking is a line. Every line has length of the image width plus horizontal blanking at the pixel rate defined by&nbsp;<code>V4L2_CID_PIXEL_RATE</code>&nbsp;control in the same sub-device.</span> | R | Ae |- | V4L2_CID_HBLANK | <span style="font-size:smaller;">Horizontal blanking. The idle period after every line of image data during which no image data is produced. The unit of horizontal blanking is pixels.</span> | R | Ae |- | V4L2_CID_EXPOSURE | <span style="font-size:smaller;">Determines the exposure time of the camera sensor. The exposure time is limited by the frame interval. Drivers should interpret the values as 100 µs units, where the value 1 stands for 1/10000th of a second, 10000 for 1 second and 100000 for 10 seconds.</span> | R/W | Ae |- | V4L2_CID_ANALOGUE_GAIN | <span style="font-size:smaller;">Analogue gain is gain affecting all colour components in the pixel matrix. The gain operation is performed in the analogue domain before A/D conversion.</span> | R/W | Ae |- | V4L2_CID_DIGITAL_GAIN | <span style="font-size:smaller;">Digital gain is the value by which all colour components are multiplied by. Typically the digital gain applied is the control value divided by e.g. 0x100, meaning that to get no digital gain the control value needs to be 0x100. The no-gain configuration is also typically the default.</span> | R/W | Ae |- | V4L2_CID_PIXEL_RATEP | <span style="font-size:smaller;">Pixel rate in the source pads of the subdev. This control is read-only and its unit is pixels / second.</span> | R | Ae |- | V4L2_CID_LINK_FREQ | <span style="font-size:smaller;">Data bus frequency. Together with the media bus pixel code, bus type (clock cycles per sample), the data bus frequency defines the pixel rate (<code>V4L2_CID_PIXEL_RATE</code>) in the pixel array (or possibly elsewhere, if the device is not an image sensor). The frame rate can be calculated from the pixel clock, image width and height and horizontal and vertical blanking. While the pixel rate control may be defined elsewhere than in the subdev containing the pixel array, the frame rate cannot be obtained from that information. This is because only on the pixel array it can be assumed that the vertical and horizontal blanking information is exact: no other blanking is allowed in the pixel array. The selection of frame rate is performed by selecting the desired horizontal and vertical blanking. The unit of this control is Hz.</span> | R | mipi-dphy |} == Linux == === User applications&nbsp; === The applcation for&nbsp;plain v4L2 capture device still can be used(like gstreamer v4l2src plugins, v4l2ctl), but the media&nbsp;controller must be setup in a&nbsp;proper state before starting capture.<br/> The applications for Video Capture with rockchip-isp1 driver&nbsp;should do things like the following commands: <pre>media-ctl -l '"rockchip-sy-mipi-dphy":1->"rkisp1-isp-subdev":0[1]' media-ctl -l '"rkisp1-input-params":0->"rkisp1-isp-subdev":1[1]' media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_selfpath":0[1]' media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_mainpath":0[1]' media-ctl -l '"rkisp1-isp-subdev":3->"rkisp1-statistics":0[1]' # Media graph have been initializated when kernel driver probing, so above commands don't have to be called, though please note that they can be changed in the runtime # Set pad formats ## rkisp1 source pad media-ctl -set-v4l2 '"rkisp1-isp-subdev":2[fmt:YUYV2X8/800x600]' ## rkisp1 sink pad == sensor source [ad] media-ctl --set-v4l2 '"rkisp1-isp-subdev":0[fmt:SRGGB10/800*600]' media-ctl --set-v4l2 '"ov2685 7-0010":0[fmt:SRGGB10/800*600]' # Set link(Assume there are two sensors in one mipi-phy) ## Enable sensor1 media-ctl -l '"ov2685 7-0010":0->"rockchip-sy-mipi-dphy":0[1]' ## Disable sensor2 media-ctl -l '"ov5695 7-0036":0->"rockchip-sy-mipi-dphy":0[0]' # Start capture v4l2-ctl xxxxxxx </pre> ==== <del>Integrate 3A&nbsp;algorithm</del> ==== ==== <del>Multi sensors</del> ==== ==== <del>Multi paths</del> ==== Record, Preview, Still Capture&nbsp;in different resolution&nbsp;at a time === Gstreamer === We have write a gstreamer plugin, [https://github.com/rockchip-linux/gstreamer-rockchip-extra rkcamsrc], which is modified from gstreamer v4l2src plugin. [[File:Rkcamsrc.png|500px|RTENOTITLE]] Please refer to readme in github for usage. == Android == === <del>Camera Hal3</del> === [https://source.android.com/devices/camera/camera3?hl=zh-cn https://source.android.com/devices/camera/camera3] = Reproduce = The driver currently can run&nbsp;on ASUS Tinker Board and Firefly-RK3288-Reload + Rockchip&nbsp;Debian/Yocto SDK. == Source Code == === Kernel === #4.15 + [https://patchwork.linuxtv.org/project/linux-media/list/?submitter=7231 FORMLIST Patches] #[https://github.com/rockchip-linux/kernel/tree/isp-early-access Rockchip 4.4 BSP] === Sensor Driver === #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/imx219.c IMX219] #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/ov5647.c OV5647] #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/tc35874x.c TC35874X] === Device Tree === #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/arch/arm/boot/dts/rk3288-miniarm.dts Tinker Board] #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/arch/arm/boot/dts/rk3288-firefly.dtsi Firefly-rk3288-Reload] == Test Command == <pre>cat /sys/class/video4linux/video*/name # get self_path videox and main_path videox+1 gst-launch-1.0 rkcamsrc device=/dev/videox+1 io-mode=4 disable-3A=true&nbsp;! videoconvert&nbsp;! video/x-raw,format=NV12,width=640,height=480&nbsp;! kmssink</pre> = Others = == Topology == <pre>Media device information ------------------------ driver rkisp1 model rkisp1 serial bus info hw revision 0x0 driver version 0.0.0 Device topology - entity 1: rkisp1-isp-subdev (4 pads, 5 links) type V4L2 subdev subtype Unknown flags 0 device node name /dev/v4l-subdev0 pad0: Sink [fmt:SBGGR10_1X10/800x600 field:none crop.bounds:(0,0)/800x600 crop:(0,0)/800x600] <- "rockchip-sy-mipi-dphy":1 [ENABLED] pad1: Sink <- "rkisp1-input-params":0 [ENABLED] pad2: Source [fmt:SBGGR10_1X10/800x600 field:none crop.bounds:(0,0)/800x600 crop:(0,0)/800x600] -> "rkisp1_selfpath":0 [ENABLED] -> "rkisp1_mainpath":0 [ENABLED] pad3: Source -> "rkisp1-statistics":0 [ENABLED] - entity 2: rkisp1_selfpath (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video0 pad0: Sink <- "rkisp1-isp-subdev":2 [ENABLED] - entity 3: rkisp1_mainpath (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video1 pad0: Sink <- "rkisp1-isp-subdev":2 [ENABLED] - entity 4: rkisp1-statistics (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video2 pad0: Sink <- "rkisp1-isp-subdev":3 [ENABLED] - entity 5: rkisp1-input-params (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video3 pad0: Source -> "rkisp1-isp-subdev":1 [ENABLED] - entity 6: rockchip-sy-mipi-dphy (2 pads, 2 links) type V4L2 subdev subtype Unknown flags 0 device node name /dev/v4l-subdev1 pad0: Sink [fmt:SRGGB10_1X10/3280x2464 field:none] <- "imx219 2-0010":0 [ENABLED] pad1: Source [fmt:SRGGB10_1X10/3280x2464 field:none] -> "rkisp1-isp-subdev":0 [ENABLED] - entity 7: imx219 2-0010 (1 pad, 1 link) type V4L2 subdev subtype Sensor flags 0 device node name /dev/v4l-subdev2 pad0: Source [fmt:SRGGB10_1X10/3280x2464 field:none] -> "rockchip-sy-mipi-dphy":0 [ENABLED]</pre> ede0f5199e29033932c9b1a9d2413c9705268885 1614 1613 2017-11-30T11:35:09Z Jacob 6 wikitext text/x-wiki NOTE: Under Construction &nbsp; = Overview = The document below&nbsp;provide&nbsp;basical informations&nbsp;about the&nbsp;rockchip-isp1 driver driver and&nbsp;Image Signal Processing block on Rockchip SoC&nbsp;with&nbsp;examples and details. = Hardware = More detailed information could be found in TRM chapter "Image Signal Processing", "MIPI D-PHY"&nbsp;, but they are only available under&nbsp;NDA. == ISP Details == === Block diagram === The completed block diagram&nbsp;can not be pasted from&nbsp;datasheet&nbsp;to here, below&nbsp;diagram&nbsp;is a abstract version: &nbsp; == MIPI Details == &nbsp; = Software = == Driver == rockchip-isp1 is a V4L2 based driver for Image Signal Processing block on Rockchip SoC. Compared to the earlier driver&nbsp;rk-isp10, it use&nbsp;Media Controller&nbsp;framework, which it's different from plain v4L2. While the plain v4L2 had a view of the device as a plain DMA based image drabber which connects the input data to the host memory, the Media Controller takes into consideration the fact that a typical video device might consist of multiple sub-devices. === Media Controller Basics === Please read below link carefully,&nbsp;especially if you don't have use it before. [https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.html https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.htmlIntegrate 3A algorithm(TO BE DONE)] === Block diagram === Block diagram === Sensor Driver Requirement === The sensor driver should implement controls in the following table.&nbsp; {| border="1" class="table_style" |- ! Controls ! Description ! R/W ! Needed by |- | V4L2_CID_VBLANK | <span style="font-size:smaller;">Vertical blanking. The idle period after every frame during which no image data is produced. The unit of vertical blanking is a line. Every line has length of the image width plus horizontal blanking at the pixel rate defined by&nbsp;<code>V4L2_CID_PIXEL_RATE</code>&nbsp;control in the same sub-device.</span> | R | Ae |- | V4L2_CID_HBLANK | <span style="font-size:smaller;">Horizontal blanking. The idle period after every line of image data during which no image data is produced. The unit of horizontal blanking is pixels.</span> | R | Ae |- | V4L2_CID_EXPOSURE | <span style="font-size:smaller;">Determines the exposure time of the camera sensor. The exposure time is limited by the frame interval. Drivers should interpret the values as 100 µs units, where the value 1 stands for 1/10000th of a second, 10000 for 1 second and 100000 for 10 seconds.</span> | R/W | Ae |- | V4L2_CID_ANALOGUE_GAIN | <span style="font-size:smaller;">Analogue gain is gain affecting all colour components in the pixel matrix. The gain operation is performed in the analogue domain before A/D conversion.</span> | R/W | Ae |- | V4L2_CID_DIGITAL_GAIN | <span style="font-size:smaller;">Digital gain is the value by which all colour components are multiplied by. Typically the digital gain applied is the control value divided by e.g. 0x100, meaning that to get no digital gain the control value needs to be 0x100. The no-gain configuration is also typically the default.</span> | R/W | Ae |- | V4L2_CID_PIXEL_RATEP | <span style="font-size:smaller;">Pixel rate in the source pads of the subdev. This control is read-only and its unit is pixels / second.</span> | R | Ae |- | V4L2_CID_LINK_FREQ | <span style="font-size:smaller;">Data bus frequency. Together with the media bus pixel code, bus type (clock cycles per sample), the data bus frequency defines the pixel rate (<code>V4L2_CID_PIXEL_RATE</code>) in the pixel array (or possibly elsewhere, if the device is not an image sensor). The frame rate can be calculated from the pixel clock, image width and height and horizontal and vertical blanking. While the pixel rate control may be defined elsewhere than in the subdev containing the pixel array, the frame rate cannot be obtained from that information. This is because only on the pixel array it can be assumed that the vertical and horizontal blanking information is exact: no other blanking is allowed in the pixel array. The selection of frame rate is performed by selecting the desired horizontal and vertical blanking. The unit of this control is Hz.</span> | R | mipi-dphy |} == Linux == === User applications&nbsp; === The applcation for&nbsp;plain v4L2 capture device still can be used(like gstreamer v4l2src plugins, v4l2ctl), but the media&nbsp;controller must be setup in a&nbsp;proper state before starting capture.<br/> The applications for Video Capture with rockchip-isp1 driver&nbsp;should do things like the following commands: <pre>media-ctl -l '"rockchip-sy-mipi-dphy":1->"rkisp1-isp-subdev":0[1]' media-ctl -l '"rkisp1-input-params":0->"rkisp1-isp-subdev":1[1]' media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_selfpath":0[1]' media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_mainpath":0[1]' media-ctl -l '"rkisp1-isp-subdev":3->"rkisp1-statistics":0[1]' # Media graph have been initializated when kernel driver probing, so above commands don't have to be called, though please note that they can be changed in the runtime # Set pad formats ## rkisp1 source pad media-ctl -set-v4l2 '"rkisp1-isp-subdev":2[fmt:YUYV2X8/800x600]' ## rkisp1 sink pad == sensor source [ad] media-ctl --set-v4l2 '"rkisp1-isp-subdev":0[fmt:SRGGB10/800*600]' media-ctl --set-v4l2 '"ov2685 7-0010":0[fmt:SRGGB10/800*600]' # Set link(Assume there are two sensors in one mipi-phy) ## Enable sensor1 media-ctl -l '"ov2685 7-0010":0->"rockchip-sy-mipi-dphy":0[1]' ## Disable sensor2 media-ctl -l '"ov5695 7-0036":0->"rockchip-sy-mipi-dphy":0[0]' # Start capture v4l2-ctl xxxxxxx </pre> ==== <del>Integrate 3A&nbsp;algorithm</del> ==== ==== <del>Multi sensors</del> ==== ==== <del>Multi paths</del> ==== Record, Preview, Still Capture&nbsp;in different resolution&nbsp;at a time === Gstreamer === We have write a gstreamer plugin, [https://github.com/rockchip-linux/gstreamer-rockchip-extra rkcamsrc], which is simply modified from gstreamer v4l2src plugin. [[File:Rkcamsrc.png|500px|RTENOTITLE]] Please refer to readme in github for usage. == Android == === <del>Camera Hal3</del> === [https://source.android.com/devices/camera/camera3?hl=zh-cn https://source.android.com/devices/camera/camera3] = Reproduce = The driver currently can run&nbsp;on ASUS Tinker Board and Firefly-RK3288-Reload + Rockchip&nbsp;Debian/Yocto SDK. == Source Code == === Kernel === #4.15 + [https://patchwork.linuxtv.org/project/linux-media/list/?submitter=7231 FORMLIST Patches] #[https://github.com/rockchip-linux/kernel/tree/isp-early-access Rockchip 4.4 BSP] === Sensor Driver === #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/imx219.c IMX219] #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/ov5647.c OV5647] #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/tc35874x.c TC35874X] === Device Tree === #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/arch/arm/boot/dts/rk3288-miniarm.dts Tinker Board] #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/arch/arm/boot/dts/rk3288-firefly.dtsi Firefly-rk3288-Reload] == Test Command == <pre>cat /sys/class/video4linux/video*/name # get self_path videox and main_path videox+1 gst-launch-1.0 rkcamsrc device=/dev/videox+1 io-mode=4 disable-3A=true&nbsp;! videoconvert&nbsp;! video/x-raw,format=NV12,width=640,height=480&nbsp;! kmssink</pre> = Others = == Topology == <pre>Media device information ------------------------ driver rkisp1 model rkisp1 serial bus info hw revision 0x0 driver version 0.0.0 Device topology - entity 1: rkisp1-isp-subdev (4 pads, 5 links) type V4L2 subdev subtype Unknown flags 0 device node name /dev/v4l-subdev0 pad0: Sink [fmt:SBGGR10_1X10/800x600 field:none crop.bounds:(0,0)/800x600 crop:(0,0)/800x600] <- "rockchip-sy-mipi-dphy":1 [ENABLED] pad1: Sink <- "rkisp1-input-params":0 [ENABLED] pad2: Source [fmt:SBGGR10_1X10/800x600 field:none crop.bounds:(0,0)/800x600 crop:(0,0)/800x600] -> "rkisp1_selfpath":0 [ENABLED] -> "rkisp1_mainpath":0 [ENABLED] pad3: Source -> "rkisp1-statistics":0 [ENABLED] - entity 2: rkisp1_selfpath (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video0 pad0: Sink <- "rkisp1-isp-subdev":2 [ENABLED] - entity 3: rkisp1_mainpath (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video1 pad0: Sink <- "rkisp1-isp-subdev":2 [ENABLED] - entity 4: rkisp1-statistics (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video2 pad0: Sink <- "rkisp1-isp-subdev":3 [ENABLED] - entity 5: rkisp1-input-params (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video3 pad0: Source -> "rkisp1-isp-subdev":1 [ENABLED] - entity 6: rockchip-sy-mipi-dphy (2 pads, 2 links) type V4L2 subdev subtype Unknown flags 0 device node name /dev/v4l-subdev1 pad0: Sink [fmt:SRGGB10_1X10/3280x2464 field:none] <- "imx219 2-0010":0 [ENABLED] pad1: Source [fmt:SRGGB10_1X10/3280x2464 field:none] -> "rkisp1-isp-subdev":0 [ENABLED] - entity 7: imx219 2-0010 (1 pad, 1 link) type V4L2 subdev subtype Sensor flags 0 device node name /dev/v4l-subdev2 pad0: Source [fmt:SRGGB10_1X10/3280x2464 field:none] -> "rockchip-sy-mipi-dphy":0 [ENABLED]</pre> dcf5957fcc5f520147784a9498c3102f0d2c28e5 1616 1614 2017-11-30T11:57:51Z Jacob 6 wikitext text/x-wiki NOTE: Under Construction &nbsp; = Overview = The document below&nbsp;provide&nbsp;basical informations&nbsp;about the&nbsp;rockchip-isp1 driver driver and&nbsp;Image Signal Processing block on Rockchip SoC&nbsp;with&nbsp;examples and details. = Hardware = More detailed information could be found in TRM chapter "Image Signal Processing", "MIPI D-PHY"&nbsp;, but they are only available under&nbsp;NDA. == ISP Details == === Block diagram === The completed block diagram&nbsp;can not be pasted from&nbsp;datasheet&nbsp;to here, below&nbsp;diagram&nbsp;is a abstract version: == MIPI Details == There are three D-PHY instances in rk3288/rk3399, their connection are shown as following figure: [[File:Phy.png|600px]] = Software = == Driver == rockchip-isp1 is a V4L2 based driver for Image Signal Processing block on Rockchip SoC. Compared to the earlier driver&nbsp;rk-isp10, it use&nbsp;Media Controller&nbsp;framework, which it's different from plain v4L2. While the plain v4L2 had a view of the device as a plain DMA based image drabber which connects the input data to the host memory, the Media Controller takes into consideration the fact that a typical video device might consist of multiple sub-devices. === Media Controller Basics === Please read below link carefully,&nbsp;especially if you don't have use it before. [https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.html https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.htmlIntegrate 3A algorithm(TO BE DONE)] === Block diagram === Block diagram === Sensor Driver Requirement === The sensor driver should implement controls in the following table.&nbsp; {| border="1" class="table_style" |- ! Controls ! Description ! R/W ! Needed by |- | V4L2_CID_VBLANK | <span style="font-size:smaller;">Vertical blanking. The idle period after every frame during which no image data is produced. The unit of vertical blanking is a line. Every line has length of the image width plus horizontal blanking at the pixel rate defined by&nbsp;<code>V4L2_CID_PIXEL_RATE</code>&nbsp;control in the same sub-device.</span> | R | Ae |- | V4L2_CID_HBLANK | <span style="font-size:smaller;">Horizontal blanking. The idle period after every line of image data during which no image data is produced. The unit of horizontal blanking is pixels.</span> | R | Ae |- | V4L2_CID_EXPOSURE | <span style="font-size:smaller;">Determines the exposure time of the camera sensor. The exposure time is limited by the frame interval. Drivers should interpret the values as 100 µs units, where the value 1 stands for 1/10000th of a second, 10000 for 1 second and 100000 for 10 seconds.</span> | R/W | Ae |- | V4L2_CID_ANALOGUE_GAIN | <span style="font-size:smaller;">Analogue gain is gain affecting all colour components in the pixel matrix. The gain operation is performed in the analogue domain before A/D conversion.</span> | R/W | Ae |- | V4L2_CID_DIGITAL_GAIN | <span style="font-size:smaller;">Digital gain is the value by which all colour components are multiplied by. Typically the digital gain applied is the control value divided by e.g. 0x100, meaning that to get no digital gain the control value needs to be 0x100. The no-gain configuration is also typically the default.</span> | R/W | Ae |- | V4L2_CID_PIXEL_RATEP | <span style="font-size:smaller;">Pixel rate in the source pads of the subdev. This control is read-only and its unit is pixels / second.</span> | R | Ae |- | V4L2_CID_LINK_FREQ | <span style="font-size:smaller;">Data bus frequency. Together with the media bus pixel code, bus type (clock cycles per sample), the data bus frequency defines the pixel rate (<code>V4L2_CID_PIXEL_RATE</code>) in the pixel array (or possibly elsewhere, if the device is not an image sensor). The frame rate can be calculated from the pixel clock, image width and height and horizontal and vertical blanking. While the pixel rate control may be defined elsewhere than in the subdev containing the pixel array, the frame rate cannot be obtained from that information. This is because only on the pixel array it can be assumed that the vertical and horizontal blanking information is exact: no other blanking is allowed in the pixel array. The selection of frame rate is performed by selecting the desired horizontal and vertical blanking. The unit of this control is Hz.</span> | R | mipi-dphy |} == Linux == === User applications&nbsp; === The applcation for&nbsp;plain v4L2 capture device still can be used(like gstreamer v4l2src plugins, v4l2ctl), but the media&nbsp;controller must be setup in a&nbsp;proper state before starting capture.<br/> The applications for Video Capture with rockchip-isp1 driver&nbsp;should do things like the following commands: <pre>media-ctl -l '"rockchip-sy-mipi-dphy":1->"rkisp1-isp-subdev":0[1]' media-ctl -l '"rkisp1-input-params":0->"rkisp1-isp-subdev":1[1]' media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_selfpath":0[1]' media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_mainpath":0[1]' media-ctl -l '"rkisp1-isp-subdev":3->"rkisp1-statistics":0[1]' # Media graph have been initializated when kernel driver probing, so above commands don't have to be called, though please note that they can be changed in the runtime # Set pad formats ## rkisp1 source pad media-ctl -set-v4l2 '"rkisp1-isp-subdev":2[fmt:YUYV2X8/800x600]' ## rkisp1 sink pad == sensor source [ad] media-ctl --set-v4l2 '"rkisp1-isp-subdev":0[fmt:SRGGB10/800*600]' media-ctl --set-v4l2 '"ov2685 7-0010":0[fmt:SRGGB10/800*600]' # Set link(Assume there are two sensors in one mipi-phy) ## Enable sensor1 media-ctl -l '"ov2685 7-0010":0->"rockchip-sy-mipi-dphy":0[1]' ## Disable sensor2 media-ctl -l '"ov5695 7-0036":0->"rockchip-sy-mipi-dphy":0[0]' # Start capture v4l2-ctl xxxxxxx </pre> ==== <del>Integrate 3A&nbsp;algorithm</del> ==== ==== <del>Multi sensors</del> ==== ==== <del>Multi paths</del> ==== Record, Preview, Still Capture&nbsp;in different resolution&nbsp;at a time === Gstreamer === We have write a gstreamer plugin, [https://github.com/rockchip-linux/gstreamer-rockchip-extra rkcamsrc], which is simply modified from gstreamer v4l2src plugin. [[File:Rkcamsrc.png|500px|RTENOTITLE]] Please refer to readme in github for usage. == Android == === <del>Camera Hal3</del> === [https://source.android.com/devices/camera/camera3?hl=zh-cn https://source.android.com/devices/camera/camera3] = Reproduce = The driver currently can run&nbsp;on ASUS Tinker Board and Firefly-RK3288-Reload + Rockchip&nbsp;Debian/Yocto SDK. == Source Code == === Kernel === #4.15 + [https://patchwork.linuxtv.org/project/linux-media/list/?submitter=7231 FORMLIST Patches] #[https://github.com/rockchip-linux/kernel/tree/isp-early-access Rockchip 4.4 BSP] === Sensor Driver === #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/imx219.c IMX219] #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/ov5647.c OV5647] #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/tc35874x.c TC35874X] === Device Tree === #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/arch/arm/boot/dts/rk3288-miniarm.dts Tinker Board] #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/arch/arm/boot/dts/rk3288-firefly.dtsi Firefly-rk3288-Reload] == Test Command == <pre>cat /sys/class/video4linux/video*/name # get self_path videox and main_path videox+1 gst-launch-1.0 rkcamsrc device=/dev/videox+1 io-mode=4 disable-3A=true&nbsp;! videoconvert&nbsp;! video/x-raw,format=NV12,width=640,height=480&nbsp;! kmssink</pre> = Others = == Topology == <pre>Media device information ------------------------ driver rkisp1 model rkisp1 serial bus info hw revision 0x0 driver version 0.0.0 Device topology - entity 1: rkisp1-isp-subdev (4 pads, 5 links) type V4L2 subdev subtype Unknown flags 0 device node name /dev/v4l-subdev0 pad0: Sink [fmt:SBGGR10_1X10/800x600 field:none crop.bounds:(0,0)/800x600 crop:(0,0)/800x600] <- "rockchip-sy-mipi-dphy":1 [ENABLED] pad1: Sink <- "rkisp1-input-params":0 [ENABLED] pad2: Source [fmt:SBGGR10_1X10/800x600 field:none crop.bounds:(0,0)/800x600 crop:(0,0)/800x600] -> "rkisp1_selfpath":0 [ENABLED] -> "rkisp1_mainpath":0 [ENABLED] pad3: Source -> "rkisp1-statistics":0 [ENABLED] - entity 2: rkisp1_selfpath (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video0 pad0: Sink <- "rkisp1-isp-subdev":2 [ENABLED] - entity 3: rkisp1_mainpath (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video1 pad0: Sink <- "rkisp1-isp-subdev":2 [ENABLED] - entity 4: rkisp1-statistics (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video2 pad0: Sink <- "rkisp1-isp-subdev":3 [ENABLED] - entity 5: rkisp1-input-params (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video3 pad0: Source -> "rkisp1-isp-subdev":1 [ENABLED] - entity 6: rockchip-sy-mipi-dphy (2 pads, 2 links) type V4L2 subdev subtype Unknown flags 0 device node name /dev/v4l-subdev1 pad0: Sink [fmt:SRGGB10_1X10/3280x2464 field:none] <- "imx219 2-0010":0 [ENABLED] pad1: Source [fmt:SRGGB10_1X10/3280x2464 field:none] -> "rkisp1-isp-subdev":0 [ENABLED] - entity 7: imx219 2-0010 (1 pad, 1 link) type V4L2 subdev subtype Sensor flags 0 device node name /dev/v4l-subdev2 pad0: Source [fmt:SRGGB10_1X10/3280x2464 field:none] -> "rockchip-sy-mipi-dphy":0 [ENABLED]</pre> aecffe7dadabb011de2406a0f13c909d18a0b319 1617 1616 2017-11-30T12:04:03Z Jacob 6 wikitext text/x-wiki NOTE: Under Construction &nbsp; = Overview = The document below&nbsp;provide&nbsp;basical informations&nbsp;about the&nbsp;rockchip-isp1 driver driver and&nbsp;Image Signal Processing block on Rockchip SoC&nbsp;with&nbsp;examples and details. = Hardware = More detailed information could be found in TRM chapter "Image Signal Processing", "MIPI D-PHY"&nbsp;, but they are only available under&nbsp;NDA. == ISP Details == ISP comprises with: *MIPI serial camera interface *Image Signal Processing *Color Processing *Image Effects *Superimpose *Luminance / Chrominance Splitter *Crop *Main Resize *MPMUX for selection of main patch data flow *Control unit === Block diagram === The completed block diagram&nbsp;can not be pasted from&nbsp;datasheet&nbsp;to here, below&nbsp;diagram&nbsp;is a abstract version: == MIPI Details == There are three D-PHY instances in rk3288/rk3399, their connection are shown as following figure: [[File:Phy.png|600px|Phy.png]] = Software = == Driver == rockchip-isp1 is a V4L2 based driver for Image Signal Processing block on Rockchip SoC. Compared to the earlier driver&nbsp;rk-isp10, it use&nbsp;Media Controller&nbsp;framework, which it's different from plain v4L2. While the plain v4L2 had a view of the device as a plain DMA based image drabber which connects the input data to the host memory, the Media Controller takes into consideration the fact that a typical video device might consist of multiple sub-devices. === Media Controller Basics === Please read below link carefully,&nbsp;especially if you don't have use it before. [https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.html https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.htmlIntegrate 3A algorithm(TO BE DONE)] === Block diagram === Block diagram === Sensor Driver Requirement === The sensor driver should implement controls in the following table.&nbsp; {| border="1" class="table_style" |- ! Controls ! Description ! R/W ! Needed by |- | V4L2_CID_VBLANK | <span style="font-size:smaller;">Vertical blanking. The idle period after every frame during which no image data is produced. The unit of vertical blanking is a line. Every line has length of the image width plus horizontal blanking at the pixel rate defined by&nbsp;<code>V4L2_CID_PIXEL_RATE</code>&nbsp;control in the same sub-device.</span> | R | Ae |- | V4L2_CID_HBLANK | <span style="font-size:smaller;">Horizontal blanking. The idle period after every line of image data during which no image data is produced. The unit of horizontal blanking is pixels.</span> | R | Ae |- | V4L2_CID_EXPOSURE | <span style="font-size:smaller;">Determines the exposure time of the camera sensor. The exposure time is limited by the frame interval. Drivers should interpret the values as 100 µs units, where the value 1 stands for 1/10000th of a second, 10000 for 1 second and 100000 for 10 seconds.</span> | R/W | Ae |- | V4L2_CID_ANALOGUE_GAIN | <span style="font-size:smaller;">Analogue gain is gain affecting all colour components in the pixel matrix. The gain operation is performed in the analogue domain before A/D conversion.</span> | R/W | Ae |- | V4L2_CID_DIGITAL_GAIN | <span style="font-size:smaller;">Digital gain is the value by which all colour components are multiplied by. Typically the digital gain applied is the control value divided by e.g. 0x100, meaning that to get no digital gain the control value needs to be 0x100. The no-gain configuration is also typically the default.</span> | R/W | Ae |- | V4L2_CID_PIXEL_RATEP | <span style="font-size:smaller;">Pixel rate in the source pads of the subdev. This control is read-only and its unit is pixels / second.</span> | R | Ae |- | V4L2_CID_LINK_FREQ | <span style="font-size:smaller;">Data bus frequency. Together with the media bus pixel code, bus type (clock cycles per sample), the data bus frequency defines the pixel rate (<code>V4L2_CID_PIXEL_RATE</code>) in the pixel array (or possibly elsewhere, if the device is not an image sensor). The frame rate can be calculated from the pixel clock, image width and height and horizontal and vertical blanking. While the pixel rate control may be defined elsewhere than in the subdev containing the pixel array, the frame rate cannot be obtained from that information. This is because only on the pixel array it can be assumed that the vertical and horizontal blanking information is exact: no other blanking is allowed in the pixel array. The selection of frame rate is performed by selecting the desired horizontal and vertical blanking. The unit of this control is Hz.</span> | R | mipi-dphy |} == Linux == === User applications&nbsp; === The applcation for&nbsp;plain v4L2 capture device still can be used(like gstreamer v4l2src plugins, v4l2ctl), but the media&nbsp;controller must be setup in a&nbsp;proper state before starting capture.<br/> The applications for Video Capture with rockchip-isp1 driver&nbsp;should do things like the following commands: <pre>media-ctl -l '"rockchip-sy-mipi-dphy":1->"rkisp1-isp-subdev":0[1]' media-ctl -l '"rkisp1-input-params":0->"rkisp1-isp-subdev":1[1]' media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_selfpath":0[1]' media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_mainpath":0[1]' media-ctl -l '"rkisp1-isp-subdev":3->"rkisp1-statistics":0[1]' # Media graph have been initializated when kernel driver probing, so above commands don't have to be called, though please note that they can be changed in the runtime # Set pad formats ## rkisp1 source pad media-ctl -set-v4l2 '"rkisp1-isp-subdev":2[fmt:YUYV2X8/800x600]' ## rkisp1 sink pad == sensor source [ad] media-ctl --set-v4l2 '"rkisp1-isp-subdev":0[fmt:SRGGB10/800*600]' media-ctl --set-v4l2 '"ov2685 7-0010":0[fmt:SRGGB10/800*600]' # Set link(Assume there are two sensors in one mipi-phy) ## Enable sensor1 media-ctl -l '"ov2685 7-0010":0->"rockchip-sy-mipi-dphy":0[1]' ## Disable sensor2 media-ctl -l '"ov5695 7-0036":0->"rockchip-sy-mipi-dphy":0[0]' # Start capture v4l2-ctl xxxxxxx </pre> ==== <del>Integrate 3A&nbsp;algorithm</del> ==== ==== <del>Multi sensors</del> ==== ==== <del>Multi paths</del> ==== Record, Preview, Still Capture&nbsp;in different resolution&nbsp;at a time === Gstreamer === We have write a gstreamer plugin, [https://github.com/rockchip-linux/gstreamer-rockchip-extra rkcamsrc], which is simply modified from gstreamer v4l2src plugin. [[File:Rkcamsrc.png|500px|RTENOTITLE]] Please refer to readme in github for usage. == Android == === <del>Camera Hal3</del> === [https://source.android.com/devices/camera/camera3?hl=zh-cn https://source.android.com/devices/camera/camera3] = Reproduce = The driver currently can run&nbsp;on ASUS Tinker Board and Firefly-RK3288-Reload + Rockchip&nbsp;Debian/Yocto SDK. == Source Code == === Kernel === #4.15 + [https://patchwork.linuxtv.org/project/linux-media/list/?submitter=7231 FORMLIST Patches] #[https://github.com/rockchip-linux/kernel/tree/isp-early-access Rockchip 4.4 BSP] === Sensor Driver === #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/imx219.c IMX219] #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/ov5647.c OV5647] #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/tc35874x.c TC35874X] === Device Tree === #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/arch/arm/boot/dts/rk3288-miniarm.dts Tinker Board] #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/arch/arm/boot/dts/rk3288-firefly.dtsi Firefly-rk3288-Reload] == Test Command == <pre>cat /sys/class/video4linux/video*/name # get self_path videox and main_path videox+1 gst-launch-1.0 rkcamsrc device=/dev/videox+1 io-mode=4 disable-3A=true&nbsp;! videoconvert&nbsp;! video/x-raw,format=NV12,width=640,height=480&nbsp;! kmssink</pre> = Others = == Topology == <pre>Media device information ------------------------ driver rkisp1 model rkisp1 serial bus info hw revision 0x0 driver version 0.0.0 Device topology - entity 1: rkisp1-isp-subdev (4 pads, 5 links) type V4L2 subdev subtype Unknown flags 0 device node name /dev/v4l-subdev0 pad0: Sink [fmt:SBGGR10_1X10/800x600 field:none crop.bounds:(0,0)/800x600 crop:(0,0)/800x600] <- "rockchip-sy-mipi-dphy":1 [ENABLED] pad1: Sink <- "rkisp1-input-params":0 [ENABLED] pad2: Source [fmt:SBGGR10_1X10/800x600 field:none crop.bounds:(0,0)/800x600 crop:(0,0)/800x600] -> "rkisp1_selfpath":0 [ENABLED] -> "rkisp1_mainpath":0 [ENABLED] pad3: Source -> "rkisp1-statistics":0 [ENABLED] - entity 2: rkisp1_selfpath (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video0 pad0: Sink <- "rkisp1-isp-subdev":2 [ENABLED] - entity 3: rkisp1_mainpath (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video1 pad0: Sink <- "rkisp1-isp-subdev":2 [ENABLED] - entity 4: rkisp1-statistics (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video2 pad0: Sink <- "rkisp1-isp-subdev":3 [ENABLED] - entity 5: rkisp1-input-params (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video3 pad0: Source -> "rkisp1-isp-subdev":1 [ENABLED] - entity 6: rockchip-sy-mipi-dphy (2 pads, 2 links) type V4L2 subdev subtype Unknown flags 0 device node name /dev/v4l-subdev1 pad0: Sink [fmt:SRGGB10_1X10/3280x2464 field:none] <- "imx219 2-0010":0 [ENABLED] pad1: Source [fmt:SRGGB10_1X10/3280x2464 field:none] -> "rkisp1-isp-subdev":0 [ENABLED] - entity 7: imx219 2-0010 (1 pad, 1 link) type V4L2 subdev subtype Sensor flags 0 device node name /dev/v4l-subdev2 pad0: Source [fmt:SRGGB10_1X10/3280x2464 field:none] -> "rockchip-sy-mipi-dphy":0 [ENABLED]</pre> d6efc02a852299d5fdf1d211eb7141da4bd69d08 1619 1617 2017-11-30T12:25:35Z Jacob 6 wikitext text/x-wiki NOTE: Under Construction &nbsp; = Overview = The document below&nbsp;provide&nbsp;basical informations&nbsp;about the&nbsp;rockchip-isp1 driver driver and&nbsp;Image Signal Processing block on Rockchip SoC&nbsp;with&nbsp;examples and details. = Hardware = More detailed information could be found in TRM chapter "Image Signal Processing", "MIPI D-PHY"&nbsp;, but they are only available under&nbsp;NDA. == ISP Details == ISP comprises with: *MIPI serial camera interface *Image Signal Processing *Color Processing *Image Effects *Superimpose *Luminance / Chrominance Splitter *Crop *Main Resize *MPMUX for selection of main patch data flow *Control unit === Block diagram === The completed block diagram&nbsp;can not be pasted from&nbsp;datasheet&nbsp;to here, below&nbsp;diagram&nbsp;is a abstract version: [[File:Blocks.png|1200px]] == MIPI Details == There are three D-PHY instances in rk3288/rk3399, their connection are shown as following figure: [[File:Phy.png|600px|Phy.png]] = Software = == Driver == rockchip-isp1 is a V4L2 based driver for Image Signal Processing block on Rockchip SoC. Compared to the earlier driver&nbsp;rk-isp10, it use&nbsp;Media Controller&nbsp;framework, which it's different from plain v4L2. While the plain v4L2 had a view of the device as a plain DMA based image drabber which connects the input data to the host memory, the Media Controller takes into consideration the fact that a typical video device might consist of multiple sub-devices. === Media Controller Basics === Please read below link carefully,&nbsp;especially if you don't have use it before. [https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.html https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.htmlIntegrate 3A algorithm(TO BE DONE)] === Block diagram === Block diagram === Sensor Driver Requirement === The sensor driver should implement controls in the following table.&nbsp; {| border="1" class="table_style" |- ! Controls ! Description ! R/W ! Needed by |- | V4L2_CID_VBLANK | <span style="font-size:smaller;">Vertical blanking. The idle period after every frame during which no image data is produced. The unit of vertical blanking is a line. Every line has length of the image width plus horizontal blanking at the pixel rate defined by&nbsp;<code>V4L2_CID_PIXEL_RATE</code>&nbsp;control in the same sub-device.</span> | R | Ae |- | V4L2_CID_HBLANK | <span style="font-size:smaller;">Horizontal blanking. The idle period after every line of image data during which no image data is produced. The unit of horizontal blanking is pixels.</span> | R | Ae |- | V4L2_CID_EXPOSURE | <span style="font-size:smaller;">Determines the exposure time of the camera sensor. The exposure time is limited by the frame interval. Drivers should interpret the values as 100 µs units, where the value 1 stands for 1/10000th of a second, 10000 for 1 second and 100000 for 10 seconds.</span> | R/W | Ae |- | V4L2_CID_ANALOGUE_GAIN | <span style="font-size:smaller;">Analogue gain is gain affecting all colour components in the pixel matrix. The gain operation is performed in the analogue domain before A/D conversion.</span> | R/W | Ae |- | V4L2_CID_DIGITAL_GAIN | <span style="font-size:smaller;">Digital gain is the value by which all colour components are multiplied by. Typically the digital gain applied is the control value divided by e.g. 0x100, meaning that to get no digital gain the control value needs to be 0x100. The no-gain configuration is also typically the default.</span> | R/W | Ae |- | V4L2_CID_PIXEL_RATEP | <span style="font-size:smaller;">Pixel rate in the source pads of the subdev. This control is read-only and its unit is pixels / second.</span> | R | Ae |- | V4L2_CID_LINK_FREQ | <span style="font-size:smaller;">Data bus frequency. Together with the media bus pixel code, bus type (clock cycles per sample), the data bus frequency defines the pixel rate (<code>V4L2_CID_PIXEL_RATE</code>) in the pixel array (or possibly elsewhere, if the device is not an image sensor). The frame rate can be calculated from the pixel clock, image width and height and horizontal and vertical blanking. While the pixel rate control may be defined elsewhere than in the subdev containing the pixel array, the frame rate cannot be obtained from that information. This is because only on the pixel array it can be assumed that the vertical and horizontal blanking information is exact: no other blanking is allowed in the pixel array. The selection of frame rate is performed by selecting the desired horizontal and vertical blanking. The unit of this control is Hz.</span> | R | mipi-dphy |} == Linux == === User applications&nbsp; === The applcation for&nbsp;plain v4L2 capture device still can be used(like gstreamer v4l2src plugins, v4l2ctl), but the media&nbsp;controller must be setup in a&nbsp;proper state before starting capture.<br/> The applications for Video Capture with rockchip-isp1 driver&nbsp;should do things like the following commands: <pre>media-ctl -l '"rockchip-sy-mipi-dphy":1->"rkisp1-isp-subdev":0[1]' media-ctl -l '"rkisp1-input-params":0->"rkisp1-isp-subdev":1[1]' media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_selfpath":0[1]' media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_mainpath":0[1]' media-ctl -l '"rkisp1-isp-subdev":3->"rkisp1-statistics":0[1]' # Media graph have been initializated when kernel driver probing, so above commands don't have to be called, though please note that they can be changed in the runtime # Set pad formats ## rkisp1 source pad media-ctl -set-v4l2 '"rkisp1-isp-subdev":2[fmt:YUYV2X8/800x600]' ## rkisp1 sink pad == sensor source [ad] media-ctl --set-v4l2 '"rkisp1-isp-subdev":0[fmt:SRGGB10/800*600]' media-ctl --set-v4l2 '"ov2685 7-0010":0[fmt:SRGGB10/800*600]' # Set link(Assume there are two sensors in one mipi-phy) ## Enable sensor1 media-ctl -l '"ov2685 7-0010":0->"rockchip-sy-mipi-dphy":0[1]' ## Disable sensor2 media-ctl -l '"ov5695 7-0036":0->"rockchip-sy-mipi-dphy":0[0]' # Start capture v4l2-ctl xxxxxxx </pre> ==== <del>Integrate 3A&nbsp;algorithm</del> ==== ==== <del>Multi sensors</del> ==== ==== <del>Multi paths</del> ==== Record, Preview, Still Capture&nbsp;in different resolution&nbsp;at a time === Gstreamer === We have write a gstreamer plugin, [https://github.com/rockchip-linux/gstreamer-rockchip-extra rkcamsrc], which is simply modified from gstreamer v4l2src plugin. [[File:Rkcamsrc.png|500px|RTENOTITLE]] Please refer to readme in github for usage. == Android == === <del>Camera Hal3</del> === [https://source.android.com/devices/camera/camera3?hl=zh-cn https://source.android.com/devices/camera/camera3] = Reproduce = The driver currently can run&nbsp;on ASUS Tinker Board and Firefly-RK3288-Reload + Rockchip&nbsp;Debian/Yocto SDK. == Source Code == === Kernel === #4.15 + [https://patchwork.linuxtv.org/project/linux-media/list/?submitter=7231 FORMLIST Patches] #[https://github.com/rockchip-linux/kernel/tree/isp-early-access Rockchip 4.4 BSP] === Sensor Driver === #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/imx219.c IMX219] #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/ov5647.c OV5647] #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/tc35874x.c TC35874X] === Device Tree === #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/arch/arm/boot/dts/rk3288-miniarm.dts Tinker Board] #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/arch/arm/boot/dts/rk3288-firefly.dtsi Firefly-rk3288-Reload] == Test Command == <pre>cat /sys/class/video4linux/video*/name # get self_path videox and main_path videox+1 gst-launch-1.0 rkcamsrc device=/dev/videox+1 io-mode=4 disable-3A=true&nbsp;! videoconvert&nbsp;! video/x-raw,format=NV12,width=640,height=480&nbsp;! kmssink</pre> = Others = == Topology == <pre>Media device information ------------------------ driver rkisp1 model rkisp1 serial bus info hw revision 0x0 driver version 0.0.0 Device topology - entity 1: rkisp1-isp-subdev (4 pads, 5 links) type V4L2 subdev subtype Unknown flags 0 device node name /dev/v4l-subdev0 pad0: Sink [fmt:SBGGR10_1X10/800x600 field:none crop.bounds:(0,0)/800x600 crop:(0,0)/800x600] <- "rockchip-sy-mipi-dphy":1 [ENABLED] pad1: Sink <- "rkisp1-input-params":0 [ENABLED] pad2: Source [fmt:SBGGR10_1X10/800x600 field:none crop.bounds:(0,0)/800x600 crop:(0,0)/800x600] -> "rkisp1_selfpath":0 [ENABLED] -> "rkisp1_mainpath":0 [ENABLED] pad3: Source -> "rkisp1-statistics":0 [ENABLED] - entity 2: rkisp1_selfpath (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video0 pad0: Sink <- "rkisp1-isp-subdev":2 [ENABLED] - entity 3: rkisp1_mainpath (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video1 pad0: Sink <- "rkisp1-isp-subdev":2 [ENABLED] - entity 4: rkisp1-statistics (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video2 pad0: Sink <- "rkisp1-isp-subdev":3 [ENABLED] - entity 5: rkisp1-input-params (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video3 pad0: Source -> "rkisp1-isp-subdev":1 [ENABLED] - entity 6: rockchip-sy-mipi-dphy (2 pads, 2 links) type V4L2 subdev subtype Unknown flags 0 device node name /dev/v4l-subdev1 pad0: Sink [fmt:SRGGB10_1X10/3280x2464 field:none] <- "imx219 2-0010":0 [ENABLED] pad1: Source [fmt:SRGGB10_1X10/3280x2464 field:none] -> "rkisp1-isp-subdev":0 [ENABLED] - entity 7: imx219 2-0010 (1 pad, 1 link) type V4L2 subdev subtype Sensor flags 0 device node name /dev/v4l-subdev2 pad0: Source [fmt:SRGGB10_1X10/3280x2464 field:none] -> "rockchip-sy-mipi-dphy":0 [ENABLED]</pre> 70aa4db3a4f31067854cad1462ea4a6c50c4131b 1621 1619 2017-11-30T12:36:28Z Jacob 6 wikitext text/x-wiki NOTE: Under Construction &nbsp; = Overview = The document below&nbsp;provide&nbsp;basical informations&nbsp;about the&nbsp;rockchip-isp1 driver driver and&nbsp;Image Signal Processing block on Rockchip SoC&nbsp;with&nbsp;examples and details. = Hardware = More detailed information could be found in TRM chapter "Image Signal Processing", "MIPI D-PHY"&nbsp;, but they are only available under&nbsp;NDA. == ISP Details == ISP comprises with: *MIPI serial camera interface *Image Signal Processing *Color Processing *Image Effects *Superimpose *Luminance / Chrominance Splitter *Crop *Main Resize *MPMUX for selection of main patch data flow *Control unit === Block diagram === The completed block diagram&nbsp;can not be pasted from&nbsp;datasheet&nbsp;to here, below&nbsp;diagram&nbsp;is a abstract version: [[File:Blocks.png|1200px|Blocks.png]] == MIPI Details == There are three D-PHY instances in rk3288/rk3399, their connection are shown as following figure: [[File:Phy.png|600px|Phy.png]] = Software = == Driver == rockchip-isp1 is a V4L2 based driver for Image Signal Processing block on Rockchip SoC. Compared to the earlier driver&nbsp;rk-isp10, it use&nbsp;Media Controller&nbsp;framework, which it's different from plain v4L2. While the plain v4L2 had a view of the device as a plain DMA based image drabber which connects the input data to the host memory, the Media Controller takes into consideration the fact that a typical video device might consist of multiple sub-devices. === Media Controller Basics === Please read below link carefully,&nbsp;especially if you don't have use it before. [https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.html https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.htmlIntegrate 3A algorithm(TO BE DONE)] === Block diagram === [[File:Code.png|1200px]] === Sensor Driver Requirement === The sensor driver should implement controls in the following table.&nbsp; {| border="1" class="table_style" |- ! Controls ! Description ! R/W ! Needed by |- | V4L2_CID_VBLANK | <span style="font-size:smaller;">Vertical blanking. The idle period after every frame during which no image data is produced. The unit of vertical blanking is a line. Every line has length of the image width plus horizontal blanking at the pixel rate defined by&nbsp;<code>V4L2_CID_PIXEL_RATE</code>&nbsp;control in the same sub-device.</span> | R | Ae |- | V4L2_CID_HBLANK | <span style="font-size:smaller;">Horizontal blanking. The idle period after every line of image data during which no image data is produced. The unit of horizontal blanking is pixels.</span> | R | Ae |- | V4L2_CID_EXPOSURE | <span style="font-size:smaller;">Determines the exposure time of the camera sensor. The exposure time is limited by the frame interval. Drivers should interpret the values as 100 µs units, where the value 1 stands for 1/10000th of a second, 10000 for 1 second and 100000 for 10 seconds.</span> | R/W | Ae |- | V4L2_CID_ANALOGUE_GAIN | <span style="font-size:smaller;">Analogue gain is gain affecting all colour components in the pixel matrix. The gain operation is performed in the analogue domain before A/D conversion.</span> | R/W | Ae |- | V4L2_CID_DIGITAL_GAIN | <span style="font-size:smaller;">Digital gain is the value by which all colour components are multiplied by. Typically the digital gain applied is the control value divided by e.g. 0x100, meaning that to get no digital gain the control value needs to be 0x100. The no-gain configuration is also typically the default.</span> | R/W | Ae |- | V4L2_CID_PIXEL_RATEP | <span style="font-size:smaller;">Pixel rate in the source pads of the subdev. This control is read-only and its unit is pixels / second.</span> | R | Ae |- | V4L2_CID_LINK_FREQ | <span style="font-size:smaller;">Data bus frequency. Together with the media bus pixel code, bus type (clock cycles per sample), the data bus frequency defines the pixel rate (<code>V4L2_CID_PIXEL_RATE</code>) in the pixel array (or possibly elsewhere, if the device is not an image sensor). The frame rate can be calculated from the pixel clock, image width and height and horizontal and vertical blanking. While the pixel rate control may be defined elsewhere than in the subdev containing the pixel array, the frame rate cannot be obtained from that information. This is because only on the pixel array it can be assumed that the vertical and horizontal blanking information is exact: no other blanking is allowed in the pixel array. The selection of frame rate is performed by selecting the desired horizontal and vertical blanking. The unit of this control is Hz.</span> | R | mipi-dphy |} == Linux == === User applications&nbsp; === The applcation for&nbsp;plain v4L2 capture device still can be used(like gstreamer v4l2src plugins, v4l2ctl), but the media&nbsp;controller must be setup in a&nbsp;proper state before starting capture.<br/> The applications for Video Capture with rockchip-isp1 driver&nbsp;should do things like the following commands: <pre>media-ctl -l '"rockchip-sy-mipi-dphy":1->"rkisp1-isp-subdev":0[1]' media-ctl -l '"rkisp1-input-params":0->"rkisp1-isp-subdev":1[1]' media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_selfpath":0[1]' media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_mainpath":0[1]' media-ctl -l '"rkisp1-isp-subdev":3->"rkisp1-statistics":0[1]' # Media graph have been initializated when kernel driver probing, so above commands don't have to be called, though please note that they can be changed in the runtime # Set pad formats ## rkisp1 source pad media-ctl -set-v4l2 '"rkisp1-isp-subdev":2[fmt:YUYV2X8/800x600]' ## rkisp1 sink pad == sensor source [ad] media-ctl --set-v4l2 '"rkisp1-isp-subdev":0[fmt:SRGGB10/800*600]' media-ctl --set-v4l2 '"ov2685 7-0010":0[fmt:SRGGB10/800*600]' # Set link(Assume there are two sensors in one mipi-phy) ## Enable sensor1 media-ctl -l '"ov2685 7-0010":0->"rockchip-sy-mipi-dphy":0[1]' ## Disable sensor2 media-ctl -l '"ov5695 7-0036":0->"rockchip-sy-mipi-dphy":0[0]' # Start capture v4l2-ctl xxxxxxx </pre> ==== <del>Integrate 3A&nbsp;algorithm</del> ==== ==== <del>Multi sensors</del> ==== ==== <del>Multi paths</del> ==== Record, Preview, Still Capture&nbsp;in different resolution&nbsp;at a time === Gstreamer === We have write a gstreamer plugin, [https://github.com/rockchip-linux/gstreamer-rockchip-extra rkcamsrc], which is simply modified from gstreamer v4l2src plugin. [[File:Rkcamsrc.png|500px|RTENOTITLE]] Please refer to readme in github for usage. == Android == === <del>Camera Hal3</del> === [https://source.android.com/devices/camera/camera3?hl=zh-cn https://source.android.com/devices/camera/camera3] = Reproduce = The driver currently can run&nbsp;on ASUS Tinker Board and Firefly-RK3288-Reload + Rockchip&nbsp;Debian/Yocto SDK. == Source Code == === Kernel === #4.15 + [https://patchwork.linuxtv.org/project/linux-media/list/?submitter=7231 FORMLIST Patches] #[https://github.com/rockchip-linux/kernel/tree/isp-early-access Rockchip 4.4 BSP] === Sensor Driver === #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/imx219.c IMX219] #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/ov5647.c OV5647] #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/tc35874x.c TC35874X] === Device Tree === #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/arch/arm/boot/dts/rk3288-miniarm.dts Tinker Board] #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/arch/arm/boot/dts/rk3288-firefly.dtsi Firefly-rk3288-Reload] == Test Command == <pre>cat /sys/class/video4linux/video*/name # get self_path videox and main_path videox+1 gst-launch-1.0 rkcamsrc device=/dev/videox+1 io-mode=4 disable-3A=true&nbsp;! videoconvert&nbsp;! video/x-raw,format=NV12,width=640,height=480&nbsp;! kmssink</pre> = Others = == Topology == <pre>Media device information ------------------------ driver rkisp1 model rkisp1 serial bus info hw revision 0x0 driver version 0.0.0 Device topology - entity 1: rkisp1-isp-subdev (4 pads, 5 links) type V4L2 subdev subtype Unknown flags 0 device node name /dev/v4l-subdev0 pad0: Sink [fmt:SBGGR10_1X10/800x600 field:none crop.bounds:(0,0)/800x600 crop:(0,0)/800x600] <- "rockchip-sy-mipi-dphy":1 [ENABLED] pad1: Sink <- "rkisp1-input-params":0 [ENABLED] pad2: Source [fmt:SBGGR10_1X10/800x600 field:none crop.bounds:(0,0)/800x600 crop:(0,0)/800x600] -> "rkisp1_selfpath":0 [ENABLED] -> "rkisp1_mainpath":0 [ENABLED] pad3: Source -> "rkisp1-statistics":0 [ENABLED] - entity 2: rkisp1_selfpath (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video0 pad0: Sink <- "rkisp1-isp-subdev":2 [ENABLED] - entity 3: rkisp1_mainpath (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video1 pad0: Sink <- "rkisp1-isp-subdev":2 [ENABLED] - entity 4: rkisp1-statistics (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video2 pad0: Sink <- "rkisp1-isp-subdev":3 [ENABLED] - entity 5: rkisp1-input-params (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video3 pad0: Source -> "rkisp1-isp-subdev":1 [ENABLED] - entity 6: rockchip-sy-mipi-dphy (2 pads, 2 links) type V4L2 subdev subtype Unknown flags 0 device node name /dev/v4l-subdev1 pad0: Sink [fmt:SRGGB10_1X10/3280x2464 field:none] <- "imx219 2-0010":0 [ENABLED] pad1: Source [fmt:SRGGB10_1X10/3280x2464 field:none] -> "rkisp1-isp-subdev":0 [ENABLED] - entity 7: imx219 2-0010 (1 pad, 1 link) type V4L2 subdev subtype Sensor flags 0 device node name /dev/v4l-subdev2 pad0: Source [fmt:SRGGB10_1X10/3280x2464 field:none] -> "rockchip-sy-mipi-dphy":0 [ENABLED]</pre> f1ace2200116a7ba0b44c3dfbc853e6c99b9d5a6 1622 1621 2017-11-30T12:42:15Z Jacob 6 wikitext text/x-wiki NOTE: Under Construction &nbsp; = Overview = The document below&nbsp;provide&nbsp;basical informations&nbsp;about the&nbsp;rockchip-isp1 driver driver and&nbsp;Image Signal Processing block on Rockchip SoC&nbsp;with&nbsp;examples and details. = Hardware = More detailed information could be found in TRM chapter "Image Signal Processing", "MIPI D-PHY"&nbsp;, but they are only available under&nbsp;NDA. == ISP Details == ISP comprises with: *MIPI serial camera interface *Image Signal Processing *Color Processing *Image Effects *Superimpose *Luminance / Chrominance Splitter *Crop *Main Resize *MPMUX for selection of main patch data flow *Control unit === Block diagram === The completed block diagram&nbsp;can not be pasted from&nbsp;datasheet&nbsp;to here, below&nbsp;diagram&nbsp;is a abstract version: [[File:Blocks.png|1200px|Blocks.png]] == MIPI Details == There are three D-PHY instances in rk3288/rk3399, their connection are shown as following figure: [[File:Phy.png|600px|Phy.png]] = Software = == Driver == rockchip-isp1 is a V4L2 based driver for Image Signal Processing block on Rockchip SoC. Compared to the earlier driver&nbsp;rk-isp10, it use&nbsp;Media Controller&nbsp;framework, which it's different from plain v4L2. While the plain v4L2 had a view of the device as a plain DMA based image drabber which connects the input data to the host memory, the Media Controller takes into consideration the fact that a typical video device might consist of multiple sub-devices. === Media Controller Basics === Please read below link carefully,&nbsp;especially if you don't have use it before. [https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.html https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.htmlIntegrate 3A algorithm(TO BE DONE)] === Block diagram === [[File:Code.png|1200px|Code.png]] === Sensor Driver Requirement === The sensor driver should implement controls in the following table.&nbsp; {| border="1" class="table_style" |- ! Controls ! Description ! R/W ! Needed by |- | V4L2_CID_VBLANK | <span style="font-size:smaller;">Vertical blanking. The idle period after every frame during which no image data is produced. The unit of vertical blanking is a line. Every line has length of the image width plus horizontal blanking at the pixel rate defined by&nbsp;<code>V4L2_CID_PIXEL_RATE</code>&nbsp;control in the same sub-device.</span> | R | Ae |- | V4L2_CID_HBLANK | <span style="font-size:smaller;">Horizontal blanking. The idle period after every line of image data during which no image data is produced. The unit of horizontal blanking is pixels.</span> | R | Ae |- | V4L2_CID_EXPOSURE | <span style="font-size:smaller;">Determines the exposure time of the camera sensor. The exposure time is limited by the frame interval. Drivers should interpret the values as 100 µs units, where the value 1 stands for 1/10000th of a second, 10000 for 1 second and 100000 for 10 seconds.</span> | R/W | Ae |- | V4L2_CID_ANALOGUE_GAIN | <span style="font-size:smaller;">Analogue gain is gain affecting all colour components in the pixel matrix. The gain operation is performed in the analogue domain before A/D conversion.</span> | R/W | Ae |- | V4L2_CID_DIGITAL_GAIN | <span style="font-size:smaller;">Digital gain is the value by which all colour components are multiplied by. Typically the digital gain applied is the control value divided by e.g. 0x100, meaning that to get no digital gain the control value needs to be 0x100. The no-gain configuration is also typically the default.</span> | R/W | Ae |- | V4L2_CID_PIXEL_RATE | <span style="font-size:smaller;">Pixel rate in the source pads of the subdev. This control is read-only and its unit is pixels / second.</span> | R | Ae |- | V4L2_CID_LINK_FREQ | <span style="font-size:smaller;">Data bus frequency. Together with the media bus pixel code, bus type (clock cycles per sample), the data bus frequency defines the pixel rate (<code>V4L2_CID_PIXEL_RATE</code>) in the pixel array (or possibly elsewhere, if the device is not an image sensor). The frame rate can be calculated from the pixel clock, image width and height and horizontal and vertical blanking. While the pixel rate control may be defined elsewhere than in the subdev containing the pixel array, the frame rate cannot be obtained from that information. This is because only on the pixel array it can be assumed that the vertical and horizontal blanking information is exact: no other blanking is allowed in the pixel array. The selection of frame rate is performed by selecting the desired horizontal and vertical blanking. The unit of this control is Hz.</span> | R | mipi-dphy |} == Linux == === User applications&nbsp; === The applcation for&nbsp;plain v4L2 capture device still can be used(like gstreamer v4l2src plugins, v4l2ctl), but the media&nbsp;controller must be setup in a&nbsp;proper state before starting capture.<br/> The applications for Video Capture with rockchip-isp1 driver&nbsp;should do things like the following commands: <pre>media-ctl -l '"rockchip-sy-mipi-dphy":1->"rkisp1-isp-subdev":0[1]' media-ctl -l '"rkisp1-input-params":0->"rkisp1-isp-subdev":1[1]' media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_selfpath":0[1]' media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_mainpath":0[1]' media-ctl -l '"rkisp1-isp-subdev":3->"rkisp1-statistics":0[1]' # Media graph have been initializated when kernel driver probing, so above commands don't have to be called, though please note that they can be changed in the runtime # Set pad formats ## rkisp1 source pad media-ctl -set-v4l2 '"rkisp1-isp-subdev":2[fmt:YUYV2X8/800x600]' ## rkisp1 sink pad == sensor source [ad] media-ctl --set-v4l2 '"rkisp1-isp-subdev":0[fmt:SRGGB10/800*600]' media-ctl --set-v4l2 '"ov2685 7-0010":0[fmt:SRGGB10/800*600]' # Set link(Assume there are two sensors in one mipi-phy) ## Enable sensor1 media-ctl -l '"ov2685 7-0010":0->"rockchip-sy-mipi-dphy":0[1]' ## Disable sensor2 media-ctl -l '"ov5695 7-0036":0->"rockchip-sy-mipi-dphy":0[0]' # Start capture v4l2-ctl xxxxxxx </pre> ==== <del>Integrate 3A&nbsp;algorithm</del> ==== ==== <del>Multi sensors</del> ==== ==== <del>Multi paths</del> ==== Record, Preview, Still Capture&nbsp;in different resolution&nbsp;at a time === Gstreamer === We have write a gstreamer plugin, [https://github.com/rockchip-linux/gstreamer-rockchip-extra rkcamsrc], which is simply modified from gstreamer v4l2src plugin. [[File:Rkcamsrc.png|500px|RTENOTITLE]] Please refer to readme in github for usage. == Android == === <del>Camera Hal3</del> === [https://source.android.com/devices/camera/camera3?hl=zh-cn https://source.android.com/devices/camera/camera3] = Reproduce = The driver currently can run&nbsp;on ASUS Tinker Board and Firefly-RK3288-Reload + Rockchip&nbsp;Debian/Yocto SDK. == Source Code == === Kernel === #4.15 + [https://patchwork.linuxtv.org/project/linux-media/list/?submitter=7231 FORMLIST Patches] #[https://github.com/rockchip-linux/kernel/tree/isp-early-access Rockchip 4.4 BSP] === Sensor Driver === #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/imx219.c IMX219] #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/ov5647.c OV5647] #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/tc35874x.c TC35874X] === Device Tree === #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/arch/arm/boot/dts/rk3288-miniarm.dts Tinker Board] #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/arch/arm/boot/dts/rk3288-firefly.dtsi Firefly-rk3288-Reload] == Test Command == <pre>cat /sys/class/video4linux/video*/name # get self_path videox and main_path videox+1 gst-launch-1.0 rkcamsrc device=/dev/videox+1 io-mode=4 disable-3A=true&nbsp;! videoconvert&nbsp;! video/x-raw,format=NV12,width=640,height=480&nbsp;! kmssink</pre> = Others = == Topology == <pre>Media device information ------------------------ driver rkisp1 model rkisp1 serial bus info hw revision 0x0 driver version 0.0.0 Device topology - entity 1: rkisp1-isp-subdev (4 pads, 5 links) type V4L2 subdev subtype Unknown flags 0 device node name /dev/v4l-subdev0 pad0: Sink [fmt:SBGGR10_1X10/800x600 field:none crop.bounds:(0,0)/800x600 crop:(0,0)/800x600] <- "rockchip-sy-mipi-dphy":1 [ENABLED] pad1: Sink <- "rkisp1-input-params":0 [ENABLED] pad2: Source [fmt:SBGGR10_1X10/800x600 field:none crop.bounds:(0,0)/800x600 crop:(0,0)/800x600] -> "rkisp1_selfpath":0 [ENABLED] -> "rkisp1_mainpath":0 [ENABLED] pad3: Source -> "rkisp1-statistics":0 [ENABLED] - entity 2: rkisp1_selfpath (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video0 pad0: Sink <- "rkisp1-isp-subdev":2 [ENABLED] - entity 3: rkisp1_mainpath (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video1 pad0: Sink <- "rkisp1-isp-subdev":2 [ENABLED] - entity 4: rkisp1-statistics (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video2 pad0: Sink <- "rkisp1-isp-subdev":3 [ENABLED] - entity 5: rkisp1-input-params (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video3 pad0: Source -> "rkisp1-isp-subdev":1 [ENABLED] - entity 6: rockchip-sy-mipi-dphy (2 pads, 2 links) type V4L2 subdev subtype Unknown flags 0 device node name /dev/v4l-subdev1 pad0: Sink [fmt:SRGGB10_1X10/3280x2464 field:none] <- "imx219 2-0010":0 [ENABLED] pad1: Source [fmt:SRGGB10_1X10/3280x2464 field:none] -> "rkisp1-isp-subdev":0 [ENABLED] - entity 7: imx219 2-0010 (1 pad, 1 link) type V4L2 subdev subtype Sensor flags 0 device node name /dev/v4l-subdev2 pad0: Source [fmt:SRGGB10_1X10/3280x2464 field:none] -> "rockchip-sy-mipi-dphy":0 [ENABLED]</pre> edc6b2da19988734d4233c46be94127456109d45 1623 1622 2017-11-30T12:46:01Z Jacob 6 wikitext text/x-wiki NOTE: Under Construction &nbsp; = Overview = The document below&nbsp;provide&nbsp;basical informations&nbsp;about the&nbsp;rockchip-isp1 driver driver and&nbsp;Image Signal Processing block on Rockchip SoC&nbsp;with&nbsp;examples and details. = Hardware = More detailed information could be found in TRM chapter "Image Signal Processing", "MIPI D-PHY"&nbsp;, but they are only available under&nbsp;NDA. == ISP Details == ISP comprises with: *MIPI serial camera interface *Image Signal Processing *Color Processing *Image Effects *Superimpose *Luminance / Chrominance Splitter *Crop *Main Resize *MPMUX for selection of main patch data flow *Control unit === Block diagram === The completed block diagram&nbsp;can not be pasted from&nbsp;datasheet&nbsp;to here, below&nbsp;diagram&nbsp;is a abstract version: [[File:Blocks.png|1200px|Blocks.png]] == MIPI Details == There are three D-PHY instances in rk3288/rk3399, their connection are shown as following figure: [[File:Phy.png|600px|Phy.png]] = Software = == Driver == rockchip-isp1 is a V4L2 based driver for Image Signal Processing block on Rockchip SoC. Compared to the earlier driver&nbsp;rk-isp10, it use&nbsp;Media Controller&nbsp;framework, which it's different from plain v4L2. While the plain v4L2 had a view of the device as a plain DMA based image drabber which connects the input data to the host memory, the Media Controller takes into consideration the fact that a typical video device might consist of multiple sub-devices. === Media Controller Basics === Please read below link carefully,&nbsp;especially if you don't have use it before. [https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.html https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.htmlIntegrate 3A algorithm(TO BE DONE)] === Block diagram === ==== file view: ==== [[File:Code.png|1200px|Code.png]] ==== V4l2 view: ==== === Sensor Driver Requirement === The sensor driver should implement controls in the following table.&nbsp; {| border="1" class="table_style" |- ! Controls ! Description ! R/W ! Needed by |- | V4L2_CID_VBLANK | <span style="font-size:smaller;">Vertical blanking. The idle period after every frame during which no image data is produced. The unit of vertical blanking is a line. Every line has length of the image width plus horizontal blanking at the pixel rate defined by&nbsp;<code>V4L2_CID_PIXEL_RATE</code>&nbsp;control in the same sub-device.</span> | R | Ae |- | V4L2_CID_HBLANK | <span style="font-size:smaller;">Horizontal blanking. The idle period after every line of image data during which no image data is produced. The unit of horizontal blanking is pixels.</span> | R | Ae |- | V4L2_CID_EXPOSURE | <span style="font-size:smaller;">Determines the exposure time of the camera sensor. The exposure time is limited by the frame interval. Drivers should interpret the values as 100 µs units, where the value 1 stands for 1/10000th of a second, 10000 for 1 second and 100000 for 10 seconds.</span> | R/W | Ae |- | V4L2_CID_ANALOGUE_GAIN | <span style="font-size:smaller;">Analogue gain is gain affecting all colour components in the pixel matrix. The gain operation is performed in the analogue domain before A/D conversion.</span> | R/W | Ae |- | V4L2_CID_DIGITAL_GAIN | <span style="font-size:smaller;">Digital gain is the value by which all colour components are multiplied by. Typically the digital gain applied is the control value divided by e.g. 0x100, meaning that to get no digital gain the control value needs to be 0x100. The no-gain configuration is also typically the default.</span> | R/W | Ae |- | V4L2_CID_PIXEL_RATE | <span style="font-size:smaller;">Pixel rate in the source pads of the subdev. This control is read-only and its unit is pixels / second.</span> | R | Ae |- | V4L2_CID_LINK_FREQ | <span style="font-size:smaller;">Data bus frequency. Together with the media bus pixel code, bus type (clock cycles per sample), the data bus frequency defines the pixel rate (<code>V4L2_CID_PIXEL_RATE</code>) in the pixel array (or possibly elsewhere, if the device is not an image sensor). The frame rate can be calculated from the pixel clock, image width and height and horizontal and vertical blanking. While the pixel rate control may be defined elsewhere than in the subdev containing the pixel array, the frame rate cannot be obtained from that information. This is because only on the pixel array it can be assumed that the vertical and horizontal blanking information is exact: no other blanking is allowed in the pixel array. The selection of frame rate is performed by selecting the desired horizontal and vertical blanking. The unit of this control is Hz.</span> | R | mipi-dphy |} == Linux == === User applications&nbsp; === The applcation for&nbsp;plain v4L2 capture device still can be used(like gstreamer v4l2src plugins, v4l2ctl), but the media&nbsp;controller must be setup in a&nbsp;proper state before starting capture.<br/> The applications for Video Capture with rockchip-isp1 driver&nbsp;should do things like the following commands: <pre>media-ctl -l '"rockchip-sy-mipi-dphy":1->"rkisp1-isp-subdev":0[1]' media-ctl -l '"rkisp1-input-params":0->"rkisp1-isp-subdev":1[1]' media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_selfpath":0[1]' media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_mainpath":0[1]' media-ctl -l '"rkisp1-isp-subdev":3->"rkisp1-statistics":0[1]' # Media graph have been initializated when kernel driver probing, so above commands don't have to be called, though please note that they can be changed in the runtime # Set pad formats ## rkisp1 source pad media-ctl -set-v4l2 '"rkisp1-isp-subdev":2[fmt:YUYV2X8/800x600]' ## rkisp1 sink pad == sensor source [ad] media-ctl --set-v4l2 '"rkisp1-isp-subdev":0[fmt:SRGGB10/800*600]' media-ctl --set-v4l2 '"ov2685 7-0010":0[fmt:SRGGB10/800*600]' # Set link(Assume there are two sensors in one mipi-phy) ## Enable sensor1 media-ctl -l '"ov2685 7-0010":0->"rockchip-sy-mipi-dphy":0[1]' ## Disable sensor2 media-ctl -l '"ov5695 7-0036":0->"rockchip-sy-mipi-dphy":0[0]' # Start capture v4l2-ctl xxxxxxx </pre> ==== <del>Integrate 3A&nbsp;algorithm</del> ==== ==== <del>Multi sensors</del> ==== ==== <del>Multi paths</del> ==== Record, Preview, Still Capture&nbsp;in different resolution&nbsp;at a time === Gstreamer === We have write a gstreamer plugin, [https://github.com/rockchip-linux/gstreamer-rockchip-extra rkcamsrc], which is simply modified from gstreamer v4l2src plugin. [[File:Rkcamsrc.png|500px|RTENOTITLE]] Please refer to readme in github for usage. == Android == === <del>Camera Hal3</del> === [https://source.android.com/devices/camera/camera3?hl=zh-cn https://source.android.com/devices/camera/camera3] = Reproduce = The driver currently can run&nbsp;on ASUS Tinker Board and Firefly-RK3288-Reload + Rockchip&nbsp;Debian/Yocto SDK. == Source Code == === Kernel === #4.15 + [https://patchwork.linuxtv.org/project/linux-media/list/?submitter=7231 FORMLIST Patches] #[https://github.com/rockchip-linux/kernel/tree/isp-early-access Rockchip 4.4 BSP] === Sensor Driver === #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/imx219.c IMX219] #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/ov5647.c OV5647] #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/tc35874x.c TC35874X] === Device Tree === #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/arch/arm/boot/dts/rk3288-miniarm.dts Tinker Board] #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/arch/arm/boot/dts/rk3288-firefly.dtsi Firefly-rk3288-Reload] == Test Command == <pre>cat /sys/class/video4linux/video*/name # get self_path videox and main_path videox+1 gst-launch-1.0 rkcamsrc device=/dev/videox+1 io-mode=4 disable-3A=true&nbsp;! videoconvert&nbsp;! video/x-raw,format=NV12,width=640,height=480&nbsp;! kmssink</pre> = Others = == Topology == <pre>Media device information ------------------------ driver rkisp1 model rkisp1 serial bus info hw revision 0x0 driver version 0.0.0 Device topology - entity 1: rkisp1-isp-subdev (4 pads, 5 links) type V4L2 subdev subtype Unknown flags 0 device node name /dev/v4l-subdev0 pad0: Sink [fmt:SBGGR10_1X10/800x600 field:none crop.bounds:(0,0)/800x600 crop:(0,0)/800x600] <- "rockchip-sy-mipi-dphy":1 [ENABLED] pad1: Sink <- "rkisp1-input-params":0 [ENABLED] pad2: Source [fmt:SBGGR10_1X10/800x600 field:none crop.bounds:(0,0)/800x600 crop:(0,0)/800x600] -> "rkisp1_selfpath":0 [ENABLED] -> "rkisp1_mainpath":0 [ENABLED] pad3: Source -> "rkisp1-statistics":0 [ENABLED] - entity 2: rkisp1_selfpath (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video0 pad0: Sink <- "rkisp1-isp-subdev":2 [ENABLED] - entity 3: rkisp1_mainpath (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video1 pad0: Sink <- "rkisp1-isp-subdev":2 [ENABLED] - entity 4: rkisp1-statistics (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video2 pad0: Sink <- "rkisp1-isp-subdev":3 [ENABLED] - entity 5: rkisp1-input-params (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video3 pad0: Source -> "rkisp1-isp-subdev":1 [ENABLED] - entity 6: rockchip-sy-mipi-dphy (2 pads, 2 links) type V4L2 subdev subtype Unknown flags 0 device node name /dev/v4l-subdev1 pad0: Sink [fmt:SRGGB10_1X10/3280x2464 field:none] <- "imx219 2-0010":0 [ENABLED] pad1: Source [fmt:SRGGB10_1X10/3280x2464 field:none] -> "rkisp1-isp-subdev":0 [ENABLED] - entity 7: imx219 2-0010 (1 pad, 1 link) type V4L2 subdev subtype Sensor flags 0 device node name /dev/v4l-subdev2 pad0: Source [fmt:SRGGB10_1X10/3280x2464 field:none] -> "rockchip-sy-mipi-dphy":0 [ENABLED]</pre> bfa6f70814ba7be82594ed7af750678d2c90c9b0 1624 1623 2017-11-30T12:47:14Z Jacob 6 wikitext text/x-wiki NOTE: Under Construction &nbsp; = Overview = The document below&nbsp;provide&nbsp;basical informations&nbsp;about the&nbsp;rockchip-isp1 driver driver and&nbsp;Image Signal Processing block on Rockchip SoC&nbsp;with&nbsp;examples and details. = Hardware = More detailed information could be found in TRM chapter "Image Signal Processing", "MIPI D-PHY"&nbsp;, but they are only available under&nbsp;NDA. == ISP Details == ISP comprises with: *MIPI serial camera interface *Image Signal Processing *Color Processing *Image Effects *Superimpose *Luminance / Chrominance Splitter *Crop *Main Resize *MPMUX for selection of main patch data flow *Control unit === Block diagram === The completed block diagram&nbsp;can not be pasted from&nbsp;datasheet&nbsp;to here, below&nbsp;diagram&nbsp;is an abstract version: [[File:Blocks.png|1200px|Blocks.png]] == MIPI Details == There are three D-PHY instances in rk3288/rk3399, their connection are shown as following figure: [[File:Phy.png|600px|Phy.png]] = Software = == Driver == rockchip-isp1 is a V4L2 based driver for Image Signal Processing block on Rockchip SoC. Compared to the earlier driver&nbsp;rk-isp10, it use&nbsp;Media Controller&nbsp;framework, which it's different from plain v4L2. While the plain v4L2 had a view of the device as a plain DMA based image drabber which connects the input data to the host memory, the Media Controller takes into consideration the fact that a typical video device might consist of multiple sub-devices. === Media Controller Basics === Please read below link carefully,&nbsp;especially if you don't have use it before. [https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.html https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.htmlIntegrate 3A algorithm(TO BE DONE)] === Block diagram === ==== file view: ==== [[File:Code.png|1200px|Code.png]] ==== V4l2 view: ==== === Sensor Driver Requirement === The sensor driver should implement controls in the following table.&nbsp; {| border="1" class="table_style" |- ! Controls ! Description ! R/W ! Needed by |- | V4L2_CID_VBLANK | <span style="font-size:smaller;">Vertical blanking. The idle period after every frame during which no image data is produced. The unit of vertical blanking is a line. Every line has length of the image width plus horizontal blanking at the pixel rate defined by&nbsp;<code>V4L2_CID_PIXEL_RATE</code>&nbsp;control in the same sub-device.</span> | R | Ae |- | V4L2_CID_HBLANK | <span style="font-size:smaller;">Horizontal blanking. The idle period after every line of image data during which no image data is produced. The unit of horizontal blanking is pixels.</span> | R | Ae |- | V4L2_CID_EXPOSURE | <span style="font-size:smaller;">Determines the exposure time of the camera sensor. The exposure time is limited by the frame interval. Drivers should interpret the values as 100 µs units, where the value 1 stands for 1/10000th of a second, 10000 for 1 second and 100000 for 10 seconds.</span> | R/W | Ae |- | V4L2_CID_ANALOGUE_GAIN | <span style="font-size:smaller;">Analogue gain is gain affecting all colour components in the pixel matrix. The gain operation is performed in the analogue domain before A/D conversion.</span> | R/W | Ae |- | V4L2_CID_DIGITAL_GAIN | <span style="font-size:smaller;">Digital gain is the value by which all colour components are multiplied by. Typically the digital gain applied is the control value divided by e.g. 0x100, meaning that to get no digital gain the control value needs to be 0x100. The no-gain configuration is also typically the default.</span> | R/W | Ae |- | V4L2_CID_PIXEL_RATE | <span style="font-size:smaller;">Pixel rate in the source pads of the subdev. This control is read-only and its unit is pixels / second.</span> | R | Ae |- | V4L2_CID_LINK_FREQ | <span style="font-size:smaller;">Data bus frequency. Together with the media bus pixel code, bus type (clock cycles per sample), the data bus frequency defines the pixel rate (<code>V4L2_CID_PIXEL_RATE</code>) in the pixel array (or possibly elsewhere, if the device is not an image sensor). The frame rate can be calculated from the pixel clock, image width and height and horizontal and vertical blanking. While the pixel rate control may be defined elsewhere than in the subdev containing the pixel array, the frame rate cannot be obtained from that information. This is because only on the pixel array it can be assumed that the vertical and horizontal blanking information is exact: no other blanking is allowed in the pixel array. The selection of frame rate is performed by selecting the desired horizontal and vertical blanking. The unit of this control is Hz.</span> | R | mipi-dphy |} == Linux == === User applications&nbsp; === The applcation for&nbsp;plain v4L2 capture device still can be used(like gstreamer v4l2src plugins, v4l2ctl), but the media&nbsp;controller must be setup in a&nbsp;proper state before starting capture.<br/> The applications for Video Capture with rockchip-isp1 driver&nbsp;should do things like the following commands: <pre>media-ctl -l '"rockchip-sy-mipi-dphy":1->"rkisp1-isp-subdev":0[1]' media-ctl -l '"rkisp1-input-params":0->"rkisp1-isp-subdev":1[1]' media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_selfpath":0[1]' media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_mainpath":0[1]' media-ctl -l '"rkisp1-isp-subdev":3->"rkisp1-statistics":0[1]' # Media graph have been initializated when kernel driver probing, so above commands don't have to be called, though please note that they can be changed in the runtime # Set pad formats ## rkisp1 source pad media-ctl -set-v4l2 '"rkisp1-isp-subdev":2[fmt:YUYV2X8/800x600]' ## rkisp1 sink pad == sensor source [ad] media-ctl --set-v4l2 '"rkisp1-isp-subdev":0[fmt:SRGGB10/800*600]' media-ctl --set-v4l2 '"ov2685 7-0010":0[fmt:SRGGB10/800*600]' # Set link(Assume there are two sensors in one mipi-phy) ## Enable sensor1 media-ctl -l '"ov2685 7-0010":0->"rockchip-sy-mipi-dphy":0[1]' ## Disable sensor2 media-ctl -l '"ov5695 7-0036":0->"rockchip-sy-mipi-dphy":0[0]' # Start capture v4l2-ctl xxxxxxx </pre> ==== <del>Integrate 3A&nbsp;algorithm</del> ==== ==== <del>Multi sensors</del> ==== ==== <del>Multi paths</del> ==== Record, Preview, Still Capture&nbsp;in different resolution&nbsp;at a time === Gstreamer === We have write a gstreamer plugin, [https://github.com/rockchip-linux/gstreamer-rockchip-extra rkcamsrc], which is simply modified from gstreamer v4l2src plugin. [[File:Rkcamsrc.png|500px|RTENOTITLE]] Please refer to readme in github for usage. == Android == === <del>Camera Hal3</del> === [https://source.android.com/devices/camera/camera3?hl=zh-cn https://source.android.com/devices/camera/camera3] = Reproduce = The driver currently can run&nbsp;on ASUS Tinker Board and Firefly-RK3288-Reload + Rockchip&nbsp;Debian/Yocto SDK. == Source Code == === Kernel === #4.15 + [https://patchwork.linuxtv.org/project/linux-media/list/?submitter=7231 FORMLIST Patches] #[https://github.com/rockchip-linux/kernel/tree/isp-early-access Rockchip 4.4 BSP] === Sensor Driver === #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/imx219.c IMX219] #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/ov5647.c OV5647] #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/tc35874x.c TC35874X] === Device Tree === #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/arch/arm/boot/dts/rk3288-miniarm.dts Tinker Board] #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/arch/arm/boot/dts/rk3288-firefly.dtsi Firefly-rk3288-Reload] == Test Command == <pre>cat /sys/class/video4linux/video*/name # get self_path videox and main_path videox+1 gst-launch-1.0 rkcamsrc device=/dev/videox+1 io-mode=4 disable-3A=true&nbsp;! videoconvert&nbsp;! video/x-raw,format=NV12,width=640,height=480&nbsp;! kmssink</pre> = Others = == Topology == <pre>Media device information ------------------------ driver rkisp1 model rkisp1 serial bus info hw revision 0x0 driver version 0.0.0 Device topology - entity 1: rkisp1-isp-subdev (4 pads, 5 links) type V4L2 subdev subtype Unknown flags 0 device node name /dev/v4l-subdev0 pad0: Sink [fmt:SBGGR10_1X10/800x600 field:none crop.bounds:(0,0)/800x600 crop:(0,0)/800x600] <- "rockchip-sy-mipi-dphy":1 [ENABLED] pad1: Sink <- "rkisp1-input-params":0 [ENABLED] pad2: Source [fmt:SBGGR10_1X10/800x600 field:none crop.bounds:(0,0)/800x600 crop:(0,0)/800x600] -> "rkisp1_selfpath":0 [ENABLED] -> "rkisp1_mainpath":0 [ENABLED] pad3: Source -> "rkisp1-statistics":0 [ENABLED] - entity 2: rkisp1_selfpath (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video0 pad0: Sink <- "rkisp1-isp-subdev":2 [ENABLED] - entity 3: rkisp1_mainpath (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video1 pad0: Sink <- "rkisp1-isp-subdev":2 [ENABLED] - entity 4: rkisp1-statistics (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video2 pad0: Sink <- "rkisp1-isp-subdev":3 [ENABLED] - entity 5: rkisp1-input-params (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video3 pad0: Source -> "rkisp1-isp-subdev":1 [ENABLED] - entity 6: rockchip-sy-mipi-dphy (2 pads, 2 links) type V4L2 subdev subtype Unknown flags 0 device node name /dev/v4l-subdev1 pad0: Sink [fmt:SRGGB10_1X10/3280x2464 field:none] <- "imx219 2-0010":0 [ENABLED] pad1: Source [fmt:SRGGB10_1X10/3280x2464 field:none] -> "rkisp1-isp-subdev":0 [ENABLED] - entity 7: imx219 2-0010 (1 pad, 1 link) type V4L2 subdev subtype Sensor flags 0 device node name /dev/v4l-subdev2 pad0: Source [fmt:SRGGB10_1X10/3280x2464 field:none] -> "rockchip-sy-mipi-dphy":0 [ENABLED]</pre> 8f1689dc5710226a95ca65f732606bfd192cacc0 1625 1624 2017-11-30T12:47:44Z Jacob 6 wikitext text/x-wiki NOTE: Under Construction &nbsp; = Overview = The document below&nbsp;provide&nbsp;basical informations&nbsp;about the&nbsp;rockchip-isp1 driver driver and&nbsp;Image Signal Processing block on Rockchip SoC&nbsp;with&nbsp;examples and details. = Hardware = More detailed information could be found in TRM chapter "Image Signal Processing", "MIPI D-PHY"&nbsp;, but they are only available under&nbsp;NDA. == ISP Details == ISP comprises with: *MIPI serial camera interface *Image Signal Processing *Color Processing *Image Effects *Superimpose *Luminance / Chrominance Splitter *Crop *Main Resize *MPMUX for selection of main patch data flow *Control unit === Block diagram === The completed block diagram&nbsp;can not be pasted from&nbsp;datasheet&nbsp;to here, below&nbsp;diagram&nbsp;is an abstract version: [[File:Blocks.png|1200px|Blocks.png]] == MIPI Details == There are three D-PHY instances in rk3288/rk3399, their connection are shown as following figure: [[File:Phy.png|600px|Phy.png]] = Software = == Driver == rockchip-isp1 is a V4L2 based driver for Image Signal Processing block on Rockchip SoC. Compared to the earlier driver&nbsp;rk-isp10, it use&nbsp;Media Controller&nbsp;framework, which it's different from plain v4L2. While the plain v4L2 had a view of the device as a plain DMA based image drabber which connects the input data to the host memory, the Media Controller takes into consideration the fact that a typical video device might consist of multiple sub-devices. === Media Controller Basics === Please read below link carefully,&nbsp;especially if you don't have use it before. [https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.html https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.htmlIntegrate 3A algorithm(TO BE DONE)] === Block diagram === ==== File view ==== [[File:Code.png|1200px|Code.png]] ==== V4l2 view ==== === Sensor Driver Requirement === The sensor driver should implement controls in the following table.&nbsp; {| border="1" class="table_style" |- ! Controls ! Description ! R/W ! Needed by |- | V4L2_CID_VBLANK | <span style="font-size:smaller;">Vertical blanking. The idle period after every frame during which no image data is produced. The unit of vertical blanking is a line. Every line has length of the image width plus horizontal blanking at the pixel rate defined by&nbsp;<code>V4L2_CID_PIXEL_RATE</code>&nbsp;control in the same sub-device.</span> | R | Ae |- | V4L2_CID_HBLANK | <span style="font-size:smaller;">Horizontal blanking. The idle period after every line of image data during which no image data is produced. The unit of horizontal blanking is pixels.</span> | R | Ae |- | V4L2_CID_EXPOSURE | <span style="font-size:smaller;">Determines the exposure time of the camera sensor. The exposure time is limited by the frame interval. Drivers should interpret the values as 100 µs units, where the value 1 stands for 1/10000th of a second, 10000 for 1 second and 100000 for 10 seconds.</span> | R/W | Ae |- | V4L2_CID_ANALOGUE_GAIN | <span style="font-size:smaller;">Analogue gain is gain affecting all colour components in the pixel matrix. The gain operation is performed in the analogue domain before A/D conversion.</span> | R/W | Ae |- | V4L2_CID_DIGITAL_GAIN | <span style="font-size:smaller;">Digital gain is the value by which all colour components are multiplied by. Typically the digital gain applied is the control value divided by e.g. 0x100, meaning that to get no digital gain the control value needs to be 0x100. The no-gain configuration is also typically the default.</span> | R/W | Ae |- | V4L2_CID_PIXEL_RATE | <span style="font-size:smaller;">Pixel rate in the source pads of the subdev. This control is read-only and its unit is pixels / second.</span> | R | Ae |- | V4L2_CID_LINK_FREQ | <span style="font-size:smaller;">Data bus frequency. Together with the media bus pixel code, bus type (clock cycles per sample), the data bus frequency defines the pixel rate (<code>V4L2_CID_PIXEL_RATE</code>) in the pixel array (or possibly elsewhere, if the device is not an image sensor). The frame rate can be calculated from the pixel clock, image width and height and horizontal and vertical blanking. While the pixel rate control may be defined elsewhere than in the subdev containing the pixel array, the frame rate cannot be obtained from that information. This is because only on the pixel array it can be assumed that the vertical and horizontal blanking information is exact: no other blanking is allowed in the pixel array. The selection of frame rate is performed by selecting the desired horizontal and vertical blanking. The unit of this control is Hz.</span> | R | mipi-dphy |} == Linux == === User applications&nbsp; === The applcation for&nbsp;plain v4L2 capture device still can be used(like gstreamer v4l2src plugins, v4l2ctl), but the media&nbsp;controller must be setup in a&nbsp;proper state before starting capture.<br/> The applications for Video Capture with rockchip-isp1 driver&nbsp;should do things like the following commands: <pre>media-ctl -l '"rockchip-sy-mipi-dphy":1->"rkisp1-isp-subdev":0[1]' media-ctl -l '"rkisp1-input-params":0->"rkisp1-isp-subdev":1[1]' media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_selfpath":0[1]' media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_mainpath":0[1]' media-ctl -l '"rkisp1-isp-subdev":3->"rkisp1-statistics":0[1]' # Media graph have been initializated when kernel driver probing, so above commands don't have to be called, though please note that they can be changed in the runtime # Set pad formats ## rkisp1 source pad media-ctl -set-v4l2 '"rkisp1-isp-subdev":2[fmt:YUYV2X8/800x600]' ## rkisp1 sink pad == sensor source [ad] media-ctl --set-v4l2 '"rkisp1-isp-subdev":0[fmt:SRGGB10/800*600]' media-ctl --set-v4l2 '"ov2685 7-0010":0[fmt:SRGGB10/800*600]' # Set link(Assume there are two sensors in one mipi-phy) ## Enable sensor1 media-ctl -l '"ov2685 7-0010":0->"rockchip-sy-mipi-dphy":0[1]' ## Disable sensor2 media-ctl -l '"ov5695 7-0036":0->"rockchip-sy-mipi-dphy":0[0]' # Start capture v4l2-ctl xxxxxxx </pre> ==== <del>Integrate 3A&nbsp;algorithm</del> ==== ==== <del>Multi sensors</del> ==== ==== <del>Multi paths</del> ==== Record, Preview, Still Capture&nbsp;in different resolution&nbsp;at a time === Gstreamer === We have write a gstreamer plugin, [https://github.com/rockchip-linux/gstreamer-rockchip-extra rkcamsrc], which is simply modified from gstreamer v4l2src plugin. [[File:Rkcamsrc.png|500px|RTENOTITLE]] Please refer to readme in github for usage. == Android == === <del>Camera Hal3</del> === [https://source.android.com/devices/camera/camera3?hl=zh-cn https://source.android.com/devices/camera/camera3] = Reproduce = The driver currently can run&nbsp;on ASUS Tinker Board and Firefly-RK3288-Reload + Rockchip&nbsp;Debian/Yocto SDK. == Source Code == === Kernel === #4.15 + [https://patchwork.linuxtv.org/project/linux-media/list/?submitter=7231 FORMLIST Patches] #[https://github.com/rockchip-linux/kernel/tree/isp-early-access Rockchip 4.4 BSP] === Sensor Driver === #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/imx219.c IMX219] #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/ov5647.c OV5647] #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/tc35874x.c TC35874X] === Device Tree === #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/arch/arm/boot/dts/rk3288-miniarm.dts Tinker Board] #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/arch/arm/boot/dts/rk3288-firefly.dtsi Firefly-rk3288-Reload] == Test Command == <pre>cat /sys/class/video4linux/video*/name # get self_path videox and main_path videox+1 gst-launch-1.0 rkcamsrc device=/dev/videox+1 io-mode=4 disable-3A=true&nbsp;! videoconvert&nbsp;! video/x-raw,format=NV12,width=640,height=480&nbsp;! kmssink</pre> = Others = == Topology == <pre>Media device information ------------------------ driver rkisp1 model rkisp1 serial bus info hw revision 0x0 driver version 0.0.0 Device topology - entity 1: rkisp1-isp-subdev (4 pads, 5 links) type V4L2 subdev subtype Unknown flags 0 device node name /dev/v4l-subdev0 pad0: Sink [fmt:SBGGR10_1X10/800x600 field:none crop.bounds:(0,0)/800x600 crop:(0,0)/800x600] <- "rockchip-sy-mipi-dphy":1 [ENABLED] pad1: Sink <- "rkisp1-input-params":0 [ENABLED] pad2: Source [fmt:SBGGR10_1X10/800x600 field:none crop.bounds:(0,0)/800x600 crop:(0,0)/800x600] -> "rkisp1_selfpath":0 [ENABLED] -> "rkisp1_mainpath":0 [ENABLED] pad3: Source -> "rkisp1-statistics":0 [ENABLED] - entity 2: rkisp1_selfpath (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video0 pad0: Sink <- "rkisp1-isp-subdev":2 [ENABLED] - entity 3: rkisp1_mainpath (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video1 pad0: Sink <- "rkisp1-isp-subdev":2 [ENABLED] - entity 4: rkisp1-statistics (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video2 pad0: Sink <- "rkisp1-isp-subdev":3 [ENABLED] - entity 5: rkisp1-input-params (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video3 pad0: Source -> "rkisp1-isp-subdev":1 [ENABLED] - entity 6: rockchip-sy-mipi-dphy (2 pads, 2 links) type V4L2 subdev subtype Unknown flags 0 device node name /dev/v4l-subdev1 pad0: Sink [fmt:SRGGB10_1X10/3280x2464 field:none] <- "imx219 2-0010":0 [ENABLED] pad1: Source [fmt:SRGGB10_1X10/3280x2464 field:none] -> "rkisp1-isp-subdev":0 [ENABLED] - entity 7: imx219 2-0010 (1 pad, 1 link) type V4L2 subdev subtype Sensor flags 0 device node name /dev/v4l-subdev2 pad0: Source [fmt:SRGGB10_1X10/3280x2464 field:none] -> "rockchip-sy-mipi-dphy":0 [ENABLED]</pre> fd9c6bc93b3e9192d139106289a151f5569cae0d 1626 1625 2017-11-30T13:50:01Z Jacob 6 wikitext text/x-wiki NOTE: Under Construction &nbsp; = Overview = The document below&nbsp;provide&nbsp;basical informations&nbsp;about the&nbsp;rockchip-isp1 driver driver and&nbsp;Image Signal Processing block on Rockchip SoC&nbsp;with&nbsp;examples and details. = Hardware = More detailed information could be found in TRM chapter "Image Signal Processing", "MIPI D-PHY"&nbsp;, but they are only available under&nbsp;NDA. == ISP Details == ISP comprises with: *MIPI serial camera interface *Image Signal Processing *Color Processing *Image Effects *Superimpose *Luminance / Chrominance Splitter *Crop *Main Resize *MPMUX for selection of main patch data flow *Control unit === Block diagram === The completed block diagram&nbsp;can not be pasted from&nbsp;datasheet&nbsp;to here, below&nbsp;diagram&nbsp;is an abstract version: [[File:Blocks.png|1200px|Blocks.png]] == MIPI Details == There are three D-PHY instances in rk3288/rk3399, their connection are shown as following figure: [[File:Phy.png|600px|Phy.png]] = Software = == Driver == rockchip-isp1 is a V4L2 based driver for Image Signal Processing block on Rockchip SoC. Compared to the earlier driver&nbsp;rk-isp10, it use&nbsp;Media Controller&nbsp;framework, which it's different from plain v4L2. While the plain v4L2 had a view of the device as a plain DMA based image drabber which connects the input data to the host memory, the Media Controller takes into consideration the fact that a typical video device might consist of multiple sub-devices. === Media Controller Basics === Please read below link carefully,&nbsp;especially if you don't have use it before. [https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.html https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.htmlIntegrate 3A algorithm(TO BE DONE)] === Block diagram === ==== File view ==== [[File:Code.png|1200px|Code.png]] ==== V4l2 view ==== === Sensor Driver Requirement === The sensor driver should implement controls in the following table.&nbsp; {| border="1" class="table_style" |- ! Controls ! Description ! R/W ! Needed by |- | V4L2_CID_VBLANK | <span style="font-size:smaller;">Vertical blanking. The idle period after every frame during which no image data is produced. The unit of vertical blanking is a line. Every line has length of the image width plus horizontal blanking at the pixel rate defined by&nbsp;<code>V4L2_CID_PIXEL_RATE</code>&nbsp;control in the same sub-device.</span> | R | Ae |- | V4L2_CID_HBLANK | <span style="font-size:smaller;">Horizontal blanking. The idle period after every line of image data during which no image data is produced. The unit of horizontal blanking is pixels.</span> | R | Ae |- | V4L2_CID_EXPOSURE | <span style="font-size:smaller;">Determines the exposure time of the camera sensor. The exposure time is limited by the frame interval. Drivers should interpret the values as 100 µs units, where the value 1 stands for 1/10000th of a second, 10000 for 1 second and 100000 for 10 seconds.</span> | R/W | Ae |- | V4L2_CID_ANALOGUE_GAIN | <span style="font-size:smaller;">Analogue gain is gain affecting all colour components in the pixel matrix. The gain operation is performed in the analogue domain before A/D conversion.</span> | R/W | Ae |- | V4L2_CID_DIGITAL_GAIN | <span style="font-size:smaller;">Digital gain is the value by which all colour components are multiplied by. Typically the digital gain applied is the control value divided by e.g. 0x100, meaning that to get no digital gain the control value needs to be 0x100. The no-gain configuration is also typically the default.</span> | R/W | Ae |- | V4L2_CID_PIXEL_RATE | <span style="font-size:smaller;">Pixel rate in the source pads of the subdev. This control is read-only and its unit is pixels / second.</span> | R | Ae |- | V4L2_CID_LINK_FREQ | <span style="font-size:smaller;">Data bus frequency. Together with the media bus pixel code, bus type (clock cycles per sample), the data bus frequency defines the pixel rate (<code>V4L2_CID_PIXEL_RATE</code>) in the pixel array (or possibly elsewhere, if the device is not an image sensor). The frame rate can be calculated from the pixel clock, image width and height and horizontal and vertical blanking. While the pixel rate control may be defined elsewhere than in the subdev containing the pixel array, the frame rate cannot be obtained from that information. This is because only on the pixel array it can be assumed that the vertical and horizontal blanking information is exact: no other blanking is allowed in the pixel array. The selection of frame rate is performed by selecting the desired horizontal and vertical blanking. The unit of this control is Hz.</span> | R | mipi-dphy |} == Linux == === User applications&nbsp; === The applcation for&nbsp;plain v4L2 capture device still can be used(like gstreamer v4l2src plugins, v4l2ctl), but the media&nbsp;controller must be setup in a&nbsp;proper state before starting capture.<br/> The applications for Video Capture with rockchip-isp1 driver&nbsp;should do things like the following commands: <pre>media-ctl -l '"rockchip-sy-mipi-dphy":1->"rkisp1-isp-subdev":0[1]' media-ctl -l '"rkisp1-input-params":0->"rkisp1-isp-subdev":1[1]' media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_selfpath":0[1]' media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_mainpath":0[1]' media-ctl -l '"rkisp1-isp-subdev":3->"rkisp1-statistics":0[1]' # Media graph have been initializated when kernel driver probing, so above commands don't have to be called, though please note that they can be changed in the runtime # Set pad formats ## rkisp1 source pad media-ctl -set-v4l2 '"rkisp1-isp-subdev":2[fmt:YUYV2X8/800x600]' ## rkisp1 sink pad == sensor source [ad] media-ctl --set-v4l2 '"rkisp1-isp-subdev":0[fmt:SRGGB10/800*600]' media-ctl --set-v4l2 '"ov2685 7-0010":0[fmt:SRGGB10/800*600]' # Set link(Assume there are two sensors in one mipi-phy) ## Enable sensor1 media-ctl -l '"ov2685 7-0010":0->"rockchip-sy-mipi-dphy":0[1]' ## Disable sensor2 media-ctl -l '"ov5695 7-0036":0->"rockchip-sy-mipi-dphy":0[0]' # Start capture v4l2-ctl xxxxxxx </pre> ==== <del>Integrate 3A&nbsp;algorithm</del> ==== ==== <del>Multi sensors</del> ==== ==== <del>Multi paths</del> ==== Record, Preview, Still Capture&nbsp;in different resolution&nbsp;at a time === Gstreamer === We have writen a gstreamer plugin, [https://github.com/rockchip-linux/gstreamer-rockchip-extra rkcamsrc], which is simply modified from gstreamer v4l2src plugin. [[File:Rkcamsrc.png|500px|RTENOTITLE]] Please refer to readme in github for usage. == Android == === <del>Camera Hal3</del> === [https://source.android.com/devices/camera/camera3?hl=zh-cn https://source.android.com/devices/camera/camera3] = Reproduce = The driver currently can run&nbsp;on ASUS Tinker Board and Firefly-RK3288-Reload + Rockchip&nbsp;Debian/Yocto SDK. == Source Code == === Kernel === #4.15 + [https://patchwork.linuxtv.org/project/linux-media/list/?submitter=7231 FORMLIST Patches] #[https://github.com/rockchip-linux/kernel/tree/isp-early-access Rockchip 4.4 BSP] === Sensor Driver === #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/imx219.c IMX219] #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/ov5647.c OV5647] #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/tc35874x.c TC35874X] === Device Tree === #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/arch/arm/boot/dts/rk3288-miniarm.dts Tinker Board] #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/arch/arm/boot/dts/rk3288-firefly.dtsi Firefly-rk3288-Reload] == Test Command == <pre>cat /sys/class/video4linux/video*/name # get self_path videox and main_path videox+1 gst-launch-1.0 rkcamsrc device=/dev/videox+1 io-mode=4 disable-3A=true&nbsp;! videoconvert&nbsp;! video/x-raw,format=NV12,width=640,height=480&nbsp;! kmssink</pre> = Others = == Topology == <pre>Media device information ------------------------ driver rkisp1 model rkisp1 serial bus info hw revision 0x0 driver version 0.0.0 Device topology - entity 1: rkisp1-isp-subdev (4 pads, 5 links) type V4L2 subdev subtype Unknown flags 0 device node name /dev/v4l-subdev0 pad0: Sink [fmt:SBGGR10_1X10/800x600 field:none crop.bounds:(0,0)/800x600 crop:(0,0)/800x600] <- "rockchip-sy-mipi-dphy":1 [ENABLED] pad1: Sink <- "rkisp1-input-params":0 [ENABLED] pad2: Source [fmt:SBGGR10_1X10/800x600 field:none crop.bounds:(0,0)/800x600 crop:(0,0)/800x600] -> "rkisp1_selfpath":0 [ENABLED] -> "rkisp1_mainpath":0 [ENABLED] pad3: Source -> "rkisp1-statistics":0 [ENABLED] - entity 2: rkisp1_selfpath (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video0 pad0: Sink <- "rkisp1-isp-subdev":2 [ENABLED] - entity 3: rkisp1_mainpath (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video1 pad0: Sink <- "rkisp1-isp-subdev":2 [ENABLED] - entity 4: rkisp1-statistics (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video2 pad0: Sink <- "rkisp1-isp-subdev":3 [ENABLED] - entity 5: rkisp1-input-params (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video3 pad0: Source -> "rkisp1-isp-subdev":1 [ENABLED] - entity 6: rockchip-sy-mipi-dphy (2 pads, 2 links) type V4L2 subdev subtype Unknown flags 0 device node name /dev/v4l-subdev1 pad0: Sink [fmt:SRGGB10_1X10/3280x2464 field:none] <- "imx219 2-0010":0 [ENABLED] pad1: Source [fmt:SRGGB10_1X10/3280x2464 field:none] -> "rkisp1-isp-subdev":0 [ENABLED] - entity 7: imx219 2-0010 (1 pad, 1 link) type V4L2 subdev subtype Sensor flags 0 device node name /dev/v4l-subdev2 pad0: Source [fmt:SRGGB10_1X10/3280x2464 field:none] -> "rockchip-sy-mipi-dphy":0 [ENABLED]</pre> 8e6213c820fd49ff5a64fd289cb9985165f1dea9 1627 1626 2017-12-01T01:14:34Z Jacob 6 wikitext text/x-wiki NOTE: Under Construction &nbsp; = Overview = The document below&nbsp;provide&nbsp;basical informations&nbsp;about the&nbsp;rockchip-isp1 driver driver and&nbsp;Image Signal Processing block on Rockchip SoC&nbsp;with&nbsp;examples and details. = Hardware = More detailed information could be found in TRM chapter "Image Signal Processing", "MIPI D-PHY"&nbsp;, but they are only available under&nbsp;NDA. == ISP Details == ISP comprises with: *MIPI serial camera interface *Image Signal Processing *Image Enhancement Blocks *Crop *Resize === Block diagram === The completed block diagram&nbsp;can not be pasted from&nbsp;datasheet&nbsp;to here, below&nbsp;diagram&nbsp;is an abstract version: [[File:Blocks.png|1200px|Blocks.png]] == MIPI Details == There are three D-PHY instances in rk3288/rk3399, their connection are shown as following figure: [[File:Phy.png|600px|Phy.png]] = Software = == Driver == rockchip-isp1 is a V4L2 based driver for Image Signal Processing block on Rockchip SoC. Compared to the earlier driver&nbsp;rk-isp10, it use&nbsp;Media Controller&nbsp;framework, which it's different from plain v4L2. While the plain v4L2 had a view of the device as a plain DMA based image drabber which connects the input data to the host memory, the Media Controller takes into consideration the fact that a typical video device might consist of multiple sub-devices. === Media Controller Basics === Please read below link carefully,&nbsp;especially if you don't have use it before. [https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.html https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.htmlIntegrate 3A algorithm(TO BE DONE)] === Block diagram === ==== File view ==== [[File:Code.png|1200px|Code.png]] ==== V4l2 view ==== === Sensor Driver Requirement === The sensor driver should implement controls in the following table.&nbsp; {| border="1" class="table_style" |- ! Controls ! Description ! R/W ! Needed by |- | V4L2_CID_VBLANK | <span style="font-size:smaller;">Vertical blanking. The idle period after every frame during which no image data is produced. The unit of vertical blanking is a line. Every line has length of the image width plus horizontal blanking at the pixel rate defined by&nbsp;<code>V4L2_CID_PIXEL_RATE</code>&nbsp;control in the same sub-device.</span> | R | Ae |- | V4L2_CID_HBLANK | <span style="font-size:smaller;">Horizontal blanking. The idle period after every line of image data during which no image data is produced. The unit of horizontal blanking is pixels.</span> | R | Ae |- | V4L2_CID_EXPOSURE | <span style="font-size:smaller;">Determines the exposure time of the camera sensor. The exposure time is limited by the frame interval. Drivers should interpret the values as 100 µs units, where the value 1 stands for 1/10000th of a second, 10000 for 1 second and 100000 for 10 seconds.</span> | R/W | Ae |- | V4L2_CID_ANALOGUE_GAIN | <span style="font-size:smaller;">Analogue gain is gain affecting all colour components in the pixel matrix. The gain operation is performed in the analogue domain before A/D conversion.</span> | R/W | Ae |- | V4L2_CID_DIGITAL_GAIN | <span style="font-size:smaller;">Digital gain is the value by which all colour components are multiplied by. Typically the digital gain applied is the control value divided by e.g. 0x100, meaning that to get no digital gain the control value needs to be 0x100. The no-gain configuration is also typically the default.</span> | R/W | Ae |- | V4L2_CID_PIXEL_RATE | <span style="font-size:smaller;">Pixel rate in the source pads of the subdev. This control is read-only and its unit is pixels / second.</span> | R | Ae |- | V4L2_CID_LINK_FREQ | <span style="font-size:smaller;">Data bus frequency. Together with the media bus pixel code, bus type (clock cycles per sample), the data bus frequency defines the pixel rate (<code>V4L2_CID_PIXEL_RATE</code>) in the pixel array (or possibly elsewhere, if the device is not an image sensor). The frame rate can be calculated from the pixel clock, image width and height and horizontal and vertical blanking. While the pixel rate control may be defined elsewhere than in the subdev containing the pixel array, the frame rate cannot be obtained from that information. This is because only on the pixel array it can be assumed that the vertical and horizontal blanking information is exact: no other blanking is allowed in the pixel array. The selection of frame rate is performed by selecting the desired horizontal and vertical blanking. The unit of this control is Hz.</span> | R | mipi-dphy |} == Linux == === User applications&nbsp; === The applcation for&nbsp;plain v4L2 capture device still can be used(like gstreamer v4l2src plugins, v4l2ctl), but the media&nbsp;controller must be setup in a&nbsp;proper state before starting capture.<br/> The applications for Video Capture with rockchip-isp1 driver&nbsp;should do things like the following commands: <pre>media-ctl -l '"rockchip-sy-mipi-dphy":1->"rkisp1-isp-subdev":0[1]' media-ctl -l '"rkisp1-input-params":0->"rkisp1-isp-subdev":1[1]' media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_selfpath":0[1]' media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_mainpath":0[1]' media-ctl -l '"rkisp1-isp-subdev":3->"rkisp1-statistics":0[1]' # Media graph have been initializated when kernel driver probing, so above commands don't have to be called, though please note that they can be changed in the runtime # Set pad formats ## rkisp1 source pad media-ctl -set-v4l2 '"rkisp1-isp-subdev":2[fmt:YUYV2X8/800x600]' ## rkisp1 sink pad == sensor source [ad] media-ctl --set-v4l2 '"rkisp1-isp-subdev":0[fmt:SRGGB10/800*600]' media-ctl --set-v4l2 '"ov2685 7-0010":0[fmt:SRGGB10/800*600]' # Set link(Assume there are two sensors in one mipi-phy) ## Enable sensor1 media-ctl -l '"ov2685 7-0010":0->"rockchip-sy-mipi-dphy":0[1]' ## Disable sensor2 media-ctl -l '"ov5695 7-0036":0->"rockchip-sy-mipi-dphy":0[0]' # Start capture v4l2-ctl xxxxxxx </pre> ==== <del>Integrate 3A&nbsp;algorithm</del> ==== ==== <del>Multi sensors</del> ==== ==== <del>Multi paths</del> ==== Record, Preview, Still Capture&nbsp;in different resolution&nbsp;at a time &nbsp; === Gstreamer === We have writen a gstreamer plugin, [https://github.com/rockchip-linux/gstreamer-rockchip-extra rkcamsrc], which is simply modified from gstreamer v4l2src plugin. [[File:Rkcamsrc.png|500px|RTENOTITLE]] Please refer to readme in github for usage. == Android == === <del>Camera Hal3</del> === [https://source.android.com/devices/camera/camera3?hl=zh-cn https://source.android.com/devices/camera/camera3] = Reproduce = The driver currently can run&nbsp;on ASUS Tinker Board and Firefly-RK3288-Reload + Rockchip&nbsp;Debian/Yocto SDK. == Source Code == === Kernel === #4.15 + [https://patchwork.linuxtv.org/project/linux-media/list/?submitter=7231 FORMLIST Patches] #[https://github.com/rockchip-linux/kernel/tree/isp-early-access Rockchip 4.4 BSP] === Sensor Driver === #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/imx219.c IMX219] #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/ov5647.c OV5647] #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/tc35874x.c TC35874X] === Device Tree === #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/arch/arm/boot/dts/rk3288-miniarm.dts Tinker Board] #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/arch/arm/boot/dts/rk3288-firefly.dtsi Firefly-rk3288-Reload] == Test Command == <pre>cat /sys/class/video4linux/video*/name # get self_path videox and main_path videox+1 gst-launch-1.0 rkcamsrc device=/dev/videox+1 io-mode=4 disable-3A=true&nbsp;! videoconvert&nbsp;! video/x-raw,format=NV12,width=640,height=480&nbsp;! kmssink</pre> = Others = == Topology == <pre>Media device information ------------------------ driver rkisp1 model rkisp1 serial bus info hw revision 0x0 driver version 0.0.0 Device topology - entity 1: rkisp1-isp-subdev (4 pads, 5 links) type V4L2 subdev subtype Unknown flags 0 device node name /dev/v4l-subdev0 pad0: Sink [fmt:SBGGR10_1X10/800x600 field:none crop.bounds:(0,0)/800x600 crop:(0,0)/800x600] <- "rockchip-sy-mipi-dphy":1 [ENABLED] pad1: Sink <- "rkisp1-input-params":0 [ENABLED] pad2: Source [fmt:SBGGR10_1X10/800x600 field:none crop.bounds:(0,0)/800x600 crop:(0,0)/800x600] -> "rkisp1_selfpath":0 [ENABLED] -> "rkisp1_mainpath":0 [ENABLED] pad3: Source -> "rkisp1-statistics":0 [ENABLED] - entity 2: rkisp1_selfpath (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video0 pad0: Sink <- "rkisp1-isp-subdev":2 [ENABLED] - entity 3: rkisp1_mainpath (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video1 pad0: Sink <- "rkisp1-isp-subdev":2 [ENABLED] - entity 4: rkisp1-statistics (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video2 pad0: Sink <- "rkisp1-isp-subdev":3 [ENABLED] - entity 5: rkisp1-input-params (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video3 pad0: Source -> "rkisp1-isp-subdev":1 [ENABLED] - entity 6: rockchip-sy-mipi-dphy (2 pads, 2 links) type V4L2 subdev subtype Unknown flags 0 device node name /dev/v4l-subdev1 pad0: Sink [fmt:SRGGB10_1X10/3280x2464 field:none] <- "imx219 2-0010":0 [ENABLED] pad1: Source [fmt:SRGGB10_1X10/3280x2464 field:none] -> "rkisp1-isp-subdev":0 [ENABLED] - entity 7: imx219 2-0010 (1 pad, 1 link) type V4L2 subdev subtype Sensor flags 0 device node name /dev/v4l-subdev2 pad0: Source [fmt:SRGGB10_1X10/3280x2464 field:none] -> "rockchip-sy-mipi-dphy":0 [ENABLED]</pre> 4554db30aee16da52fab0a9e34d20d085090569b 1628 1627 2017-12-01T01:21:26Z Jacob 6 wikitext text/x-wiki NOTE: Under Construction &nbsp; = Overview = The document below&nbsp;provide&nbsp;basical informations&nbsp;about the&nbsp;rockchip-isp1 driver driver and&nbsp;Image Signal Processing block on Rockchip SoC&nbsp;with&nbsp;examples and details. = Hardware = More detailed information could be found in TRM chapter "Image Signal Processing", "MIPI D-PHY"&nbsp;, but they are only available under&nbsp;NDA. == ISP Details == ISP comprises with: *MIPI serial camera interface *Image Signal Processing *Many Image Enhancement Blocks *Crop *Resize === Block diagram === The completed block diagram&nbsp;can not be pasted from&nbsp;datasheet&nbsp;to here, below&nbsp;diagram&nbsp;is an abstract version: [[File:Blocks.png|1200px|Blocks.png]] == MIPI Details == There are three D-PHY instances in rk3288/rk3399, their connection are shown as following figure: [[File:Phy.png|600px|Phy.png]] = Software = == Driver == rockchip-isp1 is a V4L2 based driver for Image Signal Processing block on Rockchip SoC. Compared to the earlier driver&nbsp;rk-isp10, it use&nbsp;Media Controller&nbsp;framework, which it's different from plain v4L2. While the plain v4L2 had a view of the device as a plain DMA based image drabber which connects the input data to the host memory, the Media Controller takes into consideration the fact that a typical video device might consist of multiple sub-devices. === Media Controller Basics === Please read below link carefully,&nbsp;especially if you don't have use it before. [https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.html https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.htmlIntegrate 3A algorithm(TO BE DONE)] === Block diagram === ==== File view ==== [[File:Code.png|1200px|Code.png]] ==== V4l2 view ==== === Sensor Driver Requirement === The sensor driver should implement controls in the following table.&nbsp; {| border="1" class="table_style" |- ! Controls ! Description ! R/W ! Needed by |- | V4L2_CID_VBLANK | <span style="font-size:smaller;">Vertical blanking. The idle period after every frame during which no image data is produced. The unit of vertical blanking is a line. Every line has length of the image width plus horizontal blanking at the pixel rate defined by&nbsp;<code>V4L2_CID_PIXEL_RATE</code>&nbsp;control in the same sub-device.</span> | R | Ae |- | V4L2_CID_HBLANK | <span style="font-size:smaller;">Horizontal blanking. The idle period after every line of image data during which no image data is produced. The unit of horizontal blanking is pixels.</span> | R | Ae |- | V4L2_CID_EXPOSURE | <span style="font-size:smaller;">Determines the exposure time of the camera sensor. The exposure time is limited by the frame interval. Drivers should interpret the values as 100 µs units, where the value 1 stands for 1/10000th of a second, 10000 for 1 second and 100000 for 10 seconds.</span> | R/W | Ae |- | V4L2_CID_ANALOGUE_GAIN | <span style="font-size:smaller;">Analogue gain is gain affecting all colour components in the pixel matrix. The gain operation is performed in the analogue domain before A/D conversion.</span> | R/W | Ae |- | V4L2_CID_DIGITAL_GAIN | <span style="font-size:smaller;">Digital gain is the value by which all colour components are multiplied by. Typically the digital gain applied is the control value divided by e.g. 0x100, meaning that to get no digital gain the control value needs to be 0x100. The no-gain configuration is also typically the default.</span> | R/W | Ae |- | V4L2_CID_PIXEL_RATE | <span style="font-size:smaller;">Pixel rate in the source pads of the subdev. This control is read-only and its unit is pixels / second.</span> | R | Ae |- | V4L2_CID_LINK_FREQ | <span style="font-size:smaller;">Data bus frequency. Together with the media bus pixel code, bus type (clock cycles per sample), the data bus frequency defines the pixel rate (<code>V4L2_CID_PIXEL_RATE</code>) in the pixel array (or possibly elsewhere, if the device is not an image sensor). The frame rate can be calculated from the pixel clock, image width and height and horizontal and vertical blanking. While the pixel rate control may be defined elsewhere than in the subdev containing the pixel array, the frame rate cannot be obtained from that information. This is because only on the pixel array it can be assumed that the vertical and horizontal blanking information is exact: no other blanking is allowed in the pixel array. The selection of frame rate is performed by selecting the desired horizontal and vertical blanking. The unit of this control is Hz.</span> | R | mipi-dphy |} == Linux == === User applications&nbsp; === The applcation for&nbsp;plain v4L2 capture device still can be used(like gstreamer v4l2src plugins, v4l2ctl), but the media&nbsp;controller must be setup in a&nbsp;proper state before starting capture.<br/> The applications for Video Capture with rockchip-isp1 driver&nbsp;should do things like the following commands: <pre>media-ctl -l '"rockchip-sy-mipi-dphy":1->"rkisp1-isp-subdev":0[1]' media-ctl -l '"rkisp1-input-params":0->"rkisp1-isp-subdev":1[1]' media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_selfpath":0[1]' media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_mainpath":0[1]' media-ctl -l '"rkisp1-isp-subdev":3->"rkisp1-statistics":0[1]' # Media graph have been initializated when kernel driver probing, so above commands don't have to be called, though please note that they can be changed in the runtime # Set pad formats ## rkisp1 source pad media-ctl -set-v4l2 '"rkisp1-isp-subdev":2[fmt:YUYV2X8/800x600]' ## rkisp1 sink pad == sensor source [ad] media-ctl --set-v4l2 '"rkisp1-isp-subdev":0[fmt:SRGGB10/800*600]' media-ctl --set-v4l2 '"ov2685 7-0010":0[fmt:SRGGB10/800*600]' # Set link(Assume there are two sensors in one mipi-phy) ## Enable sensor1 media-ctl -l '"ov2685 7-0010":0->"rockchip-sy-mipi-dphy":0[1]' ## Disable sensor2 media-ctl -l '"ov5695 7-0036":0->"rockchip-sy-mipi-dphy":0[0]' # Start capture v4l2-ctl xxxxxxx </pre> ==== <del>Integrate 3A&nbsp;algorithm</del> ==== ==== <del>Multi sensors</del> ==== ==== <del>Multi paths</del> ==== Record, Preview, Still Capture&nbsp;in different resolution&nbsp;at a time &nbsp; === Gstreamer === We have writen a gstreamer plugin, [https://github.com/rockchip-linux/gstreamer-rockchip-extra rkcamsrc], which is simply modified from gstreamer v4l2src plugin. [[File:Rkcamsrc.png|500px|RTENOTITLE]] Please refer to readme in github for usage. == Android == === <del>Camera Hal3</del> === [https://source.android.com/devices/camera/camera3?hl=zh-cn https://source.android.com/devices/camera/camera3] = Reproduce = The driver currently can run&nbsp;on ASUS Tinker Board and Firefly-RK3288-Reload + Rockchip&nbsp;Debian/Yocto SDK. == Source Code == === Kernel === #4.15 + [https://patchwork.linuxtv.org/project/linux-media/list/?submitter=7231 FORMLIST Patches] #[https://github.com/rockchip-linux/kernel/tree/isp-early-access Rockchip 4.4 BSP] === Sensor Driver === #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/imx219.c IMX219] #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/ov5647.c OV5647] #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/tc35874x.c TC35874X] === Device Tree === #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/arch/arm/boot/dts/rk3288-miniarm.dts Tinker Board] #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/arch/arm/boot/dts/rk3288-firefly.dtsi Firefly-rk3288-Reload] == Test Command == <pre>cat /sys/class/video4linux/video*/name # get self_path videox and main_path videox+1 gst-launch-1.0 rkcamsrc device=/dev/videox+1 io-mode=4 disable-3A=true&nbsp;! videoconvert&nbsp;! video/x-raw,format=NV12,width=640,height=480&nbsp;! kmssink</pre> = Others = == Topology == <pre>Media device information ------------------------ driver rkisp1 model rkisp1 serial bus info hw revision 0x0 driver version 0.0.0 Device topology - entity 1: rkisp1-isp-subdev (4 pads, 5 links) type V4L2 subdev subtype Unknown flags 0 device node name /dev/v4l-subdev0 pad0: Sink [fmt:SBGGR10_1X10/800x600 field:none crop.bounds:(0,0)/800x600 crop:(0,0)/800x600] <- "rockchip-sy-mipi-dphy":1 [ENABLED] pad1: Sink <- "rkisp1-input-params":0 [ENABLED] pad2: Source [fmt:SBGGR10_1X10/800x600 field:none crop.bounds:(0,0)/800x600 crop:(0,0)/800x600] -> "rkisp1_selfpath":0 [ENABLED] -> "rkisp1_mainpath":0 [ENABLED] pad3: Source -> "rkisp1-statistics":0 [ENABLED] - entity 2: rkisp1_selfpath (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video0 pad0: Sink <- "rkisp1-isp-subdev":2 [ENABLED] - entity 3: rkisp1_mainpath (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video1 pad0: Sink <- "rkisp1-isp-subdev":2 [ENABLED] - entity 4: rkisp1-statistics (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video2 pad0: Sink <- "rkisp1-isp-subdev":3 [ENABLED] - entity 5: rkisp1-input-params (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video3 pad0: Source -> "rkisp1-isp-subdev":1 [ENABLED] - entity 6: rockchip-sy-mipi-dphy (2 pads, 2 links) type V4L2 subdev subtype Unknown flags 0 device node name /dev/v4l-subdev1 pad0: Sink [fmt:SRGGB10_1X10/3280x2464 field:none] <- "imx219 2-0010":0 [ENABLED] pad1: Source [fmt:SRGGB10_1X10/3280x2464 field:none] -> "rkisp1-isp-subdev":0 [ENABLED] - entity 7: imx219 2-0010 (1 pad, 1 link) type V4L2 subdev subtype Sensor flags 0 device node name /dev/v4l-subdev2 pad0: Source [fmt:SRGGB10_1X10/3280x2464 field:none] -> "rockchip-sy-mipi-dphy":0 [ENABLED]</pre> 1649592aa93a0653db48a01fa847296eaca53a39 1631 1628 2017-12-01T01:24:25Z Jacob 6 wikitext text/x-wiki NOTE: Under Construction &nbsp; = Overview = The document below&nbsp;provide&nbsp;basical informations&nbsp;about the&nbsp;rockchip-isp1 driver driver and&nbsp;Image Signal Processing block on Rockchip SoC&nbsp;with&nbsp;examples and details. = Hardware = More detailed information could be found in TRM chapter "Image Signal Processing", "MIPI D-PHY"&nbsp;, but they are only available under&nbsp;NDA. &nbsp; == ISP Details == ISP comprises with: *MIPI serial camera interface *Image Signal Processing *Many Image Enhancement Blocks *Crop *Resize === Block diagram === The completed block diagram&nbsp;can not be pasted from&nbsp;datasheet&nbsp;to here, below&nbsp;diagram&nbsp;is an abstract version: [[File:Block.png|1200px|Blocks.png]] == MIPI Details == There are three D-PHY instances in rk3288/rk3399, their connection are shown as following figure: [[File:Phy.png|600px|Phy.png]] = Software = == Driver == rockchip-isp1 is a V4L2 based driver for Image Signal Processing block on Rockchip SoC. Compared to the earlier driver&nbsp;rk-isp10, it use&nbsp;Media Controller&nbsp;framework, which it's different from plain v4L2. While the plain v4L2 had a view of the device as a plain DMA based image drabber which connects the input data to the host memory, the Media Controller takes into consideration the fact that a typical video device might consist of multiple sub-devices. === Media Controller Basics === Please read below link carefully,&nbsp;especially if you don't have use it before. [https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.html https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.htmlIntegrate 3A algorithm(TO BE DONE)] === Block diagram === ==== File view ==== [[File:Code.png|1200px]] ==== V4l2 view ==== === Sensor Driver Requirement === The sensor driver should implement controls in the following table.&nbsp; {| border="1" class="table_style" |- ! Controls ! Description ! R/W ! Needed by |- | V4L2_CID_VBLANK | <span style="font-size:smaller;">Vertical blanking. The idle period after every frame during which no image data is produced. The unit of vertical blanking is a line. Every line has length of the image width plus horizontal blanking at the pixel rate defined by&nbsp;<code>V4L2_CID_PIXEL_RATE</code>&nbsp;control in the same sub-device.</span> | R | Ae |- | V4L2_CID_HBLANK | <span style="font-size:smaller;">Horizontal blanking. The idle period after every line of image data during which no image data is produced. The unit of horizontal blanking is pixels.</span> | R | Ae |- | V4L2_CID_EXPOSURE | <span style="font-size:smaller;">Determines the exposure time of the camera sensor. The exposure time is limited by the frame interval. Drivers should interpret the values as 100 µs units, where the value 1 stands for 1/10000th of a second, 10000 for 1 second and 100000 for 10 seconds.</span> | R/W | Ae |- | V4L2_CID_ANALOGUE_GAIN | <span style="font-size:smaller;">Analogue gain is gain affecting all colour components in the pixel matrix. The gain operation is performed in the analogue domain before A/D conversion.</span> | R/W | Ae |- | V4L2_CID_DIGITAL_GAIN | <span style="font-size:smaller;">Digital gain is the value by which all colour components are multiplied by. Typically the digital gain applied is the control value divided by e.g. 0x100, meaning that to get no digital gain the control value needs to be 0x100. The no-gain configuration is also typically the default.</span> | R/W | Ae |- | V4L2_CID_PIXEL_RATE | <span style="font-size:smaller;">Pixel rate in the source pads of the subdev. This control is read-only and its unit is pixels / second.</span> | R | Ae |- | V4L2_CID_LINK_FREQ | <span style="font-size:smaller;">Data bus frequency. Together with the media bus pixel code, bus type (clock cycles per sample), the data bus frequency defines the pixel rate (<code>V4L2_CID_PIXEL_RATE</code>) in the pixel array (or possibly elsewhere, if the device is not an image sensor). The frame rate can be calculated from the pixel clock, image width and height and horizontal and vertical blanking. While the pixel rate control may be defined elsewhere than in the subdev containing the pixel array, the frame rate cannot be obtained from that information. This is because only on the pixel array it can be assumed that the vertical and horizontal blanking information is exact: no other blanking is allowed in the pixel array. The selection of frame rate is performed by selecting the desired horizontal and vertical blanking. The unit of this control is Hz.</span> | R | mipi-dphy |} == Linux == === User applications&nbsp; === The applcation for&nbsp;plain v4L2 capture device still can be used(like gstreamer v4l2src plugins, v4l2ctl), but the media&nbsp;controller must be setup in a&nbsp;proper state before starting capture.<br/> The applications for Video Capture with rockchip-isp1 driver&nbsp;should do things like the following commands: <pre>media-ctl -l '"rockchip-sy-mipi-dphy":1->"rkisp1-isp-subdev":0[1]' media-ctl -l '"rkisp1-input-params":0->"rkisp1-isp-subdev":1[1]' media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_selfpath":0[1]' media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_mainpath":0[1]' media-ctl -l '"rkisp1-isp-subdev":3->"rkisp1-statistics":0[1]' # Media graph have been initializated when kernel driver probing, so above commands don't have to be called, though please note that they can be changed in the runtime # Set pad formats ## rkisp1 source pad media-ctl -set-v4l2 '"rkisp1-isp-subdev":2[fmt:YUYV2X8/800x600]' ## rkisp1 sink pad == sensor source [ad] media-ctl --set-v4l2 '"rkisp1-isp-subdev":0[fmt:SRGGB10/800*600]' media-ctl --set-v4l2 '"ov2685 7-0010":0[fmt:SRGGB10/800*600]' # Set link(Assume there are two sensors in one mipi-phy) ## Enable sensor1 media-ctl -l '"ov2685 7-0010":0->"rockchip-sy-mipi-dphy":0[1]' ## Disable sensor2 media-ctl -l '"ov5695 7-0036":0->"rockchip-sy-mipi-dphy":0[0]' # Start capture v4l2-ctl xxxxxxx </pre> ==== <del>Integrate 3A&nbsp;algorithm</del> ==== ==== <del>Multi sensors</del> ==== ==== <del>Multi paths</del> ==== Record, Preview, Still Capture&nbsp;in different resolution&nbsp;at a time &nbsp; === Gstreamer === We have writen a gstreamer plugin, [https://github.com/rockchip-linux/gstreamer-rockchip-extra rkcamsrc], which is simply modified from gstreamer v4l2src plugin. [[File:Rkcamsrc.png|500px|RTENOTITLE]] Please refer to readme in github for usage. == Android == === <del>Camera Hal3</del> === [https://source.android.com/devices/camera/camera3?hl=zh-cn https://source.android.com/devices/camera/camera3] = Reproduce = The driver currently can run&nbsp;on ASUS Tinker Board and Firefly-RK3288-Reload + Rockchip&nbsp;Debian/Yocto SDK. == Source Code == === Kernel === #4.15 + [https://patchwork.linuxtv.org/project/linux-media/list/?submitter=7231 FORMLIST Patches] #[https://github.com/rockchip-linux/kernel/tree/isp-early-access Rockchip 4.4 BSP] === Sensor Driver === #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/imx219.c IMX219] #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/ov5647.c OV5647] #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/tc35874x.c TC35874X] === Device Tree === #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/arch/arm/boot/dts/rk3288-miniarm.dts Tinker Board] #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/arch/arm/boot/dts/rk3288-firefly.dtsi Firefly-rk3288-Reload] == Test Command == <pre>cat /sys/class/video4linux/video*/name # get self_path videox and main_path videox+1 gst-launch-1.0 rkcamsrc device=/dev/videox+1 io-mode=4 disable-3A=true&nbsp;! videoconvert&nbsp;! video/x-raw,format=NV12,width=640,height=480&nbsp;! kmssink</pre> = Others = == Topology == <pre>Media device information ------------------------ driver rkisp1 model rkisp1 serial bus info hw revision 0x0 driver version 0.0.0 Device topology - entity 1: rkisp1-isp-subdev (4 pads, 5 links) type V4L2 subdev subtype Unknown flags 0 device node name /dev/v4l-subdev0 pad0: Sink [fmt:SBGGR10_1X10/800x600 field:none crop.bounds:(0,0)/800x600 crop:(0,0)/800x600] <- "rockchip-sy-mipi-dphy":1 [ENABLED] pad1: Sink <- "rkisp1-input-params":0 [ENABLED] pad2: Source [fmt:SBGGR10_1X10/800x600 field:none crop.bounds:(0,0)/800x600 crop:(0,0)/800x600] -> "rkisp1_selfpath":0 [ENABLED] -> "rkisp1_mainpath":0 [ENABLED] pad3: Source -> "rkisp1-statistics":0 [ENABLED] - entity 2: rkisp1_selfpath (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video0 pad0: Sink <- "rkisp1-isp-subdev":2 [ENABLED] - entity 3: rkisp1_mainpath (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video1 pad0: Sink <- "rkisp1-isp-subdev":2 [ENABLED] - entity 4: rkisp1-statistics (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video2 pad0: Sink <- "rkisp1-isp-subdev":3 [ENABLED] - entity 5: rkisp1-input-params (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video3 pad0: Source -> "rkisp1-isp-subdev":1 [ENABLED] - entity 6: rockchip-sy-mipi-dphy (2 pads, 2 links) type V4L2 subdev subtype Unknown flags 0 device node name /dev/v4l-subdev1 pad0: Sink [fmt:SRGGB10_1X10/3280x2464 field:none] <- "imx219 2-0010":0 [ENABLED] pad1: Source [fmt:SRGGB10_1X10/3280x2464 field:none] -> "rkisp1-isp-subdev":0 [ENABLED] - entity 7: imx219 2-0010 (1 pad, 1 link) type V4L2 subdev subtype Sensor flags 0 device node name /dev/v4l-subdev2 pad0: Source [fmt:SRGGB10_1X10/3280x2464 field:none] -> "rockchip-sy-mipi-dphy":0 [ENABLED]</pre> 4afda519d39b00ec5dbab609f8332683efcbb520 1637 1631 2017-12-01T02:08:10Z Jacob 6 wikitext text/x-wiki NOTE: Under Construction &nbsp; = Overview = The document below&nbsp;provide&nbsp;basical informations&nbsp;about the&nbsp;rockchip-isp1 driver driver and&nbsp;Image Signal Processing block on Rockchip SoC&nbsp;with&nbsp;examples and details. = Hardware = More detailed information could be found in TRM chapter "Image Signal Processing", "MIPI D-PHY"&nbsp;, but they are only available under&nbsp;NDA. &nbsp; == ISP Details == ISP comprises with: *MIPI serial camera interface *Image Signal Processing *Many Image Enhancement Blocks *Crop *Resize === Block diagram === The completed block diagram&nbsp;can not be pasted from&nbsp;datasheet&nbsp;to here, below&nbsp;diagram&nbsp;is an abstract version: [[File:Block.png|1200px|Blocks.png]] == MIPI Details == There are three D-PHY instances in rk3288/rk3399, their connection are shown as following figure: [[File:Phy.png|600px|Phy.png]] = Software = == Driver == rockchip-isp1 is a V4L2 based driver for Image Signal Processing block on Rockchip SoC. Compared to the earlier driver&nbsp;rk-isp10, it use&nbsp;Media Controller&nbsp;framework, which it's different from plain v4L2. While the plain v4L2 had a view of the device as a plain DMA based image drabber which connects the input data to the host memory, the Media Controller takes into consideration the fact that a typical video device might consist of multiple sub-devices. === Media Controller Basics === Please read below link carefully,&nbsp;especially if you don't have use it before. [https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.html https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.htmlIntegrate 3A algorithm(TO BE DONE)] === Block diagram === ==== File view ==== [[File:Code.png|1200px|Code.png]] ==== V4l2 view ==== [[File:Rockchip-isp1-v4l2.png|800px]] === Sensor Driver Requirement === The sensor driver should implement controls in the following table.&nbsp; {| border="1" class="table_style" |- ! Controls ! Description ! R/W ! Needed by |- | V4L2_CID_VBLANK | <span style="font-size:smaller;">Vertical blanking. The idle period after every frame during which no image data is produced. The unit of vertical blanking is a line. Every line has length of the image width plus horizontal blanking at the pixel rate defined by&nbsp;<code>V4L2_CID_PIXEL_RATE</code>&nbsp;control in the same sub-device.</span> | R | Ae |- | V4L2_CID_HBLANK | <span style="font-size:smaller;">Horizontal blanking. The idle period after every line of image data during which no image data is produced. The unit of horizontal blanking is pixels.</span> | R | Ae |- | V4L2_CID_EXPOSURE | <span style="font-size:smaller;">Determines the exposure time of the camera sensor. The exposure time is limited by the frame interval. Drivers should interpret the values as 100 µs units, where the value 1 stands for 1/10000th of a second, 10000 for 1 second and 100000 for 10 seconds.</span> | R/W | Ae |- | V4L2_CID_ANALOGUE_GAIN | <span style="font-size:smaller;">Analogue gain is gain affecting all colour components in the pixel matrix. The gain operation is performed in the analogue domain before A/D conversion.</span> | R/W | Ae |- | V4L2_CID_DIGITAL_GAIN | <span style="font-size:smaller;">Digital gain is the value by which all colour components are multiplied by. Typically the digital gain applied is the control value divided by e.g. 0x100, meaning that to get no digital gain the control value needs to be 0x100. The no-gain configuration is also typically the default.</span> | R/W | Ae |- | V4L2_CID_PIXEL_RATE | <span style="font-size:smaller;">Pixel rate in the source pads of the subdev. This control is read-only and its unit is pixels / second.</span> | R | Ae |- | V4L2_CID_LINK_FREQ | <span style="font-size:smaller;">Data bus frequency. Together with the media bus pixel code, bus type (clock cycles per sample), the data bus frequency defines the pixel rate (<code>V4L2_CID_PIXEL_RATE</code>) in the pixel array (or possibly elsewhere, if the device is not an image sensor). The frame rate can be calculated from the pixel clock, image width and height and horizontal and vertical blanking. While the pixel rate control may be defined elsewhere than in the subdev containing the pixel array, the frame rate cannot be obtained from that information. This is because only on the pixel array it can be assumed that the vertical and horizontal blanking information is exact: no other blanking is allowed in the pixel array. The selection of frame rate is performed by selecting the desired horizontal and vertical blanking. The unit of this control is Hz.</span> | R | mipi-dphy |} == Linux == === User applications&nbsp; === The applcation for&nbsp;plain v4L2 capture device still can be used(like gstreamer v4l2src plugins, v4l2ctl), but the media&nbsp;controller must be setup in a&nbsp;proper state before starting capture.<br/> The applications for Video Capture with rockchip-isp1 driver&nbsp;should do things like the following commands: <pre>media-ctl -l '"rockchip-sy-mipi-dphy":1->"rkisp1-isp-subdev":0[1]' media-ctl -l '"rkisp1-input-params":0->"rkisp1-isp-subdev":1[1]' media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_selfpath":0[1]' media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_mainpath":0[1]' media-ctl -l '"rkisp1-isp-subdev":3->"rkisp1-statistics":0[1]' # Media graph have been initializated when kernel driver probing, so above commands don't have to be called, though please note that they can be changed in the runtime # Set pad formats ## rkisp1 source pad media-ctl -set-v4l2 '"rkisp1-isp-subdev":2[fmt:YUYV2X8/800x600]' ## rkisp1 sink pad == sensor source [ad] media-ctl --set-v4l2 '"rkisp1-isp-subdev":0[fmt:SRGGB10/800*600]' media-ctl --set-v4l2 '"ov2685 7-0010":0[fmt:SRGGB10/800*600]' # Set link(Assume there are two sensors in one mipi-phy) ## Enable sensor1 media-ctl -l '"ov2685 7-0010":0->"rockchip-sy-mipi-dphy":0[1]' ## Disable sensor2 media-ctl -l '"ov5695 7-0036":0->"rockchip-sy-mipi-dphy":0[0]' # Start capture v4l2-ctl xxxxxxx </pre> ==== <del>Integrate 3A&nbsp;algorithm</del> ==== ==== <del>Multi sensors</del> ==== ==== <del>Multi paths</del> ==== Record, Preview, Still Capture&nbsp;in different resolution&nbsp;at a time &nbsp; === Gstreamer === We have writen a gstreamer plugin, [https://github.com/rockchip-linux/gstreamer-rockchip-extra rkcamsrc], which is simply modified from gstreamer v4l2src plugin. [[File:Rkcamsrc.png|500px|RTENOTITLE]] Please refer to readme in github for usage. == Android == === <del>Camera Hal3</del> === [https://source.android.com/devices/camera/camera3?hl=zh-cn https://source.android.com/devices/camera/camera3] = Reproduce = The driver currently can run&nbsp;on ASUS Tinker Board and Firefly-RK3288-Reload + Rockchip&nbsp;Debian/Yocto SDK. == Source Code == === Kernel === #4.15 + [https://patchwork.linuxtv.org/project/linux-media/list/?submitter=7231 FORMLIST Patches] #[https://github.com/rockchip-linux/kernel/tree/isp-early-access Rockchip 4.4 BSP] === Sensor Driver === #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/imx219.c IMX219] #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/ov5647.c OV5647] #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/tc35874x.c TC35874X] === Device Tree === #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/arch/arm/boot/dts/rk3288-miniarm.dts Tinker Board] #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/arch/arm/boot/dts/rk3288-firefly.dtsi Firefly-rk3288-Reload] == Test Command == <pre>cat /sys/class/video4linux/video*/name # get self_path videox and main_path videox+1 gst-launch-1.0 rkcamsrc device=/dev/videox+1 io-mode=4 disable-3A=true&nbsp;! videoconvert&nbsp;! video/x-raw,format=NV12,width=640,height=480&nbsp;! kmssink</pre> = Others = == Topology == <pre>Media device information ------------------------ driver rkisp1 model rkisp1 serial bus info hw revision 0x0 driver version 0.0.0 Device topology - entity 1: rkisp1-isp-subdev (4 pads, 5 links) type V4L2 subdev subtype Unknown flags 0 device node name /dev/v4l-subdev0 pad0: Sink [fmt:SBGGR10_1X10/800x600 field:none crop.bounds:(0,0)/800x600 crop:(0,0)/800x600] <- "rockchip-sy-mipi-dphy":1 [ENABLED] pad1: Sink <- "rkisp1-input-params":0 [ENABLED] pad2: Source [fmt:SBGGR10_1X10/800x600 field:none crop.bounds:(0,0)/800x600 crop:(0,0)/800x600] -> "rkisp1_selfpath":0 [ENABLED] -> "rkisp1_mainpath":0 [ENABLED] pad3: Source -> "rkisp1-statistics":0 [ENABLED] - entity 2: rkisp1_selfpath (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video0 pad0: Sink <- "rkisp1-isp-subdev":2 [ENABLED] - entity 3: rkisp1_mainpath (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video1 pad0: Sink <- "rkisp1-isp-subdev":2 [ENABLED] - entity 4: rkisp1-statistics (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video2 pad0: Sink <- "rkisp1-isp-subdev":3 [ENABLED] - entity 5: rkisp1-input-params (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video3 pad0: Source -> "rkisp1-isp-subdev":1 [ENABLED] - entity 6: rockchip-sy-mipi-dphy (2 pads, 2 links) type V4L2 subdev subtype Unknown flags 0 device node name /dev/v4l-subdev1 pad0: Sink [fmt:SRGGB10_1X10/3280x2464 field:none] <- "imx219 2-0010":0 [ENABLED] pad1: Source [fmt:SRGGB10_1X10/3280x2464 field:none] -> "rkisp1-isp-subdev":0 [ENABLED] - entity 7: imx219 2-0010 (1 pad, 1 link) type V4L2 subdev subtype Sensor flags 0 device node name /dev/v4l-subdev2 pad0: Source [fmt:SRGGB10_1X10/3280x2464 field:none] -> "rockchip-sy-mipi-dphy":0 [ENABLED]</pre> d149f5d61c9822138808d37b300b461ad7e35d75 1643 1637 2017-12-01T02:20:28Z Jacob 6 wikitext text/x-wiki NOTE: Under Construction &nbsp; = Overview = The document below&nbsp;provide&nbsp;basical informations&nbsp;about the&nbsp;rockchip-isp1 driver driver and&nbsp;Image Signal Processing block on Rockchip SoC&nbsp;with&nbsp;examples and details. = Hardware = More detailed information could be found in TRM chapter "Image Signal Processing", "MIPI D-PHY"&nbsp;, but they are only available under&nbsp;NDA. &nbsp; == ISP Details == ISP comprises with: *MIPI serial camera interface *Image Signal Processing *Many Image Enhancement Blocks *Crop *Resize === Block diagram === The completed block diagram&nbsp;can not be pasted from&nbsp;datasheet&nbsp;to here, below&nbsp;diagram&nbsp;is an abstract version: [[File:Block.png|1200px|Blocks.png]] == MIPI Details == There are three D-PHY instances in rk3288/rk3399, their connection are shown as following figure: [[File:Phy.png|600px|Phy.png]] = Software = == Driver == rockchip-isp1 is a V4L2 based driver for Image Signal Processing block on Rockchip SoC. Compared to the earlier driver&nbsp;rk-isp10, it use&nbsp;Media Controller&nbsp;framework, which it's different from plain v4L2. While the plain v4L2 had a view of the device as a plain DMA based image drabber which connects the input data to the host memory, the Media Controller takes into consideration the fact that a typical video device might consist of multiple sub-devices. === Media Controller Basics === Please read below link carefully,&nbsp;especially if you don't have use it before. [https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.html https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.htmlIntegrate 3A algorithm(TO BE DONE)] === Block diagram === ==== File view ==== [[File:Code.png|1200px|Code.png]] ==== V4l2 view ==== [[File:Rockchip-isp1-v4l2.png|800px|Rockchip-isp1-v4l2.png]] {| border="1" class="table_style" |- ! Name ! Type ! Description |- | rkisp1_mainpath | v4l2_subdev | R |- | rkisp1_selfpath | &nbsp; | &nbsp; |- | rkisp1-statistics | &nbsp; | &nbsp; |- | rkisp1-isp-subdev | &nbsp; | &nbsp; |- | &nbsp; | &nbsp; | &nbsp; |- | &nbsp; | &nbsp; | &nbsp; |} === Sensor Driver Requirement === The sensor driver should implement controls in the following table.&nbsp; {| border="1" class="table_style" |- ! Controls ! Description ! R/W ! Needed by |- | V4L2_CID_VBLANK | <span style="font-size:smaller;">Vertical blanking. The idle period after every frame during which no image data is produced. The unit of vertical blanking is a line. Every line has length of the image width plus horizontal blanking at the pixel rate defined by&nbsp;<code>V4L2_CID_PIXEL_RATE</code>&nbsp;control in the same sub-device.</span> | R | Ae |- | V4L2_CID_HBLANK | <span style="font-size:smaller;">Horizontal blanking. The idle period after every line of image data during which no image data is produced. The unit of horizontal blanking is pixels.</span> | R | Ae |- | V4L2_CID_EXPOSURE | <span style="font-size:smaller;">Determines the exposure time of the camera sensor. The exposure time is limited by the frame interval. Drivers should interpret the values as 100 µs units, where the value 1 stands for 1/10000th of a second, 10000 for 1 second and 100000 for 10 seconds.</span> | R/W | Ae |- | V4L2_CID_ANALOGUE_GAIN | <span style="font-size:smaller;">Analogue gain is gain affecting all colour components in the pixel matrix. The gain operation is performed in the analogue domain before A/D conversion.</span> | R/W | Ae |- | V4L2_CID_DIGITAL_GAIN | <span style="font-size:smaller;">Digital gain is the value by which all colour components are multiplied by. Typically the digital gain applied is the control value divided by e.g. 0x100, meaning that to get no digital gain the control value needs to be 0x100. The no-gain configuration is also typically the default.</span> | R/W | Ae |- | V4L2_CID_PIXEL_RATE | <span style="font-size:smaller;">Pixel rate in the source pads of the subdev. This control is read-only and its unit is pixels / second.</span> | R | Ae |- | V4L2_CID_LINK_FREQ | <span style="font-size:smaller;">Data bus frequency. Together with the media bus pixel code, bus type (clock cycles per sample), the data bus frequency defines the pixel rate (<code>V4L2_CID_PIXEL_RATE</code>) in the pixel array (or possibly elsewhere, if the device is not an image sensor). The frame rate can be calculated from the pixel clock, image width and height and horizontal and vertical blanking. While the pixel rate control may be defined elsewhere than in the subdev containing the pixel array, the frame rate cannot be obtained from that information. This is because only on the pixel array it can be assumed that the vertical and horizontal blanking information is exact: no other blanking is allowed in the pixel array. The selection of frame rate is performed by selecting the desired horizontal and vertical blanking. The unit of this control is Hz.</span> | R | mipi-dphy |} == Linux == === User applications&nbsp; === The applcation for&nbsp;plain v4L2 capture device still can be used(like gstreamer v4l2src plugins, v4l2ctl), but the media&nbsp;controller must be setup in a&nbsp;proper state before starting capture.<br/> The applications for Video Capture with rockchip-isp1 driver&nbsp;should do things like the following commands: <pre>media-ctl -l '"rockchip-sy-mipi-dphy":1->"rkisp1-isp-subdev":0[1]' media-ctl -l '"rkisp1-input-params":0->"rkisp1-isp-subdev":1[1]' media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_selfpath":0[1]' media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_mainpath":0[1]' media-ctl -l '"rkisp1-isp-subdev":3->"rkisp1-statistics":0[1]' # Media graph have been initializated when kernel driver probing, so above commands don't have to be called, though please note that they can be changed in the runtime # Set pad formats ## rkisp1 source pad media-ctl -set-v4l2 '"rkisp1-isp-subdev":2[fmt:YUYV2X8/800x600]' ## rkisp1 sink pad == sensor source [ad] media-ctl --set-v4l2 '"rkisp1-isp-subdev":0[fmt:SRGGB10/800*600]' media-ctl --set-v4l2 '"ov2685 7-0010":0[fmt:SRGGB10/800*600]' # Set link(Assume there are two sensors in one mipi-phy) ## Enable sensor1 media-ctl -l '"ov2685 7-0010":0->"rockchip-sy-mipi-dphy":0[1]' ## Disable sensor2 media-ctl -l '"ov5695 7-0036":0->"rockchip-sy-mipi-dphy":0[0]' # Start capture v4l2-ctl xxxxxxx </pre> ==== <del>Integrate 3A&nbsp;algorithm</del> ==== ==== <del>Multi sensors</del> ==== ==== <del>Multi paths</del> ==== Record, Preview, Still Capture&nbsp;in different resolution&nbsp;at a time &nbsp; === Gstreamer === We have writen a gstreamer plugin, [https://github.com/rockchip-linux/gstreamer-rockchip-extra rkcamsrc], which is simply modified from gstreamer v4l2src plugin. [[File:Rkcamsrc.png|500px|RTENOTITLE]] Please refer to readme in github for usage. == Android == === <del>Camera Hal3</del> === [https://source.android.com/devices/camera/camera3?hl=zh-cn https://source.android.com/devices/camera/camera3] = Reproduce = The driver currently can run&nbsp;on ASUS Tinker Board and Firefly-RK3288-Reload + Rockchip&nbsp;Debian/Yocto SDK. == Source Code == === Kernel === #4.15 + [https://patchwork.linuxtv.org/project/linux-media/list/?submitter=7231 FORMLIST Patches] #[https://github.com/rockchip-linux/kernel/tree/isp-early-access Rockchip 4.4 BSP] === Sensor Driver === #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/imx219.c IMX219] #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/ov5647.c OV5647] #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/tc35874x.c TC35874X] === Device Tree === #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/arch/arm/boot/dts/rk3288-miniarm.dts Tinker Board] #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/arch/arm/boot/dts/rk3288-firefly.dtsi Firefly-rk3288-Reload] == Test Command == <pre>cat /sys/class/video4linux/video*/name # get self_path videox and main_path videox+1 gst-launch-1.0 rkcamsrc device=/dev/videox+1 io-mode=4 disable-3A=true&nbsp;! videoconvert&nbsp;! video/x-raw,format=NV12,width=640,height=480&nbsp;! kmssink</pre> = Others = == Topology == <pre>Media device information ------------------------ driver rkisp1 model rkisp1 serial bus info hw revision 0x0 driver version 0.0.0 Device topology - entity 1: rkisp1-isp-subdev (4 pads, 5 links) type V4L2 subdev subtype Unknown flags 0 device node name /dev/v4l-subdev0 pad0: Sink [fmt:SBGGR10_1X10/800x600 field:none crop.bounds:(0,0)/800x600 crop:(0,0)/800x600] <- "rockchip-sy-mipi-dphy":1 [ENABLED] pad1: Sink <- "rkisp1-input-params":0 [ENABLED] pad2: Source [fmt:SBGGR10_1X10/800x600 field:none crop.bounds:(0,0)/800x600 crop:(0,0)/800x600] -> "rkisp1_selfpath":0 [ENABLED] -> "rkisp1_mainpath":0 [ENABLED] pad3: Source -> "rkisp1-statistics":0 [ENABLED] - entity 2: rkisp1_selfpath (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video0 pad0: Sink <- "rkisp1-isp-subdev":2 [ENABLED] - entity 3: rkisp1_mainpath (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video1 pad0: Sink <- "rkisp1-isp-subdev":2 [ENABLED] - entity 4: rkisp1-statistics (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video2 pad0: Sink <- "rkisp1-isp-subdev":3 [ENABLED] - entity 5: rkisp1-input-params (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video3 pad0: Source -> "rkisp1-isp-subdev":1 [ENABLED] - entity 6: rockchip-sy-mipi-dphy (2 pads, 2 links) type V4L2 subdev subtype Unknown flags 0 device node name /dev/v4l-subdev1 pad0: Sink [fmt:SRGGB10_1X10/3280x2464 field:none] <- "imx219 2-0010":0 [ENABLED] pad1: Source [fmt:SRGGB10_1X10/3280x2464 field:none] -> "rkisp1-isp-subdev":0 [ENABLED] - entity 7: imx219 2-0010 (1 pad, 1 link) type V4L2 subdev subtype Sensor flags 0 device node name /dev/v4l-subdev2 pad0: Source [fmt:SRGGB10_1X10/3280x2464 field:none] -> "rockchip-sy-mipi-dphy":0 [ENABLED]</pre> c14b3b1701980e3d71aa1b44ce575020ee299d92 1644 1643 2017-12-01T02:29:09Z Jacob 6 wikitext text/x-wiki NOTE: Under Construction &nbsp; = Overview = The document below&nbsp;provide&nbsp;basical informations&nbsp;about the&nbsp;rockchip-isp1 driver driver and&nbsp;Image Signal Processing block on Rockchip SoC&nbsp;with&nbsp;examples and details. = Hardware = More detailed information could be found in TRM chapter "Image Signal Processing", "MIPI D-PHY"&nbsp;, but they are only available under&nbsp;NDA. &nbsp; == ISP Details == ISP comprises with: *MIPI serial camera interface *Image Signal Processing *Many Image Enhancement Blocks *Crop *Resize === Block diagram === The completed block diagram&nbsp;can not be pasted from&nbsp;datasheet&nbsp;to here, below&nbsp;diagram&nbsp;is an abstract version: [[File:Block.png|1200px|Blocks.png]] == MIPI Details == There are three D-PHY instances in rk3288/rk3399, their connection are shown as following figure: [[File:Phy.png|600px|Phy.png]] = Software = == Driver == rockchip-isp1 is a V4L2 based driver for Image Signal Processing block on Rockchip SoC. Compared to the earlier driver&nbsp;rk-isp10, it use&nbsp;Media Controller&nbsp;framework, which it's different from plain v4L2. While the plain v4L2 had a view of the device as a plain DMA based image drabber which connects the input data to the host memory, the Media Controller takes into consideration the fact that a typical video device might consist of multiple sub-devices. === Media Controller Basics === Please read below link carefully,&nbsp;especially if you don't have use it before. [https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.html https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.htmlIntegrate 3A algorithm(TO BE DONE)] === Block diagram === ==== File view ==== [[File:Code.png|1200px|Code.png]] ==== V4l2 view ==== [[File:Rockchip-isp1-v4l2.png|800px|Rockchip-isp1-v4l2.png]] {| border="1" class="table_style" style="width: 607px;" |- ! style="width: 117px;" | Name ! style="width: 100px;" | Type ! style="width: 251px;" | Description |- | style="width: 117px;" | rkisp1_mainpath | style="width: 100px;" | v4l2_vdev | style="width: 251px;" | R |- | style="width: 117px;" | rkisp1_selfpath | style="width: 100px;" | v4l2_vdev | style="width: 251px;" | &nbsp; |- | style="width: 117px;" | rkisp1-statistics | style="width: 100px;" | v4l2_subdev | style="width: 251px;" | &nbsp; |- | style="width: 117px;" | rkisp1-isp-subdev | style="width: 100px;" | &nbsp; | style="width: 251px;" | &nbsp; |- | style="width: 117px;" | &nbsp; | style="width: 100px;" | &nbsp; | style="width: 251px;" | &nbsp; |- | style="width: 117px;" | &nbsp; | style="width: 100px;" | &nbsp; | style="width: 251px;" | &nbsp; |} === Sensor Driver Requirement === The sensor driver should implement controls in the following table.&nbsp; {| border="1" class="table_style" |- ! Controls ! Description ! R/W ! Needed by |- | V4L2_CID_VBLANK | <span style="font-size:smaller;">Vertical blanking. The idle period after every frame during which no image data is produced. The unit of vertical blanking is a line. Every line has length of the image width plus horizontal blanking at the pixel rate defined by&nbsp;<code>V4L2_CID_PIXEL_RATE</code>&nbsp;control in the same sub-device.</span> | R | Ae |- | V4L2_CID_HBLANK | <span style="font-size:smaller;">Horizontal blanking. The idle period after every line of image data during which no image data is produced. The unit of horizontal blanking is pixels.</span> | R | Ae |- | V4L2_CID_EXPOSURE | <span style="font-size:smaller;">Determines the exposure time of the camera sensor. The exposure time is limited by the frame interval. Drivers should interpret the values as 100 µs units, where the value 1 stands for 1/10000th of a second, 10000 for 1 second and 100000 for 10 seconds.</span> | R/W | Ae |- | V4L2_CID_ANALOGUE_GAIN | <span style="font-size:smaller;">Analogue gain is gain affecting all colour components in the pixel matrix. The gain operation is performed in the analogue domain before A/D conversion.</span> | R/W | Ae |- | V4L2_CID_DIGITAL_GAIN | <span style="font-size:smaller;">Digital gain is the value by which all colour components are multiplied by. Typically the digital gain applied is the control value divided by e.g. 0x100, meaning that to get no digital gain the control value needs to be 0x100. The no-gain configuration is also typically the default.</span> | R/W | Ae |- | V4L2_CID_PIXEL_RATE | <span style="font-size:smaller;">Pixel rate in the source pads of the subdev. This control is read-only and its unit is pixels / second.</span> | R | Ae |- | V4L2_CID_LINK_FREQ | <span style="font-size:smaller;">Data bus frequency. Together with the media bus pixel code, bus type (clock cycles per sample), the data bus frequency defines the pixel rate (<code>V4L2_CID_PIXEL_RATE</code>) in the pixel array (or possibly elsewhere, if the device is not an image sensor). The frame rate can be calculated from the pixel clock, image width and height and horizontal and vertical blanking. While the pixel rate control may be defined elsewhere than in the subdev containing the pixel array, the frame rate cannot be obtained from that information. This is because only on the pixel array it can be assumed that the vertical and horizontal blanking information is exact: no other blanking is allowed in the pixel array. The selection of frame rate is performed by selecting the desired horizontal and vertical blanking. The unit of this control is Hz.</span> | R | mipi-dphy |} == Linux == === User applications&nbsp; === The applcation for&nbsp;plain v4L2 capture device still can be used(like gstreamer v4l2src plugins, v4l2ctl), but the media&nbsp;controller must be setup in a&nbsp;proper state before starting capture.<br/> The applications for Video Capture with rockchip-isp1 driver&nbsp;should do things like the following commands: <pre>media-ctl -l '"rockchip-sy-mipi-dphy":1->"rkisp1-isp-subdev":0[1]' media-ctl -l '"rkisp1-input-params":0->"rkisp1-isp-subdev":1[1]' media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_selfpath":0[1]' media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_mainpath":0[1]' media-ctl -l '"rkisp1-isp-subdev":3->"rkisp1-statistics":0[1]' # Media graph have been initializated when kernel driver probing, so above commands don't have to be called, though please note that they can be changed in the runtime # Set pad formats ## rkisp1 source pad ## usually isp output format is YUYV2X8, unless we want to get raw format from mainpath/selfpath media-ctl -set-v4l2 '"rkisp1-isp-subdev":2[fmt:YUYV2X8/800x600]' ## rkisp1 sink pad == sensor source [ad] media-ctl --set-v4l2 '"rkisp1-isp-subdev":0[fmt:SRGGB10/800*600]' media-ctl --set-v4l2 '"ov2685 7-0010":0[fmt:SRGGB10/800*600]' # Set link(Assume there are two sensors in one mipi-phy) ## Enable sensor1 media-ctl -l '"ov2685 7-0010":0->"rockchip-sy-mipi-dphy":0[1]' ## Disable sensor2 media-ctl -l '"ov5695 7-0036":0->"rockchip-sy-mipi-dphy":0[0]' # Start capture v4l2-ctl xxxxxxx </pre> ==== <del>Integrate 3A&nbsp;algorithm</del> ==== ==== <del>Multi sensors</del> ==== ==== <del>Multi paths</del> ==== Record, Preview, Still Capture&nbsp;in different resolution&nbsp;at a time &nbsp; === Gstreamer === We have writen a gstreamer plugin, [https://github.com/rockchip-linux/gstreamer-rockchip-extra rkcamsrc], which is simply modified from gstreamer v4l2src plugin. [[File:Rkcamsrc.png|500px|RTENOTITLE]] Please refer to readme in github for usage. == Android == === <del>Camera Hal3</del> === [https://source.android.com/devices/camera/camera3?hl=zh-cn https://source.android.com/devices/camera/camera3] = Reproduce = The driver currently can run&nbsp;on ASUS Tinker Board and Firefly-RK3288-Reload + Rockchip&nbsp;Debian/Yocto SDK. == Source Code == === Kernel === #4.15 + [https://patchwork.linuxtv.org/project/linux-media/list/?submitter=7231 FORMLIST Patches] #[https://github.com/rockchip-linux/kernel/tree/isp-early-access Rockchip 4.4 BSP] === Sensor Driver === #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/imx219.c IMX219] #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/ov5647.c OV5647] #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/tc35874x.c TC35874X] === Device Tree === #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/arch/arm/boot/dts/rk3288-miniarm.dts Tinker Board] #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/arch/arm/boot/dts/rk3288-firefly.dtsi Firefly-rk3288-Reload] == Test Command == <pre>cat /sys/class/video4linux/video*/name # get self_path videox and main_path videox+1 gst-launch-1.0 rkcamsrc device=/dev/videox+1 io-mode=4 disable-3A=true&nbsp;! videoconvert&nbsp;! video/x-raw,format=NV12,width=640,height=480&nbsp;! kmssink</pre> = Others = == Topology == <pre>Media device information ------------------------ driver rkisp1 model rkisp1 serial bus info hw revision 0x0 driver version 0.0.0 Device topology - entity 1: rkisp1-isp-subdev (4 pads, 5 links) type V4L2 subdev subtype Unknown flags 0 device node name /dev/v4l-subdev0 pad0: Sink [fmt:SBGGR10_1X10/800x600 field:none crop.bounds:(0,0)/800x600 crop:(0,0)/800x600] <- "rockchip-sy-mipi-dphy":1 [ENABLED] pad1: Sink <- "rkisp1-input-params":0 [ENABLED] pad2: Source [fmt:SBGGR10_1X10/800x600 field:none crop.bounds:(0,0)/800x600 crop:(0,0)/800x600] -> "rkisp1_selfpath":0 [ENABLED] -> "rkisp1_mainpath":0 [ENABLED] pad3: Source -> "rkisp1-statistics":0 [ENABLED] - entity 2: rkisp1_selfpath (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video0 pad0: Sink <- "rkisp1-isp-subdev":2 [ENABLED] - entity 3: rkisp1_mainpath (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video1 pad0: Sink <- "rkisp1-isp-subdev":2 [ENABLED] - entity 4: rkisp1-statistics (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video2 pad0: Sink <- "rkisp1-isp-subdev":3 [ENABLED] - entity 5: rkisp1-input-params (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video3 pad0: Source -> "rkisp1-isp-subdev":1 [ENABLED] - entity 6: rockchip-sy-mipi-dphy (2 pads, 2 links) type V4L2 subdev subtype Unknown flags 0 device node name /dev/v4l-subdev1 pad0: Sink [fmt:SRGGB10_1X10/3280x2464 field:none] <- "imx219 2-0010":0 [ENABLED] pad1: Source [fmt:SRGGB10_1X10/3280x2464 field:none] -> "rkisp1-isp-subdev":0 [ENABLED] - entity 7: imx219 2-0010 (1 pad, 1 link) type V4L2 subdev subtype Sensor flags 0 device node name /dev/v4l-subdev2 pad0: Source [fmt:SRGGB10_1X10/3280x2464 field:none] -> "rockchip-sy-mipi-dphy":0 [ENABLED]</pre> 8c8964f56d7a29da50cb4ef4ec15b6e8d00f013d 1645 1644 2017-12-01T02:32:15Z Jacob 6 wikitext text/x-wiki NOTE: Under Construction &nbsp; = Overview = The document below&nbsp;provide&nbsp;basical informations&nbsp;about the&nbsp;rockchip-isp1 driver driver and&nbsp;Image Signal Processing block on Rockchip SoC&nbsp;with&nbsp;examples and details. = Hardware = More detailed information could be found in TRM chapter "Image Signal Processing", "MIPI D-PHY"&nbsp;, but they are only available under&nbsp;NDA. &nbsp; == ISP Details == ISP comprises with: *MIPI serial camera interface *Image Signal Processing *Many Image Enhancement Blocks *Crop *Resize === Block diagram === The completed block diagram&nbsp;can not be pasted from&nbsp;datasheet&nbsp;to here, below&nbsp;diagram&nbsp;is an abstract version: [[File:Block.png|1200px|Blocks.png]] == MIPI Details == There are three D-PHY instances in rk3288/rk3399, their connection are shown as following figure: [[File:Phy.png|600px|Phy.png]] = Software = == Driver == rockchip-isp1 is a V4L2 based driver for Image Signal Processing block on Rockchip SoC. Compared to the earlier driver&nbsp;rk-isp10, it use&nbsp;Media Controller&nbsp;framework, which it's different from plain v4L2. While the plain v4L2 had a view of the device as a plain DMA based image drabber which connects the input data to the host memory, the Media Controller takes into consideration the fact that a typical video device might consist of multiple sub-devices. === Media Controller Basics === Please read below link carefully,&nbsp;especially if you don't have use it before. [https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.html https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.htmlIntegrate 3A algorithm(TO BE DONE)] === Block diagram === ==== File view ==== [[File:Code.png|1200px|Code.png]] ==== V4l2 view ==== [[File:Rockchip-isp1-v4l2.png|800px|Rockchip-isp1-v4l2.png]] {| border="1" class="table_style" style="width: 607px;" |- ! style="width: 117px;" | Name ! style="width: 100px;" | Type ! style="width: 251px;" | Description |- | style="width: 117px;" | rkisp1_mainpath | style="width: 100px;" | v4l2_vdev | style="width: 251px;" | R |- | style="width: 117px;" | rkisp1_selfpath | style="width: 100px;" | v4l2_vdev | style="width: 251px;" | &nbsp; |- | style="width: 117px;" | rkisp1-statistics | style="width: 100px;" | v4l2_subdev | style="width: 251px;" | &nbsp; |- | style="width: 117px;" | rkisp1-isp-subdev | style="width: 100px;" | &nbsp; | style="width: 251px;" | &nbsp; |- | style="width: 117px;" | &nbsp; | style="width: 100px;" | &nbsp; | style="width: 251px;" | &nbsp; |- | style="width: 117px;" | &nbsp; | style="width: 100px;" | &nbsp; | style="width: 251px;" | &nbsp; |} === Sensor Driver Requirement === The sensor driver should implement controls in the following table.&nbsp; {| border="1" class="table_style" |- ! Controls ! Description ! R/W ! Needed by |- | V4L2_CID_VBLANK | <span style="font-size:smaller;">Vertical blanking. The idle period after every frame during which no image data is produced. The unit of vertical blanking is a line. Every line has length of the image width plus horizontal blanking at the pixel rate defined by&nbsp;<code>V4L2_CID_PIXEL_RATE</code>&nbsp;control in the same sub-device.</span> | R | Ae |- | V4L2_CID_HBLANK | <span style="font-size:smaller;">Horizontal blanking. The idle period after every line of image data during which no image data is produced. The unit of horizontal blanking is pixels.</span> | R | Ae |- | V4L2_CID_EXPOSURE | <span style="font-size:smaller;">Determines the exposure time of the camera sensor. The exposure time is limited by the frame interval. Drivers should interpret the values as 100 µs units, where the value 1 stands for 1/10000th of a second, 10000 for 1 second and 100000 for 10 seconds.</span> | R/W | Ae |- | V4L2_CID_ANALOGUE_GAIN | <span style="font-size:smaller;">Analogue gain is gain affecting all colour components in the pixel matrix. The gain operation is performed in the analogue domain before A/D conversion.</span> | R/W | Ae |- | V4L2_CID_DIGITAL_GAIN | <span style="font-size:smaller;">Digital gain is the value by which all colour components are multiplied by. Typically the digital gain applied is the control value divided by e.g. 0x100, meaning that to get no digital gain the control value needs to be 0x100. The no-gain configuration is also typically the default.</span> | R/W | Ae |- | V4L2_CID_PIXEL_RATE | <span style="font-size:smaller;">Pixel rate in the source pads of the subdev. This control is read-only and its unit is pixels / second.</span> | R | Ae |- | V4L2_CID_LINK_FREQ | <span style="font-size:smaller;">Data bus frequency. Together with the media bus pixel code, bus type (clock cycles per sample), the data bus frequency defines the pixel rate (<code>V4L2_CID_PIXEL_RATE</code>) in the pixel array (or possibly elsewhere, if the device is not an image sensor). The frame rate can be calculated from the pixel clock, image width and height and horizontal and vertical blanking. While the pixel rate control may be defined elsewhere than in the subdev containing the pixel array, the frame rate cannot be obtained from that information. This is because only on the pixel array it can be assumed that the vertical and horizontal blanking information is exact: no other blanking is allowed in the pixel array. The selection of frame rate is performed by selecting the desired horizontal and vertical blanking. The unit of this control is Hz.</span> | R | mipi-dphy |} == Linux == === User applications&nbsp; === The applcation for&nbsp;plain v4L2 capture device still can be used(like gstreamer v4l2src plugins, v4l2ctl), but the media&nbsp;controller must be setup in a&nbsp;proper state before starting capture.<br/> The applications for Video Capture with rockchip-isp1 driver&nbsp;should do things like the following commands: <pre>media-ctl -l '"rockchip-sy-mipi-dphy":1->"rkisp1-isp-subdev":0[1]' media-ctl -l '"rkisp1-input-params":0->"rkisp1-isp-subdev":1[1]' media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_selfpath":0[1]' media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_mainpath":0[1]' media-ctl -l '"rkisp1-isp-subdev":3->"rkisp1-statistics":0[1]' # Media graph have been initializated when kernel driver probing, so above commands don't have to be called, though please note that they can be changed in the runtime # Set pad formats ## rkisp1 source pad ## usually isp output format is YUYV2X8, unless we want to get raw format from mainpath media-ctl -set-v4l2 '"rkisp1-isp-subdev":2[fmt:YUYV2X8/800x600]' ## rkisp1 sink pad == sensor source [ad] media-ctl --set-v4l2 '"rkisp1-isp-subdev":0[fmt:SRGGB10/800*600]' media-ctl --set-v4l2 '"ov2685 7-0010":0[fmt:SRGGB10/800*600]' # Set link(Assume there are two sensors in one mipi-phy) ## Enable sensor1 media-ctl -l '"ov2685 7-0010":0->"rockchip-sy-mipi-dphy":0[1]' ## Disable sensor2 media-ctl -l '"ov5695 7-0036":0->"rockchip-sy-mipi-dphy":0[0]' # Start capture v4l2-ctl xxxxxxx </pre> ==== <del>Integrate 3A&nbsp;algorithm</del> ==== ==== <del>Multi sensors</del> ==== ==== <del>Multi paths</del> ==== Record, Preview, Still Capture&nbsp;in different resolution&nbsp;at a time &nbsp; === Gstreamer === We have writen a gstreamer plugin, [https://github.com/rockchip-linux/gstreamer-rockchip-extra rkcamsrc], which is simply modified from gstreamer v4l2src plugin. [[File:Rkcamsrc.png|500px|RTENOTITLE]] Please refer to readme in github for usage. == Android == === <del>Camera Hal3</del> === [https://source.android.com/devices/camera/camera3?hl=zh-cn https://source.android.com/devices/camera/camera3] = Reproduce = The driver currently can run&nbsp;on ASUS Tinker Board and Firefly-RK3288-Reload + Rockchip&nbsp;Debian/Yocto SDK. == Source Code == === Kernel === #4.15 + [https://patchwork.linuxtv.org/project/linux-media/list/?submitter=7231 FORMLIST Patches] #[https://github.com/rockchip-linux/kernel/tree/isp-early-access Rockchip 4.4 BSP] === Sensor Driver === #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/imx219.c IMX219] #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/ov5647.c OV5647] #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/tc35874x.c TC35874X] === Device Tree === #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/arch/arm/boot/dts/rk3288-miniarm.dts Tinker Board] #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/arch/arm/boot/dts/rk3288-firefly.dtsi Firefly-rk3288-Reload] == Test Command == <pre>cat /sys/class/video4linux/video*/name # get self_path videox and main_path videox+1 gst-launch-1.0 rkcamsrc device=/dev/videox+1 io-mode=4 disable-3A=true&nbsp;! videoconvert&nbsp;! video/x-raw,format=NV12,width=640,height=480&nbsp;! kmssink</pre> = Others = == Topology == <pre>Media device information ------------------------ driver rkisp1 model rkisp1 serial bus info hw revision 0x0 driver version 0.0.0 Device topology - entity 1: rkisp1-isp-subdev (4 pads, 5 links) type V4L2 subdev subtype Unknown flags 0 device node name /dev/v4l-subdev0 pad0: Sink [fmt:SBGGR10_1X10/800x600 field:none crop.bounds:(0,0)/800x600 crop:(0,0)/800x600] <- "rockchip-sy-mipi-dphy":1 [ENABLED] pad1: Sink <- "rkisp1-input-params":0 [ENABLED] pad2: Source [fmt:SBGGR10_1X10/800x600 field:none crop.bounds:(0,0)/800x600 crop:(0,0)/800x600] -> "rkisp1_selfpath":0 [ENABLED] -> "rkisp1_mainpath":0 [ENABLED] pad3: Source -> "rkisp1-statistics":0 [ENABLED] - entity 2: rkisp1_selfpath (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video0 pad0: Sink <- "rkisp1-isp-subdev":2 [ENABLED] - entity 3: rkisp1_mainpath (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video1 pad0: Sink <- "rkisp1-isp-subdev":2 [ENABLED] - entity 4: rkisp1-statistics (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video2 pad0: Sink <- "rkisp1-isp-subdev":3 [ENABLED] - entity 5: rkisp1-input-params (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video3 pad0: Source -> "rkisp1-isp-subdev":1 [ENABLED] - entity 6: rockchip-sy-mipi-dphy (2 pads, 2 links) type V4L2 subdev subtype Unknown flags 0 device node name /dev/v4l-subdev1 pad0: Sink [fmt:SRGGB10_1X10/3280x2464 field:none] <- "imx219 2-0010":0 [ENABLED] pad1: Source [fmt:SRGGB10_1X10/3280x2464 field:none] -> "rkisp1-isp-subdev":0 [ENABLED] - entity 7: imx219 2-0010 (1 pad, 1 link) type V4L2 subdev subtype Sensor flags 0 device node name /dev/v4l-subdev2 pad0: Source [fmt:SRGGB10_1X10/3280x2464 field:none] -> "rockchip-sy-mipi-dphy":0 [ENABLED]</pre> f6bee9bb15546a94c77256eb488f100f966dcbfc 1648 1645 2017-12-01T03:14:40Z Jacob 6 wikitext text/x-wiki NOTE: Under Construction &nbsp; = Overview = The document below&nbsp;provide&nbsp;basical informations&nbsp;about the&nbsp;rockchip-isp1 driver driver and&nbsp;Image Signal Processing block on Rockchip SoC&nbsp;with&nbsp;examples and details. = Hardware = More detailed information could be found in TRM chapter "Image Signal Processing", "MIPI D-PHY"&nbsp;, but they are only available under&nbsp;NDA. &nbsp; == ISP Details == ISP comprises with: *MIPI serial camera interface *Image Signal Processing *Many Image Enhancement Blocks *Crop *Resize === Block diagram === The completed block diagram&nbsp;can not be pasted from&nbsp;datasheet&nbsp;to here, below&nbsp;diagram&nbsp;is an abstract version: [[File:Block.png|1200px|Blocks.png]] == MIPI Details == There are three D-PHY instances in rk3288/rk3399, their connection are shown as following figure: [[File:Phy.png|600px|Phy.png]] = Software = == Driver == rockchip-isp1 is a V4L2 based driver for Image Signal Processing block on Rockchip SoC. Compared to the earlier driver&nbsp;rk-isp10, it use&nbsp;Media Controller&nbsp;framework, which it's different from plain v4L2. While the plain v4L2 had a view of the device as a plain DMA based image drabber which connects the input data to the host memory, the Media Controller takes into consideration the fact that a typical video device might consist of multiple sub-devices. === Media Controller Basics === Please read below link carefully,&nbsp;especially if you don't have use it before. [https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.html https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.htmlIntegrate 3A algorithm(TO BE DONE)] === Block diagram === ==== File view ==== [[File:Code.png|1200px|Code.png]] ==== V4l2 view ==== [[File:Rockchip-isp1-v4l2.png|800px|Rockchip-isp1-v4l2.png]] {| border="1" class="table_style" style="width: 768px;" |- ! style="width: 165px;" | Name ! style="width: 131px;" | Type ! style="width: 450px;" | Description |- | style="width: 165px;" | rkisp1_mainpath | style="width: 131px;" | v4l2_vdev, capture | style="width: 450px;" | Format: YUV, RAW Bayer; Max resolution: 4416*3312;&nbsp;Support: Crop |- | style="width: 165px;" | rkisp1_selfpath | style="width: 131px;" | v4l2_vdev, capture | style="width: 450px;" | Format: YUV, RGB; Max resolution: 1920*1080; Support: Crop |- | style="width: 165px;" | rkisp1-isp-subdev | style="width: 131px;" | v4l2_subdev | style="width: 450px;" | Internal isp blocks; Support: source/sink pad crop. The format on sink pad&nbsp;should be equal to sensor input format, the size should be equal/less than&nbsp;sensor input size. The format on source pad&nbsp;should be equal to vdev output format if output format is raw bayer, otherwise it should be&nbsp; YUYV2X8. The size should be equal/less than&nbsp;sink pad size. |- | style="width: 165px;" | rockchip-sy-mipi-dphy | style="width: 131px;" | v4l2_subdev | style="width: 450px;" | MIPI-DPHY&nbsp;Configure |- | style="width: 165px;" | rkisp1-statistics | style="width: 131px;" | v4l2_vdev, capture | style="width: 450px;" | Provide Image color Statistics information. |- | style="width: 165px;" | rkisp1-input-params | style="width: 131px;" | v4l2_vdev, output | style="width: 450px;" | Accept params for AWB, BLC...... Image enhancement blcoks |} === Sensor Driver Requirement === The sensor driver should implement controls in the following table.&nbsp; {| border="1" class="table_style" |- ! Controls ! Description ! R/W ! Needed by |- | V4L2_CID_VBLANK | <span style="font-size:smaller;">Vertical blanking. The idle period after every frame during which no image data is produced. The unit of vertical blanking is a line. Every line has length of the image width plus horizontal blanking at the pixel rate defined by&nbsp;<code>V4L2_CID_PIXEL_RATE</code>&nbsp;control in the same sub-device.</span> | R | Ae |- | V4L2_CID_HBLANK | <span style="font-size:smaller;">Horizontal blanking. The idle period after every line of image data during which no image data is produced. The unit of horizontal blanking is pixels.</span> | R | Ae |- | V4L2_CID_EXPOSURE | <span style="font-size:smaller;">Determines the exposure time of the camera sensor. The exposure time is limited by the frame interval. Drivers should interpret the values as 100 µs units, where the value 1 stands for 1/10000th of a second, 10000 for 1 second and 100000 for 10 seconds.</span> | R/W | Ae |- | V4L2_CID_ANALOGUE_GAIN | <span style="font-size:smaller;">Analogue gain is gain affecting all colour components in the pixel matrix. The gain operation is performed in the analogue domain before A/D conversion.</span> | R/W | Ae |- | V4L2_CID_DIGITAL_GAIN | <span style="font-size:smaller;">Digital gain is the value by which all colour components are multiplied by. Typically the digital gain applied is the control value divided by e.g. 0x100, meaning that to get no digital gain the control value needs to be 0x100. The no-gain configuration is also typically the default.</span> | R/W | Ae |- | V4L2_CID_PIXEL_RATE | <span style="font-size:smaller;">Pixel rate in the source pads of the subdev. This control is read-only and its unit is pixels / second.</span> | R | Ae |- | V4L2_CID_LINK_FREQ | <span style="font-size:smaller;">Data bus frequency. Together with the media bus pixel code, bus type (clock cycles per sample), the data bus frequency defines the pixel rate (<code>V4L2_CID_PIXEL_RATE</code>) in the pixel array (or possibly elsewhere, if the device is not an image sensor). The frame rate can be calculated from the pixel clock, image width and height and horizontal and vertical blanking. While the pixel rate control may be defined elsewhere than in the subdev containing the pixel array, the frame rate cannot be obtained from that information. This is because only on the pixel array it can be assumed that the vertical and horizontal blanking information is exact: no other blanking is allowed in the pixel array. The selection of frame rate is performed by selecting the desired horizontal and vertical blanking. The unit of this control is Hz.</span> | R | mipi-dphy |} === Devicetree Bindings(tmp) === https://github.com/wzyy2/linux/blob/rkisp1/Documentation/devicetree/bindings/media/rockchip-isp1.txt https://github.com/wzyy2/linux/blob/rkisp1/Documentation/devicetree/bindings/media/rockchip-mipi-dphy.txt == Linux == === User applications&nbsp; === The applcation for&nbsp;plain v4L2 capture device still can be used(like gstreamer v4l2src plugins, v4l2ctl), but the media&nbsp;controller must be setup in a&nbsp;proper state before starting capture.<br/> The applications for Video Capture with rockchip-isp1 driver&nbsp;should do things like the following commands: <pre>media-ctl -l '"rockchip-sy-mipi-dphy":1->"rkisp1-isp-subdev":0[1]' media-ctl -l '"rkisp1-input-params":0->"rkisp1-isp-subdev":1[1]' media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_selfpath":0[1]' media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_mainpath":0[1]' media-ctl -l '"rkisp1-isp-subdev":3->"rkisp1-statistics":0[1]' # Media graph have been initializated when kernel driver probing, so above commands don't have to be called, though please note that they can be changed in the runtime # Set pad formats ## rkisp1 source pad media-ctl -set-v4l2 '"rkisp1-isp-subdev":2[fmt:YUYV2X8/800x600]' ## rkisp1 sink pad == sensor source [ad] media-ctl --set-v4l2 '"rkisp1-isp-subdev":0[fmt:SRGGB10/800*600]' media-ctl --set-v4l2 '"ov2685 7-0010":0[fmt:SRGGB10/800*600]' # Set link(Assume there are two sensors in one mipi-phy) ## Enable sensor1 media-ctl -l '"ov2685 7-0010":0->"rockchip-sy-mipi-dphy":0[1]' ## Disable sensor2 media-ctl -l '"ov5695 7-0036":0->"rockchip-sy-mipi-dphy":0[0]' # Start capture v4l2-ctl xxxxxxx </pre> ==== <del>Integrate 3A&nbsp;algorithm</del> ==== ==== <del>Multi sensors</del> ==== ==== <del>Multi paths</del> ==== Record, Preview, Still Capture&nbsp;in different resolution&nbsp;at a time &nbsp; === Gstreamer === We have writen a gstreamer plugin, [https://github.com/rockchip-linux/gstreamer-rockchip-extra rkcamsrc], which is simply modified from gstreamer v4l2src plugin. [[File:Rkcamsrc.png|500px|RTENOTITLE]] Please refer to readme in github for usage. == Android == === <del>Camera Hal3</del> === [https://source.android.com/devices/camera/camera3?hl=zh-cn https://source.android.com/devices/camera/camera3] = Reproduce = The driver currently can run&nbsp;on ASUS Tinker Board and Firefly-RK3288-Reload + Rockchip&nbsp;Debian/Yocto SDK. == Source Code == === Kernel === #4.15 + [https://patchwork.linuxtv.org/project/linux-media/list/?submitter=7231 FORMLIST Patches] #[https://github.com/rockchip-linux/kernel/tree/isp-early-access Rockchip 4.4 BSP] === Sensor Driver === #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/imx219.c IMX219] #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/ov5647.c OV5647] #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/tc35874x.c TC35874X] === Device Tree === #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/arch/arm/boot/dts/rk3288-miniarm.dts Tinker Board] #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/arch/arm/boot/dts/rk3288-firefly.dtsi Firefly-rk3288-Reload] == Test Command == <pre>cat /sys/class/video4linux/video*/name # get self_path videox and main_path videox+1 gst-launch-1.0 rkcamsrc device=/dev/videox+1 io-mode=4 disable-3A=true&nbsp;! videoconvert&nbsp;! video/x-raw,format=NV12,width=640,height=480&nbsp;! kmssink</pre> = Others = == Topology == <pre>Media device information ------------------------ driver rkisp1 model rkisp1 serial bus info hw revision 0x0 driver version 0.0.0 Device topology - entity 1: rkisp1-isp-subdev (4 pads, 5 links) type V4L2 subdev subtype Unknown flags 0 device node name /dev/v4l-subdev0 pad0: Sink [fmt:SBGGR10_1X10/800x600 field:none crop.bounds:(0,0)/800x600 crop:(0,0)/800x600] <- "rockchip-sy-mipi-dphy":1 [ENABLED] pad1: Sink <- "rkisp1-input-params":0 [ENABLED] pad2: Source [fmt:SBGGR10_1X10/800x600 field:none crop.bounds:(0,0)/800x600 crop:(0,0)/800x600] -> "rkisp1_selfpath":0 [ENABLED] -> "rkisp1_mainpath":0 [ENABLED] pad3: Source -> "rkisp1-statistics":0 [ENABLED] - entity 2: rkisp1_selfpath (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video0 pad0: Sink <- "rkisp1-isp-subdev":2 [ENABLED] - entity 3: rkisp1_mainpath (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video1 pad0: Sink <- "rkisp1-isp-subdev":2 [ENABLED] - entity 4: rkisp1-statistics (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video2 pad0: Sink <- "rkisp1-isp-subdev":3 [ENABLED] - entity 5: rkisp1-input-params (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video3 pad0: Source -> "rkisp1-isp-subdev":1 [ENABLED] - entity 6: rockchip-sy-mipi-dphy (2 pads, 2 links) type V4L2 subdev subtype Unknown flags 0 device node name /dev/v4l-subdev1 pad0: Sink [fmt:SRGGB10_1X10/3280x2464 field:none] <- "imx219 2-0010":0 [ENABLED] pad1: Source [fmt:SRGGB10_1X10/3280x2464 field:none] -> "rkisp1-isp-subdev":0 [ENABLED] - entity 7: imx219 2-0010 (1 pad, 1 link) type V4L2 subdev subtype Sensor flags 0 device node name /dev/v4l-subdev2 pad0: Source [fmt:SRGGB10_1X10/3280x2464 field:none] -> "rockchip-sy-mipi-dphy":0 [ENABLED]</pre> 78f6178898106d1dd4ecf7ef3a71e30785419254 1649 1648 2017-12-01T03:16:44Z Jacob 6 wikitext text/x-wiki NOTE: Under Construction &nbsp; = Overview = The document below&nbsp;provide&nbsp;basical informations&nbsp;about the&nbsp;rockchip-isp1 driver driver and&nbsp;Image Signal Processing block on Rockchip SoC&nbsp;with&nbsp;examples and details. = Hardware = More detailed information could be found in TRM chapter "Image Signal Processing", "MIPI D-PHY"&nbsp;, but they are only available under&nbsp;NDA. &nbsp; == ISP Details == ISP comprises with: *MIPI serial camera interface *Image Signal Processing *Many Image Enhancement Blocks *Crop *Resize === Block diagram === The completed block diagram&nbsp;can not be pasted from&nbsp;datasheet&nbsp;to here, below&nbsp;diagram&nbsp;is an abstract version: [[File:Block.png|1200px|Blocks.png]] == MIPI Details == There are three D-PHY instances in rk3288/rk3399, their connection are shown as following figure: [[File:Phy.png|600px|Phy.png]] = Software = == Driver == rockchip-isp1 is a V4L2 based driver for Image Signal Processing block on Rockchip SoC. Compared to the earlier driver&nbsp;rk-isp10, it use&nbsp;Media Controller&nbsp;framework, which it's different from plain v4L2. While the plain v4L2 had a view of the device as a plain DMA based image drabber which connects the input data to the host memory, the Media Controller takes into consideration the fact that a typical video device might consist of multiple sub-devices. === Media Controller Basics === Please read below link carefully,&nbsp;especially if you don't have use it before. [https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.html https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.htmlIntegrate 3A algorithm(TO BE DONE)] === Block diagram === ==== File view ==== [[File:Code.png|1200px|Code.png]] ==== V4l2 view ==== [[File:Rockchip-isp1-v4l2.png|800px|Rockchip-isp1-v4l2.png]] {| border="1" class="table_style" style="width: 768px;" |- ! style="width: 165px;" | Name ! style="width: 131px;" | Type ! style="width: 450px;" | Description |- | style="width: 165px;" | rkisp1_mainpath | style="width: 131px;" | v4l2_vdev, capture | style="width: 450px;" | Format: YUV, RAW Bayer; Max resolution: 4416*3312;&nbsp;Support: Crop |- | style="width: 165px;" | rkisp1_selfpath | style="width: 131px;" | v4l2_vdev, capture | style="width: 450px;" | Format: YUV, RGB; Max resolution: 1920*1080; Support: Crop |- | style="width: 165px;" | rkisp1-isp-subdev | style="width: 131px;" | v4l2_subdev | style="width: 450px;" | Internal isp blocks; Support: source/sink pad crop. The format on sink pad&nbsp;should be equal to sensor input format, the size should be equal/less than&nbsp;sensor input size. The format on source pad&nbsp;should be equal to vdev output format if output format is raw bayer, otherwise it should be&nbsp; YUYV2X8. The size should be equal/less than&nbsp;sink pad size. |- | style="width: 165px;" | rockchip-sy-mipi-dphy | style="width: 131px;" | v4l2_subdev | style="width: 450px;" | MIPI-DPHY&nbsp;Configure |- | style="width: 165px;" | rkisp1-statistics | style="width: 131px;" | v4l2_vdev, capture | style="width: 450px;" | Provide Image color Statistics information. |- | style="width: 165px;" | rkisp1-input-params | style="width: 131px;" | v4l2_vdev, output | style="width: 450px;" | Accept params for AWB, BLC...... Image enhancement blcoks |} === Sensor Driver Requirement === The sensor driver should implement controls in the following table.&nbsp; {| border="1" class="table_style" |- ! Controls ! Description ! R/W ! Needed by |- | V4L2_CID_VBLANK | <span style="font-size:smaller;">Vertical blanking. The idle period after every frame during which no image data is produced. The unit of vertical blanking is a line. Every line has length of the image width plus horizontal blanking at the pixel rate defined by&nbsp;<code>V4L2_CID_PIXEL_RATE</code>&nbsp;control in the same sub-device.</span> | R | Ae |- | V4L2_CID_HBLANK | <span style="font-size:smaller;">Horizontal blanking. The idle period after every line of image data during which no image data is produced. The unit of horizontal blanking is pixels.</span> | R | Ae |- | V4L2_CID_EXPOSURE | <span style="font-size:smaller;">Determines the exposure time of the camera sensor. The exposure time is limited by the frame interval. Drivers should interpret the values as 100 µs units, where the value 1 stands for 1/10000th of a second, 10000 for 1 second and 100000 for 10 seconds.</span> | R/W | Ae |- | V4L2_CID_ANALOGUE_GAIN | <span style="font-size:smaller;">Analogue gain is gain affecting all colour components in the pixel matrix. The gain operation is performed in the analogue domain before A/D conversion.</span> | R/W | Ae |- | V4L2_CID_DIGITAL_GAIN | <span style="font-size:smaller;">Digital gain is the value by which all colour components are multiplied by. Typically the digital gain applied is the control value divided by e.g. 0x100, meaning that to get no digital gain the control value needs to be 0x100. The no-gain configuration is also typically the default.</span> | R/W | Ae |- | V4L2_CID_PIXEL_RATE | <span style="font-size:smaller;">Pixel rate in the source pads of the subdev. This control is read-only and its unit is pixels / second.</span> | R | Ae |- | V4L2_CID_LINK_FREQ | <span style="font-size:smaller;">Data bus frequency. Together with the media bus pixel code, bus type (clock cycles per sample), the data bus frequency defines the pixel rate (<code>V4L2_CID_PIXEL_RATE</code>) in the pixel array (or possibly elsewhere, if the device is not an image sensor). The frame rate can be calculated from the pixel clock, image width and height and horizontal and vertical blanking. While the pixel rate control may be defined elsewhere than in the subdev containing the pixel array, the frame rate cannot be obtained from that information. This is because only on the pixel array it can be assumed that the vertical and horizontal blanking information is exact: no other blanking is allowed in the pixel array. The selection of frame rate is performed by selecting the desired horizontal and vertical blanking. The unit of this control is Hz.</span> | R | mipi-dphy |} === Devicetree Bindings(tmp) === [https://github.com/wzyy2/linux/blob/rkisp1/Documentation/devicetree/bindings/media/rockchip-isp1.txt https://github.com/wzyy2/linux/blob/rkisp1/Documentation/devicetree/bindings/media/rockchip-isp1.txt] [https://github.com/wzyy2/linux/blob/rkisp1/Documentation/devicetree/bindings/media/rockchip-mipi-dphy.txt https://github.com/wzyy2/linux/blob/rkisp1/Documentation/devicetree/bindings/media/rockchip-mipi-dphy.txt] == Linux == === User applications&nbsp; === The applcation for&nbsp;plain v4L2 capture device still can be used(like gstreamer v4l2src plugins, v4l2ctl), but the media&nbsp;controller must be setup in a&nbsp;proper state before starting capture.<br/> The applications for Video Capture with rockchip-isp1 driver&nbsp;should do things like the following commands: <pre>media-ctl -l '"rockchip-sy-mipi-dphy":1->"rkisp1-isp-subdev":0[1]' media-ctl -l '"rkisp1-input-params":0->"rkisp1-isp-subdev":1[1]' media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_selfpath":0[1]' media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_mainpath":0[1]' media-ctl -l '"rkisp1-isp-subdev":3->"rkisp1-statistics":0[1]' # Media graph have been initializated when kernel driver probing, so above commands don't have to be called, though please note that they can be changed in the runtime # Set pad formats ## rkisp1 source pad media-ctl -set-v4l2 '"rkisp1-isp-subdev":2[fmt:YUYV2X8/800x600]' ## rkisp1 sink pad == sensor source [ad] media-ctl --set-v4l2 '"rkisp1-isp-subdev":0[fmt:SRGGB10/800*600]' media-ctl --set-v4l2 '"ov2685 7-0010":0[fmt:SRGGB10/800*600]' # Set link(Assume there are two sensors in one mipi-phy) ## Enable sensor1 media-ctl -l '"ov2685 7-0010":0->"rockchip-sy-mipi-dphy":0[1]' ## Disable sensor2 media-ctl -l '"ov5695 7-0036":0->"rockchip-sy-mipi-dphy":0[0]' # Start capture v4l2-ctl xxxxxxx </pre> ==== <del>Integrate 3A&nbsp;algorithm</del> ==== ==== <del>Multi sensors</del> ==== ==== <del>Multi paths</del> ==== Record, Preview, Still Capture&nbsp;in different resolution&nbsp;at a time. selfpath and mainpath can work at a time, but it need some&nbsp;specific&nbsp;operations. === Gstreamer === We have writen a gstreamer plugin, [https://github.com/rockchip-linux/gstreamer-rockchip-extra rkcamsrc], which is simply modified from gstreamer v4l2src plugin. [[File:Rkcamsrc.png|500px|RTENOTITLE]] Please refer to readme in github for usage. == Android == === <del>Camera Hal3</del> === [https://source.android.com/devices/camera/camera3?hl=zh-cn https://source.android.com/devices/camera/camera3] = Reproduce = The driver currently can run&nbsp;on ASUS Tinker Board and Firefly-RK3288-Reload + Rockchip&nbsp;Debian/Yocto SDK. == Source Code == === Kernel === #4.15 + [https://patchwork.linuxtv.org/project/linux-media/list/?submitter=7231 FORMLIST Patches] #[https://github.com/rockchip-linux/kernel/tree/isp-early-access Rockchip 4.4 BSP] === Sensor Driver === #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/imx219.c IMX219] #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/ov5647.c OV5647] #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/tc35874x.c TC35874X] === Device Tree === #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/arch/arm/boot/dts/rk3288-miniarm.dts Tinker Board] #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/arch/arm/boot/dts/rk3288-firefly.dtsi Firefly-rk3288-Reload] == Test Command == <pre>cat /sys/class/video4linux/video*/name # get self_path videox and main_path videox+1 gst-launch-1.0 rkcamsrc device=/dev/videox+1 io-mode=4 disable-3A=true&nbsp;! videoconvert&nbsp;! video/x-raw,format=NV12,width=640,height=480&nbsp;! kmssink</pre> = Others = == Topology == <pre>Media device information ------------------------ driver rkisp1 model rkisp1 serial bus info hw revision 0x0 driver version 0.0.0 Device topology - entity 1: rkisp1-isp-subdev (4 pads, 5 links) type V4L2 subdev subtype Unknown flags 0 device node name /dev/v4l-subdev0 pad0: Sink [fmt:SBGGR10_1X10/800x600 field:none crop.bounds:(0,0)/800x600 crop:(0,0)/800x600] <- "rockchip-sy-mipi-dphy":1 [ENABLED] pad1: Sink <- "rkisp1-input-params":0 [ENABLED] pad2: Source [fmt:SBGGR10_1X10/800x600 field:none crop.bounds:(0,0)/800x600 crop:(0,0)/800x600] -> "rkisp1_selfpath":0 [ENABLED] -> "rkisp1_mainpath":0 [ENABLED] pad3: Source -> "rkisp1-statistics":0 [ENABLED] - entity 2: rkisp1_selfpath (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video0 pad0: Sink <- "rkisp1-isp-subdev":2 [ENABLED] - entity 3: rkisp1_mainpath (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video1 pad0: Sink <- "rkisp1-isp-subdev":2 [ENABLED] - entity 4: rkisp1-statistics (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video2 pad0: Sink <- "rkisp1-isp-subdev":3 [ENABLED] - entity 5: rkisp1-input-params (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video3 pad0: Source -> "rkisp1-isp-subdev":1 [ENABLED] - entity 6: rockchip-sy-mipi-dphy (2 pads, 2 links) type V4L2 subdev subtype Unknown flags 0 device node name /dev/v4l-subdev1 pad0: Sink [fmt:SRGGB10_1X10/3280x2464 field:none] <- "imx219 2-0010":0 [ENABLED] pad1: Source [fmt:SRGGB10_1X10/3280x2464 field:none] -> "rkisp1-isp-subdev":0 [ENABLED] - entity 7: imx219 2-0010 (1 pad, 1 link) type V4L2 subdev subtype Sensor flags 0 device node name /dev/v4l-subdev2 pad0: Source [fmt:SRGGB10_1X10/3280x2464 field:none] -> "rockchip-sy-mipi-dphy":0 [ENABLED]</pre> 405cf3a7af4c99cd8cc8cad3b9aa20662a204370 1650 1649 2017-12-01T07:44:34Z Jacob 6 wikitext text/x-wiki NOTE: Under Construction &nbsp; = Overview = The document below&nbsp;provide&nbsp;basical informations&nbsp;about the&nbsp;rockchip-isp1 driver driver and&nbsp;Image Signal Processing block on Rockchip SoC&nbsp;with&nbsp;examples and details. = Hardware = More detailed information could be found in TRM chapter "Image Signal Processing", "MIPI D-PHY"&nbsp;, but they are only available under&nbsp;NDA. == ISP Details == ISP comprises with: *MIPI serial camera interface *Image Signal Processing *Many Image Enhancement Blocks *Crop *Resize === Block diagram === The completed block diagram&nbsp;can not be pasted from&nbsp;datasheet&nbsp;to here, below&nbsp;diagram&nbsp;is an abstract version: [[File:Block.png|1200px|Blocks.png]] == MIPI Details == There are three D-PHY instances in rk3288/rk3399, their connection are shown as following figure: [[File:Phy.png|600px|Phy.png]] = Software = == Driver == rockchip-isp1 is a V4L2 based driver for Image Signal Processing block on Rockchip SoC. Compared to the earlier driver&nbsp;rk-isp10, it use&nbsp;Media Controller&nbsp;framework, which it's different from plain v4L2. While the plain v4L2 had a view of the device as a plain DMA based image drabber which connects the input data to the host memory, the Media Controller takes into consideration the fact that a typical video device might consist of multiple sub-devices. === Media Controller Basics === Please read below link carefully,&nbsp;especially if you don't have use it before. [https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.html https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.htmlIntegrate 3A algorithm(TO BE DONE)] === Block diagram === ==== File view ==== [[File:Code.png|1200px|Code.png]] ==== V4l2 view ==== [[File:Rockchip-isp1-v4l2.png|800px|Rockchip-isp1-v4l2.png]] {| border="1" class="table_style" style="width: 768px;" |- ! style="width: 165px;" | Name ! style="width: 131px;" | Type ! style="width: 450px;" | Description |- | style="width: 165px;" | rkisp1_mainpath | style="width: 131px;" | v4l2_vdev, capture | style="width: 450px;" | Format: YUV, RAW Bayer; Max resolution: 4416*3312;&nbsp;Support: Crop |- | style="width: 165px;" | rkisp1_selfpath | style="width: 131px;" | v4l2_vdev, capture | style="width: 450px;" | Format: YUV, RGB; Max resolution: 1920*1080; Support: Crop |- | style="width: 165px;" | rkisp1-isp-subdev | style="width: 131px;" | v4l2_subdev | style="width: 450px;" | Internal isp blocks; Support: source/sink pad crop. The format on sink pad&nbsp;should be equal to sensor input format, the size should be equal/less than&nbsp;sensor input size. The format on source pad&nbsp;should be equal to vdev output format if output format is raw bayer, otherwise it should be&nbsp; YUYV2X8. The size should be equal/less than&nbsp;sink pad size. |- | style="width: 165px;" | rockchip-sy-mipi-dphy | style="width: 131px;" | v4l2_subdev | style="width: 450px;" | MIPI-DPHY&nbsp;Configure |- | style="width: 165px;" | rkisp1-statistics | style="width: 131px;" | v4l2_vdev, capture | style="width: 450px;" | Provide Image color Statistics information. |- | style="width: 165px;" | rkisp1-input-params | style="width: 131px;" | v4l2_vdev, output | style="width: 450px;" | Accept params for AWB, BLC...... Image enhancement blcoks |} === Sensor Driver Requirement === The sensor driver should implement controls in the following table.&nbsp; {| border="1" class="table_style" |- ! Controls ! Description ! R/W ! Needed by |- | V4L2_CID_VBLANK | <span style="font-size:smaller;">Vertical blanking. The idle period after every frame during which no image data is produced. The unit of vertical blanking is a line. Every line has length of the image width plus horizontal blanking at the pixel rate defined by&nbsp;<code>V4L2_CID_PIXEL_RATE</code>&nbsp;control in the same sub-device.</span> | R | Ae |- | V4L2_CID_HBLANK | <span style="font-size:smaller;">Horizontal blanking. The idle period after every line of image data during which no image data is produced. The unit of horizontal blanking is pixels.</span> | R | Ae |- | V4L2_CID_EXPOSURE | <span style="font-size:smaller;">Determines the exposure time of the camera sensor. The exposure time is limited by the frame interval. Drivers should interpret the values as 100 µs units, where the value 1 stands for 1/10000th of a second, 10000 for 1 second and 100000 for 10 seconds.</span> | R/W | Ae |- | V4L2_CID_ANALOGUE_GAIN | <span style="font-size:smaller;">Analogue gain is gain affecting all colour components in the pixel matrix. The gain operation is performed in the analogue domain before A/D conversion.</span> | R/W | Ae |- | V4L2_CID_DIGITAL_GAIN | <span style="font-size:smaller;">Digital gain is the value by which all colour components are multiplied by. Typically the digital gain applied is the control value divided by e.g. 0x100, meaning that to get no digital gain the control value needs to be 0x100. The no-gain configuration is also typically the default.</span> | R/W | Ae |- | V4L2_CID_PIXEL_RATE | <span style="font-size:smaller;">Pixel rate in the source pads of the subdev. This control is read-only and its unit is pixels / second.</span> | R | Ae |- | V4L2_CID_LINK_FREQ | <span style="font-size:smaller;">Data bus frequency. Together with the media bus pixel code, bus type (clock cycles per sample), the data bus frequency defines the pixel rate (<code>V4L2_CID_PIXEL_RATE</code>) in the pixel array (or possibly elsewhere, if the device is not an image sensor). The frame rate can be calculated from the pixel clock, image width and height and horizontal and vertical blanking. While the pixel rate control may be defined elsewhere than in the subdev containing the pixel array, the frame rate cannot be obtained from that information. This is because only on the pixel array it can be assumed that the vertical and horizontal blanking information is exact: no other blanking is allowed in the pixel array. The selection of frame rate is performed by selecting the desired horizontal and vertical blanking. The unit of this control is Hz.</span> | R | mipi-dphy |} === Devicetree Bindings(tmp) === [https://github.com/wzyy2/linux/blob/rkisp1/Documentation/devicetree/bindings/media/rockchip-isp1.txt https://github.com/wzyy2/linux/blob/rkisp1/Documentation/devicetree/bindings/media/rockchip-isp1.txt] [https://github.com/wzyy2/linux/blob/rkisp1/Documentation/devicetree/bindings/media/rockchip-mipi-dphy.txt https://github.com/wzyy2/linux/blob/rkisp1/Documentation/devicetree/bindings/media/rockchip-mipi-dphy.txt] == Linux == === User applications&nbsp; === The applcation for&nbsp;plain v4L2 capture device still can be used(like gstreamer v4l2src plugins, v4l2ctl), but the media&nbsp;controller must be setup in a&nbsp;proper state before starting capture.<br/> The applications for Video Capture with rockchip-isp1 driver&nbsp;should do things like the following commands: <pre>media-ctl -l '"rockchip-sy-mipi-dphy":1->"rkisp1-isp-subdev":0[1]' media-ctl -l '"rkisp1-input-params":0->"rkisp1-isp-subdev":1[1]' media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_selfpath":0[1]' media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_mainpath":0[1]' media-ctl -l '"rkisp1-isp-subdev":3->"rkisp1-statistics":0[1]' # Media graph have been initializated when kernel driver probing, so above commands don't have to be called, though please note that they can be changed in the runtime # Set pad formats ## rkisp1 source pad media-ctl -set-v4l2 '"rkisp1-isp-subdev":2[fmt:YUYV2X8/800x600]' ## rkisp1 sink pad == sensor source [ad] media-ctl --set-v4l2 '"rkisp1-isp-subdev":0[fmt:SRGGB10/800*600]' media-ctl --set-v4l2 '"ov2685 7-0010":0[fmt:SRGGB10/800*600]' # Set link(Assume there are two sensors in one mipi-phy) ## Enable sensor1 media-ctl -l '"ov2685 7-0010":0->"rockchip-sy-mipi-dphy":0[1]' ## Disable sensor2 media-ctl -l '"ov5695 7-0036":0->"rockchip-sy-mipi-dphy":0[0]' # Start capture v4l2-ctl xxxxxxx </pre> ==== <del>Integrate 3A&nbsp;algorithm</del> ==== ==== <del>Multi sensors</del> ==== ==== <del>Multi paths</del> ==== Record, Preview, Still Capture&nbsp;in different resolution&nbsp;at a time. selfpath and mainpath can work at a time, but it need some&nbsp;specific&nbsp;operations. === Gstreamer === We have writen a gstreamer plugin, [https://github.com/rockchip-linux/gstreamer-rockchip-extra rkcamsrc], which is simply modified from gstreamer v4l2src plugin. [[File:Rkcamsrc.png|500px|RTENOTITLE]] Please refer to readme in github for usage. == Android == === <del>Camera Hal3</del> === [https://source.android.com/devices/camera/camera3?hl=zh-cn https://source.android.com/devices/camera/camera3] = Reproduce = The driver currently can run&nbsp;on ASUS Tinker Board and Firefly-RK3288-Reload + Rockchip&nbsp;Debian/Yocto SDK. == Source Code == === Kernel === #4.15 + [https://patchwork.linuxtv.org/project/linux-media/list/?submitter=7231 FORMLIST Patches] #[https://github.com/rockchip-linux/kernel/tree/isp-early-access Rockchip 4.4 BSP] === Sensor Driver === #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/imx219.c IMX219] #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/ov5647.c OV5647] #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/tc35874x.c TC35874X] === Device Tree === #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/arch/arm/boot/dts/rk3288-miniarm.dts Tinker Board] #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/arch/arm/boot/dts/rk3288-firefly.dtsi Firefly-rk3288-Reload] == Test Command == <pre>cat /sys/class/video4linux/video*/name # get self_path videox and main_path videox+1 gst-launch-1.0 rkcamsrc device=/dev/videox+1 io-mode=4 disable-3A=true&nbsp;! videoconvert&nbsp;! video/x-raw,format=NV12,width=640,height=480&nbsp;! kmssink</pre> = Others = == Topology == <pre>Media device information ------------------------ driver rkisp1 model rkisp1 serial bus info hw revision 0x0 driver version 0.0.0 Device topology - entity 1: rkisp1-isp-subdev (4 pads, 5 links) type V4L2 subdev subtype Unknown flags 0 device node name /dev/v4l-subdev0 pad0: Sink [fmt:SBGGR10_1X10/800x600 field:none crop.bounds:(0,0)/800x600 crop:(0,0)/800x600] <- "rockchip-sy-mipi-dphy":1 [ENABLED] pad1: Sink <- "rkisp1-input-params":0 [ENABLED] pad2: Source [fmt:SBGGR10_1X10/800x600 field:none crop.bounds:(0,0)/800x600 crop:(0,0)/800x600] -> "rkisp1_selfpath":0 [ENABLED] -> "rkisp1_mainpath":0 [ENABLED] pad3: Source -> "rkisp1-statistics":0 [ENABLED] - entity 2: rkisp1_selfpath (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video0 pad0: Sink <- "rkisp1-isp-subdev":2 [ENABLED] - entity 3: rkisp1_mainpath (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video1 pad0: Sink <- "rkisp1-isp-subdev":2 [ENABLED] - entity 4: rkisp1-statistics (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video2 pad0: Sink <- "rkisp1-isp-subdev":3 [ENABLED] - entity 5: rkisp1-input-params (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video3 pad0: Source -> "rkisp1-isp-subdev":1 [ENABLED] - entity 6: rockchip-sy-mipi-dphy (2 pads, 2 links) type V4L2 subdev subtype Unknown flags 0 device node name /dev/v4l-subdev1 pad0: Sink [fmt:SRGGB10_1X10/3280x2464 field:none] <- "imx219 2-0010":0 [ENABLED] pad1: Source [fmt:SRGGB10_1X10/3280x2464 field:none] -> "rkisp1-isp-subdev":0 [ENABLED] - entity 7: imx219 2-0010 (1 pad, 1 link) type V4L2 subdev subtype Sensor flags 0 device node name /dev/v4l-subdev2 pad0: Source [fmt:SRGGB10_1X10/3280x2464 field:none] -> "rockchip-sy-mipi-dphy":0 [ENABLED]</pre> cc3cc7a99f58686bd0d40f03050bfc7fd2bde308 1651 1650 2017-12-02T08:35:26Z Jacob 6 wikitext text/x-wiki NOTE: Under Construction &nbsp; = Overview = The document below&nbsp;provide&nbsp;basical informations&nbsp;about the&nbsp;rockchip-isp1 driver driver and&nbsp;Image Signal Processing block on Rockchip SoC&nbsp;with&nbsp;examples and details. = Hardware = More detailed information could be found in TRM chapter "Image Signal Processing", "MIPI D-PHY"&nbsp;, but they are only available under&nbsp;NDA. == ISP Details == ISP comprises with: *MIPI serial camera interface *Image Signal Processing *Many Image Enhancement Blocks *Crop *Resize === Block diagram === The completed block diagram&nbsp;can not be pasted from&nbsp;datasheet&nbsp;to here, below&nbsp;diagram&nbsp;is an abstract version: [[File:Block.png|1200px|Blocks.png]] == MIPI Details == There are three D-PHY instances in rockchip SoC, their connection are shown as following figure: [[File:Phy.png|600px|Phy.png]] = Software = == Driver == rockchip-isp1 is a V4L2 based driver for Image Signal Processing block on Rockchip SoC. Compared to the earlier driver&nbsp;rk-isp10, it use&nbsp;Media Controller&nbsp;framework, which it's different from plain v4L2. While the plain v4L2 had a view of the device as a plain DMA based image drabber which connects the input data to the host memory, the Media Controller takes into consideration the fact that a typical video device might consist of multiple sub-devices. === Media Controller Basics === Please read below link carefully,&nbsp;especially if you don't have use it before. [https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.html https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.htmlIntegrate 3A algorithm(TO BE DONE)] === Block diagram === ==== File view ==== [[File:Code.png|1200px|Code.png]] ==== V4l2 view ==== [[File:Rockchip-isp1-v4l2.png|800px|Rockchip-isp1-v4l2.png]] {| border="1" class="table_style" style="width: 768px;" |- ! style="width: 165px;" | Name ! style="width: 131px;" | Type ! style="width: 450px;" | Description |- | style="width: 165px;" | rkisp1_mainpath | style="width: 131px;" | v4l2_vdev, capture | style="width: 450px;" | Format: YUV, RAW Bayer; Max resolution: 4416*3312;&nbsp;Support: Crop |- | style="width: 165px;" | rkisp1_selfpath | style="width: 131px;" | v4l2_vdev, capture | style="width: 450px;" | Format: YUV, RGB; Max resolution: 1920*1080; Support: Crop |- | style="width: 165px;" | rkisp1-isp-subdev | style="width: 131px;" | v4l2_subdev | style="width: 450px;" | Internal isp blocks; Support: source/sink pad crop. The format on sink pad&nbsp;should be equal to sensor input format, the size should be equal/less than&nbsp;sensor input size. The format on source pad&nbsp;should be equal to vdev output format if output format is raw bayer, otherwise it should be&nbsp; YUYV2X8. The size should be equal/less than&nbsp;sink pad size. |- | style="width: 165px;" | rockchip-sy-mipi-dphy | style="width: 131px;" | v4l2_subdev | style="width: 450px;" | MIPI-DPHY&nbsp;Configure |- | style="width: 165px;" | rkisp1-statistics | style="width: 131px;" | v4l2_vdev, capture | style="width: 450px;" | Provide Image color Statistics information. |- | style="width: 165px;" | rkisp1-input-params | style="width: 131px;" | v4l2_vdev, output | style="width: 450px;" | Accept params for AWB, BLC...... Image enhancement blcoks |} === Sensor Driver Requirement === The sensor driver should implement controls in the following table.&nbsp; {| border="1" class="table_style" |- ! Controls ! Description ! R/W ! Needed by |- | V4L2_CID_VBLANK | <span style="font-size:smaller;">Vertical blanking. The idle period after every frame during which no image data is produced. The unit of vertical blanking is a line. Every line has length of the image width plus horizontal blanking at the pixel rate defined by&nbsp;<code>V4L2_CID_PIXEL_RATE</code>&nbsp;control in the same sub-device.</span> | R | Ae |- | V4L2_CID_HBLANK | <span style="font-size:smaller;">Horizontal blanking. The idle period after every line of image data during which no image data is produced. The unit of horizontal blanking is pixels.</span> | R | Ae |- | V4L2_CID_EXPOSURE | <span style="font-size:smaller;">Determines the exposure time of the camera sensor. The exposure time is limited by the frame interval. Drivers should interpret the values as 100 µs units, where the value 1 stands for 1/10000th of a second, 10000 for 1 second and 100000 for 10 seconds.</span> | R/W | Ae |- | V4L2_CID_ANALOGUE_GAIN | <span style="font-size:smaller;">Analogue gain is gain affecting all colour components in the pixel matrix. The gain operation is performed in the analogue domain before A/D conversion.</span> | R/W | Ae |- | V4L2_CID_DIGITAL_GAIN | <span style="font-size:smaller;">Digital gain is the value by which all colour components are multiplied by. Typically the digital gain applied is the control value divided by e.g. 0x100, meaning that to get no digital gain the control value needs to be 0x100. The no-gain configuration is also typically the default.</span> | R/W | Ae |- | V4L2_CID_PIXEL_RATE | <span style="font-size:smaller;">Pixel rate in the source pads of the subdev. This control is read-only and its unit is pixels / second.</span> | R | Ae |- | V4L2_CID_LINK_FREQ | <span style="font-size:smaller;">Data bus frequency. Together with the media bus pixel code, bus type (clock cycles per sample), the data bus frequency defines the pixel rate (<code>V4L2_CID_PIXEL_RATE</code>) in the pixel array (or possibly elsewhere, if the device is not an image sensor). The frame rate can be calculated from the pixel clock, image width and height and horizontal and vertical blanking. While the pixel rate control may be defined elsewhere than in the subdev containing the pixel array, the frame rate cannot be obtained from that information. This is because only on the pixel array it can be assumed that the vertical and horizontal blanking information is exact: no other blanking is allowed in the pixel array. The selection of frame rate is performed by selecting the desired horizontal and vertical blanking. The unit of this control is Hz.</span> | R | mipi-dphy |} === Devicetree Bindings(tmp) === [https://github.com/wzyy2/linux/blob/rkisp1/Documentation/devicetree/bindings/media/rockchip-isp1.txt https://github.com/wzyy2/linux/blob/rkisp1/Documentation/devicetree/bindings/media/rockchip-isp1.txt] [https://github.com/wzyy2/linux/blob/rkisp1/Documentation/devicetree/bindings/media/rockchip-mipi-dphy.txt https://github.com/wzyy2/linux/blob/rkisp1/Documentation/devicetree/bindings/media/rockchip-mipi-dphy.txt] == Linux == === User applications&nbsp; === The applcation for&nbsp;plain v4L2 capture device still can be used(like gstreamer v4l2src plugins, v4l2ctl), but the media&nbsp;controller must be setup in a&nbsp;proper state before starting capture.<br/> The applications for Video Capture with rockchip-isp1 driver&nbsp;should do things like the following commands: <pre>media-ctl -l '"rockchip-sy-mipi-dphy":1->"rkisp1-isp-subdev":0[1]' media-ctl -l '"rkisp1-input-params":0->"rkisp1-isp-subdev":1[1]' media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_selfpath":0[1]' media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_mainpath":0[1]' media-ctl -l '"rkisp1-isp-subdev":3->"rkisp1-statistics":0[1]' # Media graph have been initializated when kernel driver probing, so above commands don't have to be called, though please note that they can be changed in the runtime # Set pad formats ## rkisp1 source pad media-ctl -set-v4l2 '"rkisp1-isp-subdev":2[fmt:YUYV2X8/800x600]' ## rkisp1 sink pad == sensor source [ad] media-ctl --set-v4l2 '"rkisp1-isp-subdev":0[fmt:SRGGB10/800*600]' media-ctl --set-v4l2 '"ov2685 7-0010":0[fmt:SRGGB10/800*600]' # Set link(Assume there are two sensors in one mipi-phy) ## Enable sensor1 media-ctl -l '"ov2685 7-0010":0->"rockchip-sy-mipi-dphy":0[1]' ## Disable sensor2 media-ctl -l '"ov5695 7-0036":0->"rockchip-sy-mipi-dphy":0[0]' # Start capture v4l2-ctl xxxxxxx </pre> ==== <del>Integrate 3A&nbsp;algorithm</del> ==== ==== <del>Multi sensors</del> ==== ==== <del>Multi paths</del> ==== Record, Preview, Still Capture&nbsp;in different resolution&nbsp;at a time. selfpath and mainpath can work at a time, but it need some&nbsp;specific&nbsp;operations. === Gstreamer === We have writen a gstreamer plugin, [https://github.com/rockchip-linux/gstreamer-rockchip-extra rkcamsrc], which is simply modified from gstreamer v4l2src plugin. [[File:Rkcamsrc.png|500px|RTENOTITLE]] Please refer to readme in github for usage. == Android == === <del>Camera Hal3</del> === [https://source.android.com/devices/camera/camera3?hl=zh-cn https://source.android.com/devices/camera/camera3] = Reproduce = The driver currently can run&nbsp;on ASUS Tinker Board and Firefly-RK3288-Reload + Rockchip&nbsp;Debian/Yocto SDK. == Source Code == === Kernel === #4.15 + [https://patchwork.linuxtv.org/project/linux-media/list/?submitter=7231 FORMLIST Patches] #[https://github.com/rockchip-linux/kernel/tree/isp-early-access Rockchip 4.4 BSP] === Sensor Driver === #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/imx219.c IMX219] #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/ov5647.c OV5647] #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/tc35874x.c TC35874X] === Device Tree === #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/arch/arm/boot/dts/rk3288-miniarm.dts Tinker Board] #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/arch/arm/boot/dts/rk3288-firefly.dtsi Firefly-rk3288-Reload] == Test Command == <pre>cat /sys/class/video4linux/video*/name # get self_path videox and main_path videox+1 gst-launch-1.0 rkcamsrc device=/dev/videox+1 io-mode=4 disable-3A=true&nbsp;! videoconvert&nbsp;! video/x-raw,format=NV12,width=640,height=480&nbsp;! kmssink</pre> = Others = == Topology == <pre>Media device information ------------------------ driver rkisp1 model rkisp1 serial bus info hw revision 0x0 driver version 0.0.0 Device topology - entity 1: rkisp1-isp-subdev (4 pads, 5 links) type V4L2 subdev subtype Unknown flags 0 device node name /dev/v4l-subdev0 pad0: Sink [fmt:SBGGR10_1X10/800x600 field:none crop.bounds:(0,0)/800x600 crop:(0,0)/800x600] <- "rockchip-sy-mipi-dphy":1 [ENABLED] pad1: Sink <- "rkisp1-input-params":0 [ENABLED] pad2: Source [fmt:SBGGR10_1X10/800x600 field:none crop.bounds:(0,0)/800x600 crop:(0,0)/800x600] -> "rkisp1_selfpath":0 [ENABLED] -> "rkisp1_mainpath":0 [ENABLED] pad3: Source -> "rkisp1-statistics":0 [ENABLED] - entity 2: rkisp1_selfpath (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video0 pad0: Sink <- "rkisp1-isp-subdev":2 [ENABLED] - entity 3: rkisp1_mainpath (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video1 pad0: Sink <- "rkisp1-isp-subdev":2 [ENABLED] - entity 4: rkisp1-statistics (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video2 pad0: Sink <- "rkisp1-isp-subdev":3 [ENABLED] - entity 5: rkisp1-input-params (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video3 pad0: Source -> "rkisp1-isp-subdev":1 [ENABLED] - entity 6: rockchip-sy-mipi-dphy (2 pads, 2 links) type V4L2 subdev subtype Unknown flags 0 device node name /dev/v4l-subdev1 pad0: Sink [fmt:SRGGB10_1X10/3280x2464 field:none] <- "imx219 2-0010":0 [ENABLED] pad1: Source [fmt:SRGGB10_1X10/3280x2464 field:none] -> "rkisp1-isp-subdev":0 [ENABLED] - entity 7: imx219 2-0010 (1 pad, 1 link) type V4L2 subdev subtype Sensor flags 0 device node name /dev/v4l-subdev2 pad0: Source [fmt:SRGGB10_1X10/3280x2464 field:none] -> "rockchip-sy-mipi-dphy":0 [ENABLED]</pre> b8e956c9739447d1bf05572d7b7dcae95ba767d0 File:Phy.png 6 173 1615 2017-11-30T11:57:16Z Jacob 6 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 File:Blocks.png 6 174 1618 2017-11-30T12:24:57Z Jacob 6 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 File:Code.png 6 175 1620 2017-11-30T12:35:45Z Jacob 6 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 1630 1620 2017-12-01T01:22:32Z Jacob 6 Jacob uploaded a new version of [[File:Code.png]] wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 1632 1630 2017-12-01T01:27:19Z Jacob 6 Jacob uploaded a new version of [[File:Code.png]] wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 File:Block.png 6 176 1629 2017-12-01T01:21:37Z Jacob 6 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 File:Rockchip-isp1-v4l2.png 6 177 1636 2017-12-01T02:07:18Z Jacob 6 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 1638 1636 2017-12-01T02:09:27Z Jacob 6 Jacob uploaded a new version of [[File:Rockchip-isp1-v4l2.png]] wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 1639 1638 2017-12-01T02:11:56Z Jacob 6 Jacob uploaded a new version of [[File:Rockchip-isp1-v4l2.png]] wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 1647 1639 2017-12-01T03:03:39Z Jacob 6 Jacob uploaded a new version of [[File:Rockchip-isp1-v4l2.png]] wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 File:Rockchip-isp1-v4l2 (3).png 6 178 1646 2017-12-01T02:33:05Z Jacob 6 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 Main Page 0 16 1653 1254 2017-12-04T08:07:31Z Admin 1 wikitext text/x-wiki = '''Source code''' = Rockchip provide open source software on Github including fully support for Linux Based OS: *Github: [https://github.com/rockchip-linux rockchip-linux] You can also find software for Rockchip SoCs from Upstream: *[https://www.kernel.org/ Linux kernel] *[http://www.denx.de/wiki/U-Boot/WebHome U-Boot] *[https://github.com/ARM-software/arm-trusted-firmware ARM Trusted Firmware] If you are using a Chrombook with Rockchip SoC, you can use: *[https://chromium.googlesource.com/chromiumos/third_party/coreboot Chromium OS&nbsp;Coreboot] *[https://chromium.googlesource.com/chromiumos/third_party/kernel Chromium OS kernel] &nbsp; = '''Hardware Document''' = Here are the documents for SoCs, you can find&nbsp;Hardware device/board information on [[Devices|DEVICE PAGE]]. {| border="1" cellpadding="0" cellspacing="0" class="table_style" |- ! style="width:92px;" | <p style="text-align: center;">SoC</p> ! style="width:286px;" | <p style="text-align: center;">Description</p> ! style="width:189px;" | <p style="text-align: center;">Download</p> |- | style="width: 92px; text-align: center;" | [[RK3036|RK3036]] | style="width:286px;" | Dual-core Cortex-A7,&nbsp;Mali 400 MP1 GPU | style="width:189px;" | [[Rk3036_hardware_reference.zip|Rk3036 hardware reference.zip]] |- | style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p> | style="width:286px;" | Quad-core Cortex-A17 CPU, MALI-T764 GPU | style="width:189px;" | [[Media:Rockchip_RK3288_TRM_V1.2_Part1-20170321.pdf|TRM]], [[Media:Rockchip_RK3288_Datasheet_V2.2-20170301.pdf|Datasheet]],&nbsp; [[Media:Rk3288_hardware_reference.zip|Schematic&Layout Guide]] |- | style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p> | style="width:286px;" | Quad-core Cortex-A53 CPU,MALI-450MP2 GPU | style="width:189px;" | [[Media:Rockchip_RK3328TRM_V1.1-Part1-20170321.pdf|TRM]], [[Media:Rockchip_RK3328_Datasheet_V1.1-20170309.pdf|Datasheet]],&nbsp; [[Media:Rk3328_hardware_reference.zip|Schematic&Layout Guide]] |- | style="width:92px;" | <p style="text-align: center;">[[RK3399|RK3399]]</p> | style="width:286px;" | Dual-core Cortex-A72, Quad-core Cortex-A53 CPU, MALI-T864 GPU | style="width:189px;" | [[Media:Rockchip_RK3399TRM_V1.4_Part1-20170408.pdf|TRM]], [[Media:Rockchip_RK3399_Datasheet_V1.6-20170301.pdf|Datasheet]],&nbsp; [[Media:Rk3399_hardware_reference.zip|Schematic&Layout Guide]] |} &nbsp; &nbsp; = '''Software development&nbsp;''' = '''&nbsp; &nbsp; &nbsp; &nbsp;Software Status[[Status_Matrix|Matrix]]''' *'''Porting guide for Linux based OS/Distribution''' **[[Linux_user_guide|Linux_user_guide]] **[[Debian|Debian]] **[[Yocto|Yocto]] **[[Buildroot|Buildroot]] **[[Distribution|Other distribution]] *'''BSP module user guide''' **[[U-Boot|U-Boot]]&nbsp; **[[Rockchip_Kernel|Rockchip Kernel]] **[[Upstream_Kernel|Upstream Kernel]] **[[Atf|ARM Trusted&nbsp;Firmware]] *'''Graphics and Multimedia&nbsp;user guide''' **[[Graphics|Graphics and display]] **[[Mpp|Multimedia--Video Codec]] **[[Camera|Multimedia--Camera]] *'''Tool and Firmware Upgrade''' **[[Rockusb|Rockusb]] **[[Rkdeveloptool|Rkdeveloptool]] **[[Boot_option|Boot_option]] '''<span style="font-size:xx-large;">Feedback</span>''' Any question about software module on github, please ask&nbsp;at issue page of github project. If you have any other questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website, Email-to: opensource@rock-chips.com df67424fcea7e53c92f636cd3278982909829024 1654 1653 2017-12-04T08:08:50Z Admin 1 wikitext text/x-wiki = '''Source code''' = Rockchip provide open source software on Github including fully support for Linux Based OS: *Github: [https://github.com/rockchip-linux rockchip-linux] You can also find software for Rockchip SoCs from Upstream: *[https://www.kernel.org/ Linux kernel] *[http://www.denx.de/wiki/U-Boot/WebHome U-Boot] *[https://github.com/ARM-software/arm-trusted-firmware ARM Trusted Firmware] If you are using a Chrombook with Rockchip SoC, you can use: *[https://chromium.googlesource.com/chromiumos/third_party/coreboot Chromium OS&nbsp;Coreboot] *[https://chromium.googlesource.com/chromiumos/third_party/kernel Chromium OS kernel] &nbsp; &nbsp; = '''Hardware Document''' = Here are the documents for SoCs, you can find&nbsp;Hardware device/board information on [[Devices|DEVICE PAGE]]. {| border="1" cellpadding="0" cellspacing="0" class="table_style" |- ! style="width:92px;" | <p style="text-align: center;">SoC</p> ! style="width:286px;" | <p style="text-align: center;">Description</p> ! style="width:189px;" | <p style="text-align: center;">Download</p> |- | style="width: 92px; text-align: center;" | [[RK3036|RK3036]] | style="width:286px;" | Dual-core Cortex-A7,&nbsp;Mali 400 MP1 GPU | style="width:189px;" | [[Schematic&Layout_Guide|Schematic&Layout Guide]] |- | style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p> | style="width:286px;" | Quad-core Cortex-A17 CPU, MALI-T764 GPU | style="width:189px;" | [[Media:Rockchip_RK3288_TRM_V1.2_Part1-20170321.pdf|TRM]], [[Media:Rockchip_RK3288_Datasheet_V2.2-20170301.pdf|Datasheet]],&nbsp; [[Media:Rk3288_hardware_reference.zip|Schematic&Layout Guide]] |- | style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p> | style="width:286px;" | Quad-core Cortex-A53 CPU,MALI-450MP2 GPU | style="width:189px;" | [[Media:Rockchip_RK3328TRM_V1.1-Part1-20170321.pdf|TRM]], [[Media:Rockchip_RK3328_Datasheet_V1.1-20170309.pdf|Datasheet]],&nbsp; [[Media:Rk3328_hardware_reference.zip|Schematic&Layout Guide]] |- | style="width:92px;" | <p style="text-align: center;">[[RK3399|RK3399]]</p> | style="width:286px;" | Dual-core Cortex-A72, Quad-core Cortex-A53 CPU, MALI-T864 GPU | style="width:189px;" | [[Media:Rockchip_RK3399TRM_V1.4_Part1-20170408.pdf|TRM]], [[Media:Rockchip_RK3399_Datasheet_V1.6-20170301.pdf|Datasheet]],&nbsp; [[Media:Rk3399_hardware_reference.zip|Schematic&Layout Guide]] |} &nbsp; &nbsp; = '''Software development&nbsp;''' = '''&nbsp; &nbsp; &nbsp; &nbsp;Software Status[[Status_Matrix|Matrix]]''' *'''Porting guide for Linux based OS/Distribution''' **[[Linux_user_guide|Linux_user_guide]] **[[Debian|Debian]] **[[Yocto|Yocto]] **[[Buildroot|Buildroot]] **[[Distribution|Other distribution]] *'''BSP module user guide''' **[[U-Boot|U-Boot]]&nbsp; **[[Rockchip_Kernel|Rockchip Kernel]] **[[Upstream_Kernel|Upstream Kernel]] **[[Atf|ARM Trusted&nbsp;Firmware]] *'''Graphics and Multimedia&nbsp;user guide''' **[[Graphics|Graphics and display]] **[[Mpp|Multimedia--Video Codec]] **[[Camera|Multimedia--Camera]] *'''Tool and Firmware Upgrade''' **[[Rockusb|Rockusb]] **[[Rkdeveloptool|Rkdeveloptool]] **[[Boot_option|Boot_option]] '''<span style="font-size:xx-large;">Feedback</span>''' Any question about software module on github, please ask&nbsp;at issue page of github project. If you have any other questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website, Email-to: opensource@rock-chips.com 8a537a9dd7fee29c2515b838ca554e9c699d6193 1655 1654 2017-12-04T08:14:15Z Admin 1 wikitext text/x-wiki = '''Source code''' = Rockchip provide open source software on Github including fully support for Linux Based OS: *Github: [https://github.com/rockchip-linux rockchip-linux] You can also find software for Rockchip SoCs from Upstream: *[https://www.kernel.org/ Linux kernel] *[http://www.denx.de/wiki/U-Boot/WebHome U-Boot] *[https://github.com/ARM-software/arm-trusted-firmware ARM Trusted Firmware] If you are using a Chrombook with Rockchip SoC, you can use: *[https://chromium.googlesource.com/chromiumos/third_party/coreboot Chromium OS&nbsp;Coreboot] *[https://chromium.googlesource.com/chromiumos/third_party/kernel Chromium OS kernel] &nbsp; &nbsp; = '''Hardware Document''' = Here are the documents for SoCs, you can find&nbsp;Hardware device/board information on [[Devices|DEVICE PAGE]]. {| border="1" cellpadding="0" cellspacing="0" class="table_style" |- ! style="width:92px;" | <p style="text-align: center;">SoC</p> ! style="width:286px;" | <p style="text-align: center;">Description</p> ! style="width:189px;" | <p style="text-align: center;">Download</p> |- | style="width: 92px; text-align: center;" | [[RK3036|RK3036]] | style="width:286px;" | Dual-core Cortex-A7,&nbsp;Mali 400 MP1 GPU | style="width:189px;" | [[Media:Schematic&Layout_Guide|Schematic&Layout Guide]] |- | style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p> | style="width:286px;" | Quad-core Cortex-A17 CPU, MALI-T764 GPU | style="width:189px;" | [[Media:Rockchip_RK3288_TRM_V1.2_Part1-20170321.pdf|TRM]], [[Media:Rockchip_RK3288_Datasheet_V2.2-20170301.pdf|Datasheet]],&nbsp; [[Media:Rk3288_hardware_reference.zip|Schematic&Layout Guide]] |- | style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p> | style="width:286px;" | Quad-core Cortex-A53 CPU,MALI-450MP2 GPU | style="width:189px;" | [[Media:Rockchip_RK3328TRM_V1.1-Part1-20170321.pdf|TRM]], [[Media:Rockchip_RK3328_Datasheet_V1.1-20170309.pdf|Datasheet]],&nbsp; [[Media:Rk3328_hardware_reference.zip|Schematic&Layout Guide]] |- | style="width:92px;" | <p style="text-align: center;">[[RK3399|RK3399]]</p> | style="width:286px;" | Dual-core Cortex-A72, Quad-core Cortex-A53 CPU, MALI-T864 GPU | style="width:189px;" | [[Media:Rockchip_RK3399TRM_V1.4_Part1-20170408.pdf|TRM]], [[Media:Rockchip_RK3399_Datasheet_V1.6-20170301.pdf|Datasheet]],&nbsp; [[Media:Rk3399_hardware_reference.zip|Schematic&Layout Guide]] |} &nbsp; &nbsp; &nbsp; = '''Software development&nbsp;''' = '''&nbsp; &nbsp; &nbsp; &nbsp;Software Status[[Status_Matrix|Matrix]]''' *'''Porting guide for Linux based OS/Distribution''' **[[Linux_user_guide|Linux_user_guide]] **[[Debian|Debian]] **[[Yocto|Yocto]] **[[Buildroot|Buildroot]] **[[Distribution|Other distribution]] *'''BSP module user guide''' **[[U-Boot|U-Boot]]&nbsp; **[[Rockchip_Kernel|Rockchip Kernel]] **[[Upstream_Kernel|Upstream Kernel]] **[[Atf|ARM Trusted&nbsp;Firmware]] *'''Graphics and Multimedia&nbsp;user guide''' **[[Graphics|Graphics and display]] **[[Mpp|Multimedia--Video Codec]] **[[Camera|Multimedia--Camera]] *'''Tool and Firmware Upgrade''' **[[Rockusb|Rockusb]] **[[Rkdeveloptool|Rkdeveloptool]] **[[Boot_option|Boot_option]] '''<span style="font-size:xx-large;">Feedback</span>''' Any question about software module on github, please ask&nbsp;at issue page of github project. If you have any other questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website, Email-to: opensource@rock-chips.com aa48985064a9a3c56164885550c36a21ff7dee06 1658 1655 2017-12-04T09:59:11Z Admin 1 wikitext text/x-wiki = '''Source code''' = Rockchip provide open source software on Github including fully support for Linux Based OS: *Github: [https://github.com/rockchip-linux rockchip-linux] You can also find software for Rockchip SoCs from Upstream: *[https://www.kernel.org/ Linux kernel] *[http://www.denx.de/wiki/U-Boot/WebHome U-Boot] *[https://github.com/ARM-software/arm-trusted-firmware ARM Trusted Firmware] If you are using a Chrombook with Rockchip SoC, you can use: *[https://chromium.googlesource.com/chromiumos/third_party/coreboot Chromium OS&nbsp;Coreboot] *[https://chromium.googlesource.com/chromiumos/third_party/kernel Chromium OS kernel] &nbsp; &nbsp; &nbsp; = '''Hardware Document''' = Here are the documents for SoCs, you can find&nbsp;Hardware device/board information on [[Devices|DEVICE PAGE]]. {| border="1" cellpadding="0" cellspacing="0" class="table_style" |- ! style="width:92px;" | <p style="text-align: center;">SoC</p> ! style="width:286px;" | <p style="text-align: center;">Description</p> ! style="width:189px;" | <p style="text-align: center;">Download</p> |- | style="width: 92px; text-align: center;" | [[RK3036|RK3036]] | style="width:286px;" | Dual-core Cortex-A7,&nbsp;Mali 400 MP1 GPU | style="width:189px;" | [[Media:Schematic&Layout_Guide|Schematic&Layout Guide]] |- | style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p> | style="width:286px;" | Quad-core Cortex-A17 CPU, MALI-T764 GPU | style="width:189px;" | [[Media:Rockchip_RK3288_TRM_V1.2_Part1-20170321.pdf|TRM]], [[Media:Rockchip_RK3288_Datasheet_V2.2-20170301.pdf|Datasheet]],&nbsp; [[Media:Rk3288_hardware_reference.zip|Schematic&Layout Guide]] |- | style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p> | style="width:286px;" | Quad-core Cortex-A53 CPU,MALI-450MP2 GPU | style="width:189px;" | [[Media:Rockchip_RK3328TRM_V1.1-Part1-20170321.pdf|TRM]], [[Media:Rockchip_RK3328_Datasheet_V1.1-20170309.pdf|Datasheet]],&nbsp; [[Media:Rk3328_hardware_reference.zip|Schematic&Layout Guide]] |- | style="width:92px;" | <p style="text-align: center;">[[RK3399|RK3399]]</p> | style="width:286px;" | Dual-core Cortex-A72, Quad-core Cortex-A53 CPU, MALI-T864 GPU | style="width:189px;" | [[Media:Rockchip_RK3399TRM_V1.4_Part1-20170408.pdf|TRM]], [[Media:Rockchip_RK3399_Datasheet_V1.6-20170301.pdf|Datasheet]],&nbsp; [[Media:Rk3399_hardware_reference.zip|Schematic&Layout Guide]] |} &nbsp; &nbsp; &nbsp; = '''Software development&nbsp;''' = '''&nbsp; &nbsp; &nbsp; &nbsp;Software Status[[Status_Matrix|Matrix]]''' *'''Porting guide for Linux based OS/Distribution''' **[[Linux_user_guide|Linux_user_guide]] **[[Debian|Debian]] **[[Yocto|Yocto]] **[[Buildroot|Buildroot]] **[[Distribution|Other distribution]] *'''BSP module user guide''' **[[U-Boot|U-Boot]]&nbsp; **[[Rockchip_Kernel|Rockchip Kernel]] **[[Upstream_Kernel|Upstream Kernel]] **[[Atf|ARM Trusted&nbsp;Firmware]] *'''Graphics and Multimedia&nbsp;user guide''' **[[Graphics|Graphics and display]] **[[Mpp|Multimedia--Video Codec]] **[[Camera|Multimedia--Camera]] *'''Tool and Firmware Upgrade''' **[[Rockusb|Rockusb]] **[[Rkdeveloptool|Rkdeveloptool]] **[[Boot_option|Boot_option]] '''<span style="font-size:xx-large;">Feedback</span>''' Any question about software module on github, please ask&nbsp;at issue page of github project. If you have any other questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website, Email-to: opensource@rock-chips.com fe4968cf658d2aa8fbe10653c421f2de7ee8fa17 1673 1658 2017-12-06T08:27:41Z Admin 1 wikitext text/x-wiki = '''Source code''' = Rockchip provide open source software on Github including fully support for Linux Based OS: *Github: [https://github.com/rockchip-linux rockchip-linux] You can also find software for Rockchip SoCs from Upstream: *[https://www.kernel.org/ Linux kernel] *[http://www.denx.de/wiki/U-Boot/WebHome U-Boot] *[https://github.com/ARM-software/arm-trusted-firmware ARM Trusted Firmware] If you are using a Chrombook with Rockchip SoC, you can use: *[https://chromium.googlesource.com/chromiumos/third_party/coreboot Chromium OS&nbsp;Coreboot] *[https://chromium.googlesource.com/chromiumos/third_party/kernel Chromium OS kernel] &nbsp; &nbsp; &nbsp; = '''Hardware Document''' = Here are the documents for SoCs, you can find&nbsp;Hardware device/board information on [[Devices|DEVICE PAGE]]. {| border="1" cellpadding="0" cellspacing="0" class="table_style" |- ! style="width:92px;" | <p style="text-align: center;">SoC</p> ! style="width:286px;" | <p style="text-align: center;">Description</p> ! style="width:189px;" | <p style="text-align: center;">Download</p> |- | style="width: 92px; text-align: center;" | [[RK3036|RK3036]] | style="width:286px;" | Dual-core Cortex-A7,&nbsp;Mali 400 MP1 GPU | style="width:189px;" | [[Media:Rk3036_hardware_reference.zip|Schematic&Layout Guide]] |- | style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p> | style="width:286px;" | Quad-core Cortex-A17 CPU, MALI-T764 GPU | style="width:189px;" | [[Media:Rockchip_RK3288_TRM_V1.2_Part1-20170321.pdf|TRM]], [[Media:Rockchip_RK3288_Datasheet_V2.2-20170301.pdf|Datasheet]],&nbsp; [[Media:Rk3288_hardware_reference.zip|Schematic&Layout Guide]] |- | style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p> | style="width:286px;" | Quad-core Cortex-A53 CPU,MALI-450MP2 GPU | style="width:189px;" | [[Media:Rockchip_RK3328TRM_V1.1-Part1-20170321.pdf|TRM]], [[Media:Rockchip_RK3328_Datasheet_V1.1-20170309.pdf|Datasheet]],&nbsp; [[Media:Rk3328_hardware_reference.zip|Schematic&Layout Guide]] |- | style="width:92px;" | <p style="text-align: center;">[[RK3399|RK3399]]</p> | style="width:286px;" | Dual-core Cortex-A72, Quad-core Cortex-A53 CPU, MALI-T864 GPU | style="width:189px;" | [[Media:Rockchip_RK3399TRM_V1.4_Part1-20170408.pdf|TRM]], [[Media:Rockchip_RK3399_Datasheet_V1.6-20170301.pdf|Datasheet]],&nbsp; [[Media:Rk3399_hardware_reference.zip|Schematic&Layout Guide]] |} &nbsp; &nbsp; &nbsp; = '''Software development&nbsp;''' = '''&nbsp; &nbsp; &nbsp; &nbsp;Software Status[[Status_Matrix|Matrix]]''' *'''Porting guide for Linux based OS/Distribution''' **[[Linux_user_guide|Linux_user_guide]] **[[Debian|Debian]] **[[Yocto|Yocto]] **[[Buildroot|Buildroot]] **[[Distribution|Other distribution]] *'''BSP module user guide''' **[[U-Boot|U-Boot]]&nbsp; **[[Rockchip_Kernel|Rockchip Kernel]] **[[Upstream_Kernel|Upstream Kernel]] **[[Atf|ARM Trusted&nbsp;Firmware]] *'''Graphics and Multimedia&nbsp;user guide''' **[[Graphics|Graphics and display]] **[[Mpp|Multimedia--Video Codec]] **[[Camera|Multimedia--Camera]] *'''Tool and Firmware Upgrade''' **[[Rockusb|Rockusb]] **[[Rkdeveloptool|Rkdeveloptool]] **[[Boot_option|Boot_option]] '''<span style="font-size:xx-large;">Feedback</span>''' Any question about software module on github, please ask&nbsp;at issue page of github project. If you have any other questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website, Email-to: opensource@rock-chips.com 800b8b03c4cbf3f882f1077d38ddee1c93db2bb0 1674 1673 2017-12-06T08:28:45Z Admin 1 wikitext text/x-wiki = '''Source code''' = Rockchip provide open source software on Github including fully support for Linux Based OS: *Github: [https://github.com/rockchip-linux rockchip-linux] You can also find software for Rockchip SoCs from Upstream: *[https://www.kernel.org/ Linux kernel] *[http://www.denx.de/wiki/U-Boot/WebHome U-Boot] *[https://github.com/ARM-software/arm-trusted-firmware ARM Trusted Firmware] If you are using a Chrombook with Rockchip SoC, you can use: *[https://chromium.googlesource.com/chromiumos/third_party/coreboot Chromium OS&nbsp;Coreboot] *[https://chromium.googlesource.com/chromiumos/third_party/kernel Chromium OS kernel] &nbsp; &nbsp; &nbsp; = '''Hardware Document''' = Here are the documents for SoCs, you can find&nbsp;Hardware device/board information on [[Devices|DEVICE PAGE]]. {| border="1" cellpadding="0" cellspacing="0" class="table_style" |- ! style="width:92px;" | <p style="text-align: center;">SoC</p> ! style="width:286px;" | <p style="text-align: center;">Description</p> ! style="width:189px;" | <p style="text-align: center;">Download</p> |- | style="width: 92px; text-align: center;" | [[RK3036|RK3036]] | style="width:286px;" | Dual-core Cortex-A7,&nbsp;Mali 400 MP1 GPU | style="width:189px;" | [[Media:RK3036_hardware_reference.zip|Schematic&Layout Guide]] |- | style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p> | style="width:286px;" | Quad-core Cortex-A17 CPU, MALI-T764 GPU | style="width:189px;" | [[Media:Rockchip_RK3288_TRM_V1.2_Part1-20170321.pdf|TRM]], [[Media:Rockchip_RK3288_Datasheet_V2.2-20170301.pdf|Datasheet]],&nbsp; [[Media:Rk3288_hardware_reference.zip|Schematic&Layout Guide]] |- | style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p> | style="width:286px;" | Quad-core Cortex-A53 CPU,MALI-450MP2 GPU | style="width:189px;" | [[Media:Rockchip_RK3328TRM_V1.1-Part1-20170321.pdf|TRM]], [[Media:Rockchip_RK3328_Datasheet_V1.1-20170309.pdf|Datasheet]],&nbsp; [[Media:Rk3328_hardware_reference.zip|Schematic&Layout Guide]] |- | style="width:92px;" | <p style="text-align: center;">[[RK3399|RK3399]]</p> | style="width:286px;" | Dual-core Cortex-A72, Quad-core Cortex-A53 CPU, MALI-T864 GPU | style="width:189px;" | [[Media:Rockchip_RK3399TRM_V1.4_Part1-20170408.pdf|TRM]], [[Media:Rockchip_RK3399_Datasheet_V1.6-20170301.pdf|Datasheet]],&nbsp; [[Media:Rk3399_hardware_reference.zip|Schematic&Layout Guide]] |} &nbsp; &nbsp; &nbsp; = '''Software development&nbsp;''' = '''&nbsp; &nbsp; &nbsp; &nbsp;Software Status[[Status_Matrix|Matrix]]''' *'''Porting guide for Linux based OS/Distribution''' **[[Linux_user_guide|Linux_user_guide]] **[[Debian|Debian]] **[[Yocto|Yocto]] **[[Buildroot|Buildroot]] **[[Distribution|Other distribution]] *'''BSP module user guide''' **[[U-Boot|U-Boot]]&nbsp; **[[Rockchip_Kernel|Rockchip Kernel]] **[[Upstream_Kernel|Upstream Kernel]] **[[Atf|ARM Trusted&nbsp;Firmware]] *'''Graphics and Multimedia&nbsp;user guide''' **[[Graphics|Graphics and display]] **[[Mpp|Multimedia--Video Codec]] **[[Camera|Multimedia--Camera]] *'''Tool and Firmware Upgrade''' **[[Rockusb|Rockusb]] **[[Rkdeveloptool|Rkdeveloptool]] **[[Boot_option|Boot_option]] '''<span style="font-size:xx-large;">Feedback</span>''' Any question about software module on github, please ask&nbsp;at issue page of github project. If you have any other questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website, Email-to: opensource@rock-chips.com 23b7233e8d9de64738d89e57a13e79ccb4526502 1684 1674 2017-12-06T10:03:05Z Admin 1 wikitext text/x-wiki = '''Source code''' = Rockchip provide open source software on Github including fully support for Linux Based OS: *Github: [https://github.com/rockchip-linux rockchip-linux] You can also find software for Rockchip SoCs from Upstream: *[https://www.kernel.org/ Linux kernel] *[http://www.denx.de/wiki/U-Boot/WebHome U-Boot] *[https://github.com/ARM-software/arm-trusted-firmware ARM Trusted Firmware] If you are using a Chrombook with Rockchip SoC, you can use: *[https://chromium.googlesource.com/chromiumos/third_party/coreboot Chromium OS&nbsp;Coreboot] *[https://chromium.googlesource.com/chromiumos/third_party/kernel Chromium OS kernel] &nbsp; &nbsp; &nbsp; = '''Hardware Document''' = Here are the documents for SoCs, you can find&nbsp;Hardware device/board information on [[Devices|DEVICE PAGE]]. {| border="1" cellpadding="0" cellspacing="0" class="table_style" |- ! style="width:92px;" | <p style="text-align: center;">SoC</p> ! style="width:286px;" | <p style="text-align: center;">Description</p> ! style="width:189px;" | <p style="text-align: center;">Download</p> |- | style="width: 92px; text-align: center;" | [[RK3036|RK3036]] | style="width:286px;" | Dual-core Cortex-A7,&nbsp;Mali 400 MP1 GPU | style="width:189px;" | [[Media:Rockchip_RK3036_Datasheet_V1.2_20160115.pdf|Datasheet]],&nbsp;[[Media:RK3036_hardware_reference.zip|Schematic&Layout Guide]] |- | style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p> | style="width:286px;" | Quad-core Cortex-A17 CPU, MALI-T764 GPU | style="width:189px;" | [[Media:Rockchip_RK3288_TRM_V1.2_Part1-20170321.pdf|TRM]], [[Media:Rockchip_RK3288_Datasheet_V2.2-20170301.pdf|Datasheet]],&nbsp; [[Media:Rk3288_hardware_reference.zip|Schematic&Layout Guide]] |- | style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p> | style="width:286px;" | Quad-core Cortex-A53 CPU,MALI-450MP2 GPU | style="width:189px;" | [[Media:Rockchip_RK3328TRM_V1.1-Part1-20170321.pdf|TRM]], [[Media:Rockchip_RK3328_Datasheet_V1.1-20170309.pdf|Datasheet]],&nbsp; [[Media:Rk3328_hardware_reference.zip|Schematic&Layout Guide]] |- | style="width:92px;" | <p style="text-align: center;">[[RK3399|RK3399]]</p> | style="width:286px;" | Dual-core Cortex-A72, Quad-core Cortex-A53 CPU, MALI-T864 GPU | style="width:189px;" | [[Media:Rockchip_RK3399TRM_V1.4_Part1-20170408.pdf|TRM]], [[Media:Rockchip_RK3399_Datasheet_V1.6-20170301.pdf|Datasheet]],&nbsp; [[Media:Rk3399_hardware_reference.zip|Schematic&Layout Guide]] |} &nbsp; &nbsp; &nbsp; = '''Software development&nbsp;''' = '''&nbsp; &nbsp; &nbsp; &nbsp;Software Status[[Status_Matrix|Matrix]]''' *'''Porting guide for Linux based OS/Distribution''' **[[Linux_user_guide|Linux_user_guide]] **[[Debian|Debian]] **[[Yocto|Yocto]] **[[Buildroot|Buildroot]] **[[Distribution|Other distribution]] *'''BSP module user guide''' **[[U-Boot|U-Boot]]&nbsp; **[[Rockchip_Kernel|Rockchip Kernel]] **[[Upstream_Kernel|Upstream Kernel]] **[[Atf|ARM Trusted&nbsp;Firmware]] *'''Graphics and Multimedia&nbsp;user guide''' **[[Graphics|Graphics and display]] **[[Mpp|Multimedia--Video Codec]] **[[Camera|Multimedia--Camera]] *'''Tool and Firmware Upgrade''' **[[Rockusb|Rockusb]] **[[Rkdeveloptool|Rkdeveloptool]] **[[Boot_option|Boot_option]] '''<span style="font-size:xx-large;">Feedback</span>''' Any question about software module on github, please ask&nbsp;at issue page of github project. If you have any other questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website, Email-to: opensource@rock-chips.com 6d239fe57efd290f40e76118b8737b2292d91e8a File:RK3036 hardware reference.zip 6 180 1657 2017-12-04T08:22:34Z Admin 1 Created page with " &nbsp;" wikitext text/x-wiki &nbsp; 9012a5db0e48f472dc89e97fa239cc9970681b37 Board Config 0 160 1659 1474 2017-12-05T03:52:42Z Jacob 6 wikitext text/x-wiki = Board config = == defconfig and dts == <span style="font-size: 13px; line-height: 1.6;">Every Board has its device tree file and config file required by the kernel and uboot. Therefore, you will need to choose the correct dts and config to build the source.Below list various Boards and the matching file.</span> {| border="1" class="table_style" style="width: 920px;" |- ! rowspan="2" style="width: 153px;" | board ! rowspan="2" style="width: 172px;" | uboot ! rowspan="2" style="width: 167px;" | kernel config ! rowspan="2" style="width: 287px;" | kernel dts ! colspan="3" rowspan="1" style="width: 287px;" | Hardware |- ! style="width: 287px;" | DDR ! style="width: 287px;" | PMIC ! style="width: 287px;" | Boot |- | style="width: 153px;" | rk3288-evb | style="width: 172px;" | evb-rk3288_defconfig | style="width: 167px;" | rockchip_linux_defconfig | style="width: 287px;" | rk3288-evb-act8846.dts&nbsp; | style="width: 287px; text-align: center;" | &nbsp;LPDDR3 | style="width: 287px; text-align: center;" | &nbsp;act8846 | style="width: 287px; text-align: center;" | emmc boot |- | style="width: 153px;" | rk3288-evb-rk808 | style="width: 172px;" | fennec-rk3288_defconfig | style="width: 167px;" | rockchip_linux_defconfig | style="width: 287px;" | rk3288-evb-rk808-linux.dts | style="width: 287px; text-align: center;" | LPDDR3 | style="width: 287px; text-align: center;" | rk808 | style="width: 287px; text-align: center;" | emmc boot |- | style="width: 153px;" | rk3288-fennec | style="width: 172px;" | fennec-rk3288_defconfig | style="width: 167px;" | rockchip_linux_defconfig | style="width: 287px;" | rk3288-fennec.dts | style="width: 287px; text-align: center;" | LPDDR3 | style="width: 287px; text-align: center;" | rk808 | style="width: 287px; text-align: center;" | emmc boot |- | style="width: 153px;" | rk3288-miniarm | style="width: 172px;" | tinker-rk3288_defconfig | style="width: 167px;" | rockchip_linux_defconfig | style="width: 287px;" | rk3288-miniarm.dts | style="width: 287px; text-align: center;" | LPDDR3 | style="width: 287px; text-align: center;" | rk808 | style="width: 287px; text-align: center;" | sd-card boot |- | style="width: 153px;" | rk3288-firefly | style="width: 172px;" | firefly-rk3288_defconfig | style="width: 167px;" | rockchip_linux_defconfig | style="width: 287px;" | rk3288-firefly.dts | style="width: 287px; text-align: center;" | DDR3 | style="width: 287px; text-align: center;" | rk808 | style="width: 287px; text-align: center;" | sd-card boot |- | style="width: 153px;" | rk3288-phytec | style="width: 172px;" | phtec-rk3288_defconfig | style="width: 167px;" | rockchip_linux_defconfig | style="width: 287px;" | rk3288-phytec-rdk.dts | style="width: 287px; text-align: center;" | DDR3 | style="width: 287px; text-align: center;" | rk818 | style="width: 287px; text-align: center;" | emmc boot |- | style="width: 153px;" | rk3328-evb | style="width: 172px;" | evb-rk3328_defconfig | style="width: 167px;" | rockchip_linux_defconfig | style="width: 287px;" | rk3328-evb.dts | style="width: 287px; text-align: center;" | DDR3 | style="width: 287px; text-align: center;" | rk805 | style="width: 287px; text-align: center;" | emmc boot |- | style="width: 153px;" | rk3399-excavator | style="width: 172px;" | evb-rk3399_defconfig | style="width: 167px;" | rockchip_linux_defconfig | style="width: 287px;" | rk3399-sapphire-excavator-linux.dts | style="width: 287px; text-align: center;" | LPDDR4 | style="width: 287px; text-align: center;" | rk808 | style="width: 287px; text-align: center;" | emmc boot |- | style="width: 153px;" | rk3399-firefly | style="width: 172px;" | firefly-rk3399_defconfig | style="width: 167px;" | rockchip_linux_defconfig | style="width: 287px;" | rk3399-firefly-linux.dts | style="width: 287px; text-align: center;" | LPDDR4 | style="width: 287px; text-align: center;" | rk808 | style="width: 287px; text-align: center;" | emmc boot |- | style="width: 153px;" | rk3036-kylin | style="width: 172px;" | kylin-rk3036_defconfig | style="width: 167px;" | rockchip_linux_defconfig | style="width: 287px;" | rk3036-kylin.dts | style="width: 287px; text-align: center;" | DDR3 | style="width: 287px; text-align: center;" | rk808 | style="width: 287px; text-align: center;" | emmc boot |} &nbsp; == Config Per Chip == {| border="1" class="table_style" |- ! chip ! Kernel eMMC index ! Kernel SD index ! Uboot eMMC index ! Uboot SD index ! Baud speed |- | rk3399 | 1 | 0 | 0 | 1 | 1500000 |- | rk3328 | 2 | 0 | 0 | 1 | 1500000 |- | rk3288 | 2 | 0 | 0 | 1 | 115200 |- | rk3036 | 2 | 0 | 0 | - | 115200 |} ---- 431e22e9abc9bc4a9a0f52f4400d50d380fc530d Rockchip-isp1 0 171 1663 1651 2017-12-05T06:47:12Z Jacob 6 wikitext text/x-wiki NOTE: Under Construction &nbsp; = Overview = The document below&nbsp;provide&nbsp;basical informations&nbsp;about the&nbsp;rockchip-isp1 driver driver and&nbsp;Image Signal Processing block on Rockchip SoC&nbsp;with&nbsp;examples and details. = Hardware = More detailed information could be found in TRM chapter "Image Signal Processing", "MIPI D-PHY"&nbsp;, but they are only available under&nbsp;NDA. == ISP Details == ISP comprises with: *MIPI serial camera interface *Image Signal Processing *Many Image Enhancement Blocks *Crop *Resize === Block diagram === The completed block diagram&nbsp;can not be pasted from&nbsp;datasheet&nbsp;to here, below&nbsp;diagram&nbsp;is an abstract version: [[File:Block.png|1200px|Blocks.png]] &nbsp; == MIPI Details == There are three D-PHY instances in rockchip SoC, their connection are shown as following figure: [[File:Phy.png|600px|Phy.png]] = Software = == Driver == rockchip-isp1 is a V4L2 based driver for Image Signal Processing block on Rockchip SoC. Compared to the earlier driver&nbsp;rk-isp10, it use&nbsp;Media Controller&nbsp;framework, which it's different from plain v4L2. While the plain v4L2 had a view of the device as a plain DMA based image drabber which connects the input data to the host memory, the Media Controller takes into consideration the fact that a typical video device might consist of multiple sub-devices. === Media Controller Basics === Please read below link carefully,&nbsp;especially if you don't have use it before. [https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.html https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.html] === Block diagram === ==== File view ==== [[File:Code.png|1200px|Code.png]] ==== V4l2 view ==== [[File:Rockchip-isp1-v4l2.png|800px|Rockchip-isp1-v4l2.png]] {| border="1" class="table_style" style="width: 768px;" |- ! style="width: 165px;" | Name ! style="width: 131px;" | Type ! style="width: 450px;" | Description |- | style="width: 165px;" | rkisp1_mainpath | style="width: 131px;" | v4l2_vdev, capture | style="width: 450px;" | Format: YUV, RAW Bayer; Max resolution: 4416*3312;&nbsp;Support: Crop |- | style="width: 165px;" | rkisp1_selfpath | style="width: 131px;" | v4l2_vdev, capture | style="width: 450px;" | Format: YUV, RGB; Max resolution: 1920*1080; Support: Crop |- | style="width: 165px;" | rkisp1-isp-subdev | style="width: 131px;" | v4l2_subdev | style="width: 450px;" | Internal isp blocks; Support: source/sink pad crop. The format on sink pad&nbsp;should be equal to sensor input format, the size should be equal/less than&nbsp;sensor input size. The format on source pad&nbsp;should be equal to vdev output format if output format is raw bayer, otherwise it should be&nbsp; YUYV2X8. The size should be equal/less than&nbsp;sink pad size. |- | style="width: 165px;" | rockchip-sy-mipi-dphy | style="width: 131px;" | v4l2_subdev | style="width: 450px;" | MIPI-DPHY&nbsp;Configure |- | style="width: 165px;" | rkisp1-statistics | style="width: 131px;" | v4l2_vdev, capture | style="width: 450px;" | Provide Image color Statistics information. |- | style="width: 165px;" | rkisp1-input-params | style="width: 131px;" | v4l2_vdev, output | style="width: 450px;" | Accept params for AWB, BLC...... Image enhancement blcoks |} === Sensor Driver Requirement === The sensor driver should implement controls in the following table.&nbsp; {| border="1" class="table_style" |- ! Controls ! Description ! R/W ! Needed by |- | V4L2_CID_VBLANK | <span style="font-size:smaller;">Vertical blanking. The idle period after every frame during which no image data is produced. The unit of vertical blanking is a line. Every line has length of the image width plus horizontal blanking at the pixel rate defined by&nbsp;<code>V4L2_CID_PIXEL_RATE</code>&nbsp;control in the same sub-device.</span> | R | Ae |- | V4L2_CID_HBLANK | <span style="font-size:smaller;">Horizontal blanking. The idle period after every line of image data during which no image data is produced. The unit of horizontal blanking is pixels.</span> | R | Ae |- | V4L2_CID_EXPOSURE | <span style="font-size:smaller;">Determines the exposure time of the camera sensor. The exposure time is limited by the frame interval. Drivers should interpret the values as 100 µs units, where the value 1 stands for 1/10000th of a second, 10000 for 1 second and 100000 for 10 seconds.</span> | R/W | Ae |- | V4L2_CID_ANALOGUE_GAIN | <span style="font-size:smaller;">Analogue gain is gain affecting all colour components in the pixel matrix. The gain operation is performed in the analogue domain before A/D conversion.</span> | R/W | Ae |- | V4L2_CID_DIGITAL_GAIN | <span style="font-size:smaller;">Digital gain is the value by which all colour components are multiplied by. Typically the digital gain applied is the control value divided by e.g. 0x100, meaning that to get no digital gain the control value needs to be 0x100. The no-gain configuration is also typically the default.</span> | R/W | Ae |- | V4L2_CID_PIXEL_RATE | <span style="font-size:smaller;">Pixel rate in the source pads of the subdev. This control is read-only and its unit is pixels / second.</span> | R | Ae |- | V4L2_CID_LINK_FREQ | <span style="font-size:smaller;">Data bus frequency. Together with the media bus pixel code, bus type (clock cycles per sample), the data bus frequency defines the pixel rate (<code>V4L2_CID_PIXEL_RATE</code>) in the pixel array (or possibly elsewhere, if the device is not an image sensor). The frame rate can be calculated from the pixel clock, image width and height and horizontal and vertical blanking. While the pixel rate control may be defined elsewhere than in the subdev containing the pixel array, the frame rate cannot be obtained from that information. This is because only on the pixel array it can be assumed that the vertical and horizontal blanking information is exact: no other blanking is allowed in the pixel array. The selection of frame rate is performed by selecting the desired horizontal and vertical blanking. The unit of this control is Hz.</span> | R | mipi-dphy |} === Devicetree Bindings(tmp) === [https://github.com/wzyy2/linux/blob/rkisp1/Documentation/devicetree/bindings/media/rockchip-isp1.txt https://github.com/wzyy2/linux/blob/rkisp1/Documentation/devicetree/bindings/media/rockchip-isp1.txt] [https://github.com/wzyy2/linux/blob/rkisp1/Documentation/devicetree/bindings/media/rockchip-mipi-dphy.txt https://github.com/wzyy2/linux/blob/rkisp1/Documentation/devicetree/bindings/media/rockchip-mipi-dphy.txt] == Linux == === User applications&nbsp; === The applcation for&nbsp;plain v4L2 capture device still can be used(like gstreamer v4l2src plugins, v4l2ctl), but the media&nbsp;controller must be setup in a&nbsp;proper state before starting capture.<br/> The applications for Video Capture with rockchip-isp1 driver&nbsp;should do things like the following commands: <pre>media-ctl -l '"rockchip-sy-mipi-dphy":1->"rkisp1-isp-subdev":0[1]' media-ctl -l '"rkisp1-input-params":0->"rkisp1-isp-subdev":1[1]' media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_selfpath":0[1]' media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_mainpath":0[1]' media-ctl -l '"rkisp1-isp-subdev":3->"rkisp1-statistics":0[1]' # Media graph have been initializated when kernel driver probing, so above commands don't have to be called, though please note that they can be changed in the runtime # Set pad formats ## rkisp1 source pad media-ctl -set-v4l2 '"rkisp1-isp-subdev":2[fmt:YUYV2X8/800x600]' ## rkisp1 sink pad == sensor source [ad] media-ctl --set-v4l2 '"rkisp1-isp-subdev":0[fmt:SRGGB10/800*600]' media-ctl --set-v4l2 '"ov2685 7-0010":0[fmt:SRGGB10/800*600]' # Set link(Assume there are two sensors in one mipi-phy) ## Enable sensor1 media-ctl -l '"ov2685 7-0010":0->"rockchip-sy-mipi-dphy":0[1]' ## Disable sensor2 media-ctl -l '"ov5695 7-0036":0->"rockchip-sy-mipi-dphy":0[0]' # Start capture v4l2-ctl xxxxxxx </pre> ==== <del>Integrate 3A&nbsp;algorithm</del> ==== ==== <del>Multi sensors</del> ==== ==== <del>Multi paths</del> ==== Record, Preview, Still Capture&nbsp;in different resolution&nbsp;at a time. selfpath and mainpath can work at a time, but it need some&nbsp;specific&nbsp;operations. === Gstreamer === We have writen a gstreamer plugin, [https://github.com/rockchip-linux/gstreamer-rockchip-extra rkcamsrc], which is simply modified from gstreamer v4l2src plugin. [[File:Rkcamsrc.png|500px|RTENOTITLE]] Please refer to readme in github for usage. == Android == === <del>Camera Hal3</del> === [https://source.android.com/devices/camera/camera3?hl=zh-cn https://source.android.com/devices/camera/camera3] = Reproduce = The driver currently can run&nbsp;on ASUS Tinker Board and Firefly-RK3288-Reload + Rockchip&nbsp;Debian/Yocto SDK. == Source Code == === Kernel === #4.15 + [https://patchwork.linuxtv.org/project/linux-media/list/?submitter=7231 FORMLIST Patches] #[https://github.com/rockchip-linux/kernel/tree/isp-early-access Rockchip 4.4 BSP] === Sensor Driver === #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/imx219.c IMX219] #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/ov5647.c OV5647] #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/tc35874x.c TC35874X] === Device Tree === #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/arch/arm/boot/dts/rk3288-miniarm.dts Tinker Board] #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/arch/arm/boot/dts/rk3288-firefly.dtsi Firefly-rk3288-Reload] == Test Command == <pre>cat /sys/class/video4linux/video*/name # get self_path videox and main_path videox+1 gst-launch-1.0 rkcamsrc device=/dev/videox+1 io-mode=4 disable-3A=true&nbsp;! videoconvert&nbsp;! video/x-raw,format=NV12,width=640,height=480&nbsp;! kmssink</pre> = Others = == Topology == <pre>Media device information ------------------------ driver rkisp1 model rkisp1 serial bus info hw revision 0x0 driver version 0.0.0 Device topology - entity 1: rkisp1-isp-subdev (4 pads, 5 links) type V4L2 subdev subtype Unknown flags 0 device node name /dev/v4l-subdev0 pad0: Sink [fmt:SBGGR10_1X10/800x600 field:none crop.bounds:(0,0)/800x600 crop:(0,0)/800x600] <- "rockchip-sy-mipi-dphy":1 [ENABLED] pad1: Sink <- "rkisp1-input-params":0 [ENABLED] pad2: Source [fmt:SBGGR10_1X10/800x600 field:none crop.bounds:(0,0)/800x600 crop:(0,0)/800x600] -> "rkisp1_selfpath":0 [ENABLED] -> "rkisp1_mainpath":0 [ENABLED] pad3: Source -> "rkisp1-statistics":0 [ENABLED] - entity 2: rkisp1_selfpath (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video0 pad0: Sink <- "rkisp1-isp-subdev":2 [ENABLED] - entity 3: rkisp1_mainpath (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video1 pad0: Sink <- "rkisp1-isp-subdev":2 [ENABLED] - entity 4: rkisp1-statistics (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video2 pad0: Sink <- "rkisp1-isp-subdev":3 [ENABLED] - entity 5: rkisp1-input-params (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video3 pad0: Source -> "rkisp1-isp-subdev":1 [ENABLED] - entity 6: rockchip-sy-mipi-dphy (2 pads, 2 links) type V4L2 subdev subtype Unknown flags 0 device node name /dev/v4l-subdev1 pad0: Sink [fmt:SRGGB10_1X10/3280x2464 field:none] <- "imx219 2-0010":0 [ENABLED] pad1: Source [fmt:SRGGB10_1X10/3280x2464 field:none] -> "rkisp1-isp-subdev":0 [ENABLED] - entity 7: imx219 2-0010 (1 pad, 1 link) type V4L2 subdev subtype Sensor flags 0 device node name /dev/v4l-subdev2 pad0: Source [fmt:SRGGB10_1X10/3280x2464 field:none] -> "rockchip-sy-mipi-dphy":0 [ENABLED]</pre> 267667a9f11affa54c75067e97ecb8e35ca9caa8 File:Rk3036.jpg 6 181 1664 2017-12-06T07:43:55Z Admin 1 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 RK3036 0 182 1665 2017-12-06T07:44:19Z Admin 1 Created page with " Rockchip RK3036 is a low power, high performance processor solution for IoT, OTT TV BOX, and other digital multimedia applications, and integrates dual-core Cortex-A7, with s..." wikitext text/x-wiki Rockchip RK3036 is a low power, high performance processor solution for IoT, OTT TV BOX, and other digital multimedia applications, and integrates dual-core Cortex-A7, with separate NEON coprocessor and 128KB L2 Cache.It also integrates Mali 400 GPU. &nbsp; = Overview = ---- RK3036 have very good Linux support including U-Boot, kernel, graphics, video decoder and encoder. = RK3036 SoC Feature = &nbsp; ---- *CPU **Dual-core ARM Cortex-A7 MPCore processor, a high-performance, low-power and cached application processor **Full implementation of the ARM architecture v7-A instruction set, ARM Neon Advanced SIMD (single instruction, multiple data) support for accelerated media and signal processing computation **Integrated 32KB L1 instruction cache, 32KB L1 data cache with 4-way set associative **128KByte unified L2 Cache *GPU **ARM Mali400 **High performance OpenGL ES1.1 and 2.0, OpenVG1.1 etc **Embedded 1 shader core with shared hierarchical tiler *Memory **8KB internal SRAM **Dynamic Memory Interface (DDR3/DDR3L): Compatible with JEDEC standard DDR3/DDR3L SDRAM. Data rates up to1066Mbps(533MHz) for DDR3/DDR3L. Support up to 2 ranks (chip selects),maximum 1GB address space per rank **Nand Flash Interface: Support asynchronous nand flash, each channel 8bits,1 bank **eMMC Interface: Compatible with standard eMMC interface, Support MMC4.5 protocol **SD/MMC Interface: Compatible with SD2.0, MMC4.5 **Serial Flash Controller(SFC): One on-chip SFC inside RK3036 *System Component **Timer: Four on-chip 64bits Timers in SOC with interrupt-based operation **PWM: Four on-chip PWMs with interrupt-based operation **WatchDog: 32 bits watchdog counter width *Video **Real-time video decoder of MPEG-1, MPEG-2, MPEG-4,H.263, H.264, VP8, MVC **H.264 up to HP level 5.2 : 1080p@30fps (1920x1088) **MPEG-4 up to ASP level 5 : 1080p@30fps (1920x1088) **MPEG-2 up to MP : 1080p@30fps (1920x1088) **MPEG-1 up to MP : 1080p@30fps (1920x1088) **H.263 : 576p@30fps (720x576) **VP8 : 1080p@30fps (1920x1088) **MVC : 1080p@30fps (1920x1088) **HEVC/H.265 decoder according to Main specification. Support up to 1920x1088 (1080P@30fps) resolution *JPEG Codec **Decoder size is from 48x48 to 8176x8176(66.8Mpixels). Maximum data rate is up to 76million pixels per second **Encoder image size up to 8192x8192(64million pixels) from 96x32. Maximum data rate up to 90million pixels per second *Display **HDMI interface: HDMI version 1.4a, HDCP revision 1.2 and DVI version 1.0 compliant transmitter. Supports DTV from 480i to 1080i/p HD resolution **CVBS interface: 10-bit Resolution. PAL/NTSC encoding *Camera **Not camera interface. Only support USB camera *Audio **I2S/PCM with 8 channels: Up to 8 channels (4xTX, 1xRX). Audio resolution from 16bits to 32bits. Sample rate up to 192KHz **SPDIF: Support 8 channels audio stream. **Audio Codec: 24bit DAC with 95dB SNR. Support Line-out. Support Mono, Stereo, 5.1 HiFi channel performance. Integrated digital interpolation and decimation filter. *Connectivity **SDIO interface: Embedded one SDIO interface, Compatible with SDIO 3.0 protocol **EMAC 10/100M Ethernet Controller: IEEE802.3u compliant Ethernet Media Access Controller(MAC). Support only RMII(Reduced MII) mode. 10Mbps and 100Mbps compatible **SPI Controller: One on-chip SPI controller **UART Controller: Three on-chip UART controllers **I2C controller: Three on-chip I2C controllers **USB Host2.0: Compatible with USB Host2.0 specification. Supports high-speed(480Mbps), full-speed(12Mbps) and low-speed(1.5Mbps) mode **USB OTG2.0: Compatible with USB OTG2.0 specification. Supports high-speed(480Mbps), full-speed(12Mbps) and low-speed(1.5Mbps) mode *Other **eFuse: One 256bits high-density electrical Fuse, organized as 32x8bits see&nbsp;[http://www.rock-chips.com/a/cn/product/rk30/2014/0924/520.html http://www.rock-chips.com/a/cn/product/rk30/2014/0924/520.html]&nbsp;for details = Document = ---- = Devices = b79d525b93f0e92ce26d0de18e6cc2234238566a 1666 1665 2017-12-06T07:47:23Z Admin 1 wikitext text/x-wiki {{Infobox SoC | title = RK3288 | image = [[File:rk3288_soc.png|200px]] | manufacturer = Rockcihp | process = 28nm | cpu = Quad-Core ARM Cortex-A17 | ltwo = | extensions = | memory = 2-channel LPDDR3/LPDDR2/DDR3/DDR3L | gpu = ARM Mali-T764 | vpu = | apu = | video = HDMI 1.4, MIPI DSI, LVDS, RGB LCD | audio = I2S, PCM | network = | storage = 4x SD Card, eMMC, NAND | usb = OTG, 2x Host | other = | release_date = June 2014 | website = http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html }} &nbsp; &nbsp; &nbsp; Integrated with a Quad-Core [https://en.wikipedia.org/wiki/ARM_Cortex-A17 Cortex-A17]&nbsp;which up to 1.8GHz and ARMMali-T764&nbsp;which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant&nbsp;interfaces provide&nbsp;a friendly solution for product&nbsp;development. Futhermore &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; = Overview = The RK3288 offers<big><var>&nbsp;</var></big>an extensible, <big><small><tt>leading&nbsp;performance</tt></small></big>, long-standing heritage platform,ideally suited for &nbsp;set-top box solution, tablet and chromebook.The platform is integrated with a Quad-Core Cortex-A17 which up to 1.8GHz and ARM Mali-T764&nbsp;which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant&nbsp;interfaces provide&nbsp;a friendly solution for product&nbsp;development. Futhermore, the power consumption is&nbsp;optimal for applications such as imaging/video, communication and broadband infrastructure,and performance audio applications. &nbsp; &nbsp; = RK3288 SoC Features = {| border="0" cellpadding="1" cellspacing="1" style="width: 972px;" |- | style="width: 530px;" | *CPU: **Quad Core Cortex-A17&nbsp;up to 1.8GHz **32KB L1-Cache **1MB L2-Cache *Internal SRAM **96KB total **First 16KB used by Bootrom when bootup *GPU: **ARM Mali-T764 GPU, with TE, ASTC, AFBC technology **Quad core 3D Graphics engine **Dual core 2D Graphics engine **Comply with&nbsp;OpenGL ES1.1/2.0/3.0, OpenVG1.1, OpenCL, DirectX11 *Display: **4Kx2K@60fpsHDMI2.0 **Up to 3840X2160 display resolution **Support dual-channel LVDS/dual-channel MIPI-DSI/eDP1.1 *Camera: **Support up to 5M pixels **8bits/10bits/12bits raw data interface&nbsp; *Memory: **Dual channels 64-bit DRAM controller **Support DDR3/DDR3L, LPDDR2, LPDDR3 *Connectivity: **Embedded 13M ISP and MIPI-CSI2 interface *Audio: **I2S/PCM with 8 channels | style="width: 429px;" | [[File:3288.png|RTENOTITLE]] |} &nbsp; = Devices = Rockchip: EVB-RK3288 Firefly: [[Firefly-RK3288|Firefly-RK3288]]<br/> [[Rock2_Full|Rock2 Full]]<br/> [[MiQi|MiQi]]<br/> [[Fennec|Fennec]]<br/> [[PhyCORE-RK3288|phyCORE-RK3288]] ASUS: [[ASUS_Tinker|Tinker board]] &nbsp; = Documentation = #[[Media:Rockchip_RK3288_TRM_V1.2_Part1-20170321.pdf|Rockchip RK3288 TRM V1.2 Part1-20170321.pdf]] #[http://opensource.rock-chips.com/images/a/ae/Rk3288_hardware_reference.zip Rk3288_hardware_reference.zip] &nbsp; = Software = See [http://opensource.rock-chips.com/wiki_Linux_user_guide Linux_user_guide] setup Linux OS generally; See [[U-Boot|U-Boot]] guide to develop U-Boot; See [[Rockchip_Kernel|Rockchip kernel]] or [[Upstream_Kernel|Upstream kernel]] to develop kernel; See [[Distribution|Distribution]] to develop and custimize OS. &nbsp; &nbsp; == Board configuration == {| border="1" cellpadding="1" cellspacing="1" class="table_style" |- ! '''board''' ! '''kernel''' ! '''uboot''' ! '''dts''' |- | RK3288_MAINBOARD_V3.0 | rockchip_linux_defconfig | rk3288_linux_defconfig | rk3288-evb-act8846.dts |} &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" class="table_style" |- ! '''chip''' ! '''Kernel eMMC index''' ! '''Kernel SD index''' ! '''Uboot eMMC index''' ! '''Uboot SD index''' ! '''Baud speed''' |- | RK3288 | 1 | 0 | 0 | 1 | 115200 |} = See also = [[RK3328|RK3328]] [[RK3399|RK3399]] = References = #[https://en.wikipedia.org/wiki/ARM_Cortex-A17 https://en.wikipedia.org/wiki/ARM_Cortex-A17] #[http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html] 2ffcca14211e280c961d1b4b115622db870929ff 1667 1666 2017-12-06T07:49:07Z Admin 1 wikitext text/x-wiki {{Infobox SoC | title = RK3288 | image = [[File:rk3288_soc.png|200px]] | manufacturer = Rockcihp | process = 28nm | cpu = Quad-Core ARM Cortex-A17 | ltwo = | extensions = | memory = 2-channel LPDDR3/LPDDR2/DDR3/DDR3L | gpu = ARM Mali-T764 | vpu = | apu = | video = HDMI 1.4, MIPI DSI, LVDS, RGB LCD | audio = I2S, PCM | network = | storage = 4x SD Card, eMMC, NAND | usb = OTG, 2x Host | other = | release_date = June 2014 | website = http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html }} &nbsp; &nbsp; Rockchip RK3036 is a low power, high performance processor solution for IoT, OTT TV BOX, and other digital multimedia applications, and integrates dual-core [[Media:https://en.wikipedia.org/wiki/ARM_Cortex-A7|Cortex-A7]], with separate NEON coprocessor and 128KB L2 Cache.It also integrates Mali 400 GPU. &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; = Overview = The RK3288 offers<big><var>&nbsp;</var></big>an extensible, <big><small><tt>leading&nbsp;performance</tt></small></big>, long-standing heritage platform,ideally suited for &nbsp;set-top box solution, tablet and chromebook.The platform is integrated with a Quad-Core Cortex-A17 which up to 1.8GHz and ARM Mali-T764&nbsp;which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant&nbsp;interfaces provide&nbsp;a friendly solution for product&nbsp;development. Futhermore, the power consumption is&nbsp;optimal for applications such as imaging/video, communication and broadband infrastructure,and performance audio applications. &nbsp; &nbsp; = RK3288 SoC Features = {| border="0" cellpadding="1" cellspacing="1" style="width: 972px;" |- | style="width: 530px;" | *CPU: **Quad Core Cortex-A17&nbsp;up to 1.8GHz **32KB L1-Cache **1MB L2-Cache *Internal SRAM **96KB total **First 16KB used by Bootrom when bootup *GPU: **ARM Mali-T764 GPU, with TE, ASTC, AFBC technology **Quad core 3D Graphics engine **Dual core 2D Graphics engine **Comply with&nbsp;OpenGL ES1.1/2.0/3.0, OpenVG1.1, OpenCL, DirectX11 *Display: **4Kx2K@60fpsHDMI2.0 **Up to 3840X2160 display resolution **Support dual-channel LVDS/dual-channel MIPI-DSI/eDP1.1 *Camera: **Support up to 5M pixels **8bits/10bits/12bits raw data interface&nbsp; *Memory: **Dual channels 64-bit DRAM controller **Support DDR3/DDR3L, LPDDR2, LPDDR3 *Connectivity: **Embedded 13M ISP and MIPI-CSI2 interface *Audio: **I2S/PCM with 8 channels | style="width: 429px;" | [[File:3288.png|RTENOTITLE]] |} &nbsp; = Devices = Rockchip: EVB-RK3288 Firefly: [[Firefly-RK3288|Firefly-RK3288]]<br/> [[Rock2_Full|Rock2 Full]]<br/> [[MiQi|MiQi]]<br/> [[Fennec|Fennec]]<br/> [[PhyCORE-RK3288|phyCORE-RK3288]] ASUS: [[ASUS_Tinker|Tinker board]] &nbsp; = Documentation = #[[Media:Rockchip_RK3288_TRM_V1.2_Part1-20170321.pdf|Rockchip RK3288 TRM V1.2 Part1-20170321.pdf]] #[http://opensource.rock-chips.com/images/a/ae/Rk3288_hardware_reference.zip Rk3288_hardware_reference.zip] &nbsp; = Software = See [http://opensource.rock-chips.com/wiki_Linux_user_guide Linux_user_guide] setup Linux OS generally; See [[U-Boot|U-Boot]] guide to develop U-Boot; See [[Rockchip_Kernel|Rockchip kernel]] or [[Upstream_Kernel|Upstream kernel]] to develop kernel; See [[Distribution|Distribution]] to develop and custimize OS. &nbsp; &nbsp; == Board configuration == {| border="1" cellpadding="1" cellspacing="1" class="table_style" |- ! '''board''' ! '''kernel''' ! '''uboot''' ! '''dts''' |- | RK3288_MAINBOARD_V3.0 | rockchip_linux_defconfig | rk3288_linux_defconfig | rk3288-evb-act8846.dts |} &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" class="table_style" |- ! '''chip''' ! '''Kernel eMMC index''' ! '''Kernel SD index''' ! '''Uboot eMMC index''' ! '''Uboot SD index''' ! '''Baud speed''' |- | RK3288 | 1 | 0 | 0 | 1 | 115200 |} = See also = [[RK3328|RK3328]] [[RK3399|RK3399]] = References = #[https://en.wikipedia.org/wiki/ARM_Cortex-A17 https://en.wikipedia.org/wiki/ARM_Cortex-A17] #[http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html] 31d97d99913707ce180c9d66ec642522ca163e52 1668 1667 2017-12-06T08:06:06Z Admin 1 wikitext text/x-wiki {{Infobox SoC | title = RK3288 | image = [[File:rk3288_soc.png|200px]] | manufacturer = Rockcihp | process = 28nm | cpu = Quad-Core ARM Cortex-A17 | ltwo = | extensions = | memory = 2-channel LPDDR3/LPDDR2/DDR3/DDR3L | gpu = ARM Mali-T764 | vpu = | apu = | video = HDMI 1.4, MIPI DSI, LVDS, RGB LCD | audio = I2S, PCM | network = | storage = 4x SD Card, eMMC, NAND | usb = OTG, 2x Host | other = | release_date = June 2014 | website = http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html }} &nbsp; &nbsp; Rockchip RK3036 is a low power, high performance processor solution for IoT, OTT TV BOX, and other digital multimedia applications, and integrates dual-core [[Media:https://en.wikipedia.org/wiki/ARM_Cortex-A7|Cortex-A7]], with separate NEON coprocessor and 128KB L2 Cache.It also integrates Mali 400 GPU. &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; = Overview = RK3036 is a low power, high performance processor solution for OTT TV BOX, and other<br/> digital multimedia applications, and integrates dual-core Cortex-A7, with separate NEON<br/> coprocessor and 128KB L2 Cache.<br/> Many embedded powerful hardware engines provide optimized performance for high-end<br/> application. RK3036 supports almost full-format 1080P H.264 decoder and H.265 decoder,<br/> high-quality JPEG decoder and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3036 completely compatible with OpenGL ES1.1 and 2.0,<br/> OpenVG1.1 etc.<br/> RK3036 has high-performance external memory interface (DDR3/DDR3L) capable of<br/> sustaining demanding memory bandwidths, also provides a complete set of peripheral<br/> interface to support very flexible applications. &nbsp; &nbsp; = RK3288 SoC Features = {| border="0" cellpadding="1" cellspacing="1" style="width: 972px;" |- | style="width: 530px;" | *CPU: **Quad Core Cortex-A7&nbsp;up to 1.0GHz **32KB L1-Cache **128KB L2-Cache *Internal memory **16KB BootRom **8KB internal SRAM *GPU: **ARM Mali400 **High performance OpenGL ES1.1 and 2.0, OpenVG1.1 etc **Embedded 1 shader core with shared hierarchical tiler *Display: **HDMI interface: HDMI version 1.4a, HDCP revision 1.2 and DVI version 1.0 compliant transmitter. Supports DTV from 480i to 1080i/p HD resolution **CVBS interface: 10-bit Resolution. PAL/NTSC encoding *Camera: **Not camera interface. Only support USB camera *Memory: **8KB internal SRAM **Dynamic Memory Interface (DDR3/DDR3L): Compatible with JEDEC standard DDR3/DDR3L SDRAM. Data rates up to1066Mbps(533MHz) for DDR3/DDR3L. Support up to 2 ranks (chip selects),maximum 1GB address space per rank. *Connectivity: **SDIO interface: Embedded one SDIO interface, Compatible with SDIO 3.0 protocol **EMAC 10/100M Ethernet Controller: IEEE802.3u compliant Ethernet Media Access Controller(MAC). Support only RMII(Reduced MII) mode. 10Mbps and 100Mbps compatible **SPI Controller: One on-chip SPI controller **UART Controller: Three on-chip UART controllers **I2C controller: Three on-chip I2C controllers **USB Host2.0: Compatible with USB Host2.0 specification. Supports high-speed(480Mbps), full-speed(12Mbps) and low-speed(1.5Mbps) mode **USB OTG2.0: Compatible with USB OTG2.0 specification. Supports high-speed(480Mbps), full-speed(12Mbps) and low-speed(1.5Mbps) mode *Audio: **I2S/PCM with 8 channels | style="width: 429px;" | [[File:Rk3036.jpg|RTENOTITLE]] |} &nbsp; = Devices = Rockchip: Kylin-RK3036 &nbsp; = Documentation = = Software = See [http://opensource.rock-chips.com/wiki_Linux_user_guide Linux_user_guide] setup Linux OS generally; See [[U-Boot|U-Boot]] guide to develop U-Boot; See [[Rockchip_Kernel|Rockchip kernel]] or [[Upstream_Kernel|Upstream kernel]] to develop kernel; See [[Distribution|Distribution]] to develop and custimize OS. &nbsp; &nbsp; == Board configuration == {| border="1" cellpadding="1" cellspacing="1" class="table_style" |- ! '''board''' ! '''kernel''' ! '''uboot''' ! '''dts''' |- | rk3036-kylin | rockchip_linux_defconfig | kylin-rk3036_defconfig | rk3036-kylin.dts |} &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" class="table_style" |- ! '''chip''' ! '''Kernel eMMC index''' ! '''Kernel SD index''' ! '''Uboot eMMC index''' ! '''Uboot SD index''' ! '''Baud speed''' |- | RK3036 | 1 | 0 | 0 | 1 | 115200 |} = See also = [[RK3288|RK3288]] [[RK3328|RK3328]] [[RK3399|RK3399]] = References = #[https://en.wikipedia.org/wiki/ARM_Cortex-A7 https://en.wikipedia.org/wiki/ARM_Cortex-A17] #[http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html] 278fb6ba557e3467750d77167870104c25d7fada 1669 1668 2017-12-06T08:06:39Z Admin 1 wikitext text/x-wiki {{Infobox SoC | title = RK3288 | image = [[File:rk3288_soc.png|200px]] | manufacturer = Rockcihp | process = 28nm | cpu = Quad-Core ARM Cortex-A17 | ltwo = | extensions = | memory = 2-channel LPDDR3/LPDDR2/DDR3/DDR3L | gpu = ARM Mali-T764 | vpu = | apu = | video = HDMI 1.4, MIPI DSI, LVDS, RGB LCD | audio = I2S, PCM | network = | storage = 4x SD Card, eMMC, NAND | usb = OTG, 2x Host | other = | release_date = June 2014 | website = http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html }} &nbsp; &nbsp; Rockchip RK3036 is a low power, high performance processor solution for IoT, OTT TV BOX, and other digital multimedia applications, and integrates dual-core [[Media:https://en.wikipedia.org/wiki/ARM_Cortex-A7|Cortex-A7]], with separate NEON coprocessor and 128KB L2 Cache.It also integrates Mali 400 GPU. &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; = Overview = RK3036 is a low power, high performance processor solution for OTT TV BOX, and other<br/> digital multimedia applications, and integrates dual-core Cortex-A7, with separate NEON<br/> coprocessor and 128KB L2 Cache.<br/> Many embedded powerful hardware engines provide optimized performance for high-end<br/> application. RK3036 supports almost full-format 1080P H.264 decoder and H.265 decoder,<br/> high-quality JPEG decoder and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3036 completely compatible with OpenGL ES1.1 and 2.0,<br/> OpenVG1.1 etc.<br/> RK3036 has high-performance external memory interface (DDR3/DDR3L) capable of<br/> sustaining demanding memory bandwidths, also provides a complete set of peripheral<br/> interface to support very flexible applications. &nbsp; &nbsp; = RK3036&nbsp;SoC Features = {| border="0" cellpadding="1" cellspacing="1" style="width: 972px;" |- | style="width: 530px;" | *CPU: **Quad Core Cortex-A7&nbsp;up to 1.0GHz **32KB L1-Cache **128KB L2-Cache *Internal memory **16KB BootRom **8KB internal SRAM *GPU: **ARM Mali400 **High performance OpenGL ES1.1 and 2.0, OpenVG1.1 etc **Embedded 1 shader core with shared hierarchical tiler *Display: **HDMI interface: HDMI version 1.4a, HDCP revision 1.2 and DVI version 1.0 compliant transmitter. Supports DTV from 480i to 1080i/p HD resolution **CVBS interface: 10-bit Resolution. PAL/NTSC encoding *Camera: **Not camera interface. Only support USB camera *Memory: **8KB internal SRAM **Dynamic Memory Interface (DDR3/DDR3L): Compatible with JEDEC standard DDR3/DDR3L SDRAM. Data rates up to1066Mbps(533MHz) for DDR3/DDR3L. Support up to 2 ranks (chip selects),maximum 1GB address space per rank. *Connectivity: **SDIO interface: Embedded one SDIO interface, Compatible with SDIO 3.0 protocol **EMAC 10/100M Ethernet Controller: IEEE802.3u compliant Ethernet Media Access Controller(MAC). Support only RMII(Reduced MII) mode. 10Mbps and 100Mbps compatible **SPI Controller: One on-chip SPI controller **UART Controller: Three on-chip UART controllers **I2C controller: Three on-chip I2C controllers **USB Host2.0: Compatible with USB Host2.0 specification. Supports high-speed(480Mbps), full-speed(12Mbps) and low-speed(1.5Mbps) mode **USB OTG2.0: Compatible with USB OTG2.0 specification. Supports high-speed(480Mbps), full-speed(12Mbps) and low-speed(1.5Mbps) mode *Audio: **I2S/PCM with 8 channels | style="width: 429px;" | [[File:Rk3036.jpg|RTENOTITLE]] |} &nbsp; = Devices = Rockchip: Kylin-RK3036 &nbsp; = Documentation = = Software = See [http://opensource.rock-chips.com/wiki_Linux_user_guide Linux_user_guide] setup Linux OS generally; See [[U-Boot|U-Boot]] guide to develop U-Boot; See [[Rockchip_Kernel|Rockchip kernel]] or [[Upstream_Kernel|Upstream kernel]] to develop kernel; See [[Distribution|Distribution]] to develop and custimize OS. &nbsp; &nbsp; == Board configuration == {| border="1" cellpadding="1" cellspacing="1" class="table_style" |- ! '''board''' ! '''kernel''' ! '''uboot''' ! '''dts''' |- | rk3036-kylin | rockchip_linux_defconfig | kylin-rk3036_defconfig | rk3036-kylin.dts |} &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" class="table_style" |- ! '''chip''' ! '''Kernel eMMC index''' ! '''Kernel SD index''' ! '''Uboot eMMC index''' ! '''Uboot SD index''' ! '''Baud speed''' |- | RK3036 | 1 | 0 | 0 | 1 | 115200 |} = See also = [[RK3288|RK3288]] [[RK3328|RK3328]] [[RK3399|RK3399]] = References = #[https://en.wikipedia.org/wiki/ARM_Cortex-A7 https://en.wikipedia.org/wiki/ARM_Cortex-A17] #[http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html] ad387e03c6b62ad57b5c31c071d6ff9df924c8c1 1670 1669 2017-12-06T08:12:23Z Admin 1 wikitext text/x-wiki {{Infobox SoC | title = RK3036 | image = [[File:rk3036.jpg|200px]] | manufacturer = Rockcihp | process = Cortex-A7 | cpu = Qual-Core ARM Cortex-A7 | ltwo = | extensions = | memory = 2-channel LPDDR3/LPDDR2/DDR3/DDR3L | gpu = ARM Mali400 | vpu = | apu = | video = HDMI 1.4, MIPI DSI, LVDS, RGB LCD | audio = I2S, PCM | network = | storage = 4x SD Card, eMMC, NAND | usb = OTG, 2x Host | other = | release_date = June 2014 | website = http://www.rock-chips.com/a/cn/product/rk30/2014/0924/520.html }} &nbsp; &nbsp; Rockchip RK3036 is a low power, high performance processor solution for IoT, OTT TV BOX, and other digital multimedia applications, and integrates dual-core [[Media:https://en.wikipedia.org/wiki/ARM_Cortex-A7|Cortex-A7]], with separate NEON coprocessor and 128KB L2 Cache.It also integrates Mali 400 GPU. &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; = Overview = RK3036 is a low power, high performance processor solution for OTT TV BOX, and other<br/> digital multimedia applications, and integrates dual-core Cortex-A7, with separate NEON<br/> coprocessor and 128KB L2 Cache.<br/> Many embedded powerful hardware engines provide optimized performance for high-end<br/> application. RK3036 supports almost full-format 1080P H.264 decoder and H.265 decoder,<br/> high-quality JPEG decoder and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3036 completely compatible with OpenGL ES1.1 and 2.0,<br/> OpenVG1.1 etc.<br/> RK3036 has high-performance external memory interface (DDR3/DDR3L) capable of<br/> sustaining demanding memory bandwidths, also provides a complete set of peripheral<br/> interface to support very flexible applications. &nbsp; &nbsp; = RK3036&nbsp;SoC Features = {| border="0" cellpadding="1" cellspacing="1" style="width: 972px;" |- | style="width: 530px;" | *CPU: **Quad Core Cortex-A7&nbsp;up to 1.0GHz **32KB L1-Cache **128KB L2-Cache *Internal memory **16KB BootRom **8KB internal SRAM *GPU: **ARM Mali400 **High performance OpenGL ES1.1 and 2.0, OpenVG1.1 etc **Embedded 1 shader core with shared hierarchical tiler *Display: **HDMI interface: HDMI version 1.4a, HDCP revision 1.2 and DVI version 1.0 compliant transmitter. Supports DTV from 480i to 1080i/p HD resolution **CVBS interface: 10-bit Resolution. PAL/NTSC encoding *Camera: **Not camera interface. Only support USB camera *Memory: **8KB internal SRAM **Dynamic Memory Interface (DDR3/DDR3L): Compatible with JEDEC standard DDR3/DDR3L SDRAM. Data rates up to1066Mbps(533MHz) for DDR3/DDR3L. Support up to 2 ranks (chip selects),maximum 1GB address space per rank. *Connectivity: **SDIO interface: Embedded one SDIO interface, Compatible with SDIO 3.0 protocol **EMAC 10/100M Ethernet Controller: IEEE802.3u compliant Ethernet Media Access Controller(MAC). Support only RMII(Reduced MII) mode. 10Mbps and 100Mbps compatible **SPI Controller: One on-chip SPI controller **UART Controller: Three on-chip UART controllers **I2C controller: Three on-chip I2C controllers **USB Host2.0: Compatible with USB Host2.0 specification. Supports high-speed(480Mbps), full-speed(12Mbps) and low-speed(1.5Mbps) mode **USB OTG2.0: Compatible with USB OTG2.0 specification. Supports high-speed(480Mbps), full-speed(12Mbps) and low-speed(1.5Mbps) mode *Audio: **I2S/PCM with 8 channels | style="width: 429px;" | [[File:Rk3036.jpg|RTENOTITLE]] |} &nbsp; = Devices = Rockchip: Kylin-RK3036 &nbsp; = Documentation = = Software = See [http://opensource.rock-chips.com/wiki_Linux_user_guide Linux_user_guide] setup Linux OS generally; See [[U-Boot|U-Boot]] guide to develop U-Boot; See [[Rockchip_Kernel|Rockchip kernel]] or [[Upstream_Kernel|Upstream kernel]] to develop kernel; See [[Distribution|Distribution]] to develop and custimize OS. &nbsp; &nbsp; == Board configuration == {| border="1" cellpadding="1" cellspacing="1" class="table_style" |- ! '''board''' ! '''kernel''' ! '''uboot''' ! '''dts''' |- | rk3036-kylin | rockchip_linux_defconfig | kylin-rk3036_defconfig | rk3036-kylin.dts |} &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" class="table_style" |- ! '''chip''' ! '''Kernel eMMC index''' ! '''Kernel SD index''' ! '''Uboot eMMC index''' ! '''Uboot SD index''' ! '''Baud speed''' |- | RK3036 | 1 | 0 | 0 | 1 | 115200 |} = See also = [[RK3288|RK3288]] [[RK3328|RK3328]] [[RK3399|RK3399]] = References = #[https://en.wikipedia.org/wiki/ARM_Cortex-A7 https://en.wikipedia.org/wiki/ARM_Cortex-A7] #[http://www.rock-chips.com/a/en/products/RK30_Series/2014/0924/521.html http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html] 8b684e03a93be5f08136ed14469da698c1c50edc 1672 1670 2017-12-06T08:18:50Z Admin 1 wikitext text/x-wiki {{Infobox SoC | title = RK3036 | image = [[File:rk3036-core.jpg|200px]] | manufacturer = Rockcihp | process = Cortex-A7 | cpu = Qual-Core ARM Cortex-A7 | ltwo = | extensions = | memory = 2-channel LPDDR3/LPDDR2/DDR3/DDR3L | gpu = ARM Mali400 | vpu = | apu = | video = HDMI 1.4 | audio = I2S, PCM | network = | storage = SD2.0, MMC4.5 | usb = OTG, Host | other = | release_date = June 2014 | website = http://www.rock-chips.com/a/cn/product/rk30/2014/0924/520.html }} &nbsp; &nbsp; Rockchip RK3036 is a low power, high performance processor solution for IoT, OTT TV BOX, and other digital multimedia applications, and integrates dual-core [[Media:https://en.wikipedia.org/wiki/ARM_Cortex-A7|Cortex-A7]], with separate NEON coprocessor and 128KB L2 Cache.It also integrates Mali 400 GPU. &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; = Overview = RK3036 is a low power, high performance processor solution for OTT TV BOX, and other<br/> digital multimedia applications, and integrates dual-core Cortex-A7, with separate NEON<br/> coprocessor and 128KB L2 Cache.<br/> Many embedded powerful hardware engines provide optimized performance for high-end<br/> application. RK3036 supports almost full-format 1080P H.264 decoder and H.265 decoder,<br/> high-quality JPEG decoder and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3036 completely compatible with OpenGL ES1.1 and 2.0,<br/> OpenVG1.1 etc.<br/> RK3036 has high-performance external memory interface (DDR3/DDR3L) capable of<br/> sustaining demanding memory bandwidths, also provides a complete set of peripheral<br/> interface to support very flexible applications. &nbsp; &nbsp; = RK3036&nbsp;SoC Features = {| border="0" cellpadding="1" cellspacing="1" style="width: 972px;" |- | style="width: 530px;" | *CPU: **Quad Core Cortex-A7&nbsp;up to 1.0GHz **32KB L1-Cache **128KB L2-Cache *Internal memory **16KB BootRom **8KB internal SRAM *GPU: **ARM Mali400 **High performance OpenGL ES1.1 and 2.0, OpenVG1.1 etc **Embedded 1 shader core with shared hierarchical tiler *Display: **HDMI interface: HDMI version 1.4a, HDCP revision 1.2 and DVI version 1.0 compliant transmitter. Supports DTV from 480i to 1080i/p HD resolution **CVBS interface: 10-bit Resolution. PAL/NTSC encoding *Camera: **Not camera interface. Only support USB camera *Memory: **8KB internal SRAM **Dynamic Memory Interface (DDR3/DDR3L): Compatible with JEDEC standard DDR3/DDR3L SDRAM. Data rates up to1066Mbps(533MHz) for DDR3/DDR3L. Support up to 2 ranks (chip selects),maximum 1GB address space per rank. *Connectivity: **SDIO interface: Embedded one SDIO interface, Compatible with SDIO 3.0 protocol **EMAC 10/100M Ethernet Controller: IEEE802.3u compliant Ethernet Media Access Controller(MAC). Support only RMII(Reduced MII) mode. 10Mbps and 100Mbps compatible **SPI Controller: One on-chip SPI controller **UART Controller: Three on-chip UART controllers **I2C controller: Three on-chip I2C controllers **USB Host2.0: Compatible with USB Host2.0 specification. Supports high-speed(480Mbps), full-speed(12Mbps) and low-speed(1.5Mbps) mode **USB OTG2.0: Compatible with USB OTG2.0 specification. Supports high-speed(480Mbps), full-speed(12Mbps) and low-speed(1.5Mbps) mode *Audio: **I2S/PCM with 8 channels | style="width: 429px;" | [[File:Rk3036.jpg|RTENOTITLE]] |} &nbsp; = Devices = Rockchip: Kylin-RK3036 &nbsp; = Documentation = = Software = See [http://opensource.rock-chips.com/wiki_Linux_user_guide Linux_user_guide] setup Linux OS generally; See [[U-Boot|U-Boot]] guide to develop U-Boot; See [[Rockchip_Kernel|Rockchip kernel]] or [[Upstream_Kernel|Upstream kernel]] to develop kernel; See [[Distribution|Distribution]] to develop and custimize OS. &nbsp; &nbsp; == Board configuration == {| border="1" cellpadding="1" cellspacing="1" class="table_style" |- ! '''board''' ! '''kernel''' ! '''uboot''' ! '''dts''' |- | rk3036-kylin | rockchip_linux_defconfig | kylin-rk3036_defconfig | rk3036-kylin.dts |} &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" class="table_style" |- ! '''chip''' ! '''Kernel eMMC index''' ! '''Kernel SD index''' ! '''Uboot eMMC index''' ! '''Uboot SD index''' ! '''Baud speed''' |- | RK3036 | 1 | 0 | 0 | 1 | 115200 |} = See also = [[RK3288|RK3288]] [[RK3328|RK3328]] [[RK3399|RK3399]] = References = #[https://en.wikipedia.org/wiki/ARM_Cortex-A7 https://en.wikipedia.org/wiki/ARM_Cortex-A7] #[http://www.rock-chips.com/a/en/products/RK30_Series/2014/0924/521.html http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html] d94bef94fc9e80fb813062542cd2c75393bd09b9 1680 1672 2017-12-06T09:51:55Z Admin 1 wikitext text/x-wiki {{Infobox SoC | title = RK3036 | image = [[File:rk3036-core.jpg|200px]] | manufacturer = Rockcihp | process = 28nm | cpu = Qual-Core ARM Cortex-A7 | ltwo = | extensions = | memory = 2-channel LPDDR3/LPDDR2/DDR3/DDR3L | gpu = ARM Mali400 | vpu = | apu = | video = HDMI 1.4 | audio = I2S, PCM | network = | storage = SD2.0, MMC4.5 | usb = OTG, Host | other = | release_date = June 2014 | website = http://www.rock-chips.com/a/cn/product/rk30/2014/0924/520.html }} &nbsp; &nbsp; Rockchip RK3036 is a low power, high performance processor solution for IoT, OTT TV BOX, and other digital multimedia applications, and integrates dual-core [[Media:https://en.wikipedia.org/wiki/ARM_Cortex-A7|Cortex-A7]], with separate NEON coprocessor and 128KB L2 Cache.It also integrates Mali 400 GPU. &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; = Overview = RK3036 is a low power, high performance processor solution for OTT TV BOX, and other<br/> digital multimedia applications, and integrates dual-core Cortex-A7, with separate NEON<br/> coprocessor and 128KB L2 Cache.<br/> Many embedded powerful hardware engines provide optimized performance for high-end<br/> application. RK3036 supports almost full-format 1080P H.264 decoder and H.265 decoder,<br/> high-quality JPEG decoder and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3036 completely compatible with OpenGL ES1.1 and 2.0,<br/> OpenVG1.1 etc.<br/> RK3036 has high-performance external memory interface (DDR3/DDR3L) capable of<br/> sustaining demanding memory bandwidths, also provides a complete set of peripheral<br/> interface to support very flexible applications. &nbsp; &nbsp; = RK3036&nbsp;SoC Features = {| border="0" cellpadding="1" cellspacing="1" style="width: 972px;" |- | style="width: 530px;" | *CPU: **Quad Core Cortex-A7&nbsp;up to 1.0GHz **32KB L1-Cache **128KB L2-Cache *Internal memory **16KB BootRom **8KB internal SRAM *GPU: **ARM Mali400 **High performance OpenGL ES1.1 and 2.0, OpenVG1.1 etc **Embedded 1 shader core with shared hierarchical tiler *Display: **HDMI interface: HDMI version 1.4a, HDCP revision 1.2 and DVI version 1.0 compliant transmitter. Supports DTV from 480i to 1080i/p HD resolution **CVBS interface: 10-bit Resolution. PAL/NTSC encoding *Camera: **Not camera interface. Only support USB camera *Memory: **8KB internal SRAM **Dynamic Memory Interface (DDR3/DDR3L): Compatible with JEDEC standard DDR3/DDR3L SDRAM. Data rates up to1066Mbps(533MHz) for DDR3/DDR3L. Support up to 2 ranks (chip selects),maximum 1GB address space per rank. *Connectivity: **SDIO interface: Embedded one SDIO interface, Compatible with SDIO 3.0 protocol **EMAC 10/100M Ethernet Controller: IEEE802.3u compliant Ethernet Media Access Controller(MAC). Support only RMII(Reduced MII) mode. 10Mbps and 100Mbps compatible **SPI Controller: One on-chip SPI controller **UART Controller: Three on-chip UART controllers **I2C controller: Three on-chip I2C controllers **USB Host2.0: Compatible with USB Host2.0 specification. Supports high-speed(480Mbps), full-speed(12Mbps) and low-speed(1.5Mbps) mode **USB OTG2.0: Compatible with USB OTG2.0 specification. Supports high-speed(480Mbps), full-speed(12Mbps) and low-speed(1.5Mbps) mode *Audio: **I2S/PCM with 8 channels | style="width: 429px;" | [[File:Rk3036.jpg|RTENOTITLE]] |} &nbsp; = Devices = Rockchip: Kylin-RK3036 &nbsp; = Documentation = = Software = See [http://opensource.rock-chips.com/wiki_Linux_user_guide Linux_user_guide] setup Linux OS generally; See [[U-Boot|U-Boot]] guide to develop U-Boot; See [[Rockchip_Kernel|Rockchip kernel]] or [[Upstream_Kernel|Upstream kernel]] to develop kernel; See [[Distribution|Distribution]] to develop and custimize OS. &nbsp; &nbsp; == Board configuration == {| border="1" cellpadding="1" cellspacing="1" class="table_style" |- ! '''board''' ! '''kernel''' ! '''uboot''' ! '''dts''' |- | rk3036-kylin | rockchip_linux_defconfig | kylin-rk3036_defconfig | rk3036-kylin.dts |} &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" class="table_style" |- ! '''chip''' ! '''Kernel eMMC index''' ! '''Kernel SD index''' ! '''Uboot eMMC index''' ! '''Uboot SD index''' ! '''Baud speed''' |- | RK3036 | 1 | 0 | 0 | 1 | 115200 |} = See also = [[RK3288|RK3288]] [[RK3328|RK3328]] [[RK3399|RK3399]] = References = #[https://en.wikipedia.org/wiki/ARM_Cortex-A7 https://en.wikipedia.org/wiki/ARM_Cortex-A7] #[http://www.rock-chips.com/a/en/products/RK30_Series/2014/0924/521.html http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html] b4fe61051a6a96dcde48c4f90ff863df0f0d5ca1 1681 1680 2017-12-06T09:53:05Z Admin 1 wikitext text/x-wiki {{Infobox SoC | title = RK3036 | image = [[File:rk3036-core.jpg|200px]] | manufacturer = Rockcihp | process = 28nm | cpu = Qual-Core ARM Cortex-A7 | ltwo = | extensions = | memory = 2-channel LPDDR3/LPDDR2/DDR3/DDR3L | gpu = ARM Mali400 | vpu = | apu = | video = HDMI 1.4 | audio = I2S, PCM | network = | storage = SD2.0, MMC4.5 | usb = OTG, Host | other = | release_date = June 2014 | website = http://www.rock-chips.com/a/cn/product/rk30/2014/0924/520.html }} &nbsp; &nbsp; Rockchip RK3036 is a low power, high performance processor solution for IoT, OTT TV BOX, and other digital multimedia applications, and integrates dual-core [[Media:https://en.wikipedia.org/wiki/ARM_Cortex-A7|Cortex-A7]], with separate NEON coprocessor and 128KB L2 Cache.It also integrates Mali 400 GPU. &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; = Overview = RK3036 is a low power, high performance processor solution for OTT TV BOX, and other<br/> digital multimedia applications, and integrates dual-core Cortex-A7, with separate NEON<br/> coprocessor and 128KB L2 Cache.<br/> Many embedded powerful hardware engines provide optimized performance for high-end<br/> application. RK3036 supports almost full-format 1080P H.264 decoder and H.265 decoder,<br/> high-quality JPEG decoder and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3036 completely compatible with OpenGL ES1.1 and 2.0,<br/> OpenVG1.1 etc.<br/> RK3036 has high-performance external memory interface (DDR3/DDR3L) capable of<br/> sustaining demanding memory bandwidths, also provides a complete set of peripheral<br/> interface to support very flexible applications. &nbsp; &nbsp; = RK3036&nbsp;SoC Features = {| border="0" cellpadding="1" cellspacing="1" style="width: 972px;" |- | style="width: 530px;" | *CPU: **Quad Core Cortex-A7&nbsp;up to 1.0GHz **32KB L1-Cache **128KB L2-Cache *Internal memory **16KB BootRom **8KB internal SRAM *GPU: **ARM Mali400 **High performance OpenGL ES1.1 and 2.0, OpenVG1.1 etc **Embedded 1 shader core with shared hierarchical tiler *Display: **HDMI interface: HDMI version 1.4a, HDCP revision 1.2 and DVI version 1.0 compliant transmitter. Supports DTV from 480i to 1080i/p HD resolution **CVBS interface: 10-bit Resolution. PAL/NTSC encoding *Camera: **Not camera interface. Only support USB camera *Memory: **8KB internal SRAM **Dynamic Memory Interface (DDR3/DDR3L): Compatible with JEDEC standard DDR3/DDR3L SDRAM. Data rates up to1066Mbps(533MHz) for DDR3/DDR3L. Support up to 2 ranks (chip selects),maximum 1GB address space per rank. *Connectivity: **SDIO interface: Embedded one SDIO interface, Compatible with SDIO 3.0 protocol **EMAC 10/100M Ethernet Controller: IEEE802.3u compliant Ethernet Media Access Controller(MAC). Support only RMII(Reduced MII) mode. 10Mbps and 100Mbps compatible **SPI Controller: One on-chip SPI controller **UART Controller: Three on-chip UART controllers **I2C controller: Three on-chip I2C controllers **USB Host2.0: Compatible with USB Host2.0 specification. Supports high-speed(480Mbps), full-speed(12Mbps) and low-speed(1.5Mbps) mode **USB OTG2.0: Compatible with USB OTG2.0 specification. Supports high-speed(480Mbps), full-speed(12Mbps) and low-speed(1.5Mbps) mode *Audio: **I2S/PCM with 8 channels | style="width: 429px;" | [[File:Rk3036.jpg|RTENOTITLE]] |} &nbsp; = Devices = Rockchip: [http://rockchip.wikidot.com/kylin Kylin-RK3036] = Documentation = = Software = See [http://opensource.rock-chips.com/wiki_Linux_user_guide Linux_user_guide] setup Linux OS generally; See [[U-Boot|U-Boot]] guide to develop U-Boot; See [[Rockchip_Kernel|Rockchip kernel]] or [[Upstream_Kernel|Upstream kernel]] to develop kernel; See [[Distribution|Distribution]] to develop and custimize OS. &nbsp; &nbsp; == Board configuration == {| border="1" cellpadding="1" cellspacing="1" class="table_style" |- ! '''board''' ! '''kernel''' ! '''uboot''' ! '''dts''' |- | rk3036-kylin | rockchip_linux_defconfig | kylin-rk3036_defconfig | rk3036-kylin.dts |} &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" class="table_style" |- ! '''chip''' ! '''Kernel eMMC index''' ! '''Kernel SD index''' ! '''Uboot eMMC index''' ! '''Uboot SD index''' ! '''Baud speed''' |- | RK3036 | 1 | 0 | 0 | 1 | 115200 |} = See also = [[RK3288|RK3288]] [[RK3328|RK3328]] [[RK3399|RK3399]] = References = #[https://en.wikipedia.org/wiki/ARM_Cortex-A7 https://en.wikipedia.org/wiki/ARM_Cortex-A7] #[http://www.rock-chips.com/a/en/products/RK30_Series/2014/0924/521.html http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html] 44a4b32cb7a11f0ff6edf6a4d121ab676f3e0d9d 1682 1681 2017-12-06T09:58:38Z Admin 1 wikitext text/x-wiki {{Infobox SoC | title = RK3036 | image = [[File:rk3036-core.jpg|200px]] | manufacturer = Rockcihp | process = 28nm | cpu = Qual-Core ARM Cortex-A7 | ltwo = | extensions = | memory = 2-channel LPDDR3/LPDDR2/DDR3/DDR3L | gpu = ARM Mali400 | vpu = | apu = | video = HDMI 1.4 | audio = I2S, PCM | network = | storage = SD2.0, MMC4.5 | usb = OTG, Host | other = | release_date = June 2014 | website = http://www.rock-chips.com/a/cn/product/rk30/2014/0924/520.html }} &nbsp; &nbsp; Rockchip RK3036 is a low power, high performance processor solution for IoT, OTT TV BOX, and other digital multimedia applications, and integrates dual-core [[Media:https://en.wikipedia.org/wiki/ARM_Cortex-A7|Cortex-A7]], with separate NEON coprocessor and 128KB L2 Cache.It also integrates Mali 400 GPU. &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; = Overview = RK3036 is a low power, high performance processor solution for OTT TV BOX, and other<br/> digital multimedia applications, and integrates dual-core Cortex-A7, with separate NEON<br/> coprocessor and 128KB L2 Cache.<br/> Many embedded powerful hardware engines provide optimized performance for high-end<br/> application. RK3036 supports almost full-format 1080P H.264 decoder and H.265 decoder,<br/> high-quality JPEG decoder and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3036 completely compatible with OpenGL ES1.1 and 2.0,<br/> OpenVG1.1 etc.<br/> RK3036 has high-performance external memory interface (DDR3/DDR3L) capable of<br/> sustaining demanding memory bandwidths, also provides a complete set of peripheral<br/> interface to support very flexible applications. &nbsp; &nbsp; = RK3036&nbsp;SoC Features = {| border="0" cellpadding="1" cellspacing="1" style="width: 972px;" |- | style="width: 530px;" | *CPU: **Quad Core Cortex-A7&nbsp;up to 1.0GHz **32KB L1-Cache **128KB L2-Cache *Internal memory **16KB BootRom **8KB internal SRAM *GPU: **ARM Mali400 **High performance OpenGL ES1.1 and 2.0, OpenVG1.1 etc **Embedded 1 shader core with shared hierarchical tiler *Display: **HDMI interface: HDMI version 1.4a, HDCP revision 1.2 and DVI version 1.0 compliant transmitter. Supports DTV from 480i to 1080i/p HD resolution **CVBS interface: 10-bit Resolution. PAL/NTSC encoding *Camera: **Not camera interface. Only support USB camera *Memory: **8KB internal SRAM **Dynamic Memory Interface (DDR3/DDR3L): Compatible with JEDEC standard DDR3/DDR3L SDRAM. Data rates up to1066Mbps(533MHz) for DDR3/DDR3L. Support up to 2 ranks (chip selects),maximum 1GB address space per rank. *Connectivity: **SDIO interface: Embedded one SDIO interface, Compatible with SDIO 3.0 protocol **EMAC 10/100M Ethernet Controller: IEEE802.3u compliant Ethernet Media Access Controller(MAC). Support only RMII(Reduced MII) mode. 10Mbps and 100Mbps compatible **SPI Controller: One on-chip SPI controller **UART Controller: Three on-chip UART controllers **I2C controller: Three on-chip I2C controllers **USB Host2.0: Compatible with USB Host2.0 specification. Supports high-speed(480Mbps), full-speed(12Mbps) and low-speed(1.5Mbps) mode **USB OTG2.0: Compatible with USB OTG2.0 specification. Supports high-speed(480Mbps), full-speed(12Mbps) and low-speed(1.5Mbps) mode *Audio: **I2S/PCM with 8 channels | style="width: 429px;" | [[File:Rk3036.jpg|RTENOTITLE]] |} &nbsp; = Devices = Rockchip: [http://rockchip.wikidot.com/kylin Kylin-RK3036] = Documentation = 1.&nbsp;[[RK3036_hardware_reference.zip|Schematic&Layout Guide]] = Software = See [http://opensource.rock-chips.com/wiki_Linux_user_guide Linux_user_guide] setup Linux OS generally; See [[U-Boot|U-Boot]] guide to develop U-Boot; See [[Rockchip_Kernel|Rockchip kernel]] or [[Upstream_Kernel|Upstream kernel]] to develop kernel; See [[Distribution|Distribution]] to develop and custimize OS. &nbsp; &nbsp; == Board configuration == {| border="1" cellpadding="1" cellspacing="1" class="table_style" |- ! '''board''' ! '''kernel''' ! '''uboot''' ! '''dts''' |- | rk3036-kylin | rockchip_linux_defconfig | kylin-rk3036_defconfig | rk3036-kylin.dts |} &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" class="table_style" |- ! '''chip''' ! '''Kernel eMMC index''' ! '''Kernel SD index''' ! '''Uboot eMMC index''' ! '''Uboot SD index''' ! '''Baud speed''' |- | RK3036 | 1 | 0 | 0 | 1 | 115200 |} = See also = [[RK3288|RK3288]] [[RK3328|RK3328]] [[RK3399|RK3399]] = References = #[https://en.wikipedia.org/wiki/ARM_Cortex-A7 https://en.wikipedia.org/wiki/ARM_Cortex-A7] #[http://www.rock-chips.com/a/en/products/RK30_Series/2014/0924/521.html http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html] 1911c5f2dd5797d7029da12ce840b00fec2d7ce6 1685 1682 2017-12-06T10:04:20Z Admin 1 wikitext text/x-wiki {{Infobox SoC | title = RK3036 | image = [[File:rk3036-core.jpg|200px]] | manufacturer = Rockcihp | process = 28nm | cpu = Qual-Core ARM Cortex-A7 | ltwo = | extensions = | memory = 2-channel LPDDR3/LPDDR2/DDR3/DDR3L | gpu = ARM Mali400 | vpu = | apu = | video = HDMI 1.4 | audio = I2S, PCM | network = | storage = SD2.0, MMC4.5 | usb = OTG, Host | other = | release_date = June 2014 | website = http://www.rock-chips.com/a/cn/product/rk30/2014/0924/520.html }} &nbsp; &nbsp; Rockchip RK3036 is a low power, high performance processor solution for IoT, OTT TV BOX, and other digital multimedia applications, and integrates dual-core [[Media:https://en.wikipedia.org/wiki/ARM_Cortex-A7|Cortex-A7]], with separate NEON coprocessor and 128KB L2 Cache.It also integrates Mali 400 GPU. &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; = Overview = RK3036 is a low power, high performance processor solution for OTT TV BOX, and other<br/> digital multimedia applications, and integrates dual-core Cortex-A7, with separate NEON<br/> coprocessor and 128KB L2 Cache.<br/> Many embedded powerful hardware engines provide optimized performance for high-end<br/> application. RK3036 supports almost full-format 1080P H.264 decoder and H.265 decoder,<br/> high-quality JPEG decoder and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3036 completely compatible with OpenGL ES1.1 and 2.0,<br/> OpenVG1.1 etc.<br/> RK3036 has high-performance external memory interface (DDR3/DDR3L) capable of<br/> sustaining demanding memory bandwidths, also provides a complete set of peripheral<br/> interface to support very flexible applications. &nbsp; &nbsp; = RK3036&nbsp;SoC Features = {| border="0" cellpadding="1" cellspacing="1" style="width: 972px;" |- | style="width: 530px;" | *CPU: **Quad Core Cortex-A7&nbsp;up to 1.0GHz **32KB L1-Cache **128KB L2-Cache *Internal memory **16KB BootRom **8KB internal SRAM *GPU: **ARM Mali400 **High performance OpenGL ES1.1 and 2.0, OpenVG1.1 etc **Embedded 1 shader core with shared hierarchical tiler *Display: **HDMI interface: HDMI version 1.4a, HDCP revision 1.2 and DVI version 1.0 compliant transmitter. Supports DTV from 480i to 1080i/p HD resolution **CVBS interface: 10-bit Resolution. PAL/NTSC encoding *Camera: **Not camera interface. Only support USB camera *Memory: **8KB internal SRAM **Dynamic Memory Interface (DDR3/DDR3L): Compatible with JEDEC standard DDR3/DDR3L SDRAM. Data rates up to1066Mbps(533MHz) for DDR3/DDR3L. Support up to 2 ranks (chip selects),maximum 1GB address space per rank. *Connectivity: **SDIO interface: Embedded one SDIO interface, Compatible with SDIO 3.0 protocol **EMAC 10/100M Ethernet Controller: IEEE802.3u compliant Ethernet Media Access Controller(MAC). Support only RMII(Reduced MII) mode. 10Mbps and 100Mbps compatible **SPI Controller: One on-chip SPI controller **UART Controller: Three on-chip UART controllers **I2C controller: Three on-chip I2C controllers **USB Host2.0: Compatible with USB Host2.0 specification. Supports high-speed(480Mbps), full-speed(12Mbps) and low-speed(1.5Mbps) mode **USB OTG2.0: Compatible with USB OTG2.0 specification. Supports high-speed(480Mbps), full-speed(12Mbps) and low-speed(1.5Mbps) mode *Audio: **I2S/PCM with 8 channels | style="width: 429px;" | [[File:Rk3036.jpg|RTENOTITLE]] |} &nbsp; = Devices = Rockchip: [http://rockchip.wikidot.com/kylin Kylin-RK3036] = Documentation = 1.&nbsp;[[Rockchip_RK3036_Datasheet_V1.2_20160115.pdf|Rockchip RK3036 Datasheet V1.2 20160115.pdf]] 2.&nbsp;[[RK3036_hardware_reference.zip|Schematic&Layout Guide]] = Software = See [http://opensource.rock-chips.com/wiki_Linux_user_guide Linux_user_guide] setup Linux OS generally; See [[U-Boot|U-Boot]] guide to develop U-Boot; See [[Rockchip_Kernel|Rockchip kernel]] or [[Upstream_Kernel|Upstream kernel]] to develop kernel; See [[Distribution|Distribution]] to develop and custimize OS. &nbsp; &nbsp; == Board configuration == {| border="1" cellpadding="1" cellspacing="1" class="table_style" |- ! '''board''' ! '''kernel''' ! '''uboot''' ! '''dts''' |- | rk3036-kylin | rockchip_linux_defconfig | kylin-rk3036_defconfig | rk3036-kylin.dts |} &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" class="table_style" |- ! '''chip''' ! '''Kernel eMMC index''' ! '''Kernel SD index''' ! '''Uboot eMMC index''' ! '''Uboot SD index''' ! '''Baud speed''' |- | RK3036 | 1 | 0 | 0 | 1 | 115200 |} = See also = [[RK3288|RK3288]] [[RK3328|RK3328]] [[RK3399|RK3399]] = References = #[https://en.wikipedia.org/wiki/ARM_Cortex-A7 https://en.wikipedia.org/wiki/ARM_Cortex-A7] #[http://www.rock-chips.com/a/en/products/RK30_Series/2014/0924/521.html http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html] 1510ec68f80f3852c1ae8f0d1ed5f7de8a886335 1686 1685 2017-12-06T10:05:45Z Admin 1 wikitext text/x-wiki {{Infobox SoC | title = RK3036 | image = [[File:rk3036-core.jpg|200px]] | manufacturer = Rockcihp | process = 28nm | cpu = Qual-Core ARM Cortex-A7 | ltwo = | extensions = | memory = 2-channel LPDDR3/LPDDR2/DDR3/DDR3L | gpu = ARM Mali400 | vpu = | apu = | video = HDMI 1.4 | audio = I2S, PCM | network = | storage = SD2.0, MMC4.5 | usb = OTG, Host | other = | release_date = June 2014 | website = http://www.rock-chips.com/a/cn/product/rk30/2014/0924/520.html }} &nbsp; &nbsp; Rockchip RK3036 is a low power, high performance processor solution for IoT, OTT TV BOX, and other digital multimedia applications, and integrates dual-core [[Media:https://en.wikipedia.org/wiki/ARM_Cortex-A7|Cortex-A7]], with separate NEON coprocessor and 128KB L2 Cache.It also integrates Mali 400 GPU. &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; = Overview = RK3036 is a low power, high performance processor solution for OTT TV BOX, and other<br/> digital multimedia applications, and integrates dual-core Cortex-A7, with separate NEON<br/> coprocessor and 128KB L2 Cache.<br/> Many embedded powerful hardware engines provide optimized performance for high-end<br/> application. RK3036 supports almost full-format 1080P H.264 decoder and H.265 decoder,<br/> high-quality JPEG decoder and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3036 completely compatible with OpenGL ES1.1 and 2.0,<br/> OpenVG1.1 etc.<br/> RK3036 has high-performance external memory interface (DDR3/DDR3L) capable of<br/> sustaining demanding memory bandwidths, also provides a complete set of peripheral<br/> interface to support very flexible applications. &nbsp; &nbsp; = RK3036&nbsp;SoC Features = {| border="0" cellpadding="1" cellspacing="1" style="width: 972px;" |- | style="width: 530px;" | *CPU: **Quad Core Cortex-A7&nbsp;up to 1.0GHz **32KB L1-Cache **128KB L2-Cache *Internal memory **16KB BootRom **8KB internal SRAM *GPU: **ARM Mali400 **High performance OpenGL ES1.1 and 2.0, OpenVG1.1 etc **Embedded 1 shader core with shared hierarchical tiler *Display: **HDMI interface: HDMI version 1.4a, HDCP revision 1.2 and DVI version 1.0 compliant transmitter. Supports DTV from 480i to 1080i/p HD resolution **CVBS interface: 10-bit Resolution. PAL/NTSC encoding *Camera: **Not camera interface. Only support USB camera *Memory: **8KB internal SRAM **Dynamic Memory Interface (DDR3/DDR3L): Compatible with JEDEC standard DDR3/DDR3L SDRAM. Data rates up to1066Mbps(533MHz) for DDR3/DDR3L. Support up to 2 ranks (chip selects),maximum 1GB address space per rank. *Connectivity: **SDIO interface: Embedded one SDIO interface, Compatible with SDIO 3.0 protocol **EMAC 10/100M Ethernet Controller: IEEE802.3u compliant Ethernet Media Access Controller(MAC). Support only RMII(Reduced MII) mode. 10Mbps and 100Mbps compatible **SPI Controller: One on-chip SPI controller **UART Controller: Three on-chip UART controllers **I2C controller: Three on-chip I2C controllers **USB Host2.0: Compatible with USB Host2.0 specification. Supports high-speed(480Mbps), full-speed(12Mbps) and low-speed(1.5Mbps) mode **USB OTG2.0: Compatible with USB OTG2.0 specification. Supports high-speed(480Mbps), full-speed(12Mbps) and low-speed(1.5Mbps) mode *Audio: **I2S/PCM with 8 channels | style="width: 429px;" | [[File:Rk3036.jpg|RTENOTITLE]] |} &nbsp; &nbsp; = Devices = Rockchip: [http://rockchip.wikidot.com/kylin Kylin-RK3036] &nbsp; = Documentation = 1.&nbsp;[[Rockchip_RK3036_Datasheet_V1.2_20160115.pdf|Rockchip RK3036 Datasheet V1.2 20160115.pdf]] 2.&nbsp;[[RK3036_hardware_reference.zip|Schematic&Layout Guide]] = Software = See [http://opensource.rock-chips.com/wiki_Linux_user_guide Linux_user_guide] setup Linux OS generally; See [[U-Boot|U-Boot]] guide to develop U-Boot; See [[Rockchip_Kernel|Rockchip kernel]] or [[Upstream_Kernel|Upstream kernel]] to develop kernel; See [[Distribution|Distribution]] to develop and custimize OS. &nbsp; &nbsp; == Board configuration == {| border="1" cellpadding="1" cellspacing="1" class="table_style" |- ! '''board''' ! '''kernel''' ! '''uboot''' ! '''dts''' |- | rk3036-kylin | rockchip_linux_defconfig | kylin-rk3036_defconfig | rk3036-kylin.dts |} &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" class="table_style" |- ! '''chip''' ! '''Kernel eMMC index''' ! '''Kernel SD index''' ! '''Uboot eMMC index''' ! '''Uboot SD index''' ! '''Baud speed''' |- | RK3036 | 1 | 0 | 0 | 1 | 115200 |} = See also = [[RK3288|RK3288]] [[RK3328|RK3328]] [[RK3399|RK3399]] = References = #[https://en.wikipedia.org/wiki/ARM_Cortex-A7 https://en.wikipedia.org/wiki/ARM_Cortex-A7] #[http://www.rock-chips.com/a/en/products/RK30_Series/2014/0924/521.html http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html] 97ea022264405bb438e1d8302f472115b7daacda 1687 1686 2017-12-06T10:06:32Z Admin 1 wikitext text/x-wiki {{Infobox SoC | title = RK3036 | image = [[File:rk3036-core.jpg|200px]] | manufacturer = Rockcihp | process = 28nm | cpu = Qual-Core ARM Cortex-A7 | ltwo = | extensions = | memory = 2-channel LPDDR3/LPDDR2/DDR3/DDR3L | gpu = ARM Mali400 | vpu = | apu = | video = HDMI 1.4 | audio = I2S, PCM | network = | storage = SD2.0, MMC4.5 | usb = OTG, Host | other = | release_date = June 2014 | website = http://www.rock-chips.com/a/cn/product/rk30/2014/0924/520.html }} &nbsp; &nbsp; Rockchip RK3036 is a low power, high performance processor solution for IoT, OTT TV BOX, and other digital multimedia applications, and integrates dual-core [https://en.wikipedia.org/wiki/ARM_Cortex-A7 Cortex-A7], with separate NEON coprocessor and 128KB L2 Cache.It also integrates Mali 400 GPU. &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; = Overview = RK3036 is a low power, high performance processor solution for OTT TV BOX, and other<br/> digital multimedia applications, and integrates dual-core Cortex-A7, with separate NEON<br/> coprocessor and 128KB L2 Cache.<br/> Many embedded powerful hardware engines provide optimized performance for high-end<br/> application. RK3036 supports almost full-format 1080P H.264 decoder and H.265 decoder,<br/> high-quality JPEG decoder and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3036 completely compatible with OpenGL ES1.1 and 2.0,<br/> OpenVG1.1 etc.<br/> RK3036 has high-performance external memory interface (DDR3/DDR3L) capable of<br/> sustaining demanding memory bandwidths, also provides a complete set of peripheral<br/> interface to support very flexible applications. &nbsp; &nbsp; = RK3036&nbsp;SoC Features = {| border="0" cellpadding="1" cellspacing="1" style="width: 972px;" |- | style="width: 530px;" | *CPU: **Quad Core Cortex-A7&nbsp;up to 1.0GHz **32KB L1-Cache **128KB L2-Cache *Internal memory **16KB BootRom **8KB internal SRAM *GPU: **ARM Mali400 **High performance OpenGL ES1.1 and 2.0, OpenVG1.1 etc **Embedded 1 shader core with shared hierarchical tiler *Display: **HDMI interface: HDMI version 1.4a, HDCP revision 1.2 and DVI version 1.0 compliant transmitter. Supports DTV from 480i to 1080i/p HD resolution **CVBS interface: 10-bit Resolution. PAL/NTSC encoding *Camera: **Not camera interface. Only support USB camera *Memory: **8KB internal SRAM **Dynamic Memory Interface (DDR3/DDR3L): Compatible with JEDEC standard DDR3/DDR3L SDRAM. Data rates up to1066Mbps(533MHz) for DDR3/DDR3L. Support up to 2 ranks (chip selects),maximum 1GB address space per rank. *Connectivity: **SDIO interface: Embedded one SDIO interface, Compatible with SDIO 3.0 protocol **EMAC 10/100M Ethernet Controller: IEEE802.3u compliant Ethernet Media Access Controller(MAC). Support only RMII(Reduced MII) mode. 10Mbps and 100Mbps compatible **SPI Controller: One on-chip SPI controller **UART Controller: Three on-chip UART controllers **I2C controller: Three on-chip I2C controllers **USB Host2.0: Compatible with USB Host2.0 specification. Supports high-speed(480Mbps), full-speed(12Mbps) and low-speed(1.5Mbps) mode **USB OTG2.0: Compatible with USB OTG2.0 specification. Supports high-speed(480Mbps), full-speed(12Mbps) and low-speed(1.5Mbps) mode *Audio: **I2S/PCM with 8 channels | style="width: 429px;" | [[File:Rk3036.jpg|RTENOTITLE]] |} &nbsp; &nbsp; = Devices = Rockchip: [http://rockchip.wikidot.com/kylin Kylin-RK3036] &nbsp; = Documentation = 1.&nbsp;[[Rockchip_RK3036_Datasheet_V1.2_20160115.pdf|Rockchip RK3036 Datasheet V1.2 20160115.pdf]] 2.&nbsp;[[RK3036_hardware_reference.zip|Schematic&Layout Guide]] = Software = See [http://opensource.rock-chips.com/wiki_Linux_user_guide Linux_user_guide] setup Linux OS generally; See [[U-Boot|U-Boot]] guide to develop U-Boot; See [[Rockchip_Kernel|Rockchip kernel]] or [[Upstream_Kernel|Upstream kernel]] to develop kernel; See [[Distribution|Distribution]] to develop and custimize OS. &nbsp; &nbsp; == Board configuration == {| border="1" cellpadding="1" cellspacing="1" class="table_style" |- ! '''board''' ! '''kernel''' ! '''uboot''' ! '''dts''' |- | rk3036-kylin | rockchip_linux_defconfig | kylin-rk3036_defconfig | rk3036-kylin.dts |} &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" class="table_style" |- ! '''chip''' ! '''Kernel eMMC index''' ! '''Kernel SD index''' ! '''Uboot eMMC index''' ! '''Uboot SD index''' ! '''Baud speed''' |- | RK3036 | 1 | 0 | 0 | 1 | 115200 |} = See also = [[RK3288|RK3288]] [[RK3328|RK3328]] [[RK3399|RK3399]] = References = #[https://en.wikipedia.org/wiki/ARM_Cortex-A7 https://en.wikipedia.org/wiki/ARM_Cortex-A7] #[http://www.rock-chips.com/a/en/products/RK30_Series/2014/0924/521.html http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html] c7f5da117b8b72c77e1e1e1174fe8a9c390b12cb 1698 1687 2017-12-08T01:48:56Z Admin 1 wikitext text/x-wiki {{Infobox SoC | title = RK3036 | image = [[File:rk3036-core.jpg|200px]] | manufacturer = Rockcihp | process = 28nm | cpu = Qual-Core ARM Cortex-A7 | ltwo = | extensions = | memory = 2-channel LPDDR3/LPDDR2/DDR3/DDR3L | gpu = ARM Mali400 | vpu = | apu = | video = HDMI 1.4 | audio = I2S, PCM | network = | storage = SD2.0, MMC4.5 | usb = OTG, Host | other = | release_date = June 2014 | website = http://www.rock-chips.com/a/cn/product/rk30/2014/0924/520.html }} &nbsp; &nbsp; Rockchip RK3036 is a low power, high performance processor solution for IoT, OTT TV BOX, and other digital multimedia applications, and integrates dual-core [https://en.wikipedia.org/wiki/ARM_Cortex-A7 Cortex-A7], with separate NEON coprocessor and 128KB L2 Cache.It also integrates Mali 400 GPU. &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; = Overview = RK3036 is a low power, high performance processor solution for OTT TV BOX, and other<br/> digital multimedia applications, and integrates dual-core Cortex-A7, with separate NEON<br/> coprocessor and 128KB L2 Cache.<br/> Many embedded powerful hardware engines provide optimized performance for high-end<br/> application. RK3036 supports almost full-format 1080P H.264 decoder and H.265 decoder,<br/> high-quality JPEG decoder and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3036 completely compatible with OpenGL ES1.1 and 2.0,<br/> OpenVG1.1 etc.<br/> RK3036 has high-performance external memory interface (DDR3/DDR3L) capable of<br/> sustaining demanding memory bandwidths, also provides a complete set of peripheral<br/> interface to support very flexible applications. &nbsp; &nbsp; = RK3036&nbsp;SoC Features = {| border="0" cellpadding="1" cellspacing="1" style="width: 972px;" |- | style="width: 530px;" | *CPU: **Quad Core Cortex-A7&nbsp;up to 1.0GHz **32KB L1-Cache **128KB L2-Cache *Internal memory **16KB BootRom **8KB internal SRAM *GPU: **ARM Mali400 **High performance OpenGL ES1.1 and 2.0, OpenVG1.1 etc **Embedded 1 shader core with shared hierarchical tiler *Display: **HDMI interface: HDMI version 1.4a, HDCP revision 1.2 and DVI version 1.0 compliant transmitter. Supports DTV from 480i to 1080i/p HD resolution **CVBS interface: 10-bit Resolution. PAL/NTSC encoding *Camera: **Not camera interface. Only support USB camera *Memory: **8KB internal SRAM **Dynamic Memory Interface (DDR3/DDR3L): Compatible with JEDEC standard DDR3/DDR3L SDRAM. Data rates up to1066Mbps(533MHz) for DDR3/DDR3L. Support up to 2 ranks (chip selects),maximum 1GB address space per rank. *Connectivity: **SDIO interface: Embedded one SDIO interface, Compatible with SDIO 3.0 protocol **EMAC 10/100M Ethernet Controller: IEEE802.3u compliant Ethernet Media Access Controller(MAC). Support only RMII(Reduced MII) mode. 10Mbps and 100Mbps compatible **SPI Controller: One on-chip SPI controller **UART Controller: Three on-chip UART controllers **I2C controller: Three on-chip I2C controllers **USB Host2.0: Compatible with USB Host2.0 specification. Supports high-speed(480Mbps), full-speed(12Mbps) and low-speed(1.5Mbps) mode **USB OTG2.0: Compatible with USB OTG2.0 specification. Supports high-speed(480Mbps), full-speed(12Mbps) and low-speed(1.5Mbps) mode *Audio: **I2S/PCM with 8 channels | style="width: 429px;" | [[File:Rk3036.jpg|RTENOTITLE]] |} &nbsp; &nbsp; = Devices = Rockchip: [http://rockchip.wikidot.com/kylin Kylin-RK3036] &nbsp; = Documentation = 1.&nbsp;[[Rockchip_RK3036_Datasheet_V1.2_20160115.pdf|Rockchip RK3036 Datasheet V1.2 20160115.pdf]] 2.&nbsp;[[RK3036_hardware_reference.zip|Schematic&Layout Guide]] = Software = See [http://opensource.rock-chips.com/wiki_RK3036_Linux_user_guide Linux_user_guide] setup Linux OS generally; See [[U-Boot|U-Boot]] guide to develop U-Boot; See [[Rockchip_Kernel|Rockchip kernel]] or [[Upstream_Kernel|Upstream kernel]] to develop kernel; See [[Distribution|Distribution]] to develop and custimize OS. &nbsp; &nbsp; == Board configuration == {| border="1" cellpadding="1" cellspacing="1" class="table_style" |- ! '''board''' ! '''kernel''' ! '''uboot''' ! '''dts''' |- | rk3036-kylin | rockchip_linux_defconfig | kylin-rk3036_defconfig | rk3036-kylin.dts |} &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" class="table_style" |- ! '''chip''' ! '''Kernel eMMC index''' ! '''Kernel SD index''' ! '''Uboot eMMC index''' ! '''Uboot SD index''' ! '''Baud speed''' |- | RK3036 | 1 | 0 | 0 | 1 | 115200 |} = See also = [[RK3288|RK3288]] [[RK3328|RK3328]] [[RK3399|RK3399]] = References = #[https://en.wikipedia.org/wiki/ARM_Cortex-A7 https://en.wikipedia.org/wiki/ARM_Cortex-A7] #[http://www.rock-chips.com/a/en/products/RK30_Series/2014/0924/521.html http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html] 672e9fd891b6a2f81b722b949f9e59e03e99c911 1715 1698 2017-12-08T07:51:33Z Admin 1 wikitext text/x-wiki {{Infobox SoC | title = RK3036 | image = [[File:rk3036-core.jpg|200px]] | manufacturer = Rockcihp | process = 28nm | cpu = Qual-Core ARM Cortex-A7 | ltwo = | extensions = | memory = 2-channel LPDDR3/LPDDR2/DDR3/DDR3L | gpu = ARM Mali400 | vpu = | apu = | video = HDMI 1.4 | audio = I2S, PCM | network = | storage = SD2.0, MMC4.5 | usb = OTG, Host | other = | release_date = June 2014 | website = http://www.rock-chips.com/a/cn/product/rk30/2014/0924/520.html }} &nbsp; &nbsp; Rockchip RK3036 is a low power, high performance processor solution for IoT, OTT TV BOX, and other digital multimedia applications, and integrates dual-core [https://en.wikipedia.org/wiki/ARM_Cortex-A7 Cortex-A7], with separate NEON coprocessor and 128KB L2 Cache.It also integrates Mali 400 GPU. &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; = Overview = RK3036 is a low power, high performance processor solution for OTT TV BOX, and other<br/> digital multimedia applications, and integrates dual-core Cortex-A7, with separate NEON<br/> coprocessor and 128KB L2 Cache.<br/> Many embedded powerful hardware engines provide optimized performance for high-end<br/> application. RK3036 supports almost full-format 1080P H.264 decoder and H.265 decoder,<br/> high-quality JPEG decoder and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3036 completely compatible with OpenGL ES1.1 and 2.0,<br/> OpenVG1.1 etc.<br/> RK3036 has high-performance external memory interface (DDR3/DDR3L) capable of<br/> sustaining demanding memory bandwidths, also provides a complete set of peripheral<br/> interface to support very flexible applications. &nbsp; &nbsp; = RK3036&nbsp;SoC Features = {| border="0" cellpadding="1" cellspacing="1" style="width: 972px;" |- | style="width: 530px;" | *CPU: **Quad Core Cortex-A7&nbsp;up to 1.0GHz **32KB L1-Cache **128KB L2-Cache *Internal memory **16KB BootRom **8KB internal SRAM *GPU: **ARM Mali400 **High performance OpenGL ES1.1 and 2.0, OpenVG1.1 etc **Embedded 1 shader core with shared hierarchical tiler *Display: **HDMI interface: HDMI version 1.4a, HDCP revision 1.2 and DVI version 1.0 compliant transmitter. Supports DTV from 480i to 1080i/p HD resolution **CVBS interface: 10-bit Resolution. PAL/NTSC encoding *Camera: **Not camera interface. Only support USB camera *Memory: **8KB internal SRAM **Dynamic Memory Interface (DDR3/DDR3L): Compatible with JEDEC standard DDR3/DDR3L SDRAM. Data rates up to1066Mbps(533MHz) for DDR3/DDR3L. Support up to 2 ranks (chip selects),maximum 1GB address space per rank. *Connectivity: **SDIO interface: Embedded one SDIO interface, Compatible with SDIO 3.0 protocol **EMAC 10/100M Ethernet Controller: IEEE802.3u compliant Ethernet Media Access Controller(MAC). Support only RMII(Reduced MII) mode. 10Mbps and 100Mbps compatible **SPI Controller: One on-chip SPI controller **UART Controller: Three on-chip UART controllers **I2C controller: Three on-chip I2C controllers **USB Host2.0: Compatible with USB Host2.0 specification. Supports high-speed(480Mbps), full-speed(12Mbps) and low-speed(1.5Mbps) mode **USB OTG2.0: Compatible with USB OTG2.0 specification. Supports high-speed(480Mbps), full-speed(12Mbps) and low-speed(1.5Mbps) mode *Audio: **I2S/PCM with 8 channels | style="width: 429px;" | [[File:Rk3036.jpg|RTENOTITLE]] |} &nbsp; &nbsp; = Devices = Rockchip: [http://rockchip.wikidot.com/kylin Kylin-RK3036] &nbsp; = Documentation = 1.&nbsp;[[Rockchip_RK3036_Datasheet_V1.2_20160115.pdf|Rockchip RK3036 Datasheet V1.2 20160115.pdf]] 2.&nbsp;[[RK3036_hardware_reference.zip|Schematic&Layout Guide]] &nbsp; = Software = See [http://opensource.rock-chips.com/wiki_RK3036_Linux_user_guide Linux_user_guide] setup Linux OS generally; See [[U-Boot|U-Boot]] guide to develop U-Boot; See [[Rockchip_Kernel|Rockchip kernel]] or [[Upstream_Kernel|Upstream kernel]] to develop kernel; See [[Distribution|Distribution]] to develop and custimize OS. &nbsp; &nbsp; == Board configuration == {| border="1" cellpadding="1" cellspacing="1" class="table_style" |- ! '''board''' ! '''kernel''' ! '''uboot''' ! '''dts''' |- | rk3036-kylin | rockchip_linux_defconfig | kylin-rk3036_defconfig | rk3036-kylin.dts |} &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" class="table_style" |- ! '''chip''' ! '''Kernel eMMC index''' ! '''Kernel SD index''' ! '''Uboot eMMC index''' ! '''Uboot SD index''' ! '''Baud speed''' |- | RK3036 | 1 | 0 | 0 | 1 | 115200 |} = See also = [[RK3288|RK3288]] [[RK3328|RK3328]] [[RK3399|RK3399]] = References = #[https://en.wikipedia.org/wiki/ARM_Cortex-A7 https://en.wikipedia.org/wiki/ARM_Cortex-A7] #[http://www.rock-chips.com/a/en/products/RK30_Series/2014/0924/521.html http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html] c32d5d7d864070704fea2945de0923929acd0cf4 1716 1715 2017-12-08T07:53:51Z Admin 1 wikitext text/x-wiki {{Infobox SoC | title = RK3036 | image = [[File:rk3036-core.jpg|200px]] | manufacturer = Rockcihp | process = 28nm | cpu = Qual-Core ARM Cortex-A7 | ltwo = | extensions = | memory = 2-channel LPDDR3/LPDDR2/DDR3/DDR3L | gpu = ARM Mali400 | vpu = | apu = | video = HDMI 1.4 | audio = I2S, PCM | network = | storage = SD2.0, MMC4.5 | usb = OTG, Host | other = | release_date = June 2014 | website = http://www.rock-chips.com/a/cn/product/rk30/2014/0924/520.html }} &nbsp; &nbsp; Rockchip RK3036 is a low power, high performance processor solution for IoT, OTT TV BOX, and other digital multimedia applications, and integrates dual-core [https://en.wikipedia.org/wiki/ARM_Cortex-A7 Cortex-A7], with separate NEON coprocessor and 128KB L2 Cache.It also integrates Mali 400 GPU. &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; = Overview = RK3036 is a low power, high performance processor solution for OTT TV BOX, and other<br/> digital multimedia applications, and integrates dual-core Cortex-A7, with separate NEON<br/> coprocessor and 128KB L2 Cache.<br/> Many embedded powerful hardware engines provide optimized performance for high-end<br/> application. RK3036 supports almost full-format 1080P H.264 decoder and H.265 decoder,<br/> high-quality JPEG decoder and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3036 completely compatible with OpenGL ES1.1 and 2.0,<br/> OpenVG1.1 etc.<br/> RK3036 has high-performance external memory interface (DDR3/DDR3L) capable of<br/> sustaining demanding memory bandwidths, also provides a complete set of peripheral<br/> interface to support very flexible applications. &nbsp; &nbsp; = RK3036&nbsp;SoC Features = {| border="0" cellpadding="1" cellspacing="1" style="width: 972px;" |- | style="width: 530px;" | *CPU: **Quad Core Cortex-A7&nbsp;up to 1.0GHz **32KB L1-Cache **128KB L2-Cache *Internal memory **16KB BootRom **8KB internal SRAM *GPU: **ARM Mali400 **High performance OpenGL ES1.1 and 2.0, OpenVG1.1 etc **Embedded 1 shader core with shared hierarchical tiler *Display: **HDMI interface: HDMI version 1.4a, HDCP revision 1.2 and DVI version 1.0 compliant transmitter. Supports DTV from 480i to 1080i/p HD resolution **CVBS interface: 10-bit Resolution. PAL/NTSC encoding *Camera: **Not camera interface. Only support USB camera *Memory: **8KB internal SRAM **Dynamic Memory Interface (DDR3/DDR3L): Compatible with JEDEC standard DDR3/DDR3L SDRAM. Data rates up to1066Mbps(533MHz) for DDR3/DDR3L. Support up to 2 ranks (chip selects),maximum 1GB address space per rank. *Connectivity: **SDIO interface: Embedded one SDIO interface, Compatible with SDIO 3.0 protocol **EMAC 10/100M Ethernet Controller: IEEE802.3u compliant Ethernet Media Access Controller(MAC). Support only RMII(Reduced MII) mode. 10Mbps and 100Mbps compatible **SPI Controller: One on-chip SPI controller **UART Controller: Three on-chip UART controllers **I2C controller: Three on-chip I2C controllers **USB Host2.0: Compatible with USB Host2.0 specification. Supports high-speed(480Mbps), full-speed(12Mbps) and low-speed(1.5Mbps) mode **USB OTG2.0: Compatible with USB OTG2.0 specification. Supports high-speed(480Mbps), full-speed(12Mbps) and low-speed(1.5Mbps) mode *Audio: **I2S/PCM with 8 channels | style="width: 429px;" | [[File:Rk3036.jpg|RTENOTITLE]] |} &nbsp; &nbsp; = Devices = Rockchip: [http://rockchip.wikidot.com/kylin Kylin-RK3036] &nbsp; = Documentation = 1.&nbsp;[[Rockchip_RK3036_Datasheet_V1.2_20160115.pdf|Rockchip RK3036 Datasheet V1.2 20160115.pdf]] 2.&nbsp;[[RK3036_hardware_reference.zip|Schematic&Layout Guide]] &nbsp; = Software = See [http://opensource.rock-chips.com/wiki_RK3036_Linux_user_guide Linux_user_guide] setup Linux OS generally; See [[RK3066-U-Boot|U-Boot]] guide to develop U-Boot; See [[Rockchip_Kernel|Rockchip kernel]] or [[Upstream_Kernel|Upstream kernel]] to develop kernel; See [[Distribution|Distribution]] to develop and custimize OS. &nbsp; &nbsp; == Board configuration == {| border="1" cellpadding="1" cellspacing="1" class="table_style" |- ! '''board''' ! '''kernel''' ! '''uboot''' ! '''dts''' |- | rk3036-kylin | rockchip_linux_defconfig | kylin-rk3036_defconfig | rk3036-kylin.dts |} &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" class="table_style" |- ! '''chip''' ! '''Kernel eMMC index''' ! '''Kernel SD index''' ! '''Uboot eMMC index''' ! '''Uboot SD index''' ! '''Baud speed''' |- | RK3036 | 1 | 0 | 0 | 1 | 115200 |} = See also = [[RK3288|RK3288]] [[RK3328|RK3328]] [[RK3399|RK3399]] = References = #[https://en.wikipedia.org/wiki/ARM_Cortex-A7 https://en.wikipedia.org/wiki/ARM_Cortex-A7] #[http://www.rock-chips.com/a/en/products/RK30_Series/2014/0924/521.html http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html] dc329252e65b5674a526a46cf8704152c38d1ac3 1718 1716 2017-12-08T08:29:54Z Admin 1 wikitext text/x-wiki {{Infobox SoC | title = RK3036 | image = [[File:rk3036-core.jpg|200px]] | manufacturer = Rockcihp | process = 28nm | cpu = Qual-Core ARM Cortex-A7 | ltwo = | extensions = | memory = 2-channel LPDDR3/LPDDR2/DDR3/DDR3L | gpu = ARM Mali400 | vpu = | apu = | video = HDMI 1.4 | audio = I2S, PCM | network = | storage = SD2.0, MMC4.5 | usb = OTG, Host | other = | release_date = June 2014 | website = http://www.rock-chips.com/a/cn/product/rk30/2014/0924/520.html }} &nbsp; &nbsp; Rockchip RK3036 is a low power, high performance processor solution for IoT, OTT TV BOX, and other digital multimedia applications, and integrates dual-core [https://en.wikipedia.org/wiki/ARM_Cortex-A7 Cortex-A7], with separate NEON coprocessor and 128KB L2 Cache.It also integrates Mali 400 GPU. &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; = Overview = RK3036 is a low power, high performance processor solution for OTT TV BOX, and other<br/> digital multimedia applications, and integrates dual-core Cortex-A7, with separate NEON<br/> coprocessor and 128KB L2 Cache.<br/> Many embedded powerful hardware engines provide optimized performance for high-end<br/> application. RK3036 supports almost full-format 1080P H.264 decoder and H.265 decoder,<br/> high-quality JPEG decoder and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3036 completely compatible with OpenGL ES1.1 and 2.0,<br/> OpenVG1.1 etc.<br/> RK3036 has high-performance external memory interface (DDR3/DDR3L) capable of<br/> sustaining demanding memory bandwidths, also provides a complete set of peripheral<br/> interface to support very flexible applications. &nbsp; &nbsp; = RK3036&nbsp;SoC Features = {| border="0" cellpadding="1" cellspacing="1" style="width: 972px;" |- | style="width: 530px;" | *CPU: **Quad Core Cortex-A7&nbsp;up to 1.0GHz **32KB L1-Cache **128KB L2-Cache *Internal memory **16KB BootRom **8KB internal SRAM *GPU: **ARM Mali400 **High performance OpenGL ES1.1 and 2.0, OpenVG1.1 etc **Embedded 1 shader core with shared hierarchical tiler *Display: **HDMI interface: HDMI version 1.4a, HDCP revision 1.2 and DVI version 1.0 compliant transmitter. Supports DTV from 480i to 1080i/p HD resolution **CVBS interface: 10-bit Resolution. PAL/NTSC encoding *Camera: **Not camera interface. Only support USB camera *Memory: **8KB internal SRAM **Dynamic Memory Interface (DDR3/DDR3L): Compatible with JEDEC standard DDR3/DDR3L SDRAM. Data rates up to1066Mbps(533MHz) for DDR3/DDR3L. Support up to 2 ranks (chip selects),maximum 1GB address space per rank. *Connectivity: **SDIO interface: Embedded one SDIO interface, Compatible with SDIO 3.0 protocol **EMAC 10/100M Ethernet Controller: IEEE802.3u compliant Ethernet Media Access Controller(MAC). Support only RMII(Reduced MII) mode. 10Mbps and 100Mbps compatible **SPI Controller: One on-chip SPI controller **UART Controller: Three on-chip UART controllers **I2C controller: Three on-chip I2C controllers **USB Host2.0: Compatible with USB Host2.0 specification. Supports high-speed(480Mbps), full-speed(12Mbps) and low-speed(1.5Mbps) mode **USB OTG2.0: Compatible with USB OTG2.0 specification. Supports high-speed(480Mbps), full-speed(12Mbps) and low-speed(1.5Mbps) mode *Audio: **I2S/PCM with 8 channels | style="width: 429px;" | [[File:Rk3036.jpg|RTENOTITLE]] |} &nbsp; &nbsp; = Devices = Rockchip: [http://rockchip.wikidot.com/kylin Kylin-RK3036] &nbsp; = Documentation = 1.&nbsp;[[Rockchip_RK3036_Datasheet_V1.2_20160115.pdf|Rockchip RK3036 Datasheet V1.2 20160115.pdf]] 2.&nbsp;[[RK3036_hardware_reference.zip|Schematic&Layout Guide]] &nbsp; = Software = See [http://opensource.rock-chips.com/wiki_RK3036_Linux_user_guide Linux_user_guide] setup Linux OS generally; See [[RK3036-U-Boot|U-Boot]] guide to develop U-Boot; See [[Rockchip_Kernel|Rockchip kernel]] or [[Upstream_Kernel|Upstream kernel]] to develop kernel; See [[Distribution|Distribution]] to develop and custimize OS. &nbsp; &nbsp; == Board configuration == {| border="1" cellpadding="1" cellspacing="1" class="table_style" |- ! '''board''' ! '''kernel''' ! '''uboot''' ! '''dts''' |- | rk3036-kylin | rockchip_linux_defconfig | kylin-rk3036_defconfig | rk3036-kylin.dts |} &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" class="table_style" |- ! '''chip''' ! '''Kernel eMMC index''' ! '''Kernel SD index''' ! '''Uboot eMMC index''' ! '''Uboot SD index''' ! '''Baud speed''' |- | RK3036 | 1 | 0 | 0 | 1 | 115200 |} = See also = [[RK3288|RK3288]] [[RK3328|RK3328]] [[RK3399|RK3399]] = References = #[https://en.wikipedia.org/wiki/ARM_Cortex-A7 https://en.wikipedia.org/wiki/ARM_Cortex-A7] #[http://www.rock-chips.com/a/en/products/RK30_Series/2014/0924/521.html http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html] 7d190875a4b17ec5768457068beccc1848f42900 1723 1718 2017-12-08T08:44:19Z Admin 1 wikitext text/x-wiki {{Infobox SoC | title = RK3036 | image = [[File:rk3036-core.jpg|200px]] | manufacturer = Rockcihp | process = 28nm | cpu = Qual-Core ARM Cortex-A7 | ltwo = | extensions = | memory = 2-channel LPDDR3/LPDDR2/DDR3/DDR3L | gpu = ARM Mali400 | vpu = | apu = | video = HDMI 1.4 | audio = I2S, PCM | network = | storage = SD2.0, MMC4.5 | usb = OTG, Host | other = | release_date = June 2014 | website = http://www.rock-chips.com/a/cn/product/rk30/2014/0924/520.html }} &nbsp; &nbsp; Rockchip RK3036 is a low power, high performance processor solution for IoT, OTT TV BOX, and other digital multimedia applications, and integrates dual-core [https://en.wikipedia.org/wiki/ARM_Cortex-A7 Cortex-A7], with separate NEON coprocessor and 128KB L2 Cache.It also integrates Mali 400 GPU. &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; = Overview = RK3036 is a low power, high performance processor solution for OTT TV BOX, and other<br/> digital multimedia applications, and integrates dual-core Cortex-A7, with separate NEON<br/> coprocessor and 128KB L2 Cache.<br/> Many embedded powerful hardware engines provide optimized performance for high-end<br/> application. RK3036 supports almost full-format 1080P H.264 decoder and H.265 decoder,<br/> high-quality JPEG decoder and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3036 completely compatible with OpenGL ES1.1 and 2.0,<br/> OpenVG1.1 etc.<br/> RK3036 has high-performance external memory interface (DDR3/DDR3L) capable of<br/> sustaining demanding memory bandwidths, also provides a complete set of peripheral<br/> interface to support very flexible applications. &nbsp; &nbsp; = RK3036&nbsp;SoC Features = {| border="0" cellpadding="1" cellspacing="1" style="width: 972px;" |- | style="width: 530px;" | *CPU: **Quad Core Cortex-A7&nbsp;up to 1.0GHz **32KB L1-Cache **128KB L2-Cache *Internal memory **16KB BootRom **8KB internal SRAM *GPU: **ARM Mali400 **High performance OpenGL ES1.1 and 2.0, OpenVG1.1 etc **Embedded 1 shader core with shared hierarchical tiler *Display: **HDMI interface: HDMI version 1.4a, HDCP revision 1.2 and DVI version 1.0 compliant transmitter. Supports DTV from 480i to 1080i/p HD resolution **CVBS interface: 10-bit Resolution. PAL/NTSC encoding *Camera: **Not camera interface. Only support USB camera *Memory: **8KB internal SRAM **Dynamic Memory Interface (DDR3/DDR3L): Compatible with JEDEC standard DDR3/DDR3L SDRAM. Data rates up to1066Mbps(533MHz) for DDR3/DDR3L. Support up to 2 ranks (chip selects),maximum 1GB address space per rank. *Connectivity: **SDIO interface: Embedded one SDIO interface, Compatible with SDIO 3.0 protocol **EMAC 10/100M Ethernet Controller: IEEE802.3u compliant Ethernet Media Access Controller(MAC). Support only RMII(Reduced MII) mode. 10Mbps and 100Mbps compatible **SPI Controller: One on-chip SPI controller **UART Controller: Three on-chip UART controllers **I2C controller: Three on-chip I2C controllers **USB Host2.0: Compatible with USB Host2.0 specification. Supports high-speed(480Mbps), full-speed(12Mbps) and low-speed(1.5Mbps) mode **USB OTG2.0: Compatible with USB OTG2.0 specification. Supports high-speed(480Mbps), full-speed(12Mbps) and low-speed(1.5Mbps) mode *Audio: **I2S/PCM with 8 channels | style="width: 429px;" | [[File:Rk3036.jpg|RTENOTITLE]] |} &nbsp; &nbsp; = Devices = Rockchip: [http://rockchip.wikidot.com/kylin Kylin-RK3036] &nbsp; = Documentation = 1.&nbsp;[[Rockchip_RK3036_Datasheet_V1.2_20160115.pdf|Rockchip RK3036 Datasheet V1.2 20160115.pdf]] 2.&nbsp;[[RK3036_hardware_reference.zip|Schematic&Layout Guide]] &nbsp; = Software = See [http://opensource.rock-chips.com/wiki_RK3036_Linux_user_guide Linux_user_guide] setup Linux OS generally; See [[RK3036-U-Boot|U-Boot]] guide to develop U-Boot; See [[Rockchip_RK3036_Kernel|Rockchip kernel]] or [[Upstream_Kernel|Upstream kernel]] to develop kernel; See [[Distribution|Distribution]] to develop and custimize OS. &nbsp; &nbsp; == Board configuration == {| border="1" cellpadding="1" cellspacing="1" class="table_style" |- ! '''board''' ! '''kernel''' ! '''uboot''' ! '''dts''' |- | rk3036-kylin | rockchip_linux_defconfig | kylin-rk3036_defconfig | rk3036-kylin.dts |} &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" class="table_style" |- ! '''chip''' ! '''Kernel eMMC index''' ! '''Kernel SD index''' ! '''Uboot eMMC index''' ! '''Uboot SD index''' ! '''Baud speed''' |- | RK3036 | 1 | 0 | 0 | 1 | 115200 |} = See also = [[RK3288|RK3288]] [[RK3328|RK3328]] [[RK3399|RK3399]] = References = #[https://en.wikipedia.org/wiki/ARM_Cortex-A7 https://en.wikipedia.org/wiki/ARM_Cortex-A7] #[http://www.rock-chips.com/a/en/products/RK30_Series/2014/0924/521.html http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html] 82bf0ad5f844aeeaf6e48cdde50604263c7f8411 File:Rk3036-core.jpg 6 183 1671 2017-12-06T08:13:36Z Admin 1 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 RK3288 0 20 1675 1246 2017-12-06T08:37:02Z Admin 1 wikitext text/x-wiki {{Infobox SoC | title = RK3288 | image = [[File:rk3288_soc.png|200px]] | manufacturer = Rockcihp | process = 28nm | cpu = Quad-Core ARM Cortex-A17 | ltwo = | extensions = | memory = 2-channel LPDDR3/LPDDR2/DDR3/DDR3L | gpu = ARM Mali-T764 | vpu = | apu = | video = HDMI 1.4, MIPI DSI, LVDS, RGB LCD | audio = I2S, PCM | network = | storage = 4x SD Card, eMMC, NAND | usb = OTG, 2x Host | other = | release_date = June 2014 | website = http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html }} &nbsp; &nbsp; &nbsp; Integrated with a Quad-Core [https://en.wikipedia.org/wiki/ARM_Cortex-A17 Cortex-A17]&nbsp;which up to 1.8GHz and ARMMali-T764&nbsp;which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant&nbsp;interfaces provide&nbsp;a friendly solution for product&nbsp;development. Futhermore &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; = Overview = The RK3288 offers<big><var>&nbsp;</var></big>an extensible, <big><small><tt>leading&nbsp;performance</tt></small></big>, long-standing heritage platform,ideally suited for &nbsp;set-top box solution, tablet and chromebook.The platform is integrated with a Quad-Core Cortex-A17 which up to 1.8GHz and ARM Mali-T764&nbsp;which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant&nbsp;interfaces provide&nbsp;a friendly solution for product&nbsp;development. Futhermore, the power consumption is&nbsp;optimal for applications such as imaging/video, communication and broadband infrastructure,and performance audio applications. &nbsp; &nbsp; = RK3288 SoC Features = {| border="0" cellpadding="1" cellspacing="1" style="width: 972px;" |- | style="width: 530px;" | *CPU: **Quad Core Cortex-A17&nbsp;up to 1.8GHz **32KB L1-Cache **1MB L2-Cache *Internal SRAM **96KB total **First 16KB used by Bootrom when bootup *GPU: **ARM Mali-T764 GPU, with TE, ASTC, AFBC technology **Quad core 3D Graphics engine **Dual core 2D Graphics engine **Comply with&nbsp;OpenGL ES1.1/2.0/3.0, OpenVG1.1, OpenCL, DirectX11 *Display: **4Kx2K@60fpsHDMI2.0 **Up to 3840X2160 display resolution **Support dual-channel LVDS/dual-channel MIPI-DSI/eDP1.1 *Camera: **Support up to 5M pixels **8bits/10bits/12bits raw data interface&nbsp; *Memory: **Dual channels 64-bit DRAM controller **Support DDR3/DDR3L, LPDDR2, LPDDR3 *Connectivity: **Embedded 13M ISP and MIPI-CSI2 interface *Audio: **I2S/PCM with 8 channels | style="width: 429px;" | [[File:3288.png|RTENOTITLE]] |} &nbsp; = Devices = Rockchip: EVB-RK3288 Firefly: [[Firefly-RK3288|Firefly-RK3288]]<br/> [[Rock2_Full|Rock2 Full]]<br/> [[MiQi|MiQi]]<br/> [[Fennec|Fennec]]<br/> [[PhyCORE-RK3288|phyCORE-RK3288]] ASUS: [[ASUS_Tinker|Tinker board]] &nbsp; = Documentation = #[[Media:Rockchip_RK3288_TRM_V1.2_Part1-20170321.pdf|Rockchip RK3288 TRM V1.2 Part1-20170321.pdf]] #[http://opensource.rock-chips.com/images/a/ae/Rk3288_hardware_reference.zip Rk3288_hardware_reference.zip] &nbsp; = Software = See [http://opensource.rock-chips.com/wiki_Linux_user_guide Linux_user_guide] setup Linux OS generally; See [[U-Boot|U-Boot]] guide to develop U-Boot; See [[Rockchip_Kernel|Rockchip kernel]] or [[Upstream_Kernel|Upstream kernel]] to develop kernel; See [[Distribution|Distribution]] to develop and custimize OS. &nbsp; &nbsp; == Board configuration == {| border="1" cellpadding="1" cellspacing="1" class="table_style" |- ! '''board''' ! '''kernel''' ! '''uboot''' ! '''dts''' |- | RK3288_MAINBOARD_V3.0 | rockchip_linux_defconfig | rk3288_linux_defconfig | rk3288-evb-act8846.dts |} &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" class="table_style" |- ! '''chip''' ! '''Kernel eMMC index''' ! '''Kernel SD index''' ! '''Uboot eMMC index''' ! '''Uboot SD index''' ! '''Baud speed''' |- | RK3288 | 1 | 0 | 0 | 1 | 115200 |} = See also = [[RK3036|RK3036]] [[RK3328|RK3328]] [[RK3399|RK3399]] = References = #[https://en.wikipedia.org/wiki/ARM_Cortex-A17 https://en.wikipedia.org/wiki/ARM_Cortex-A17] #[http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html] 9a273fe44cc3b049ed3494ce01b7fbe5ffd5d718 Devices 0 49 1676 1150 2017-12-06T09:34:39Z Admin 1 wikitext text/x-wiki Here list the boards that appear&nbsp;at upstream or Rockchip github&nbsp;source code. = RK3036 Boards = Kylin:&nbsp;[[Kylin-RK3036|Kylin-RK3036]] &nbsp; = RK3288 Boards = Firefly:&nbsp;[[Firefly-RK3288|Firefly-RK3288]] ASUS:&nbsp;[[ASUS_Tinker|Tinker Board]] Mqmaker: [[MiQi|MiQi]] PHYTEC: [[PhyCORE-RK3288|phyCore-RK3288]] Linksprite:&nbsp;[[Fennec|PcDuino9 Fennec]] &nbsp; = RK3399 Boards = Rockchip: RK3399&nbsp;[[Excavator_sapphire_board|Excavator sapphire]] Firefly: [[Firefly-RK3399|Firefly-RK3399]] [https://www.theobroma-systems.com/ Theobroma Systems]: [[RK3399-Q7|RK3399-Q7]] = RK3328 Boards = [[ROCK64|ROCK64]] 1ab996d60ff4cdaaf473f40fdc661bc979dbe89d 1679 1676 2017-12-06T09:50:29Z Admin 1 wikitext text/x-wiki Here list the boards that appear&nbsp;at upstream or Rockchip github&nbsp;source code. = RK3036 Boards = Kylin:&nbsp;[http://rockchip.wikidot.com/kylin Kylin-RK3036] &nbsp; = RK3288 Boards = Firefly:&nbsp;[[Firefly-RK3288|Firefly-RK3288]] ASUS:&nbsp;[[ASUS_Tinker|Tinker Board]] Mqmaker: [[MiQi|MiQi]] PHYTEC: [[PhyCORE-RK3288|phyCore-RK3288]] Linksprite:&nbsp;[[Fennec|PcDuino9 Fennec]] &nbsp; = RK3399 Boards = Rockchip: RK3399&nbsp;[[Excavator_sapphire_board|Excavator sapphire]] Firefly: [[Firefly-RK3399|Firefly-RK3399]] [https://www.theobroma-systems.com/ Theobroma Systems]: [[RK3399-Q7|RK3399-Q7]] = RK3328 Boards = [[ROCK64|ROCK64]] f83d19b1ff87545bd3a229f3af75d494e617a07a 1688 1679 2017-12-06T10:09:50Z Admin 1 wikitext text/x-wiki Here list the boards that appear&nbsp;at upstream or Rockchip github&nbsp;source code. = RK3036 Boards = Rockchip:&nbsp;[http://rockchip.wikidot.com/kylin Kylin-RK3036] &nbsp; = RK3288 Boards = Firefly:&nbsp;[[Firefly-RK3288|Firefly-RK3288]] ASUS:&nbsp;[[ASUS_Tinker|Tinker Board]] Mqmaker: [[MiQi|MiQi]] PHYTEC: [[PhyCORE-RK3288|phyCore-RK3288]] Linksprite:&nbsp;[[Fennec|PcDuino9 Fennec]] &nbsp; = RK3399 Boards = Rockchip: RK3399&nbsp;[[Excavator_sapphire_board|Excavator sapphire]] Firefly: [[Firefly-RK3399|Firefly-RK3399]] [https://www.theobroma-systems.com/ Theobroma Systems]: [[RK3399-Q7|RK3399-Q7]] = RK3328 Boards = [[ROCK64|ROCK64]] d91ebb58f26d823805bef421e19d5ec81e446db6 RK3399 0 21 1677 1223 2017-12-06T09:44:24Z Admin 1 wikitext text/x-wiki Rockchip RK3399 SoC integrates&nbsp;dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor, and with&nbsp;ARM Mali-T864 GPU. {| border="0" cellpadding="1" cellspacing="1" class="infobox" style="width: 300px;" |- | [[File:RK3399 Soc.png|RTENOTITLE]] |} = Overview = RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications. &nbsp; = SoC Features = {| border="0" cellpadding="1" cellspacing="1" style="width: 972px;" |- | style="width: 530px;" | *CPU: **Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU **Frequency is over 1.8GHz (Big cluster) **L1 cache ***48KB Icache and 32KB Dcache for each A72 ***32KB Icache and 32KB Dcache for each A53 **L2 cache ***1024KB for big cluster ***512KB for little cluster *Internal SRAM **192KB total **4KB used by bootrom when bootup *GPU: **&nbsp;Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11 **Supports AFBC (ARM Frame Buffer Compression) *Display: **Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600 **Dual channel MIPI-DSI (4 lanes per channel) **eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR **HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2 **DisplayPort 1.2 (4 lanes, up to 4K 60Hz) **Supports Rec.2020 and conversion to Rec.709 *Camera: **&nbsp;Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels *Memory: **Dual channels 64-bit DRAM controller **Support DDR3/DDR3L, LPDDR3, LPDDR4 *Connectivity: **PCIe 2.1 (4 full-duplex lanes with 20Gbps) **Embedded low power MCU for other application **8 channels I2S supports 8 channels RX or 8 channels TX | style="width: 429px;" | [[File:RK3399 Block Diagram.png|RTENOTITLE]] |} &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; = Documentation = #[http://opensource.rock-chips.com/images/6/60/Rockchip_RK3399_Datasheet_V1.6-20170301.pdf Rockchip_RK3399_Datasheet_V1.6-20170301.pdf] #[http://opensource.rock-chips.com/images/f/f9/RK3399_Linux_Debain_V1.1_Development_Guide170620.pdf RK3399_Linux_Debain_V1.1_Development_Guide170620.pdf] #[http://opensource.rock-chips.com/images/5/5d/RK3399_Linux_Debian_v1.1开发说明170620.pdf RK3399 Linux Debian v1.1开发说明170620.pdf] #[http://opensource.rock-chips.com/images/9/92/RK3399_Linux_Buildroot_V1.2_Development_Guide170619.pdf RK3399_Linux_Buildroot_V1.2_Development_Guide170619.pdf] #[http://opensource.rock-chips.com/images/0/05/RK3399_Linux_Buildroot_V1.2开发说明170619.pdf RK3399_Linux_Buildroot_V1.2开发说明170619.pdf] #[http://opensource.rock-chips.com/images/2/20/RK3399_Multimedia_Codec_Benchmark_v1.0.pdf RK3399_Multimedia_Codec_Benchmark_v1.0.pdf] #[[Media:RK3399_Design_Guide_V1.0_20170420.pdf|RK3399 Design Guide_V1.0_20170420.pdf]] = Software = See&nbsp;[[Linux_user_guide|Linux_user_guide]]&nbsp;setup LInux OS generally; See&nbsp;[[U-Boot|U-Boot]]&nbsp;guide to develop U-Boot; See&nbsp;[[Rockchip_Kernel|Rockchip kernel]]&nbsp;or&nbsp;[[Upstream_Kernel|Upstream kernel]]&nbsp;to develop kernel; See&nbsp;[[Distribution|Distribution]]&nbsp;to develop and custimize OS. &nbsp; == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" class="table_style" style="line-height: 1.6; width: 768px;" |- ! style="width: 119px; text-align: center;" | '''board''' ! style="width: 172px; text-align: center;" | '''kernel''' ! style="width: 170px; text-align: center;" | '''uboot''' ! style="width: 277px; text-align: center;" | '''dts''' |- | style="width: 119px; text-align: center;" | rk3399-excavator | style="width: 172px; text-align: center;" | rockchip_linux_defconfig | style="width: 170px; text-align: center;" | evb-rk3399_defconfig | style="width: 277px; text-align: center;" | rk3399-sapphire-excavator-linux.dts |- | style="width: 119px; text-align: center;" | rk3399-firefly | style="width: 172px; text-align: center;" | rockchip_linux_defconfig | style="width: 170px; text-align: center;" | firefly-rk3399_defconfig | style="width: 277px; text-align: center;" | rk3399-firefly-linux.dts |} &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" class="table_style" style="width: 859px;" |- ! style="width: 68px; text-align: center;" | '''chip''' ! style="width: 181px; text-align: center;" | '''Kernel eMMC index''' ! style="width: 142px; text-align: center;" | '''Kernel SD index''' ! style="width: 158px; text-align: center;" | '''Uboot eMMC index''' ! style="width: 146px; text-align: center;" | '''Uboot SD index''' ! style="width: 132px; text-align: center;" | '''Baud speed''' |- | style="width: 68px; text-align: center;" | RK3399 | style="width: 181px; text-align: center;" | 1 | style="width: 142px; text-align: center;" | 0 | style="width: 158px; text-align: center;" | 0 | style="width: 146px; text-align: center;" | 1 | style="width: 132px; text-align: center;" | 1500000 |} &nbsp; = Devices = Rockchip: [[Excavator_sapphire_board|Excavator_sapphire_board]] Firefly: [http://wiki.t-firefly.com/index.php/Firefly-RK3399 rk3399-firefly] Theobroma Systems:&nbsp;[[RK3399-Q7|RK3399-Q7]] If you need the rk3399-excavator&nbsp;board, please communicate through&nbsp;the following&nbsp;contact information: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">Telephone: 4007700590 &nbsp; &nbsp; &nbsp; &nbsp;Email: service@rock-chips.com</div> If you need the Firefly-RK3399 board,you can browse the following url&nbsp;for more details: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">[http://www.t-firefly.com/zh/firenow/Firefly-rk3399/ http://www.t-firefly.com/zh/firenow/Firefly-rk3399/]</div> = See also = [[RK3036|RK3036]] [[RK3288|RK3288]] [[RK3328|RK3328]] &nbsp; = References = [https://en.wikipedia.org/wiki/ARM_Cortex-A72 https://en.wikipedia.org/wiki/ARM_Cortex-A72] [http://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html http://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html] [https://www.arm.com/zh/products/multimedia/mali-gpu/high-performance/mali-t860-t880.php https://www.arm.com/zh/products/multimedia/mali-gpu/high-performance/mali-t860-t880.php] b1babe297c7a01f71e3bbd72f0caa17e17683d25 RK3328 0 24 1678 1288 2017-12-06T09:44:56Z Admin 1 wikitext text/x-wiki {{Infobox SoC | title = RK3328 | image = [[File:rk3328_soc.png|250px]] | manufacturer = Rockcihp | process = 28nm | cpu = Quad-Core ARM Cortex-A53 | ltwo = | extensions = | memory = DDR3/DDR3L/LPDDR3/DDR4 | gpu = Mali-450MP4 | vpu = 4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps | apu = | video = HDMI 2.0a, | audio = 8 channels I2S/PDM | storage = 4x SD Card, eMMC | usb = 1* USB2.0 otg, 1* USB 2.0 Host, 1* USB 3.0 Host | other = | release_date = December 2016 | website = http://www.rock-chips.com/a/en/products/RK33_Series/2017/0118/829.html | Product Page }} &nbsp; &nbsp; &nbsp; = Overview = RK3328 offers a high-integration and power efficiency&nbsp;SOC for 4K HDR OTT/IPTV. It support HDR10 ,HLG HDR ,&nbsp;4K 10bits 30fps H.264 video decoder and 4K 10bits 60fps H265 video decoder.Comply with lots of high-performance interface,such as multi-channel display with HDMI2.0a, TV Encoder, the Quad-core GPU can acheive&nbsp;high-resolution display and game. == Cortex-A53 == Quad-core Cortex-A53 is integrated with separate Neon and FPU coprocessor, also with shared L2 Cache.&nbsp; &nbsp; = RK3328 SoC Features = {| border="0" cellpadding="1" cellspacing="1" style="width: 972px;" |- | style="width: 530px;" | *CPU: **ARM Cortex-A53&nbsp;Quad-Core&nbsp; **32KB L1&nbsp;I cache and D cache for each CPU **256KB L2 cache *Internal SRAM **32KB total *GPU **&nbsp;Mali-450MP4 **Comply with Open GL ES1.1/2.0 *Multi-Media: **4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps **1080P other video decoders (VC-1, MPEG-1/2/4, VP8) **1080P video encoder for H.264 and H.265 **Support HDR10 ,HLG HDR , Support conversion between SDR and HDR *Display: **HDMI 2.0a for 4K@60Hz with HDCP 1.4/2.2 **Support conversion between Rec.2020 and Rec.709 *Memory: **LPDDR3/DDR3/DDR3L/DDR4 **eMMC 4.51,SDCard, SPI Flash *External interface **USB 2.0 x2 and USB 3.0 x1 **100M Ethernet w/ built-in PHY **Built-in CVBS and audio DAC **8 channels I2S IO and 8 chanel digital PDM input (for MIC array) | style="width: 429px;" | [[File:3328.png|RTENOTITLE]] |} &nbsp; &nbsp; &nbsp; &nbsp; = Devices = PINE64:&nbsp;[[ROCK64|ROCK64]] &nbsp; &nbsp; &nbsp; = Documentation = #[http://opensource.rock-chips.com/images/d/d7/Rockchip_RK3328_Datasheet_V1.1-20170309.pdf Rockchip_RK3328_Datasheet_V1.1-20170309.pdf] #[http://opensource.rock-chips.com/images/d/d5/RK3328_Linux-Debian_V1.1_Development_Guide-20170711.pdf RK3328_Linux-Debian_V1.1_Development_Guide-20170711.pdf] &nbsp; &nbsp; &nbsp; = Software = See [[Linux_user_guide|Linux_user_guide]] setup Linux OS generally; See [[U-Boot|U-Boot]] guide to develop U-Boot; See [[Rockchip_Kernel|Rockchip kernel]] or [[Upstream_Kernel|Upstream kernel]] to develop kernel; See [[Distribution|Distribution]] to develop and custimize OS. &nbsp; == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" class="table_style" |- ! '''board''' ! '''kernel''' ! '''uboot''' ! '''dts''' |- | RK_EVB_RK3228H_BOX_RK805_DDR3 | rockchip_linux_defconfig | rk3328_linux_defconfig | rk3328-evb.dts |} &nbsp; &nbsp; &nbsp; &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" class="table_style" |- ! '''chip''' ! '''Kernel eMMC index''' ! '''Kernel SD index''' ! '''Uboot eMMC index''' ! '''Uboot SD index''' ! '''Baud speed''' |- | RK3328 | 2 | 0 | 0 | 1 | 1500000 |} &nbsp; = See also = [[RK3036|RK3036]] [[RK3288|RK3288]] [[RK3399|RK3399]] = References = 1.[https://en.wikipedia.org/wiki/ARM_Cortex-A53 https://en.wikipedia.org/wiki/ARM_Cortex-A53] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; debf9f1c8e741a541a410cf0d4b976b6f2ef6ca7 File:Rockchip RK3036 Datasheet V1.2 20160115.pdf 6 184 1683 2017-12-06T10:00:10Z Admin 1 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 Boot option 0 116 1689 1554 2017-12-07T02:40:16Z Ayaka 16 Adjust the organization of the SPL and u-boot sections, following the boot order. wikitext text/x-wiki &nbsp; &nbsp; &nbsp; &nbsp; = Boot introduce = &nbsp; First, let's make the concept clear, there are many boot stages when we boot up a Linux OS; Then we need to know about how the image should packaged, where&nbsp;the image locate; At last, we will explain how to write to different&nbsp;media and boot from there. Here is Rockchip pre-released binaries which may be mentioned later: [https://github.com/rockchip-linux/rkbin https://github.com/rockchip-linux/rkbin] And [http://opensource.rock-chips.com/wiki_Partitions Rockcip Linux GPT partition] here. &nbsp; == Boot flow == Here is a table show the detail what we may use in Rockchip platform, for 2 boot stage: - use U-Boot SPL; - use Rockchp idbLoader which is combinded by Rockchip ddr init bin and miniloader bin; <pre>+--------+----------------+----------+-------------+---------+ | Boot | Terminology #1 | Actual | Rockchip | | | stage | | program | Image | | | number | | name | Name | | +--------+----------------+----------+-------------+---------+ | 1 | Primary | ROM code | BootRom | | | | Program | | | | | | Loader | | | | | | | | | | | 2 | Secondary | U-Boot |idbloader.img| 0x40 |including u-boot if not use miniloader | | Program | SPL |idbspl.img | | | | Loader (SPL) | | | | | | | | | | | 3 | - | U-Boot | u-boot.itb | 0x4000 | including u-boot and atf | | | | u-boot.bin | 0x4000 | | | | | uboot.img | 0x4000 | only used with miniloader | | | | | | | | | ATF | trust.img | 0x6000 | only used with miniloader for armv8 | | | | | | | 4 | - | kernel | boot.img | 0x8000 | | | | | | | | 5 | - | rootfs | rootfs.img | 0x40000 | +--------+----------------+----------+-------------+---------+ </pre> Then when we talking about boot from eMMC/SD/U-Disk/net, they are in different concept: *Stage 1 is always in boot rom, it loads stage 2 and may load stage 3(when SPL_BACK_TO_BROM option enabled). *Boot from SPI flash means firmware for stage 2 and 3(SPL and U-Boot only) in SPI flash and stage 4/5 in other place; *Boot from eMMC means all the firmware(including stage 2, 3, 4, 5) in eMMC; *Boot from SD card means all the firmware(including stage 2, 3, 4, 5) in SD card; *Boot from U-Disk means firmware for stage 4 and 5(not including SPL and U-Boot) in Disk, optionally only including stage 5; *Boot from net/tftp means firmeware for stage 4 and 5(not including SPL and U-Boot) on the network; &nbsp; [[File:Rockchip bootflow.jpg|1000x1000px|Rockchip bootflow.jpg]] Boot Flow 1 is typical Rockchip boot flow with Rockchip miniloader;<br/> Boot Flow 2 is used for most SoCs with U-Boot TPL for ddr init and SPL for trust(ATF/OP-TEE) load and run into next stage;<br/> Boot Flow 3 is use only for RK3399 with SPL ATF support;<br/> Boot Flow 4 is used for armv7 SoCs which do not support trust;<br/> <br/> Note 1. If loader1 have more than 1 stage, program will back to bootrom and bootrom load and run into next stage. eg. If loader1 is tpl and spl, the bootrom will run into tpl first, tpl init ddr and back to bootrom, bootrom then load and run into spl.<br/> Note 2. If trust is enabled, loader1 need to load both trust and u-boot, and then run into trust in secure mode(EL3 in armv8), trust do the initialize and run into U-Boot in non-secure mode(EL2 in armv8).<br/> Note 3. For trust(in trust.img or u-boot.itb), armv7 has only one tee.bin with or without ta, armv8 has bl31.elf and option with bl32.<br/> Note 4. In boot.img, content can be zImage and its dtb for Linux, and can optionally be grub.efi, and can be AOSP boot.img, ramdisk is option; == Package option == After we know about the boot stages, Here are the file list before package for stage 2~4: *From source code: **From U-Boot: '''u-boot-spl.bin''', '''u-boot.bin'''(may use u-boot-nodtb.bin and u-boot.dtb instead), **From kernel: kernel '''Image/zImage''' file, kernel dtb, **From ATF: '''bl31.elf'''; *From Rockchip binary: **ddr, usbplug, miniloader, bl31/op-tee, (all with&nbsp;chip 'rkxx_'&nbsp; prefix and with version '_x.xx.bin' postfix); We offer two different boot-loader methods for different solutions, the steps and request files are also complete different. But not all the platforms supports the both boot-loader methods. Here are the types to&nbsp;package image from those files: === The Pre-bootloader(TBL/SPL) === ==== idbspl.img ==== U-Boot SPL, with&nbsp;SPL_BACK_TO_BROM option '''disabled'''. <pre>mkimage -n rkxxxx -T rksd -d spl/u-boot-spl.bin idbspl.img</pre> Flash the idbspl.img to offset 0x40 which only including stage 2, and need flash stage 3 &nbsp;image to 0x200(which is defineded by CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR), the stage 3 image may be&nbsp;u-boot.bin directly(when there no ATF requirement), or FIT image bl3.itb(for ATF load from SPL, including bl31.bin, u-boot-nodtb.bin and u-boot.dtb). &nbsp; ==== idbloader.img ==== U-Boot SPL, with&nbsp;SPL_BACK_TO_BROM option '''enabled''': <pre>tools/mkimage -n rkxxxx -T rksd -d spl/u-boot-spl.bin idbloader.img cat u-boot.bin >> idbloader.img</pre> Flash the idbloader.img to offset 0x40 which including boot stage 2 and 3. ==== Rockchip Miniloader ==== Package the image from Rockchip binary: <pre>dd if=rkxx_ddr_vx.xx.bin of=ddr.bin bs=4 skip=1 tools/mkimage -n rkxxxx -T rksd -d ddr.bin idbloader.img rm ddr.bin cat rkxx_miniloader_vx.xx.bin >> idbloader.img</pre> The ddr binary files for ARM64 platforms from Rockchip, likes RK3399 and RK3328 should not skip first 4 bytes. <pre>tools/mkimage -n rkxxxx -T rksd -d rkxx_ddr_vx.xx.bin idbloader.img rm ddr.bin cat rkxx_miniloader_vx.xx.bin >> idbloader.img</pre> Flash the idbloader.img to offset 0x40 which including stage 2, and you will need a uboot.img for boot stage 3. === U-Boot === ==== u-boot.itb ==== When using SPL to load the ATF/OP-TEE, package the bl31.bin, u-boot-nodtb.bin and uboot.dtb into one FIT image. You can skip the step to package the Trust image and flash that image in the next section. <pre>make u-boot.itb </pre> Note: please copy the trust binary() to u-boot root directory and rename it to tee.bin(armv7) or bl31.elf(armv8). Flash the u-boot.itb to offset 0x4000, while&nbsp;need idbspl.img flash&nbsp;to offset 0x40. ==== uboot.img ==== When using idbLoader from&nbsp;Rockchip miniloader, need package u-boot.bin into miniloader loadable format by Rockchip tool loaderimage. <pre>tools/loaderimage --pack --uboot u-boot.bin uboot.img</pre> Flash the uboot.img to offset 0x4000 which is stage 3; === Trust === When using idbLoader from&nbsp;Rockchip miniloader, need package bl31.bin into miniloader loadable format by Rockchip tool trustmerge. <pre>tools/trustmerge tools/rk_tools/RKTRUST_RKXXXXTRUST.ini</pre> Flash the trust.img to offset 0x6000 which is for using Rockchip miniloader === boot.img === This image is package the kernel Image and dtb file into a know filesystem(FAT or EXT2) image for distro boot. See [[Rockchip_Kernel#Install_Boot.2Fkernel|Install kernel]] for detail about generate boot.img from kernel zImage/Image, dtb. Flash the boot.img to offset 0x8000 which is stage 4. === rootfs.img === Flash the rootfs.img to offset 0x40000 which is stage 5. As long as the kernel you chosen can support that filesystem, there is not limit in the format of the image. === rkxx_loader_vx.xx.xxx.bin === This is provide by Rockchip in binary mode, which is used for firmware upgrade to eMMC with [[Rkdeveloptool|rkdeveloptool]], can not be wirte to media device directly. This is a package from ddr.bin, usbplug.bin, miniloader.bin, Rockchip tool ''DB ''command will make usbplug.bin running in target which perform as a Rockusb device. You can skip to package this image, Rockchip will offer this image at the most of time. = Flash and boot from Media device = Here we introduce how to write image to different Medeia device. Get image Ready: *For armv7 with SPL with SPL_BACK_TO_BROM option enabled: **idbLoader.img **boot.img or boot folder with zImage, dtb and exitlinulx inside **rootfs.img *For armv7 with SPL with SPL_BACK_TO_BROM option disabled: **idbspl.img **u-boot.bin **boot.img or boot folder with zImage, dtb and exitlinulx inside **rootfs.img *For armv7 with miniloader **idbLoader.img **uboot.img **boot.img or&nbsp;boot folder with zImage, dtb and exitlinulx inside **rootfs.img *For armv8 with SPL: **idbspl.img **bl3.itb **boot.img or&nbsp;boot folder with Image, dtb and exitlinulx inside **rootfs.img *For armv8 with miniloader **idbLoader.img **uboot.img **trust.img **boot.img or&nbsp;boot folder with Image, dtb and exitlinulx inside **rootfs.img &nbsp; &nbsp; &nbsp; == Boot from eMMC == The eMMC is on the hardware board, so we need: *Get the board into [[Rockusb#Maskrom_mode|maskrom mode]]; *Connect the target to PC with USB cable; *Flash the image to eMMC with [[Rkdeveloptool|rkdeveloptool]] Example commands for flash image to target. Flash the gpt partition to target: <pre style="margin-left: 40px;">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool gpt parameter_gpt.txt</pre> *For armv7 with SPL with SPL_BACK_TO_BROM option enabled(rk3036, rk3188, rk3288): <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbloader.img rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> *For armv7 with SPL with SPL_BACK_TO_BROM option disabled(rk3288): <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbspl.img rkdeveloptool wl 0x200 u-boot.bin rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> *For armv7 with miniloader(rk3036, rk3188, rk3288) <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbloader.img rkdeveloptool wl 0x4000 uboot.img rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> *For armv8 with SPL(rk3399): <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbspl.img rkdeveloptool wl 0x200 bl3.itb rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> *For armv8 with miniloader(rk3399, rk3328) <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbloader.img rkdeveloptool wl 0x4000 uboot.img rkdeveloptool wl 0x6000 trust.img rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd</pre> &nbsp; &nbsp; == Boot from SD/TF Card == We can write SD/TF card with Linux PC ''dd'' command very easily. Insert SD card to PC and we assume the /dev/sdb is the SD card device. *For armv7 with SPL with SPL_BACK_TO_BROM option enabled(rk3036, rk3188, rk3288): <pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64 dd if=boot.img of=sdb seek=32768 dd if=rootfs.img of=sdb seek=262144 </pre> *For armv7 with SPL with SPL_BACK_TO_BROM option disabled(rk3288): <pre style="margin-left: 40px">dd if=idbspl.img of=sdb seek=64 dd if=u-boot.bin of=sdb seek=512 dd if=boot.img of=sdb seek=32768 dd if=rootfs.img of=sdb seek=262144 </pre> *For armv7 with miniloader(rk3036, rk3188, rk3288) <pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64 dd if=uboot.img of=sdb seek=16384 dd if=boot.img of=sdb seek=32768 dd if=rootfs.img of=sdb seek=262144 </pre> *For armv8 with SPL(rk3399): <pre style="margin-left: 40px">dd if=idbspl.img of=sdb seek=64 dd if=bl3.itb of=sdb seek=512 dd if=boot.img of=sdb seek=32768 dd if=rootfs.img of=sdb seek=262144 </pre> *For armv8 with miniloader(rk3399, rk3328) <pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64 dd if=uboot.img of=sdb seek=16384 dd if=trust.img of=sdb seek=24576 dd if=boot.img of=sdb seek=32768 dd if=rootfs.img of=sdb seek=262144</pre> In order to make sure everything has write to SD card before unpluged, recommand to run below command: <pre style="margin-left: 40px">sync</pre> Note, when using boot from SD card, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value. <pre>append earlyprintk console=ttyS2,115200n8 rw root=/dev/mmcblk1p7 rootwait rootfstype=ext4 init=/sbin/init </pre> Write GPT partition table to SD card&nbsp;in U-Boot, and then U-Boot can find the boot partition and run into kernel. <pre>gpt write mmc 0 $partitions</pre> &nbsp; == Boot from U-Disk == Same as&nbsp;[[#Boot_from_SD.2FTF_Card|boot-from-sdcard]], but please note that U-Disk&nbsp;only support stage 4 and 5, see [[#Boot_Stage|Boot Stage]] for detail. If U-Disk used for stage 4 and 5, format the U-Disk in gpt format and at least 2 partitions, write ''boot.img'' and ''rootfs.img'' in those partitions; if U-Dist is only used for stage 5, we can ''dd ''the ''rootfs.img'' to U-Disk device directly. Note, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value. <pre> append earlyprintk console=ttyS2,115200n8 rw root=/dev/sda1 rootwait rootfstype=ext4 init=/sbin/init </pre> == Boot from Network == &nbsp; &nbsp; = See also = [[Rkdeveloptool|rkdeveloptool]] [[Rockusb|rockusb]] [[Partitions|Rockchip Linux partition definition]] a3b639ab8aef692a6cf769769cdeefbe00b6e472 User:Admin 2 185 1699 2017-12-08T02:25:33Z Admin 1 Created page with " <br/> &nbsp; = Overall = This guide provides information which will help you get started with rockchip opensource linux. If you have any questions, please report to us on g..." wikitext text/x-wiki <br/> &nbsp; = Overall = This guide provides information which will help you get started with rockchip opensource linux. If you have any questions, please report to us on github project issue page. We are providing 3 ways to build rootfs including prebuilt Debian, Yocto, Buildroot.&nbsp;<del>You can choose the way you prefer</del>.<small>&nbsp;'''(Please check the&nbsp;[[Status_Matrix|Software Status]]&nbsp;because different chips have a different support)'''</small> You will need below firmware/image for a full Linux OS and flash them to different locations: *U-Boot SPL/Rockchip miniloader&nbsp;<br/> *U-Boot&nbsp;<br/> *boot(including kernel, dtb and config file)&nbsp;<br/> *rootfs(Debian, Ubuntu, etc.)&nbsp; Before starting to develop, please refer to '''[[Board_Config|board config]]&nbsp;'''and''&nbsp;'''''[http://opensource.rock-chips.com/wiki_FAQ#How_to_select_board_config how-to]''' to choose a&nbsp;most matching config&nbsp;as the&nbsp;foundation. &nbsp; = Environment = Note that our development environment is Ubuntu, you can use 16.04 or later version<small>(with downgraded arm gcc)</small>. Debian-9&nbsp; and [https://github.com/rockchip-linux/docker-rockchip Docker-Rockchip]&nbsp;are also available. '''Ubuntu 14.04 is ''deprecated, we don't guarantee that Linux SDK can work on it.''''' Here are some necessary packages for building the project. <pre>$ sudo apt-get install git-core gitk git-gui gcc-arm-linux-gnueabihf u-boot-tools device-tree-compiler gcc-aarch64-linux-gnu mtools parted libudev-dev libusb-1.0-0-dev libssl-dev pv e2fsprogs build-essential fakeroot devscripts</pre> If you insist on developing on your own environment, please make sure the version of&nbsp;<span style="font-size: 13px;">gcc-arm-linux-gnueabihf and gcc-aarch64-linux-gnu is&nbsp;less than 6.</span> = Getting the Sources = The rockchip linux SDK source tree is located in multi Git repository hosted by Github. The SDK uses repo to sync down source code. <br/> Create an empty directory to hold your working files. &nbsp; <pre>mkdir rk-linux<br/> cd rk-linux<br/> </pre> To initialize Linux SDK source tree, you need to get repo first &nbsp; &nbsp; <pre>sudo apt-get install repo<br/> </pre> Basic Linux SDK<small>(standalone kernel/u-boot/rootfs)</small> &nbsp; &nbsp; <pre>repo init --repo-url=https://github.com/rockchip-linux/repo -u https://github.com/rockchip-linux/manifests -b master<br/> repo sync<br/> </pre> Yocto &nbsp; &nbsp; <pre>repo init --repo-url=https://github.com/rockchip-linux/repo -u https://github.com/rockchip-linux/manifests -b yocto<br/> repo sync<br/> </pre> Buildroot &nbsp; &nbsp; <pre>repo init --repo-url=https://github.com/rockchip-linux/repo -u https://github.com/rockchip-linux/manifests -b buildroot<br/> repo sync<br/> </pre> &nbsp; Below guides are based on basic Linux SDK, guides for yocto/buildroot could be found in the separate page. &nbsp; = Quick start = <small>'''ref&nbsp;:&nbsp;[[Partitions|partition]], [[Rockusb|rockusb]], [[Boot_option|boot]]'''</small> We have provide&nbsp;[https://github.com/rockchip-linux/build build scripts]&nbsp;which essentially wraps the commands, so you can quickly start your development by them. Please note that those scripts are assumed your directory structure is same with the one created by manifest. We use rk3288-firefly as example. You can change&nbsp;rk3288-firefly to any other board supported(ie. rk3399-firefly) '''compile kernel''' &nbsp; <pre>build/mk-kernel.sh rk3288-firefly<br/> </pre> '''compile uboot''' &nbsp; &nbsp; <pre>build/mk-uboot.sh rk3288-firefly<br/> </pre> &nbsp; '''Pack all parts to a complete image''' `s` is size in Mbyte, `r` is your rootfs image <small>([http://opensource.rock-chips.com/wiki_Debian prebuilt debian image])</small> location. Here we use rk3288 as example. You can change it to any other supported chips(ie. rk3399, rk3328). <pre>build/mk-image.sh -c rk3288 -t system -r rk-debian-build/linaro-rootfs.img<br/> </pre> '''flash image''' eMMC <small>(Ensure the board is in&nbsp;maskrom mode. [http://opensource.rock-chips.com/wiki_Rockusb#Maskrom_mode maskrom],&nbsp;Not [http://opensource.rock-chips.com/wiki_Rockusb#Miniloader_Rockusb.C2.A0mode rockusb]! )</small>: <pre>build/flash_tool.sh -c rk3288 -p system -i out/system.img<br/> </pre> SD Card:<br/> `d` is your target device <pre>build/flash_tool.sh -c rk3288 -p loader -i out/u-boot/idbloader.img -d /dev/sdb<br/> </pre> '''bringup(burn kernel, uboot, gpt)''' &nbsp; <pre>build/mk-kernel.sh rk3288-firefly<br/> build/mk-uboot.sh rk3288-firefly<br/> build/mk-image.sh -c rk3288 -t system -r rk-debian-build/linaro-rootfs.img<br/> build/flash_tool.sh -p system -i out/system.img</pre> '''update kernel''' &nbsp; &nbsp; <pre>build/mk-kernel.sh rk3288-firefly<br/> build/flash_tool.sh -p boot -i out/boot.img<br/> </pre> '''update uboot (armv7)''' &nbsp; &nbsp; <pre>build/mk-uboot.sh rk3288-firefly<br/> build/flash_tool.sh -p loader1 -i out/u-boot/idbloader.img<br/> </pre> '''update uboot(armv8 with miniloader)''' &nbsp; &nbsp; <pre>build/mk-uboot.sh rk3399-excavator<br/> build/flash_tool.sh -p loader1 -i out/u-boot/idbloader.img<br/> build/flash_tool.sh -p loader2 -i out/u-boot/uboot.img<br/> build/flash_tool.sh -p atf -i out/u-boot/trust.img<br/> </pre> &nbsp; Before asking questions, please, read&nbsp;references and follow&nbsp;the setp by setp guide to boot your device. It's better if you can study those build scripts. Please refer to [https://github.com/rockchip-linux/rkbin/tree/master/tools/AndroidTool_Release_v2.39 AndroidFlashTool]<small>(TODO: wiki)&nbsp;</small>for flashing image on Windows.&nbsp;<small>(For the first time, it's recommended to use a linux host, to save the time.)</small> = Step By Step = == Building the sources == === Building uboot === Installing the build tools and download source Compile the Uboot <pre>CROSS_COMPILE=arm-linux-gnueabihf- make evb-rk3288_defconfig all<br/> </pre> You can get spl/u-boot-spl.bin(if there is) and u-boot.bin when build complete, we will use these files to generate idb.img or uboot.img See [[U-Boot|U-Boot]] page for more detail. There are two feasible ways to boot to U-Boot.<br/> 1. RK SPL bin(DDR.bin, miniloader)<br/> 2. U-Boot SPL See [[Boot_option|boot option]] page for more detail. &nbsp; === Building kernel === Compile the kernel: For ARM v7 <pre>make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- rockchip_linux_defconfig<br/> make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- -j4<br/> </pre> For ARM V8 <pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig<br/> make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- -j4<br/> </pre> You can get zImage/Image and dtbs when build complete, we will use these files to generate boot.img for boot partition. See [[Rockchip_Kernel|Rockchip kernel]] for more detail. &nbsp; === Building rootfs === <small>It's recommend to download&nbsp;[http://opensource.rock-chips.com/wiki_Debian prebuilt debian image]&nbsp;for bringup.</small> ==== Debian ==== See&nbsp;[[Debian|debian-guide]]&nbsp;for detail. You should get xxx-rootfs.img. ==== Yocto ==== See&nbsp;[[Yocto|yocto-user-guide]]&nbsp;for detail. You should get xxx.ext4&nbsp;rootfs image. ==== Buildroot ==== See&nbsp;[[Buildroot|buildroot-user-guide]]&nbsp;for detail. You should get rootfs.img in this step for the Linux OS. == Booting the Board == Then you can chose a suitable way for you to boot the board with flash all the image to media device. *[[Boot_option#Boot_from_eMMC|''Booting from emmc'']]&nbsp;<br/> *[[Boot_option#Boot_from_SD.2FTF_Card|''Booting from sdcard'']]&nbsp;<br/> *[[Boot_option#Boot_from_USB-Disk|''Booting from udisk'']]&nbsp; &nbsp; = See also = [[U-Boot|U-Boot guide]] [[Rockchip_Kernel|Rockchip kernel guide]] [[Yocto|Yocto guide]] [[Buildroot|Buildroot guide]] &nbsp; == Drivers == Display: *[[EDP|eDP]]&nbsp;<br/> *[[MIPI-DSI|MIPI-DSI]]&nbsp;<br/> *[[LVDS|LVDS]]&nbsp;<br/> *[[HDMI|HDMI]]&nbsp;<br/> *[[HDCP|HDCP]]&nbsp; Graphic: *[[Rga|RGA]]&nbsp;<br/> *[[GPU|GPU]]&nbsp;<br/> *[[VOP|VOP]]&nbsp; USB: *[[USB_OTG|D]][[DWC2|WC2]]&nbsp;<br/> *[[USB_HOST|D]][[DWC3|WC3]]&nbsp; Storage: *[[EMMC|eMMC]]&nbsp;<br/> *[[SD-Card|SD-Card]]&nbsp; Audio: *[[HDMI-Audio|HDMI-Audio]]&nbsp;<br/> *[[I2S|I2S]]&nbsp;<br/> *[[SPDIF|SPDIF]]&nbsp; Connectivity: *[[Wireless|Wireless]]&nbsp;<br/> *[[Ethernet|Ethernet]]&nbsp; Others: *[[PWM|PWM]]&nbsp;<br/> *[[I2C|I2C]]&nbsp;<br/> *[[SPI|SPI]]&nbsp;<br/> *[[UART|UART]]&nbsp;<br/> *[[Thermal|Thermal]]&nbsp;<br/> *[[Clock|Clock]]&nbsp;<br/> *[[DVFS|DVFS]]&nbsp;<br/> *[[Suspend/Resume|Suspend/Resume]]&nbsp; &nbsp; == Customization == [[Boot_Time|Boot_Time]] [[Boot_Logo|Boot_Logo]] [[Image_Size|Image_Size]] [[Firmware_Upgrade|Firmware_Upgrade]] &nbsp;<br/> &nbsp; adf04655e337a7c453e27addeb1ea1bc58ccab2a Upstream Kernel 0 19 1703 1088 2017-12-08T03:06:57Z Kever 2 wikitext text/x-wiki Rockchip is working on upstream SoC support to Mainline kernel: &nbsp; &nbsp; = Download Kernel = Get the source code from the upstream mainline&nbsp;repository: <pre>git clone git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git</pre> Alternatively you can use linux-rockchip instead which may with some patches not get in mainline: <pre>git clone git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip.git</pre> &nbsp; = Supported SoCs and Devices = Mainline&nbsp;kernel supports: RV1108, RK3036, RK3066, RK3188, RK3228, [[RK3288|RK3288]], RK3368, [[RK3399|RK3399]] *RV1108 boards: <ol style="margin-left: 40px;"> <li>EVB RV1108- use&nbsp;rk1108-evb.dts</li> </ol> *RK3036 boards: <ol style="margin-left: 40px;"> <li>EVB RK3036 - use rk3036-evb.dts</li> <li>Kylin RK3036- use&nbsp;rk3036-kylin.dts</li> </ol> *RK3066 boards: <ol style="margin-left: 40px;"> <li>Marsboard - use&nbsp;rk3066a-marsboard.dts</li> <li>Bqcurie2 - use&nbsp;rk3066a-bqcurie2.dts</li> <li>Rayeager - use rk3066a-rayeager.dts</li> </ol> *RK3188 boards: <ol style="margin-left: 40px;"> <li>Radxa Rock - rk3188-radxarock.dts</li> </ol> *RK3288 boards: <ol style="margin-left: 40px;"> <li>EVB RK3288 - use rk3288-evb-rk808.dts or&nbsp;rk3288-evb-act8846.dts</li> <li>Fennec RK3288 - use rk3288-fennec.dts</li> <li>Firefly RK3288 - use rk3288-firefly.dts</li> <li>Firefly beta RK3288 - use rk3288-firefly-beta.dts</li> <li>Firefly reload RK3288 - use rk3288-firefly-reload.dts</li> <li>Hisense Chromebook - use rk3288-veyron-jerry.dts</li> <li>PopMetal RK3288 - use rk3288-popmetal.dts</li> <li>MiQi RK3288 - use&nbsp;rk3288-miqi.dts</li> <li>Radxa Rock 2 - use rk3288-rock2-square.dts</li> </ol> *RK3368 boards: <ol style="margin-left: 40px;"> <li>Geekbok RK3368 - use&nbsp;rk3368-geekbox.dts</li> <li>Orion r68 - use rk3368-orion-r68-meta.dts</li> </ol> *RK3399 boards: <ol style="margin-left: 40px;"> <li>EVB RK3399 - use rk3399-evb.dts</li> </ol> &nbsp; = Configure and Build = You will need to use multi_v7_defconfig&nbsp;for armv7 SoCs: <pre>make multi_v7_defconfig</pre> configure for aarch64: <pre>make ARCH=arm64 defconfig</pre> The arm64 defconfig on upstream is more for server,&nbsp;we recommend you to use rockchip_linux_defconfig from&nbsp;Rockchip github <pre>make ARCH=arm64 rockchip_linux_defconfig</pre> After configure, build the kernel. For armv7: <pre>make CROSS_COMPILE=arm-linux-gnueabi-</pre> For aarch64: <pre>make CROSS_COMPILE=aarch64-linux-gnu- ARCH=arm64</pre> Then you can get Image/zImage and dtb files. &nbsp; &nbsp; = Install Boot/kernel = We use distro boot in U-Boot, so we need to make a boot partition for U-Boot with kernel image and dtb inside. <pre>mkdir boot cp arch/arm64/boot/dts/rockchip/rockchip/rk3399-evb.dtb boot/rk3399.dtb cp arch/arm64/boot/Image boot/</pre> Add extlinux/extlinux.conf for distro boot. <pre>mkdir boot/extlinux vi boot/extlinux/extlinux.conf</pre> &nbsp; <pre>lable kernel-mainline kernel /Image fdt /rk3399.dtb append earlycon=uart8250,mmio,0xff1a0000 console=ttyS2,1500000n8 root=dev/mmcblk0p7 rootwait rootfstype=ext4 init=/sbin/init</pre> You need to change the base address of debug UART, root partition for your board. Pls reference to&nbsp;[[Partitions|rockchip Linux parttion definition]]&nbsp;for rootfs partition and where boot to flash. After all these file prepare complete, we write the file to the boot partition See [[Rockchip_Kernel|rockchip kernel]] for boot partition generate. = Non-upstream module = [[Graphics|Rockchp Graphics]] [[Mpp|Rockchip Video]] [[Camera|Rockchip Camera]] 6b5446aa95b3e39dfa88a4682f4765c96d47e73f RK3066-U-Boot 0 187 1717 2017-12-08T08:26:39Z Admin 1 Created page with " U-Boot Guide = Download U-Boot = == Upstream U-Boot == You can clone the u-boot repository by running: <pre>git clone git://git.denx.de/u-boot.git</pre> Alternatively you..." wikitext text/x-wiki U-Boot Guide = Download U-Boot = == Upstream U-Boot == You can clone the u-boot repository by running: <pre>git clone git://git.denx.de/u-boot.git</pre> Alternatively you can use u-boot-rockchip instead which may with some patches not get in mainline: <pre>git clone git://git.denx.de/u-boot-rockchip.git</pre> &nbsp; == Rockchip U-Boot == You can clone the u-boot repository by running: <pre>git clone https://github.com/rockchip-linux/u-boot.git </pre> &nbsp; = Configure U-Boot = First you need to choose a correct defconfig for your board; (defconfig on uboot/configs) <pre>make CROSS_COMPILE=arm-linux-gnueabi- kylin-rk3036_defconfig</pre> You may need to change the U-Boot function/feature support by modify the defconfig file or, there is also menuconfig to play with settings if you feel like it: <pre>make CROSS_COMPILE=arm-linux-gnueabi- menuconfig</pre> &nbsp; = Build U-Boot = == Get a toolchain == If you haven't done so before, get a suitable&nbsp;toolchain&nbsp;installed and add it&nbsp;to your PATH. In Ubuntu 16.04, you can use below command to install cross compiler for armv7: <pre>sudo apt-get install gcc-arm-linux-gnueabi </pre> &nbsp; == Start Build == <pre>make CROSS_COMPILE=arm-linux-gnueabi- </pre> In order to support debug in ARM DS-5, you may need add ctags in make command: <pre>CFLAGS='-gdwarf-3'</pre> For trust support, we are using FIT image with 'mkimage' cmd in Makefile and its script defined in defconfig: <pre>make u-boot.itb </pre> == &nbsp; == == Generate Image: == <pre>tools/mkimage -n rk3036 -T rksd -d spl/u-boot-spl-nodtb.bin rk3036_idb.img </pre> <pre>cat u-boot.bin >> rk3036_idb.img cp rk3036_idb.img ../out/u-boot/</pre> &nbsp; = Install U-Boot = Rockchip SoCs's bootrom need special format named IDBlock at special offset 0x40&nbsp;block for boot, so we need to package&nbsp;SPL(or Rockchip miniloader) &nbsp;in IDB format. Rockchip bootrom supports SPL back to bootrom and bootrom load the U-Boot, so the SPL for Rockchip SoCs can option to back to bootrom, usually decided by if the IRAM is enough&nbsp;for driver to load U-Boot.&nbsp; <small>(Ensure the board is in&nbsp;maskrom mode.&nbsp;[http://opensource.rock-chips.com/wiki_Rockusb#Maskrom_mode maskrom],&nbsp;Not&nbsp;[http://opensource.rock-chips.com/wiki_Rockusb#Miniloader_Rockusb.C2.A0mode rockusb]! )</small>: <pre>sudo rkdeveloptool db rk3036_loader_v1.07.237.bin sudo rkdeveloptool wl 0x40&nbsp;out/u-boot/rk3036_idb.img</pre> &nbsp; 7e4f87413ff11600c0a12f2244c3d4d771b27159 1720 1717 2017-12-08T08:30:35Z Admin 1 Replaced content with " &nbsp;" wikitext text/x-wiki &nbsp; 9012a5db0e48f472dc89e97fa239cc9970681b37 RK3036-U-Boot 0 188 1719 2017-12-08T08:30:09Z Admin 1 Created page with " U-Boot Guide = Download U-Boot = == Upstream U-Boot == You can clone the u-boot repository by running: <pre>git clone git://git.denx.de/u-boot.git</pre> Alternatively you..." wikitext text/x-wiki U-Boot Guide = Download U-Boot = == Upstream U-Boot == You can clone the u-boot repository by running: <pre>git clone git://git.denx.de/u-boot.git</pre> Alternatively you can use u-boot-rockchip instead which may with some patches not get in mainline: <pre>git clone git://git.denx.de/u-boot-rockchip.git</pre> &nbsp; == Rockchip U-Boot == You can clone the u-boot repository by running: <pre>git clone https://github.com/rockchip-linux/u-boot.git </pre> &nbsp; = Configure U-Boot = First you need to choose a correct defconfig for your board; (defconfig on uboot/configs) <pre>make CROSS_COMPILE=arm-linux-gnueabi- kylin-rk3036_defconfig</pre> You may need to change the U-Boot function/feature support by modify the defconfig file or, there is also menuconfig to play with settings if you feel like it: <pre>make CROSS_COMPILE=arm-linux-gnueabi- menuconfig</pre> &nbsp; = Build U-Boot = == Get a toolchain == If you haven't done so before, get a suitable&nbsp;toolchain&nbsp;installed and add it&nbsp;to your PATH. In Ubuntu 16.04, you can use below command to install cross compiler for armv7: <pre>sudo apt-get install gcc-arm-linux-gnueabi </pre> &nbsp; == Start Build == <pre>make CROSS_COMPILE=arm-linux-gnueabi- </pre> In order to support debug in ARM DS-5, you may need add ctags in make command: <pre>CFLAGS='-gdwarf-3'</pre> For trust support, we are using FIT image with 'mkimage' cmd in Makefile and its script defined in defconfig: <pre>make u-boot.itb </pre> == &nbsp; == == Generate Image: == <pre>tools/mkimage -n rk3036 -T rksd -d spl/u-boot-spl-nodtb.bin rk3036_idb.img </pre> <pre>cat u-boot.bin >> rk3036_idb.img cp rk3036_idb.img ../out/u-boot/</pre> &nbsp; = Install U-Boot = Rockchip SoCs's bootrom need special format named IDBlock at special offset 0x40&nbsp;block for boot, so we need to package&nbsp;SPL(or Rockchip miniloader) &nbsp;in IDB format. Rockchip bootrom supports SPL back to bootrom and bootrom load the U-Boot, so the SPL for Rockchip SoCs can option to back to bootrom, usually decided by if the IRAM is enough&nbsp;for driver to load U-Boot.&nbsp; <small>(Ensure the board is in&nbsp;maskrom mode.&nbsp;[http://opensource.rock-chips.com/wiki_Rockusb#Maskrom_mode maskrom],&nbsp;Not&nbsp;[http://opensource.rock-chips.com/wiki_Rockusb#Miniloader_Rockusb.C2.A0mode rockusb]! )</small>: <pre>sudo rkdeveloptool db rk3036_loader_v1.07.237.bin sudo rkdeveloptool wl 0x40&nbsp;out/u-boot/rk3036_idb.img</pre> a2c5d1a182b2b40eece865a937be6505a9211519 1721 1719 2017-12-08T08:32:30Z Admin 1 wikitext text/x-wiki U-Boot Guide = Download U-Boot = == Upstream U-Boot == You can clone the u-boot repository by running: <pre>git clone git://git.denx.de/u-boot.git</pre> Alternatively you can use u-boot-rockchip instead which may with some patches not get in mainline: <pre>git clone git://git.denx.de/u-boot-rockchip.git</pre> &nbsp; == Rockchip U-Boot == You can clone the u-boot repository by running: <pre>git clone https://github.com/rockchip-linux/u-boot.git </pre> &nbsp; = Configure U-Boot = First you need to choose a correct defconfig for your board; (defconfig on uboot/configs) <pre>make CROSS_COMPILE=arm-linux-gnueabi- kylin-rk3036_defconfig</pre> You may need to change the U-Boot function/feature support by modify the defconfig file or, there is also menuconfig to play with settings if you feel like it: <pre>make CROSS_COMPILE=arm-linux-gnueabi- menuconfig</pre> &nbsp; = Build U-Boot = == Get a toolchain == If you haven't done so before, get a suitable&nbsp;toolchain&nbsp;installed and add it&nbsp;to your PATH. In Ubuntu 16.04, you can use below command to install cross compiler for armv7: <pre>sudo apt-get install gcc-arm-linux-gnueabi </pre> &nbsp; == Start Build == <pre>make CROSS_COMPILE=arm-linux-gnueabi- </pre> In order to support debug in ARM DS-5, you may need add ctags in make command: <pre>CFLAGS='-gdwarf-3'</pre> For trust support, we are using FIT image with 'mkimage' cmd in Makefile and its script defined in defconfig: <pre>make u-boot.itb </pre> == &nbsp; == == Generate Image: == <pre>tools/mkimage -n rk3036 -T rksd -d spl/u-boot-spl-nodtb.bin rk3036_idb.img </pre> <pre>cat u-boot.bin >> rk3036_idb.img cp rk3036_idb.img ../out/u-boot/</pre> &nbsp; = Install U-Boot = Rockchip SoCs's bootrom need special format named IDBlock at special offset 0x40&nbsp;block for boot, so we need to package&nbsp;SPL(or Rockchip miniloader) &nbsp;in IDB format. Rockchip bootrom supports SPL back to bootrom and bootrom load the U-Boot, so the SPL for Rockchip SoCs can option to back to bootrom, usually decided by if the IRAM is enough&nbsp;for driver to load U-Boot.&nbsp; <small>(Ensure the board is in&nbsp;maskrom mode.&nbsp;[http://opensource.rock-chips.com/wiki_Rockusb#Maskrom_mode maskrom],&nbsp;Not&nbsp;[http://opensource.rock-chips.com/wiki_Rockusb#Miniloader_Rockusb.C2.A0mode rockusb]! )</small>: <pre>#you can get the rk3036_loader_x.bin from rkbin/rk30/ sudo rkdeveloptool db rk3036_loader_x.bin sudo rkdeveloptool wl 0x40&nbsp;out/u-boot/rk3036_idb.img</pre> 6e70a0b23336eaeab316dbc11c0f18fcb345f94d 1722 1721 2017-12-08T08:33:49Z Admin 1 wikitext text/x-wiki U-Boot Guide = Download U-Boot = == Upstream U-Boot == You can clone the u-boot repository by running: <pre>git clone git://git.denx.de/u-boot.git</pre> Alternatively you can use u-boot-rockchip instead which may with some patches not get in mainline: <pre>git clone git://git.denx.de/u-boot-rockchip.git</pre> &nbsp; == Rockchip U-Boot == You can clone the u-boot repository by running: <pre>git clone https://github.com/rockchip-linux/u-boot.git </pre> &nbsp; = Configure U-Boot = First you need to choose a correct defconfig for your board; (defconfig on uboot/configs) <pre>make CROSS_COMPILE=arm-linux-gnueabi- kylin-rk3036_defconfig</pre> You may need to change the U-Boot function/feature support by modify the defconfig file or, there is also menuconfig to play with settings if you feel like it: <pre>make CROSS_COMPILE=arm-linux-gnueabi- menuconfig</pre> &nbsp; = Build U-Boot = == Get a toolchain == If you haven't done so before, get a suitable&nbsp;toolchain&nbsp;installed and add it&nbsp;to your PATH. In Ubuntu 16.04, you can use below command to install cross compiler for armv7: <pre>sudo apt-get install gcc-arm-linux-gnueabi </pre> &nbsp; == Start Build == <pre>make CROSS_COMPILE=arm-linux-gnueabi- </pre> In order to support debug in ARM DS-5, you may need add ctags in make command: <pre>CFLAGS='-gdwarf-3'</pre> For trust support, we are using FIT image with 'mkimage' cmd in Makefile and its script defined in defconfig: <pre>make u-boot.itb </pre> == Generate Image: == <pre>tools/mkimage -n rk3036 -T rksd -d spl/u-boot-spl-nodtb.bin rk3036_idb.img </pre> <pre>cat u-boot.bin >> rk3036_idb.img cp rk3036_idb.img ../out/u-boot/</pre> &nbsp; = Install U-Boot = Rockchip SoCs's bootrom need special format named IDBlock at special offset 0x40&nbsp;block for boot, so we need to package&nbsp;SPL(or Rockchip miniloader) &nbsp;in IDB format. Rockchip bootrom supports SPL back to bootrom and bootrom load the U-Boot, so the SPL for Rockchip SoCs can option to back to bootrom, usually decided by if the IRAM is enough&nbsp;for driver to load U-Boot.&nbsp; <small>(Ensure the board is in&nbsp;maskrom mode.&nbsp;[http://opensource.rock-chips.com/wiki_Rockusb#Maskrom_mode maskrom],&nbsp;Not&nbsp;[http://opensource.rock-chips.com/wiki_Rockusb#Miniloader_Rockusb.C2.A0mode rockusb]! )</small>: <pre>#you can get the rk3036_loader_x.bin from rkbin/rk30/ sudo rkdeveloptool db rk3036_loader_x.bin sudo rkdeveloptool wl 0x40&nbsp;out/u-boot/rk3036_idb.img</pre> 96405accc980d6521ca73d021cc494f67550b164 Rockchip RK3036 Kernel 0 189 1724 2017-12-08T09:00:24Z Admin 1 Created page with " = Download Kernel = You can clone the rockchip kernel repository from github which is kernel 4.4 based: <pre>git clone https://github.com/rockchip-linux/kernel.git </pre> &..." wikitext text/x-wiki = Download Kernel = You can clone the rockchip kernel repository from github which is kernel 4.4 based: <pre>git clone https://github.com/rockchip-linux/kernel.git </pre> &nbsp; = Configure and Build = You will need to use rockchip_linux_defconfig for Linux OS <pre>make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- rockchip_linux_defconfig make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- -j4 </pre> &nbsp; Then you can get Image/zImage and dtb file. &nbsp; = Install Boot/kernel = We use distro boot in U-Boot, so we need to make a boot partition for U-Boot with kernel image and dtb inside. <pre>mkdir boot cp arch/arm/boot/dts/rk3036-kylin.dtb boot/rk3036-kylin.dtb cp arch/arm/boot/zImage boot/</pre> Add extlinux/extlinux.conf for distro boot. <pre>mkdir boot/extlinux vi boot/extlinux/extlinux.conf</pre> &nbsp; <pre>label kernel-4.4 &nbsp; &nbsp; kernel /zImage &nbsp; &nbsp; fdt /rk3036-kylin.dtb &nbsp; &nbsp; append &nbsp;earlyprintk console=tty1 console=ttyS2,115200n8 rw root=PARTUUID=69dad710-2c rootfstype=ext4 init=/sbin/init rootwait </pre> &nbsp; == Generate ext2fs&nbsp;boot partition == by genext2fs: <pre>genext2fs -b 32768 -B $((32*1024*1024/32768)) -d boot/ -i 8192 -U boot_rk3036.img</pre> According to Rockchip partition definition, you need to flash this image to boot partiton which offset is 0x8000. &nbsp; == Generate fatfs boot partition == === Generate boot.img in fatfs === Below commands can generate a fatfs boot.img <pre>dd if=/dev/zero of=boot.img bs=1M count=32 sudo mkfs.fat boot.img mkdir tmp sudo mount boot.img tmp/ cp -r boot/* tmp/ umount tmp</pre> Done! Flash this boot.img to boot partition, which is offset 0x8000 in Rockchip partition definition. === Update boot.img via U-Boot in target === After flash and&nbsp;boot the U-Boot, write the gpt table from default partition table <pre>gpt write mmc 0 $partitions gpt verify mmc 0 $partitions</pre> connect target to PC and start the ums in command line: <pre>ums mmc 0</pre> We should able to see a device connect to PC, formate and copy data into the partition(dev/sdb6 for example). <pre>cp -r boot/* /media/machine/9F35-9565/ </pre> Done! &nbsp; == Boot from U-Boot == If you are using genext2fs to genarate the boot.img, you need write the gpt table in U-Boot command line: <pre>gpt write mmc 0 $partitions</pre> Then boot from eMMC or reset: <pre>boot</pre> If everything is OK, you should able to see the U-Boot log like this: <pre>switch to partitions #0, OK mmc0(part 0) is current device Scanning mmc 0:4... Found /extlinux/extlinux.conf Retrieving file: /extlinux/extlinux.conf reading /extlinux/extlinux.conf 192 bytes read in 4 ms (46.9 KiB/s) 1: &nbsp; &nbsp; &nbsp;kernel-4.4 Retrieving file: /zImage reading /zImage 7810312 bytes read in 726 ms (10.3 MiB/s) append: earlyprintk console=tty1 console=ttyS2,115200n8 rw root=PARTUUID=69dad710-2c rootfstype=ext4 init=/sbin/init rootwait Retrieving file: /rk3036-kylin.dtb reading /rk3036-kylin.dtb 23641 bytes read in 6 ms (3.8 MiB/s) Kernel image @ 0x62000000 [ 0x000000 - 0x772d08 ] ## Flattened Device Tree blob at 61f00000 &nbsp; &nbsp;Booting using the fdt blob at 0x61f00000 &nbsp; &nbsp;Loading Device Tree to 7df52000, end 7df5ac58 ... OK Starting kernel ... </pre> b64f8eadc871004d5a191a8502b98ee0261d9f17 1725 1724 2017-12-08T09:07:17Z Admin 1 wikitext text/x-wiki = Download Kernel = You can clone the rockchip kernel repository from github which is kernel 4.4 based: <pre>git clone https://github.com/rockchip-linux/kernel.git </pre> &nbsp; = Configure and Build = You will need to use rockchip_linux_defconfig for Linux OS <pre>make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- rockchip_linux_defconfig make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- -j4 </pre> &nbsp; Then you can get Image/zImage and dtb file. &nbsp; = Install Boot/kernel = We use distro boot in U-Boot, so we need to make a boot partition for U-Boot with kernel image and dtb inside. <pre>mkdir boot cp arch/arm/boot/dts/rk3036-kylin.dtb boot/rk3036-kylin.dtb cp arch/arm/boot/zImage boot/</pre> Add extlinux/extlinux.conf for distro boot. <pre>mkdir boot/extlinux </pre> <pre>cat >> boot/extlinux/extlinux.conf << EOF label kernel-4.4 &nbsp; &nbsp; kernel /zImage &nbsp; &nbsp; fdt /rk3036-kylin.dtb &nbsp; &nbsp; append &nbsp;earlyprintk console=tty1 console=ttyS2,115200n8 rw root=PARTUUID=69dad710-2c rootfstype=ext4 init=/sbin/init rootwait EOF </pre> &nbsp; == Generate ext2fs&nbsp;boot partition == by genext2fs: <pre>genext2fs -b 32768 -B $((32*1024*1024/32768)) -d boot/ -i 8192 -U boot_rk3036.img</pre> According to Rockchip partition definition, you need to flash this image to boot partiton which offset is 0x8000. &nbsp; == Generate fatfs boot partition == === Generate boot.img in fatfs === Below commands can generate a fatfs boot.img <pre>dd if=/dev/zero of=boot.img bs=1M count=32 sudo mkfs.fat boot.img mkdir tmp sudo mount boot.img tmp/ cp -r boot/* tmp/ umount tmp</pre> Done! Flash this boot.img to boot partition, which is offset 0x8000 in Rockchip partition definition. === Update boot.img via U-Boot in target === After flash and&nbsp;boot the U-Boot, write the gpt table from default partition table <pre>gpt write mmc 0 $partitions gpt verify mmc 0 $partitions</pre> connect target to PC and start the ums in command line: <pre>ums mmc 0</pre> We should able to see a device connect to PC, formate and copy data into the partition(dev/sdb6 for example). <pre>cp -r boot/* /media/machine/9F35-9565/ </pre> Done! &nbsp; == Boot from U-Boot == If you are using genext2fs to genarate the boot.img, you need write the gpt table in U-Boot command line: <pre>gpt write mmc 0 $partitions</pre> Then boot from eMMC or reset: <pre>boot</pre> If everything is OK, you should able to see the U-Boot log like this: <pre>switch to partitions #0, OK mmc0(part 0) is current device Scanning mmc 0:4... Found /extlinux/extlinux.conf Retrieving file: /extlinux/extlinux.conf reading /extlinux/extlinux.conf 192 bytes read in 4 ms (46.9 KiB/s) 1: &nbsp; &nbsp; &nbsp;kernel-4.4 Retrieving file: /zImage reading /zImage 7810312 bytes read in 726 ms (10.3 MiB/s) append: earlyprintk console=tty1 console=ttyS2,115200n8 rw root=PARTUUID=69dad710-2c rootfstype=ext4 init=/sbin/init rootwait Retrieving file: /rk3036-kylin.dtb reading /rk3036-kylin.dtb 23641 bytes read in 6 ms (3.8 MiB/s) Kernel image @ 0x62000000 [ 0x000000 - 0x772d08 ] ## Flattened Device Tree blob at 61f00000 &nbsp; &nbsp;Booting using the fdt blob at 0x61f00000 &nbsp; &nbsp;Loading Device Tree to 7df52000, end 7df5ac58 ... OK Starting kernel ... </pre> 32dadca183af3a38acccfc20f750e3623c8abf9d 1726 1725 2017-12-08T09:12:32Z Admin 1 wikitext text/x-wiki = Download Kernel = You can clone the rockchip kernel repository from github which is kernel 4.4 based: <pre>git clone https://github.com/rockchip-linux/kernel.git </pre> &nbsp; = Configure and Build = You will need to use rockchip_linux_defconfig for Linux OS <pre>make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- rockchip_linux_defconfig make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- -j4 </pre> &nbsp; Then you can get Image/zImage and dtb file. &nbsp; = Install Boot/kernel = We use distro boot in U-Boot, so we need to make a boot partition for U-Boot with kernel image and dtb inside. <pre>mkdir boot cp arch/arm/boot/dts/rk3036-kylin.dtb boot/rk3036-kylin.dtb cp arch/arm/boot/zImage boot/</pre> Add extlinux/extlinux.conf for distro boot. <pre>mkdir boot/extlinux </pre> <pre>cat >> boot/extlinux/extlinux.conf << EOF label kernel-4.4 &nbsp; &nbsp; kernel /zImage &nbsp; &nbsp; fdt /rk3036-kylin.dtb &nbsp; &nbsp; append &nbsp;earlyprintk console=tty1 console=ttyS2,115200n8 rw root=PARTUUID=69dad710-2c rootfstype=ext4 init=/sbin/init rootwait EOF </pre> &nbsp; == Generate ext2fs&nbsp;boot partition == by genext2fs: <pre>genext2fs -b 32768 -B $((32*1024*1024/32768)) -d boot/ -i 8192 -U boot_rk3036.img</pre> According to Rockchip partition definition, you need to flash this image to boot partiton which offset is 0x8000. <pre>sudo rkdeveloptool wl 0x8000 &nbsp; boot_rk3036.img</pre> Then, how to generate boot.img? Please have a look at the following: == Generate fatfs boot partition == === Generate boot.img in fatfs === Below commands can generate a fatfs boot.img <pre>dd if=/dev/zero of=boot.img bs=1M count=32 sudo mkfs.fat boot.img mkdir tmp sudo mount boot.img tmp/ cp -r boot/* tmp/ umount tmp</pre> Done! Flash this boot.img to boot partition, which is offset 0x8000 in Rockchip partition definition. === Update boot.img via U-Boot in target === After flash and&nbsp;boot the U-Boot, write the gpt table from default partition table <pre>gpt write mmc 0 $partitions gpt verify mmc 0 $partitions</pre> connect target to PC and start the ums in command line: <pre>ums mmc 0</pre> We should able to see a device connect to PC, formate and copy data into the partition(dev/sdb6 for example). <pre>cp -r boot/* /media/machine/9F35-9565/ </pre> Done! &nbsp; == Boot from U-Boot == If you are using genext2fs to genarate the boot.img, you need write the gpt table in U-Boot command line: <pre>gpt write mmc 0 $partitions</pre> Then boot from eMMC or reset: <pre>boot</pre> If everything is OK, you should able to see the U-Boot log like this: <pre>switch to partitions #0, OK mmc0(part 0) is current device Scanning mmc 0:4... Found /extlinux/extlinux.conf Retrieving file: /extlinux/extlinux.conf reading /extlinux/extlinux.conf 192 bytes read in 4 ms (46.9 KiB/s) 1: &nbsp; &nbsp; &nbsp;kernel-4.4 Retrieving file: /zImage reading /zImage 7810312 bytes read in 726 ms (10.3 MiB/s) append: earlyprintk console=tty1 console=ttyS2,115200n8 rw root=PARTUUID=69dad710-2c rootfstype=ext4 init=/sbin/init rootwait Retrieving file: /rk3036-kylin.dtb reading /rk3036-kylin.dtb 23641 bytes read in 6 ms (3.8 MiB/s) Kernel image @ 0x62000000 [ 0x000000 - 0x772d08 ] ## Flattened Device Tree blob at 61f00000 &nbsp; &nbsp;Booting using the fdt blob at 0x61f00000 &nbsp; &nbsp;Loading Device Tree to 7df52000, end 7df5ac58 ... OK Starting kernel ... </pre> 58837d9187838fb2abb9528871c4e0b6921e2b44 1727 1726 2017-12-08T09:14:16Z Admin 1 wikitext text/x-wiki = Download Kernel = You can clone the rockchip kernel repository from github which is kernel 4.4 based: <pre>git clone https://github.com/rockchip-linux/kernel.git </pre> &nbsp; = Configure and Build = You will need to use rockchip_linux_defconfig for Linux OS <pre>make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- rockchip_linux_defconfig make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- -j4 </pre> &nbsp; Then you can get Image/zImage and dtb file. &nbsp; = Install Boot/kernel = We use distro boot in U-Boot, so we need to make a boot partition for U-Boot with kernel image and dtb inside. <pre>mkdir boot cp arch/arm/boot/dts/rk3036-kylin.dtb boot/rk3036-kylin.dtb cp arch/arm/boot/zImage boot/</pre> Add extlinux/extlinux.conf for distro boot. <pre>mkdir boot/extlinux </pre> <pre>cat >> boot/extlinux/extlinux.conf << EOF label kernel-4.4 &nbsp; &nbsp; kernel /zImage &nbsp; &nbsp; fdt /rk3036-kylin.dtb &nbsp; &nbsp; append &nbsp;earlyprintk console=tty1 console=ttyS2,115200n8 rw root=PARTUUID=69dad710-2c rootfstype=ext4 init=/sbin/init rootwait EOF </pre> &nbsp; == Generate ext2fs&nbsp;boot partition == by genext2fs: <pre>genext2fs -b 32768 -B $((32*1024*1024/32768)) -d boot/ -i 8192 -U boot_rk3036.img</pre> According to Rockchip partition definition, you need to flash this image to boot partiton which offset is 0x8000. <pre>sudo rkdeveloptool wl 0x8000 &nbsp; boot_rk3036.img</pre> Then, how to generate boot.img? Please have a look at the following: == Generate fatfs boot partition == === Generate boot.img in fatfs === Below commands can generate a fatfs boot.img <pre>dd if=/dev/zero of=boot.img bs=1M count=32 sudo mkfs.fat boot.img mkdir tmp sudo mount boot.img tmp/ cp -r boot/* tmp/ umount tmp</pre> Done! Flash this boot.img to boot partition, which is offset 0x8000 in Rockchip partition definition. <pre>sudo rkdeveloptool wl 0x8000&nbsp;boot.img</pre> === Update boot.img via U-Boot in target === After flash and&nbsp;boot the U-Boot, write the gpt table from default partition table <pre>gpt write mmc 0 $partitions gpt verify mmc 0 $partitions</pre> connect target to PC and start the ums in command line: <pre>ums mmc 0</pre> We should able to see a device connect to PC, formate and copy data into the partition(dev/sdb6 for example). <pre>cp -r boot/* /media/machine/9F35-9565/ </pre> Done! &nbsp; == Boot from U-Boot == If you are using genext2fs to genarate the boot.img, you need write the gpt table in U-Boot command line: <pre>gpt write mmc 0 $partitions</pre> Then boot from eMMC or reset: <pre>boot</pre> If everything is OK, you should able to see the U-Boot log like this: <pre>switch to partitions #0, OK mmc0(part 0) is current device Scanning mmc 0:4... Found /extlinux/extlinux.conf Retrieving file: /extlinux/extlinux.conf reading /extlinux/extlinux.conf 192 bytes read in 4 ms (46.9 KiB/s) 1: &nbsp; &nbsp; &nbsp;kernel-4.4 Retrieving file: /zImage reading /zImage 7810312 bytes read in 726 ms (10.3 MiB/s) append: earlyprintk console=tty1 console=ttyS2,115200n8 rw root=PARTUUID=69dad710-2c rootfstype=ext4 init=/sbin/init rootwait Retrieving file: /rk3036-kylin.dtb reading /rk3036-kylin.dtb 23641 bytes read in 6 ms (3.8 MiB/s) Kernel image @ 0x62000000 [ 0x000000 - 0x772d08 ] ## Flattened Device Tree blob at 61f00000 &nbsp; &nbsp;Booting using the fdt blob at 0x61f00000 &nbsp; &nbsp;Loading Device Tree to 7df52000, end 7df5ac58 ... OK Starting kernel ... </pre> 8c126c3f202876c4ff6ccd04665b1c23c8996d02 1728 1727 2017-12-08T09:16:53Z Admin 1 wikitext text/x-wiki = Download Kernel = You can clone the rockchip kernel repository from github which is kernel 4.4 based: <pre>git clone https://github.com/rockchip-linux/kernel.git </pre> &nbsp; = Configure and Build = You will need to use rockchip_linux_defconfig for Linux OS <pre>make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- rockchip_linux_defconfig make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- -j4 </pre> &nbsp; Then you can get Image/zImage and dtb file. &nbsp; = Install Boot/kernel = We use distro boot in U-Boot, so we need to make a boot partition for U-Boot with kernel image and dtb inside. <pre>mkdir boot cp arch/arm/boot/dts/rk3036-kylin.dtb boot/rk3036-kylin.dtb cp arch/arm/boot/zImage boot/</pre> Add extlinux/extlinux.conf for distro boot. <pre>mkdir boot/extlinux </pre> <pre>cat >> boot/extlinux/extlinux.conf << EOF label kernel-4.4 &nbsp; &nbsp; kernel /zImage &nbsp; &nbsp; fdt /rk3036-kylin.dtb &nbsp; &nbsp; append &nbsp;earlyprintk console=tty1 console=ttyS2,115200n8 rw root=PARTUUID=69dad710-2c rootfstype=ext4 init=/sbin/init rootwait EOF </pre> &nbsp; == Generate ext2fs&nbsp;boot partition == by genext2fs: <pre>genext2fs -b 32768 -B $((32*1024*1024/32768)) -d boot/ -i 8192 -U boot_rk3036.img</pre> According to Rockchip partition definition, you need to flash this image to boot partiton which offset is 0x8000. <pre>sudo rkdeveloptool wl 0x8000 &nbsp; boot_rk3036.img</pre> Then, how to generate boot.img? Please have a look at the following: == Generate fatfs boot partition == === Generate boot.img in fatfs === Below commands can generate a fatfs boot.img <pre>dd if=/dev/zero of=boot.img bs=1M count=32 sudo mkfs.fat boot.img mkdir tmp sudo mount boot.img tmp/ cp -r boot/* tmp/ umount tmp</pre> Done! Flash this boot.img to boot partition, which is offset 0x8000 in Rockchip partition definition. <pre>sudo rkdeveloptool wl 0x8000&nbsp;boot.img</pre> === Update boot.img via U-Boot in target === After flash and&nbsp;boot the U-Boot, write the gpt table from default partition table <pre>gpt write mmc 0 $partitions gpt verify mmc 0 $partitions</pre> connect target to PC and start the ums in command line: <pre>ums mmc 0</pre> We should able to see a device connect to PC, formate and copy data into the partition(dev/sdb6 for example). <pre>cp -r boot/* /media/machine/9F35-9565/ </pre> Done! &nbsp; == Boot from U-Boot == If you are using genext2fs to genarate the boot.img, you need write the gpt table in U-Boot command line: <pre>gpt write mmc 0 $partitions</pre> Then boot from eMMC or reset: <pre>boot</pre> If everything is OK, you should able to see the U-Boot log like this: <pre>switch to partitions #0, OK mmc0(part 0) is current device Scanning mmc 0:4... Found /extlinux/extlinux.conf Retrieving file: /extlinux/extlinux.conf reading /extlinux/extlinux.conf 192 bytes read in 4 ms (46.9 KiB/s) 1: &nbsp; &nbsp; &nbsp;kernel-4.4 Retrieving file: /zImage reading /zImage 7810312 bytes read in 726 ms (10.3 MiB/s) append: earlyprintk console=tty1 console=ttyS2,115200n8 rw root=PARTUUID=69dad710-2c rootfstype=ext4 init=/sbin/init rootwait Retrieving file: /rk3036-kylin.dtb reading /rk3036-kylin.dtb 23641 bytes read in 6 ms (3.8 MiB/s) Kernel image @ 0x62000000 [ 0x000000 - 0x772d08 ] ## Flattened Device Tree blob at 61f00000 &nbsp; &nbsp;Booting using the fdt blob at 0x61f00000 &nbsp; &nbsp;Loading Device Tree to 7df52000, end 7df5ac58 ... OK Starting kernel ... </pre> &nbsp; DEBUG Kernel: if you have some issues on bringup kernel, you can enable the earlyprintk configs&nbsp;for rockchip_linux_defconfig For example: <pre> cd arch/arm/configs/rockchip_linux_defconfig +CONFIG_DEBUG_LL=y<br/> +CONFIG_DEBUG_RK29_UART2=y<br/> +CONFIG_EARLY_PRINTK=y &nbsp; &nbsp; &nbsp; &nbsp; </pre> 9f694213e938efe03c2ad7a429bdfe9dfce4d2fb Rockchip RK3036 Kernel 0 189 1729 1728 2017-12-08T09:18:48Z Admin 1 wikitext text/x-wiki = Download Kernel = You can clone the rockchip kernel repository from github which is kernel 4.4 based: <pre>git clone https://github.com/rockchip-linux/kernel.git </pre> &nbsp; = Configure and Build = You will need to use rockchip_linux_defconfig for Linux OS <pre>make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- rockchip_linux_defconfig make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- -j4 </pre> &nbsp; Then you can get Image/zImage and dtb file. &nbsp; = Install Boot/kernel = We use distro boot in U-Boot, so we need to make a boot partition for U-Boot with kernel image and dtb inside. <pre>mkdir boot cp arch/arm/boot/dts/rk3036-kylin.dtb boot/rk3036-kylin.dtb cp arch/arm/boot/zImage boot/</pre> Add extlinux/extlinux.conf for distro boot. <pre>mkdir boot/extlinux </pre> <pre>cat >> boot/extlinux/extlinux.conf << EOF label kernel-4.4 &nbsp; &nbsp; kernel /zImage &nbsp; &nbsp; fdt /rk3036-kylin.dtb &nbsp; &nbsp; append &nbsp;earlyprintk console=tty1 console=ttyS2,115200n8 rw root=PARTUUID=69dad710-2c rootfstype=ext4 init=/sbin/init rootwait EOF </pre> &nbsp; == Generate ext2fs&nbsp;boot partition == by genext2fs: <pre>genext2fs -b 32768 -B $((32*1024*1024/32768)) -d boot/ -i 8192 -U boot_rk3036.img</pre> According to Rockchip partition definition, you need to flash this image to boot partiton which offset is 0x8000. <pre>sudo rkdeveloptool wl 0x8000 &nbsp; boot_rk3036.img</pre> Then, how to generate boot.img? Please have a look at the following: == Generate fatfs boot partition == === Generate boot.img in fatfs === Below commands can generate a fatfs boot.img <pre>dd if=/dev/zero of=boot.img bs=1M count=32 sudo mkfs.fat boot.img mkdir tmp sudo mount boot.img tmp/ cp -r boot/* tmp/ umount tmp</pre> Done! Flash this boot.img to boot partition, which is offset 0x8000 in Rockchip partition definition. <pre>sudo rkdeveloptool wl 0x8000&nbsp;boot.img</pre> === Update boot.img via U-Boot in target === After flash and&nbsp;boot the U-Boot, write the gpt table from default partition table <pre>gpt write mmc 0 $partitions gpt verify mmc 0 $partitions</pre> connect target to PC and start the ums in command line: <pre>ums mmc 0</pre> We should able to see a device connect to PC, formate and copy data into the partition(dev/sdb6 for example). <pre>cp -r boot/* /media/machine/9F35-9565/ </pre> Done! &nbsp; == Boot from U-Boot == If you are using genext2fs to genarate the boot.img, you need write the gpt table in U-Boot command line: <pre>gpt write mmc 0 $partitions</pre> Then boot from eMMC or reset: <pre>boot</pre> If everything is OK, you should able to see the U-Boot log like this: <pre>switch to partitions #0, OK mmc0(part 0) is current device Scanning mmc 0:4... Found /extlinux/extlinux.conf Retrieving file: /extlinux/extlinux.conf reading /extlinux/extlinux.conf 192 bytes read in 4 ms (46.9 KiB/s) 1: &nbsp; &nbsp; &nbsp;kernel-4.4 Retrieving file: /zImage reading /zImage 7810312 bytes read in 726 ms (10.3 MiB/s) append: earlyprintk console=tty1 console=ttyS2,115200n8 rw root=PARTUUID=69dad710-2c rootfstype=ext4 init=/sbin/init rootwait Retrieving file: /rk3036-kylin.dtb reading /rk3036-kylin.dtb 23641 bytes read in 6 ms (3.8 MiB/s) Kernel image @ 0x62000000 [ 0x000000 - 0x772d08 ] ## Flattened Device Tree blob at 61f00000 &nbsp; &nbsp;Booting using the fdt blob at 0x61f00000 &nbsp; &nbsp;Loading Device Tree to 7df52000, end 7df5ac58 ... OK Starting kernel ... </pre> &nbsp; DEBUG Kernel: if you have some issues on bringup kernel, you can enable the earlyprintk configs&nbsp;for rockchip_linux_defconfig For example: <pre> cat >> arch/arm/configs/rockchip_linux_defconfig << EOF CONFIG_DEBUG_LL=y CONFIG_DEBUG_RK29_UART2=y CONFIG_EARLY_PRINTK=y EOF</pre> c786051fc1fa8a5bb6b29fd9ad44323f58e01240 1730 1729 2017-12-08T09:19:55Z Admin 1 wikitext text/x-wiki = Download Kernel = You can clone the rockchip kernel repository from github which is kernel 4.4 based: <pre>git clone https://github.com/rockchip-linux/kernel.git </pre> &nbsp; = Configure and Build = You will need to use rockchip_linux_defconfig for Linux OS <pre>make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- rockchip_linux_defconfig make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- -j4 </pre> &nbsp; Then you can get Image/zImage and dtb file. &nbsp; = Install Boot/kernel = We use distro boot in U-Boot, so we need to make a boot partition for U-Boot with kernel image and dtb inside. <pre>mkdir boot cp arch/arm/boot/dts/rk3036-kylin.dtb boot/rk3036-kylin.dtb cp arch/arm/boot/zImage boot/</pre> Add extlinux/extlinux.conf for distro boot. <pre>mkdir boot/extlinux </pre> <pre>cat >> boot/extlinux/extlinux.conf << EOF label kernel-4.4 &nbsp; &nbsp; kernel /zImage &nbsp; &nbsp; fdt /rk3036-kylin.dtb &nbsp; &nbsp; append &nbsp;earlyprintk console=tty1 console=ttyS2,115200n8 rw root=PARTUUID=69dad710-2c rootfstype=ext4 init=/sbin/init rootwait EOF </pre> &nbsp; == Generate ext2fs&nbsp;boot partition == by genext2fs: <pre>genext2fs -b 32768 -B $((32*1024*1024/32768)) -d boot/ -i 8192 -U boot_rk3036.img</pre> According to Rockchip partition definition, you need to flash this image to boot partiton which offset is 0x8000. <pre>sudo rkdeveloptool wl 0x8000 &nbsp; boot_rk3036.img</pre> Then, how to generate boot.img? Please have a look at the following: == Generate fatfs boot partition == === Generate boot.img in fatfs === Below commands can generate a fatfs boot.img <pre>dd if=/dev/zero of=boot.img bs=1M count=32 sudo mkfs.fat boot.img mkdir tmp sudo mount boot.img tmp/ cp -r boot/* tmp/ umount tmp</pre> Done! Flash this boot.img to boot partition, which is offset 0x8000 in Rockchip partition definition. <pre>sudo rkdeveloptool wl 0x8000&nbsp;boot.img</pre> === Update boot.img via U-Boot in target === After flash and&nbsp;boot the U-Boot, write the gpt table from default partition table <pre>gpt write mmc 0 $partitions gpt verify mmc 0 $partitions</pre> connect target to PC and start the ums in command line: <pre>ums mmc 0</pre> We should able to see a device connect to PC, formate and copy data into the partition(dev/sdb6 for example). <pre>cp -r boot/* /media/machine/9F35-9565/ </pre> Done! &nbsp; == Boot from U-Boot == If you are using genext2fs to genarate the boot.img, you need write the gpt table in U-Boot command line: <pre>gpt write mmc 0 $partitions</pre> Then boot from eMMC or reset: <pre>boot</pre> If everything is OK, you should able to see the U-Boot log like this: <pre>switch to partitions #0, OK mmc0(part 0) is current device Scanning mmc 0:4... Found /extlinux/extlinux.conf Retrieving file: /extlinux/extlinux.conf reading /extlinux/extlinux.conf 192 bytes read in 4 ms (46.9 KiB/s) 1: &nbsp; &nbsp; &nbsp;kernel-4.4 Retrieving file: /zImage reading /zImage 7810312 bytes read in 726 ms (10.3 MiB/s) append: earlyprintk console=tty1 console=ttyS2,115200n8 rw root=PARTUUID=69dad710-2c rootfstype=ext4 init=/sbin/init rootwait Retrieving file: /rk3036-kylin.dtb reading /rk3036-kylin.dtb 23641 bytes read in 6 ms (3.8 MiB/s) Kernel image @ 0x62000000 [ 0x000000 - 0x772d08 ] ## Flattened Device Tree blob at 61f00000 &nbsp; &nbsp;Booting using the fdt blob at 0x61f00000 &nbsp; &nbsp;Loading Device Tree to 7df52000, end 7df5ac58 ... OK Starting kernel ... </pre> &nbsp; == '''DEBUG Kernel''' == if you have some issues on bringup kernel, you can enable the earlyprintk configs&nbsp;for rockchip_linux_defconfig For example: <pre>cat >> arch/arm/configs/rockchip_linux_defconfig << EOF CONFIG_DEBUG_LL=y CONFIG_DEBUG_RK29_UART2=y CONFIG_EARLY_PRINTK=y EOF</pre> Then build and re-install kernel for debug. 24b6b1f04a08a7514c4db658fe6376a4485f6eba RK3036-U-Boot 0 188 1731 1722 2017-12-08T09:21:52Z Admin 1 wikitext text/x-wiki U-Boot Guide = Download U-Boot = == Upstream U-Boot == You can clone the u-boot repository by running: <pre>git clone git://git.denx.de/u-boot.git</pre> Alternatively you can use u-boot-rockchip instead which may with some patches not get in mainline: <pre>git clone git://git.denx.de/u-boot-rockchip.git</pre> &nbsp; == Rockchip U-Boot == You can clone the u-boot repository by running: <pre>git clone https://github.com/rockchip-linux/u-boot.git </pre> &nbsp; = Configure U-Boot = First you need to choose a correct defconfig for your board; (defconfig on uboot/configs) <pre>make CROSS_COMPILE=arm-linux-gnueabi- kylin-rk3036_defconfig</pre> You may need to change the U-Boot function/feature support by modify the defconfig file or, there is also menuconfig to play with settings if you feel like it: <pre>make CROSS_COMPILE=arm-linux-gnueabi- menuconfig</pre> &nbsp; = Build U-Boot = == Get a toolchain == If you haven't done so before, get a suitable&nbsp;toolchain&nbsp;installed and add it&nbsp;to your PATH. In Ubuntu 16.04, you can use below command to install cross compiler for armv7: <pre>sudo apt-get install gcc-arm-linux-gnueabi </pre> &nbsp; == Start Build == <pre>make CROSS_COMPILE=arm-linux-gnueabi- </pre> In order to support debug in ARM DS-5, you may need add ctags in make command: <pre>CFLAGS='-gdwarf-3'</pre> For trust support, we are using FIT image with 'mkimage' cmd in Makefile and its script defined in defconfig: <pre>make u-boot.itb </pre> == Generate Image == <pre>tools/mkimage -n rk3036 -T rksd -d spl/u-boot-spl-nodtb.bin rk3036_idb.img </pre> <pre>cat u-boot.bin >> rk3036_idb.img cp rk3036_idb.img ../out/u-boot/</pre> &nbsp; = Install U-Boot = Rockchip SoCs's bootrom need special format named IDBlock at special offset 0x40&nbsp;block for boot, so we need to package&nbsp;SPL(or Rockchip miniloader) &nbsp;in IDB format. Rockchip bootrom supports SPL back to bootrom and bootrom load the U-Boot, so the SPL for Rockchip SoCs can option to back to bootrom, usually decided by if the IRAM is enough&nbsp;for driver to load U-Boot.&nbsp; <small>(Ensure the board is in&nbsp;maskrom mode.&nbsp;[http://opensource.rock-chips.com/wiki_Rockusb#Maskrom_mode maskrom],&nbsp;Not&nbsp;[http://opensource.rock-chips.com/wiki_Rockusb#Miniloader_Rockusb.C2.A0mode rockusb]! )</small>: <pre>#you can get the rk3036_loader_x.bin from rkbin/rk30/ sudo rkdeveloptool db rk3036_loader_x.bin sudo rkdeveloptool wl 0x40&nbsp;out/u-boot/rk3036_idb.img</pre> fdf40098800143701ecdae0c4df0eca87d9deb5d RK3036 0 182 1732 1723 2017-12-08T10:07:19Z Admin 1 wikitext text/x-wiki {{Infobox SoC | title = RK3036 | image = [[File:rk3036-core.jpg|200px]] | manufacturer = Rockcihp | process = 28nm | cpu = Qual-Core ARM Cortex-A7 | ltwo = | extensions = | memory = 2-channel LPDDR3/LPDDR2/DDR3/DDR3L | gpu = ARM Mali400 | vpu = | apu = | video = HDMI 1.4 | audio = I2S, PCM | network = | storage = SD2.0, MMC4.5 | usb = OTG, Host | other = | release_date = June 2014 | website = http://www.rock-chips.com/a/cn/product/rk30/2014/0924/520.html }} &nbsp; &nbsp; Rockchip RK3036 is a low power, high performance processor solution for IoT, OTT TV BOX, and other digital multimedia applications, and integrates dual-core [https://en.wikipedia.org/wiki/ARM_Cortex-A7 Cortex-A7], with separate NEON coprocessor and 128KB L2 Cache.It also integrates Mali 400 GPU. &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; = Overview = RK3036 is a low power, high performance processor solution for OTT TV BOX, and other<br/> digital multimedia applications, and integrates dual-core Cortex-A7, with separate NEON<br/> coprocessor and 128KB L2 Cache.<br/> Many embedded powerful hardware engines provide optimized performance for high-end<br/> application. RK3036 supports almost full-format 1080P H.264 decoder and H.265 decoder,<br/> high-quality JPEG decoder and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3036 completely compatible with OpenGL ES1.1 and 2.0,<br/> OpenVG1.1 etc.<br/> RK3036 has high-performance external memory interface (DDR3/DDR3L) capable of<br/> sustaining demanding memory bandwidths, also provides a complete set of peripheral<br/> interface to support very flexible applications. &nbsp; &nbsp; = RK3036&nbsp;SoC Features = {| border="0" cellpadding="1" cellspacing="1" style="width: 972px;" |- | style="width: 530px;" | *CPU: **Quad Core Cortex-A7&nbsp;up to 1.0GHz **32KB L1-Cache **128KB L2-Cache *Internal memory **16KB BootRom **8KB internal SRAM *GPU: **ARM Mali400 **High performance OpenGL ES1.1 and 2.0, OpenVG1.1 etc **Embedded 1 shader core with shared hierarchical tiler *Display: **HDMI interface: HDMI version 1.4a, HDCP revision 1.2 and DVI version 1.0 compliant transmitter. Supports DTV from 480i to 1080i/p HD resolution **CVBS interface: 10-bit Resolution. PAL/NTSC encoding *Camera: **Not camera interface. Only support USB camera *Memory: **8KB internal SRAM **Dynamic Memory Interface (DDR3/DDR3L): Compatible with JEDEC standard DDR3/DDR3L SDRAM. Data rates up to1066Mbps(533MHz) for DDR3/DDR3L. Support up to 2 ranks (chip selects),maximum 1GB address space per rank. *Connectivity: **SDIO interface: Embedded one SDIO interface, Compatible with SDIO 3.0 protocol **EMAC 10/100M Ethernet Controller: IEEE802.3u compliant Ethernet Media Access Controller(MAC). Support only RMII(Reduced MII) mode. 10Mbps and 100Mbps compatible **SPI Controller: One on-chip SPI controller **UART Controller: Three on-chip UART controllers **I2C controller: Three on-chip I2C controllers **USB Host2.0: Compatible with USB Host2.0 specification. Supports high-speed(480Mbps), full-speed(12Mbps) and low-speed(1.5Mbps) mode **USB OTG2.0: Compatible with USB OTG2.0 specification. Supports high-speed(480Mbps), full-speed(12Mbps) and low-speed(1.5Mbps) mode *Audio: **I2S/PCM with 8 channels | style="width: 429px;" | [[File:Rk3036.jpg|RTENOTITLE]] |} &nbsp; &nbsp; = Devices = Rockchip: [http://rockchip.wikidot.com/kylin Kylin-RK3036] &nbsp; = Documentation = 1. See [http://opensource.rock-chips.com/wiki_RK3036_Linux_user_guide Linux_user_guide] setup Linux OS generally; 2. See [[RK3036-U-Boot|U-Boot]] guide to develop U-Boot; 3. See [[Rockchip_RK3036_Kernel|Rockchip kernel]] or [[Upstream_Kernel|Upstream kernel]] to develop kernel; 4. See [[Distribution|Distribution]] to develop and custimize OS. 5. [[Rockchip_RK3036_Datasheet_V1.2_20160115.pdf|Rockchip RK3036 Datasheet V1.2 20160115.pdf]] 6.&nbsp;[[RK3036_hardware_reference.zip|Schematic&Layout Guide]] <br/> &nbsp; == Board configuration == {| border="1" cellpadding="1" cellspacing="1" class="table_style" |- ! '''board''' ! '''kernel''' ! '''uboot''' ! '''dts''' |- | rk3036-kylin | rockchip_linux_defconfig | kylin-rk3036_defconfig | rk3036-kylin.dts |} &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" class="table_style" |- ! '''chip''' ! '''Kernel eMMC index''' ! '''Kernel SD index''' ! '''Uboot eMMC index''' ! '''Uboot SD index''' ! '''Baud speed''' |- | RK3036 | 1 | 0 | 0 | 1 | 115200 |} = See also = [[RK3288|RK3288]] [[RK3328|RK3328]] [[RK3399|RK3399]] = References = #[https://en.wikipedia.org/wiki/ARM_Cortex-A7 https://en.wikipedia.org/wiki/ARM_Cortex-A7] #[http://www.rock-chips.com/a/en/products/RK30_Series/2014/0924/521.html http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html] f3f56ec47d3a632e2ac86f1850c0dcca919256cc 1734 1732 2017-12-08T10:20:42Z Admin 1 wikitext text/x-wiki {{Infobox SoC | title = RK3036 | image = [[File:rk3036-core.jpg|200px]] | manufacturer = Rockcihp | process = 28nm | cpu = Qual-Core ARM Cortex-A7 | ltwo = | extensions = | memory = 2-channel LPDDR3/LPDDR2/DDR3/DDR3L | gpu = ARM Mali400 | vpu = | apu = | video = HDMI 1.4 | audio = I2S, PCM | network = | storage = SD2.0, MMC4.5 | usb = OTG, Host | other = | release_date = June 2014 | website = http://www.rock-chips.com/a/cn/product/rk30/2014/0924/520.html }} &nbsp; &nbsp; Rockchip RK3036 is a low power, high performance processor solution for IoT, OTT TV BOX, and other digital multimedia applications, and integrates dual-core [https://en.wikipedia.org/wiki/ARM_Cortex-A7 Cortex-A7], with separate NEON coprocessor and 128KB L2 Cache.It also integrates Mali 400 GPU. &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; = Overview = RK3036 is a low power, high performance processor solution for OTT TV BOX, and other<br/> digital multimedia applications, and integrates dual-core Cortex-A7, with separate NEON<br/> coprocessor and 128KB L2 Cache.<br/> Many embedded powerful hardware engines provide optimized performance for high-end<br/> application. RK3036 supports almost full-format 1080P H.264 decoder and H.265 decoder,<br/> high-quality JPEG decoder and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3036 completely compatible with OpenGL ES1.1 and 2.0,<br/> OpenVG1.1 etc.<br/> RK3036 has high-performance external memory interface (DDR3/DDR3L) capable of<br/> sustaining demanding memory bandwidths, also provides a complete set of peripheral<br/> interface to support very flexible applications. &nbsp; &nbsp; = RK3036&nbsp;SoC Features = {| border="0" cellpadding="1" cellspacing="1" style="width: 972px;" |- | style="width: 530px;" | *CPU: **Quad Core Cortex-A7&nbsp;up to 1.0GHz **32KB L1-Cache **128KB L2-Cache *Internal memory **16KB BootRom **8KB internal SRAM *GPU: **ARM Mali400 **High performance OpenGL ES1.1 and 2.0, OpenVG1.1 etc **Embedded 1 shader core with shared hierarchical tiler *Display: **HDMI interface: HDMI version 1.4a, HDCP revision 1.2 and DVI version 1.0 compliant transmitter. Supports DTV from 480i to 1080i/p HD resolution **CVBS interface: 10-bit Resolution. PAL/NTSC encoding *Camera: **Not camera interface. Only support USB camera *Memory: **8KB internal SRAM **Dynamic Memory Interface (DDR3/DDR3L): Compatible with JEDEC standard DDR3/DDR3L SDRAM. Data rates up to1066Mbps(533MHz) for DDR3/DDR3L. Support up to 2 ranks (chip selects),maximum 1GB address space per rank. *Connectivity: **SDIO interface: Embedded one SDIO interface, Compatible with SDIO 3.0 protocol **EMAC 10/100M Ethernet Controller: IEEE802.3u compliant Ethernet Media Access Controller(MAC). Support only RMII(Reduced MII) mode. 10Mbps and 100Mbps compatible **SPI Controller: One on-chip SPI controller **UART Controller: Three on-chip UART controllers **I2C controller: Three on-chip I2C controllers **USB Host2.0: Compatible with USB Host2.0 specification. Supports high-speed(480Mbps), full-speed(12Mbps) and low-speed(1.5Mbps) mode **USB OTG2.0: Compatible with USB OTG2.0 specification. Supports high-speed(480Mbps), full-speed(12Mbps) and low-speed(1.5Mbps) mode *Audio: **I2S/PCM with 8 channels | style="width: 429px;" | [[File:Rk3036.jpg|RTENOTITLE]] |} &nbsp; &nbsp; = Devices = Rockchip: [http://rockchip.wikidot.com/kylin Kylin-RK3036] &nbsp; = Documentation = 1. See [http://opensource.rock-chips.com/wiki_RK3036_Linux_user_guide Linux_user_guide] setup Linux OS generally; 2. See [[RK3036-U-Boot|U-Boot]] guide to develop U-Boot; 3. See [[Rockchip_RK3036_Kernel|Rockchip kernel]] or [[Upstream_Kernel|Upstream kernel]] to develop kernel; 4. See [[Distribution|Distribution]] to develop and custimize OS. 5.&nbsp;[[RK3036_Linux-SDK-V1.0.pdf|RK3036_Linux-SDK-V1.0.pdf]] 5. [[Rockchip_RK3036_Datasheet_V1.2_20160115.pdf|Rockchip RK3036 Datasheet V1.2 20160115.pdf]] 6.&nbsp;[[RK3036_hardware_reference.zip|Schematic&Layout Guide]] &nbsp; <br/> &nbsp; == Board configuration == {| border="1" cellpadding="1" cellspacing="1" class="table_style" |- ! '''board''' ! '''kernel''' ! '''uboot''' ! '''dts''' |- | rk3036-kylin | rockchip_linux_defconfig | kylin-rk3036_defconfig | rk3036-kylin.dts |} &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" class="table_style" |- ! '''chip''' ! '''Kernel eMMC index''' ! '''Kernel SD index''' ! '''Uboot eMMC index''' ! '''Uboot SD index''' ! '''Baud speed''' |- | RK3036 | 1 | 0 | 0 | 1 | 115200 |} = See also = [[RK3288|RK3288]] [[RK3328|RK3328]] [[RK3399|RK3399]] = References = #[https://en.wikipedia.org/wiki/ARM_Cortex-A7 https://en.wikipedia.org/wiki/ARM_Cortex-A7] #[http://www.rock-chips.com/a/en/products/RK30_Series/2014/0924/521.html http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html] c7c801d335599c02a7d1757f1d112b19d2ceee02 1736 1734 2017-12-08T10:21:53Z Admin 1 wikitext text/x-wiki {{Infobox SoC | title = RK3036 | image = [[File:rk3036-core.jpg|200px]] | manufacturer = Rockcihp | process = 28nm | cpu = Qual-Core ARM Cortex-A7 | ltwo = | extensions = | memory = 2-channel LPDDR3/LPDDR2/DDR3/DDR3L | gpu = ARM Mali400 | vpu = | apu = | video = HDMI 1.4 | audio = I2S, PCM | network = | storage = SD2.0, MMC4.5 | usb = OTG, Host | other = | release_date = June 2014 | website = http://www.rock-chips.com/a/cn/product/rk30/2014/0924/520.html }} &nbsp; &nbsp; Rockchip RK3036 is a low power, high performance processor solution for IoT, OTT TV BOX, and other digital multimedia applications, and integrates dual-core [https://en.wikipedia.org/wiki/ARM_Cortex-A7 Cortex-A7], with separate NEON coprocessor and 128KB L2 Cache.It also integrates Mali 400 GPU. &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; = Overview = RK3036 is a low power, high performance processor solution for OTT TV BOX, and other<br/> digital multimedia applications, and integrates dual-core Cortex-A7, with separate NEON<br/> coprocessor and 128KB L2 Cache.<br/> Many embedded powerful hardware engines provide optimized performance for high-end<br/> application. RK3036 supports almost full-format 1080P H.264 decoder and H.265 decoder,<br/> high-quality JPEG decoder and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3036 completely compatible with OpenGL ES1.1 and 2.0,<br/> OpenVG1.1 etc.<br/> RK3036 has high-performance external memory interface (DDR3/DDR3L) capable of<br/> sustaining demanding memory bandwidths, also provides a complete set of peripheral<br/> interface to support very flexible applications. &nbsp; &nbsp; = RK3036&nbsp;SoC Features = {| border="0" cellpadding="1" cellspacing="1" style="width: 972px;" |- | style="width: 530px;" | *CPU: **Quad Core Cortex-A7&nbsp;up to 1.0GHz **32KB L1-Cache **128KB L2-Cache *Internal memory **16KB BootRom **8KB internal SRAM *GPU: **ARM Mali400 **High performance OpenGL ES1.1 and 2.0, OpenVG1.1 etc **Embedded 1 shader core with shared hierarchical tiler *Display: **HDMI interface: HDMI version 1.4a, HDCP revision 1.2 and DVI version 1.0 compliant transmitter. Supports DTV from 480i to 1080i/p HD resolution **CVBS interface: 10-bit Resolution. PAL/NTSC encoding *Camera: **Not camera interface. Only support USB camera *Memory: **8KB internal SRAM **Dynamic Memory Interface (DDR3/DDR3L): Compatible with JEDEC standard DDR3/DDR3L SDRAM. Data rates up to1066Mbps(533MHz) for DDR3/DDR3L. Support up to 2 ranks (chip selects),maximum 1GB address space per rank. *Connectivity: **SDIO interface: Embedded one SDIO interface, Compatible with SDIO 3.0 protocol **EMAC 10/100M Ethernet Controller: IEEE802.3u compliant Ethernet Media Access Controller(MAC). Support only RMII(Reduced MII) mode. 10Mbps and 100Mbps compatible **SPI Controller: One on-chip SPI controller **UART Controller: Three on-chip UART controllers **I2C controller: Three on-chip I2C controllers **USB Host2.0: Compatible with USB Host2.0 specification. Supports high-speed(480Mbps), full-speed(12Mbps) and low-speed(1.5Mbps) mode **USB OTG2.0: Compatible with USB OTG2.0 specification. Supports high-speed(480Mbps), full-speed(12Mbps) and low-speed(1.5Mbps) mode *Audio: **I2S/PCM with 8 channels | style="width: 429px;" | [[File:Rk3036.jpg|RTENOTITLE]] |} &nbsp; &nbsp; = Devices = Rockchip: [http://rockchip.wikidot.com/kylin Kylin-RK3036] &nbsp; = Documentation = 1. See [http://opensource.rock-chips.com/wiki_RK3036_Linux_user_guide Linux_user_guide] setup Linux OS generally; 2. See [[RK3036-U-Boot|U-Boot]] guide to develop U-Boot; 3. See [[Rockchip_RK3036_Kernel|Rockchip kernel]] or [[Upstream_Kernel|Upstream kernel]] to develop kernel; 4. See [[Distribution|Distribution]] to develop and custimize OS. 5.&nbsp;[[Media:RK3036_Linux-SDK-V1.0.pdf|RK3036_Linux-SDK-V1.0.pdf]] 5. [[Rockchip_RK3036_Datasheet_V1.2_20160115.pdf|Rockchip RK3036 Datasheet V1.2 20160115.pdf]] 6.&nbsp;[[RK3036_hardware_reference.zip|Schematic&Layout Guide]] &nbsp; <br/> &nbsp; == Board configuration == {| border="1" cellpadding="1" cellspacing="1" class="table_style" |- ! '''board''' ! '''kernel''' ! '''uboot''' ! '''dts''' |- | rk3036-kylin | rockchip_linux_defconfig | kylin-rk3036_defconfig | rk3036-kylin.dts |} &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" class="table_style" |- ! '''chip''' ! '''Kernel eMMC index''' ! '''Kernel SD index''' ! '''Uboot eMMC index''' ! '''Uboot SD index''' ! '''Baud speed''' |- | RK3036 | 1 | 0 | 0 | 1 | 115200 |} = See also = [[RK3288|RK3288]] [[RK3328|RK3328]] [[RK3399|RK3399]] = References = #[https://en.wikipedia.org/wiki/ARM_Cortex-A7 https://en.wikipedia.org/wiki/ARM_Cortex-A7] #[http://www.rock-chips.com/a/en/products/RK30_Series/2014/0924/521.html http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html] c8036e0ffa33456290e91e3bbb022b64144ff772 1737 1736 2017-12-11T01:10:25Z Admin 1 wikitext text/x-wiki {{Infobox SoC | title = RK3036 | image = [[File:rk3036-core.jpg|200px]] | manufacturer = Rockcihp | process = 28nm | cpu = Qual-Core ARM Cortex-A7 | ltwo = | extensions = | memory = 2-channel LPDDR3/LPDDR2/DDR3/DDR3L | gpu = ARM Mali400 | vpu = | apu = | video = HDMI 1.4 | audio = I2S, PCM | network = | storage = SD2.0, MMC4.5 | usb = OTG, Host | other = | release_date = June 2014 | website = http://www.rock-chips.com/a/cn/product/rk30/2014/0924/520.html }} &nbsp; &nbsp; Rockchip RK3036 is a low power, high performance processor solution for IoT, OTT TV BOX, and other digital multimedia applications, and integrates dual-core [https://en.wikipedia.org/wiki/ARM_Cortex-A7 Cortex-A7], with separate NEON coprocessor and 128KB L2 Cache.It also integrates Mali 400 GPU. &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; = Overview = RK3036 is a low power, high performance processor solution for OTT TV BOX, and other<br/> digital multimedia applications, and integrates dual-core Cortex-A7, with separate NEON<br/> coprocessor and 128KB L2 Cache.<br/> Many embedded powerful hardware engines provide optimized performance for high-end<br/> application. RK3036 supports almost full-format 1080P H.264 decoder and H.265 decoder,<br/> high-quality JPEG decoder and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3036 completely compatible with OpenGL ES1.1 and 2.0,<br/> OpenVG1.1 etc.<br/> RK3036 has high-performance external memory interface (DDR3/DDR3L) capable of<br/> sustaining demanding memory bandwidths, also provides a complete set of peripheral<br/> interface to support very flexible applications. &nbsp; &nbsp; = RK3036&nbsp;SoC Features = {| border="0" cellpadding="1" cellspacing="1" style="width: 972px;" |- | style="width: 530px;" | *CPU: **Quad Core Cortex-A7&nbsp;up to 1.0GHz **32KB L1-Cache **128KB L2-Cache *Internal memory **16KB BootRom **8KB internal SRAM *GPU: **ARM Mali400 **High performance OpenGL ES1.1 and 2.0, OpenVG1.1 etc **Embedded 1 shader core with shared hierarchical tiler *Display: **HDMI interface: HDMI version 1.4a, HDCP revision 1.2 and DVI version 1.0 compliant transmitter. Supports DTV from 480i to 1080i/p HD resolution **CVBS interface: 10-bit Resolution. PAL/NTSC encoding *Camera: **Not camera interface. Only support USB camera *Memory: **8KB internal SRAM **Dynamic Memory Interface (DDR3/DDR3L): Compatible with JEDEC standard DDR3/DDR3L SDRAM. Data rates up to1066Mbps(533MHz) for DDR3/DDR3L. Support up to 2 ranks (chip selects),maximum 1GB address space per rank. *Connectivity: **SDIO interface: Embedded one SDIO interface, Compatible with SDIO 3.0 protocol **EMAC 10/100M Ethernet Controller: IEEE802.3u compliant Ethernet Media Access Controller(MAC). Support only RMII(Reduced MII) mode. 10Mbps and 100Mbps compatible **SPI Controller: One on-chip SPI controller **UART Controller: Three on-chip UART controllers **I2C controller: Three on-chip I2C controllers **USB Host2.0: Compatible with USB Host2.0 specification. Supports high-speed(480Mbps), full-speed(12Mbps) and low-speed(1.5Mbps) mode **USB OTG2.0: Compatible with USB OTG2.0 specification. Supports high-speed(480Mbps), full-speed(12Mbps) and low-speed(1.5Mbps) mode *Audio: **I2S/PCM with 8 channels | style="width: 429px;" | [[File:Rk3036.jpg|RTENOTITLE]] |} &nbsp; &nbsp; = Devices = Rockchip: [http://rockchip.wikidot.com/kylin Kylin-RK3036] &nbsp; = Documentation = 1. See [http://opensource.rock-chips.com/wiki_RK3036_Linux_user_guide Linux_user_guide] setup Linux OS generally; 2. See [[RK3036-U-Boot|U-Boot]] guide to develop U-Boot; 3. See [[Rockchip_RK3036_Kernel|Rockchip kernel]] or [[Upstream_Kernel|Upstream kernel]] to develop kernel; 4. See [[Distribution|Distribution]] to develop and custimize OS. 5.&nbsp;[[Media:RK3036_Linux-SDK-V1.0.pdf|Media:RK3036 Linux-SDK-V1.0.pdf]] 5. [[Media:Rockchip_RK3036_Datasheet_V1.2_20160115.pdf|Media:Rockchip RK3036 Datasheet V1.2 20160115.pdf]] 6.&nbsp;[[Media:RK3036_hardware_reference.zip|Media:RK3036 hardware reference.zip]] &nbsp; <br/> &nbsp; == Board configuration == {| border="1" cellpadding="1" cellspacing="1" class="table_style" |- ! '''board''' ! '''kernel''' ! '''uboot''' ! '''dts''' |- | rk3036-kylin | rockchip_linux_defconfig | kylin-rk3036_defconfig | rk3036-kylin.dts |} &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" class="table_style" |- ! '''chip''' ! '''Kernel eMMC index''' ! '''Kernel SD index''' ! '''Uboot eMMC index''' ! '''Uboot SD index''' ! '''Baud speed''' |- | RK3036 | 1 | 0 | 0 | 1 | 115200 |} = See also = [[RK3288|RK3288]] [[RK3328|RK3328]] [[RK3399|RK3399]] = References = #[https://en.wikipedia.org/wiki/ARM_Cortex-A7 https://en.wikipedia.org/wiki/ARM_Cortex-A7] #[http://www.rock-chips.com/a/en/products/RK30_Series/2014/0924/521.html http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html] 6b407adeabe0d42624aebd556856c9841b3b4cac 1744 1737 2017-12-12T09:40:10Z Admin 1 wikitext text/x-wiki {{Infobox SoC | title = RK3036 | image = [[File:rk3036-core.jpg|200px]] | manufacturer = Rockcihp | process = 28nm | cpu = Qual-Core ARM Cortex-A7 | ltwo = | extensions = | memory = 2-channel LPDDR3/LPDDR2/DDR3/DDR3L | gpu = ARM Mali400 | vpu = | apu = | video = HDMI 1.4 | audio = I2S, PCM | network = | storage = SD2.0, MMC4.5 | usb = OTG, Host | other = | release_date = June 2014 | website = http://www.rock-chips.com/a/cn/product/rk30/2014/0924/520.html }} &nbsp; &nbsp; Rockchip RK3036 is a low power, high performance processor solution for IoT, OTT TV BOX, and other digital multimedia applications, and integrates dual-core [https://en.wikipedia.org/wiki/ARM_Cortex-A7 Cortex-A7], with separate NEON coprocessor and 128KB L2 Cache.It also integrates Mali 400 GPU. &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; = Overview = RK3036 is a low power, high performance processor solution for OTT TV BOX, and other<br/> digital multimedia applications, and integrates dual-core Cortex-A7, with separate NEON<br/> coprocessor and 128KB L2 Cache.<br/> Many embedded powerful hardware engines provide optimized performance for high-end<br/> application. RK3036 supports almost full-format 1080P H.264 decoder and H.265 decoder,<br/> high-quality JPEG decoder and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3036 completely compatible with OpenGL ES1.1 and 2.0,<br/> OpenVG1.1 etc.<br/> RK3036 has high-performance external memory interface (DDR3/DDR3L) capable of<br/> sustaining demanding memory bandwidths, also provides a complete set of peripheral<br/> interface to support very flexible applications. &nbsp; &nbsp; = RK3036&nbsp;SoC Features = {| border="0" cellpadding="1" cellspacing="1" style="width: 972px;" |- | style="width: 530px;" | *CPU: **Quad Core Cortex-A7&nbsp;up to 1.0GHz **32KB L1-Cache **128KB L2-Cache *Internal memory **16KB BootRom **8KB internal SRAM *GPU: **ARM Mali400 **High performance OpenGL ES1.1 and 2.0, OpenVG1.1 etc **Embedded 1 shader core with shared hierarchical tiler *Display: **HDMI interface: HDMI version 1.4a, HDCP revision 1.2 and DVI version 1.0 compliant transmitter. Supports DTV from 480i to 1080i/p HD resolution **CVBS interface: 10-bit Resolution. PAL/NTSC encoding *Camera: **Not camera interface. Only support USB camera *Memory: **8KB internal SRAM **Dynamic Memory Interface (DDR3/DDR3L): Compatible with JEDEC standard DDR3/DDR3L SDRAM. Data rates up to1066Mbps(533MHz) for DDR3/DDR3L. Support up to 2 ranks (chip selects),maximum 1GB address space per rank. *Connectivity: **SDIO interface: Embedded one SDIO interface, Compatible with SDIO 3.0 protocol **EMAC 10/100M Ethernet Controller: IEEE802.3u compliant Ethernet Media Access Controller(MAC). Support only RMII(Reduced MII) mode. 10Mbps and 100Mbps compatible **SPI Controller: One on-chip SPI controller **UART Controller: Three on-chip UART controllers **I2C controller: Three on-chip I2C controllers **USB Host2.0: Compatible with USB Host2.0 specification. Supports high-speed(480Mbps), full-speed(12Mbps) and low-speed(1.5Mbps) mode **USB OTG2.0: Compatible with USB OTG2.0 specification. Supports high-speed(480Mbps), full-speed(12Mbps) and low-speed(1.5Mbps) mode *Audio: **I2S/PCM with 8 channels | style="width: 429px;" | [[File:Rk3036.jpg|RTENOTITLE]] |} &nbsp; &nbsp; = Devices = Rockchip: [http://rockchip.wikidot.com/kylin Kylin-RK3036] &nbsp; = Documentation = 1. See [http://opensource.rock-chips.com/wiki_RK3036_Linux_user_guide RK3036_Linux_user_guide]&nbsp;setup Linux OS generally; 2. See [[RK3036-U-Boot]]&nbsp;guide to develop U-Boot; 3. See [[Rockchip_RK3036_Kernel|Rockchip kernel]] or [[Upstream_Kernel|Upstream kernel]] to develop RK3036 kernel; 4. See [[Distribution|Distribution]] to develop and custimize OS. 5.&nbsp;[[Media:RK3036_Linux-SDK-V1.0.pdf|Media:RK3036 Linux-SDK-V1.0.pdf]] 5. [[Media:Rockchip_RK3036_Datasheet_V1.2_20160115.pdf|Media:Rockchip RK3036 Datasheet V1.2 20160115.pdf]] 6.&nbsp;[[Media:RK3036_hardware_reference.zip|Media:RK3036 hardware reference.zip]] &nbsp; <br/> &nbsp; == Board configuration == {| border="1" cellpadding="1" cellspacing="1" class="table_style" |- ! '''board''' ! '''kernel''' ! '''uboot''' ! '''dts''' |- | rk3036-kylin | rockchip_linux_defconfig | kylin-rk3036_defconfig | rk3036-kylin.dts |} &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" class="table_style" |- ! '''chip''' ! '''Kernel eMMC index''' ! '''Kernel SD index''' ! '''Uboot eMMC index''' ! '''Uboot SD index''' ! '''Baud speed''' |- | RK3036 | 1 | 0 | 0 | 1 | 115200 |} = See also = [[RK3288|RK3288]] [[RK3328|RK3328]] [[RK3399|RK3399]] = References = #[https://en.wikipedia.org/wiki/ARM_Cortex-A7 https://en.wikipedia.org/wiki/ARM_Cortex-A7] #[http://www.rock-chips.com/a/en/products/RK30_Series/2014/0924/521.html http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html] cae23d5b6373adedf7e7caf6ed4e66b4c8f3b264 File:RK3036 Linux-SDK-V1.0.pdf 6 191 1735 2017-12-08T10:21:10Z Admin 1 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 Rockchip Kernel 0 104 1738 1432 2017-12-11T08:54:58Z Kever 2 wikitext text/x-wiki = Download Kernel = You can clone the rockchip kernel repository from github which is kernel 4.4 based: <pre>git clone https://github.com/rockchip-linux/kernel.git</pre> &nbsp; = Supported SoCs and Devices = Rockchip kernel 4.4 supports: RK3036, RK3066, RK312X, RK3188, RK322X,[[RK3288|RK3288]], [[RK3328|RK3328]], RK3368, [[RK3399|RK3399]] &nbsp; = Configure and Build = You will need to use rockchip_linux_defconfig for Linux OS For ARM v7 <pre>make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- rockchip_linux_defconfig make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- -j4 </pre> For ARM V8 <pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- -j4</pre> Then you can get Image/zImage and dtb file. &nbsp; &nbsp; = Install Boot/kernel = We use distro boot in U-Boot, so we need to make a boot partition for U-Boot with kernel image and dtb inside. <pre>mkdir boot cp arch/arm64/boot/dts/rockchip/rk3399-evb.dtb boot/rk3399.dtb cp arch/arm64/boot/Image boot/</pre> Add extlinux/extlinux.conf for distro boot. <pre>mkdir boot/extlinux vi boot/extlinux/extlinux.conf</pre> &nbsp; <pre>label rockchip-kernel-4.4 kernel /Image fdt /rk3399.dtb append earlycon=uart8250,mmio32,0xff1a0000 root=PARTUUID=B921B045-1D rootwait rootfstype=ext4 init=/sbin/init</pre> For armv7 <pre>label rockchip-kernel-4.4 kernel /Image fdt /rk3399.dtb append earlyprintk console=ttyS2,1500000n8 rw root=PARTUUID=69dad710-2c rootwait rootfstype=ext4 init=/sbin/init</pre> You need to change the base address of debug UART, root partition for your board. Pls reference to [[Partitions|rockchip Linux parttion definition]]&nbsp;for rootfs partition and where boot to flash. After all these files prepare completely, we write the file to the boot partition &nbsp; == Generate ext2fs&nbsp;boot partition == by genext2fs: <pre>genext2fs -b 32768 -B $((32*1024*1024/32768)) -d boot/ -i 8192 -U boot_rk3399.img</pre> According to Rockchip partition definition, you need to flash this image to boot partiton which offset is 0x8000. &nbsp; == Generate fatfs boot partition == === Generate boot.img in fatfs === Below commands can generate a fatfs boot.img <pre>dd if=/dev/zero of=boot.img bs=1M count=32 sudo mkfs.fat boot.img mkdir tmp sudo mount boot.img tmp/ cp -r boot/* tmp/ umount tmp</pre> Done! Flash this boot.img to boot partition, which is offset 0x8000 in Rockchip partition definition. === Update boot.img via U-Boot in target === After flash and&nbsp;boot the U-Boot, write the gpt table from default partition table <pre>gpt write mmc 1 $partitions gpt verify mmc 1 $partitions</pre> connect target to PC and start the ums in command line: <pre>ums 0 mmc 1:6</pre> We should able to see a device connect to PC, formate and copy data into the partition(dev/sdb6 for example). <pre>sudo mkfs.fat /dev/sdb6 cp -r boot/* /media/machine/9F35-9565/ </pre> Done! &nbsp; == Boot from U-Boot == If you are using genext2fs to genarate the boot.img, you need write the gpt table in U-Boot command line: <pre>gpt write mmc 1 $partitions</pre> Then boot from eMMC or reset: <pre>boot</pre> If everything is OK, you should able to see the U-Boot log like this: <pre>switch to partitions #0, OK mmc0(part 0) is current device Scanning mmc 0:6... Found /extlinux/extlinux.conf Retrieving file: /extlinux/extlinux.conf 205 bytes read in 82 ms (2 KiB/s) 1: upstream-4.10 Retrieving file: /Image 13484040 bytes read in 1833 ms (7 MiB/s) append: earlycon=uart8250,mmio32,0xff1a0000 console=ttyS2,1500000n8 rw root=/dev/mmcblk0p7 rootwait rootfstype=ext4 init=/sbin/init Retrieving file: /rk3399.dtb 61714 bytes read in 54 ms (1.1 MiB/s) ## Flattened Device Tree blob at 01f00000 Booting using the fdt blob at 0x1f00000 Loading Device Tree to 000000007df14000, end 000000007df26111 ... OK Starting kernel ... </pre> &nbsp; 5be48f83b37408290446d45d4f6563c64bd8eb0f 1740 1738 2017-12-11T09:01:45Z Kever 2 wikitext text/x-wiki = Download Kernel = You can clone the rockchip kernel repository from github which is kernel 4.4 based: <pre>git clone https://github.com/rockchip-linux/kernel.git</pre> &nbsp; = Supported SoCs and Devices = Rockchip kernel 4.4 supports: RK3036, RK3066, RK312X, RK3188, RK322X,[[RK3288|RK3288]], [[RK3328|RK3328]], RK3368, [[RK3399|RK3399]] &nbsp; = Configure and Build = You will need to use rockchip_linux_defconfig for Linux OS For ARM v7 <pre>make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- rockchip_linux_defconfig make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- -j4 </pre> For ARM V8 <pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- -j4</pre> Then you can get Image/zImage and dtb file. &nbsp; &nbsp; = Install Boot/kernel = We use distro boot in U-Boot, so we need to make a boot partition for U-Boot with kernel image and dtb inside. <pre>mkdir boot cp arch/arm64/boot/dts/rockchip/rk3399-evb.dtb boot/rk3399.dtb cp arch/arm64/boot/Image boot/</pre> Add [[Boot_extlinux.zip|extlinux/extlinux.conf]] for distro boot. <pre>mkdir boot/extlinux vi boot/extlinux/extlinux.conf</pre> &nbsp; <pre>label rockchip-kernel-4.4 kernel /Image fdt /rk3399.dtb append earlycon=uart8250,mmio32,0xff1a0000 root=PARTUUID=B921B045-1D rootwait rootfstype=ext4 init=/sbin/init</pre> For armv7 <pre>label rockchip-kernel-4.4 kernel /zImage fdt /rk3288.dtb append earlyprintk console=ttyS2,1500000n8 rw root=PARTUUID=69dad710-2c rootwait rootfstype=ext4 init=/sbin/init</pre> You need to change the base address of debug UART, root partition for your board. Pls reference to [[Partitions|rockchip Linux parttion definition]]&nbsp;for rootfs partition and where boot to flash. After all these files prepare completely, we write the file to the boot partition &nbsp; == Generate ext2fs&nbsp;boot partition == by genext2fs: <pre>genext2fs -b 32768 -B $((32*1024*1024/32768)) -d boot/ -i 8192 -U boot_rk3399.img</pre> According to Rockchip partition definition, you need to flash this image to boot partiton which offset is 0x8000. &nbsp; == Generate fatfs boot partition == === Generate boot.img in fatfs === Below commands can generate a fatfs boot.img <pre>dd if=/dev/zero of=boot.img bs=1M count=32 sudo mkfs.fat boot.img mkdir tmp sudo mount boot.img tmp/ cp -r boot/* tmp/ umount tmp</pre> Done! Flash this boot.img to boot partition, which is offset 0x8000 in Rockchip partition definition. === Update boot.img via U-Boot in target === After flash and&nbsp;boot the U-Boot, write the gpt table from default partition table <pre>gpt write mmc 1 $partitions gpt verify mmc 1 $partitions</pre> connect target to PC and start the ums in command line: <pre>ums 0 mmc 1:6</pre> We should able to see a device connect to PC, formate and copy data into the partition(dev/sdb6 for example). <pre>sudo mkfs.fat /dev/sdb6 cp -r boot/* /media/machine/9F35-9565/ </pre> Done! &nbsp; == Boot from U-Boot == If you are using genext2fs to genarate the boot.img, you need write the gpt table in U-Boot command line: <pre>gpt write mmc 1 $partitions</pre> Then boot from eMMC or reset: <pre>boot</pre> If everything is OK, you should able to see the U-Boot log like this: <pre>switch to partitions #0, OK mmc0(part 0) is current device Scanning mmc 0:6... Found /extlinux/extlinux.conf Retrieving file: /extlinux/extlinux.conf 205 bytes read in 82 ms (2 KiB/s) 1: upstream-4.10 Retrieving file: /Image 13484040 bytes read in 1833 ms (7 MiB/s) append: earlycon=uart8250,mmio32,0xff1a0000 console=ttyS2,1500000n8 rw root=/dev/mmcblk0p7 rootwait rootfstype=ext4 init=/sbin/init Retrieving file: /rk3399.dtb 61714 bytes read in 54 ms (1.1 MiB/s) ## Flattened Device Tree blob at 01f00000 Booting using the fdt blob at 0x1f00000 Loading Device Tree to 000000007df14000, end 000000007df26111 ... OK Starting kernel ... </pre> &nbsp; a387f990dbb1737015dd04ff7c9ea7008d480088 1741 1740 2017-12-11T09:02:11Z Kever 2 wikitext text/x-wiki = Download Kernel = You can clone the rockchip kernel repository from github which is kernel 4.4 based: <pre>git clone https://github.com/rockchip-linux/kernel.git</pre> &nbsp; = Supported SoCs and Devices = Rockchip kernel 4.4 supports: RK3036, RK3066, RK312X, RK3188, RK322X,[[RK3288|RK3288]], [[RK3328|RK3328]], RK3368, [[RK3399|RK3399]] &nbsp; = Configure and Build = You will need to use rockchip_linux_defconfig for Linux OS For ARM v7 <pre>make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- rockchip_linux_defconfig make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- -j4 </pre> For ARM V8 <pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- -j4</pre> Then you can get Image/zImage and dtb file. &nbsp; &nbsp; = Install Boot/kernel = We use distro boot in U-Boot, so we need to make a boot partition for U-Boot with kernel image and dtb inside. <pre>mkdir boot cp arch/arm64/boot/dts/rockchip/rk3399-evb.dtb boot/rk3399.dtb cp arch/arm64/boot/Image boot/</pre> Add [[Media:Boot_extlinux.zip|extlinux/extlinux.conf]] for distro boot. <pre>mkdir boot/extlinux vi boot/extlinux/extlinux.conf</pre> &nbsp; <pre>label rockchip-kernel-4.4 kernel /Image fdt /rk3399.dtb append earlycon=uart8250,mmio32,0xff1a0000 root=PARTUUID=B921B045-1D rootwait rootfstype=ext4 init=/sbin/init</pre> For armv7 <pre>label rockchip-kernel-4.4 kernel /zImage fdt /rk3288.dtb append earlyprintk console=ttyS2,1500000n8 rw root=PARTUUID=69dad710-2c rootwait rootfstype=ext4 init=/sbin/init</pre> You need to change the base address of debug UART, root partition for your board. Pls reference to [[Partitions|rockchip Linux parttion definition]]&nbsp;for rootfs partition and where boot to flash. After all these files prepare completely, we write the file to the boot partition &nbsp; == Generate ext2fs&nbsp;boot partition == by genext2fs: <pre>genext2fs -b 32768 -B $((32*1024*1024/32768)) -d boot/ -i 8192 -U boot_rk3399.img</pre> According to Rockchip partition definition, you need to flash this image to boot partiton which offset is 0x8000. &nbsp; == Generate fatfs boot partition == === Generate boot.img in fatfs === Below commands can generate a fatfs boot.img <pre>dd if=/dev/zero of=boot.img bs=1M count=32 sudo mkfs.fat boot.img mkdir tmp sudo mount boot.img tmp/ cp -r boot/* tmp/ umount tmp</pre> Done! Flash this boot.img to boot partition, which is offset 0x8000 in Rockchip partition definition. === Update boot.img via U-Boot in target === After flash and&nbsp;boot the U-Boot, write the gpt table from default partition table <pre>gpt write mmc 1 $partitions gpt verify mmc 1 $partitions</pre> connect target to PC and start the ums in command line: <pre>ums 0 mmc 1:6</pre> We should able to see a device connect to PC, formate and copy data into the partition(dev/sdb6 for example). <pre>sudo mkfs.fat /dev/sdb6 cp -r boot/* /media/machine/9F35-9565/ </pre> Done! &nbsp; == Boot from U-Boot == If you are using genext2fs to genarate the boot.img, you need write the gpt table in U-Boot command line: <pre>gpt write mmc 1 $partitions</pre> Then boot from eMMC or reset: <pre>boot</pre> If everything is OK, you should able to see the U-Boot log like this: <pre>switch to partitions #0, OK mmc0(part 0) is current device Scanning mmc 0:6... Found /extlinux/extlinux.conf Retrieving file: /extlinux/extlinux.conf 205 bytes read in 82 ms (2 KiB/s) 1: upstream-4.10 Retrieving file: /Image 13484040 bytes read in 1833 ms (7 MiB/s) append: earlycon=uart8250,mmio32,0xff1a0000 console=ttyS2,1500000n8 rw root=/dev/mmcblk0p7 rootwait rootfstype=ext4 init=/sbin/init Retrieving file: /rk3399.dtb 61714 bytes read in 54 ms (1.1 MiB/s) ## Flattened Device Tree blob at 01f00000 Booting using the fdt blob at 0x1f00000 Loading Device Tree to 000000007df14000, end 000000007df26111 ... OK Starting kernel ... </pre> &nbsp; 81a443cc81bf0c3ae02e360a0344655eaebc68b4 1742 1741 2017-12-11T09:06:18Z Kever 2 wikitext text/x-wiki = Download Kernel = You can clone the rockchip kernel repository from github which is kernel 4.4 based: <pre>git clone https://github.com/rockchip-linux/kernel.git</pre> &nbsp; = Supported SoCs and Devices = Rockchip kernel 4.4 supports: RK3036, RK3066, RK312X, RK3188, RK322X,[[RK3288|RK3288]], [[RK3328|RK3328]], RK3368, [[RK3399|RK3399]] &nbsp; = Configure and Build = You will need to use rockchip_linux_defconfig for Linux OS For ARM v7 <pre>make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- rockchip_linux_defconfig make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- -j4 </pre> For ARM V8 <pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- -j4</pre> Then you can get Image/zImage and dtb file. &nbsp; &nbsp; = Install Boot/kernel = We use distro boot in U-Boot, so we need to make a boot partition for U-Boot with kernel image and dtb inside. <pre>mkdir boot cp arch/arm64/boot/dts/rockchip/rk3399-evb.dtb boot/rk3399.dtb cp arch/arm64/boot/Image boot/</pre> Add [[Media:Boot_extlinux.zip|extlinux/extlinux.conf]] for distro boot. <pre>mkdir boot/extlinux vi boot/extlinux/extlinux.conf</pre> &nbsp; <pre>label rockchip-kernel-4.4 kernel /Image fdt /rk3399.dtb append earlycon=uart8250,mmio32,0xff1a0000 root=PARTUUID=B921B045-1D rootwait rootfstype=ext4 init=/sbin/init</pre> For armv7 <pre>label rockchip-kernel-4.4 kernel /zImage fdt /rk3288.dtb append earlyprintk console=ttyS2,1500000n8 rw root=PARTUUID=69dad710-2c rootwait rootfstype=ext4 init=/sbin/init</pre> You need to change the base address of debug UART, root partition for your board. Pls reference to [[Partitions|rockchip Linux parttion definition]]&nbsp;for rootfs partition and where boot to flash. After all these files prepare completely, we write the file to the boot partition &nbsp; == Generate ext2fs&nbsp;boot partition == by genext2fs: <pre>genext2fs -b 32768 -B $((32*1024*1024/32768)) -d boot/ -i 8192 -U boot_rk3399.img</pre> According to Rockchip partition definition, you need to flash this image to boot partiton which offset is 0x8000. &nbsp; == Generate fatfs boot partition == === Generate boot.img in fatfs === Below commands can generate a fatfs boot.img <pre>dd if=/dev/zero of=boot.img bs=1M count=32 sudo mkfs.fat boot.img mkdir tmp sudo mount boot.img tmp/ cp -r boot/* tmp/ umount tmp</pre> Done! Flash this boot.img to boot partition, which is offset 0x8000 in Rockchip partition definition. === Update boot.img via U-Boot in target === After flash and&nbsp;boot the U-Boot, write the gpt table from default partition table <pre>gpt write mmc 1 $partitions gpt verify mmc 1 $partitions</pre> connect target to PC and start the ums in command line: <pre>ums 0 mmc 1:6</pre> We should able to see a device connect to PC, formate and copy data into the partition(dev/sdb6 for example). <pre>sudo mkfs.fat /dev/sdb6 cp -r boot/* /media/machine/9F35-9565/ </pre> Done! &nbsp; == Boot from U-Boot == If you are using genext2fs to genarate the boot.img, you need write the gpt table in U-Boot command line: <pre>gpt write mmc 0 $partitions</pre> Then boot from eMMC or reset: <pre>boot</pre> If everything is OK, you should able to see the U-Boot log like this: <pre>switch to partitions #0, OK mmc0(part 0) is current device Scanning mmc 0:6... Found /extlinux/extlinux.conf Retrieving file: /extlinux/extlinux.conf 205 bytes read in 82 ms (2 KiB/s) 1: upstream-4.10 Retrieving file: /Image 13484040 bytes read in 1833 ms (7 MiB/s) append: earlycon=uart8250,mmio32,0xff1a0000 console=ttyS2,1500000n8 rw root=/dev/mmcblk0p7 rootwait rootfstype=ext4 init=/sbin/init Retrieving file: /rk3399.dtb 61714 bytes read in 54 ms (1.1 MiB/s) ## Flattened Device Tree blob at 01f00000 Booting using the fdt blob at 0x1f00000 Loading Device Tree to 000000007df14000, end 000000007df26111 ... OK Starting kernel ... </pre> &nbsp; 2038d032992f30a58ce0e26fe23a713b946488d2 File:Boot extlinux.zip 6 192 1739 2017-12-11T09:00:39Z Kever 2 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 File:CIF ISP10 Driver User Manual V1.0.pdf 6 193 1747 2017-12-13T03:57:07Z Jacob 6 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 Camera 0 74 1748 1573 2017-12-13T03:57:45Z Jacob 6 wikitext text/x-wiki &nbsp; = status = {| border="1" class="table_style" style="width: 659px;" |- ! &nbsp; ! style="text-align: center;" | rk3288 ! style="text-align: center; width: 247px;" | rk3399 |- | ISP | style="text-align: center;" | rockchip-isp1 | style="text-align: center; width: 247px;" | rk-isp10 |- | CIF | style="text-align: center;" | NO | style="text-align: center; width: 247px;" | NO |} &nbsp; = [[rockchip-isp1]] = &nbsp; = [[CIF_ISP10_Driver_User_Manual_V1.0.pdf|rk-isp10]] = = v4l2-cif = 33da9d983aa96e731d51946281873a487ea7b06d 1749 1748 2017-12-13T03:57:59Z Jacob 6 wikitext text/x-wiki &nbsp; = status = {| border="1" class="table_style" style="width: 659px;" |- ! &nbsp; ! style="text-align: center;" | rk3288 ! style="text-align: center; width: 247px;" | rk3399 |- | ISP | style="text-align: center;" | rockchip-isp1 | style="text-align: center; width: 247px;" | rk-isp10 |- | CIF | style="text-align: center;" | NO | style="text-align: center; width: 247px;" | NO |} &nbsp; = [[Rockchip-isp1|rockchip-isp1]] = = [[CIF_ISP10_Driver_User_Manual_V1.0.pdf|rk-isp10]] = = v4l2-cif = 721b74b375a2f65f1d0bad70412d1cdd94283819 1763 1749 2017-12-13T16:31:26Z Jacob 6 wikitext text/x-wiki &nbsp; = status = {| border="1" class="table_style" style="width: 659px;" |- ! &nbsp; ! style="text-align: center;" | rk3288 ! style="text-align: center; width: 247px;" | rk3399 |- | ISP | style="text-align: center;" | rockchip-isp1 | style="text-align: center; width: 247px;" | rk-isp10 |- | CIF | style="text-align: center;" | NO | style="text-align: center; width: 247px;" | NO |} &nbsp; = [[Rockchip-isp1|rockchip-isp1]] = = [http://opensource.rock-chips.com/wiki_File:CIF_ISP10_Driver_User_Manual_V1.0.pdf rk-isp10] = = v4l2-cif = 4c3c9d22e96e03fc1b6188654410265235bf1f1b Firmware Upgrade 0 169 1777 1539 2017-12-20T02:14:26Z Jacob 6 wikitext text/x-wiki = Overall = This guide provides information which will help you choose a&nbsp;''firmware upgrade''&nbsp;way. &nbsp; = MASKROM = MASKROM is&nbsp;the simplest way.&nbsp; Belows are the&nbsp;''advantages''&nbsp;and disadvantages of using maskrom. Advantages: *Avoid brick *Simple,&nbsp;unified Disadvantages: *Need a maskrom key Support update from *USB OTG &nbsp; = U-boot = Rockchip mainline u-boot have support&nbsp;various upgrade ways, such as rockusb/fastboot/ums, each of them could be used. It could be entered by issuing "reboot ums/fastboot/rockusb" from linux, <del>or add the&nbsp;[https://github.com/rockchip-linux/u-boot/blob/release/board/rockchip/kylin_rk3036/kylin_rk3036.c#L34 board-spefic key-detection ]code</del><small>(We have add common key detect fucntion after 20171218)</small>. It's also possible to do network/usb-disk upgrade in u-boot, though you must be familiar with u-boot to use them. Belows are the&nbsp;''advantages''&nbsp;and disadvantages of using u-boot. Advantages: *Common Disadvantages: *Must be familiar with u-boot Support update from *USB OTG *USB DISK *Network &nbsp; = Linux = Both yocto and debian use deb as the package manager, so firmware upgrade could be done by deb&nbsp;installation. <small>(SDK build scripts&nbsp;can pack kernel/u-boot in deb)</small> Advantages: *standard *user-friendly Disadvantages: *&nbsp;could be brick &nbsp; = SD-Card Recovery = By changing [https://github.com/rockchip-linux/u-boot/blob/release/include/configs/rockchip-common.h#L16 boot order] in u-boot, it's possible to let u-boot load kernel and rootfs from sd-card&nbsp;first. We could use it to create a sd-card recovery image. When the board boot into sd-card, the init script run and install kernel/u-boot debian packages, which&nbsp;burn firmware to eMMC. Advantages: *Convenient Disadvantages: *Slow &nbsp; = Initramfs/Recovery = Advantages: *Powerful Disadvantages: *Slow &nbsp; a03da4d1087304732bcfa9c8eaa309a7b8e53d4c 1778 1777 2017-12-20T02:15:00Z Jacob 6 wikitext text/x-wiki = Overall = This guide provides information which will help you choose a&nbsp;''firmware upgrade''&nbsp;way. &nbsp; = MASKROM = MASKROM is&nbsp;the simplest way.&nbsp; Belows are the&nbsp;''advantages''&nbsp;and disadvantages of using maskrom. Advantages: *Avoid brick *Simple,&nbsp;unified Disadvantages: *Need a maskrom key Support update from *USB OTG &nbsp; = U-boot = Rockchip mainline u-boot have support&nbsp;various upgrade ways, such as rockusb/fastboot/ums, each of them could be used. It could be entered by issuing "reboot ums/fastboot/rockusb" from linux, <del>or add the&nbsp;[https://github.com/rockchip-linux/u-boot/blob/release/board/rockchip/kylin_rk3036/kylin_rk3036.c#L34 board-spefic key-detection ]code</del><small>(See arch/arm/mach-rockchip/boot_mode.c for common key detect fucntion after 20171218)</small>. It's also possible to do network/usb-disk upgrade in u-boot, though you must be familiar with u-boot to use them. Belows are the&nbsp;''advantages''&nbsp;and disadvantages of using u-boot. Advantages: *Common Disadvantages: *Must be familiar with u-boot Support update from *USB OTG *USB DISK *Network &nbsp; = Linux = Both yocto and debian use deb as the package manager, so firmware upgrade could be done by deb&nbsp;installation. <small>(SDK build scripts&nbsp;can pack kernel/u-boot in deb)</small> Advantages: *standard *user-friendly Disadvantages: *&nbsp;could be brick &nbsp; = SD-Card Recovery = By changing [https://github.com/rockchip-linux/u-boot/blob/release/include/configs/rockchip-common.h#L16 boot order] in u-boot, it's possible to let u-boot load kernel and rootfs from sd-card&nbsp;first. We could use it to create a sd-card recovery image. When the board boot into sd-card, the init script run and install kernel/u-boot debian packages, which&nbsp;burn firmware to eMMC. Advantages: *Convenient Disadvantages: *Slow &nbsp; = Initramfs/Recovery = Advantages: *Powerful Disadvantages: *Slow &nbsp; 45d77f1b37eb1a13b15db4bda4cc4ab55ed17414 1779 1778 2017-12-20T02:26:04Z Jacob 6 wikitext text/x-wiki = Overall = This guide provides information which will help you choose a&nbsp;''firmware upgrade''&nbsp;way. &nbsp; = MASKROM = MASKROM is&nbsp;the simplest way.&nbsp; Belows are the&nbsp;''advantages''&nbsp;and disadvantages of using maskrom. Advantages: *Avoid brick *Simple,&nbsp;unified Disadvantages: *Need a maskrom key Support update from *USB OTG &nbsp; = U-boot = Rockchip mainline u-boot have support&nbsp;various upgrade ways, such as rockusb/fastboot/ums, each of them could be used. It could be entered by issuing "reboot ums/fastboot/rockusb" from linux, <del>or add the&nbsp;[https://github.com/rockchip-linux/u-boot/blob/release/board/rockchip/kylin_rk3036/kylin_rk3036.c#L34 board-spefic key-detection ]code</del> <small>(U-boot have&nbsp;get common key detect support after 20171218, press recovery key and th board can enter rockusb mode)</small>. It's also possible to do network/usb-disk upgrade in u-boot, though you must be familiar with u-boot to use them. Belows are the&nbsp;''advantages''&nbsp;and disadvantages of using u-boot. Advantages: *Common Disadvantages: *Must be familiar with u-boot Support update from *USB OTG *USB DISK *Network &nbsp; = Linux = Both yocto and debian use deb as the package manager, so firmware upgrade could be done by deb&nbsp;installation. <small>(SDK build scripts&nbsp;can pack kernel/u-boot in deb)</small> Advantages: *standard *user-friendly Disadvantages: *&nbsp;could be brick &nbsp; = SD-Card Recovery = By changing [https://github.com/rockchip-linux/u-boot/blob/release/include/configs/rockchip-common.h#L16 boot order] in u-boot, it's possible to let u-boot load kernel and rootfs from sd-card&nbsp;first. We could use it to create a sd-card recovery image. When the board boot into sd-card, the init script run and install kernel/u-boot debian packages, which&nbsp;burn firmware to eMMC. Advantages: *Convenient Disadvantages: *Slow &nbsp; = Initramfs/Recovery = Advantages: *Powerful Disadvantages: *Slow &nbsp; 119ff5d8affaa8774677b9c0f90ade509c428eaa 1783 1779 2017-12-21T04:16:27Z Jacob 6 wikitext text/x-wiki = Overall = This guide provides information which will help you choose a&nbsp;''firmware upgrade''&nbsp;way. &nbsp; = MASKROM = MASKROM is&nbsp;the simplest way.&nbsp; Belows are the&nbsp;''advantages''&nbsp;and disadvantages of using maskrom. Advantages: *Avoid brick *Simple,&nbsp;unified Disadvantages: *Need a maskrom key Support update from *USB OTG &nbsp; = U-boot = Rockchip mainline u-boot have support&nbsp;various upgrade ways, such as rockusb/fastboot/ums, each of them could be used. It could be entered by issuing "reboot ums/fastboot/rockusb" from linux, <del>or add the&nbsp;[https://github.com/rockchip-linux/u-boot/blob/release/board/rockchip/kylin_rk3036/kylin_rk3036.c#L34 board-spefic key-detection ]code</del> <small>(Common key detect support is added after 20171218, now the board can enter rockusb mode by pressung recovery key)</small>. It's also possible to do network/usb-disk upgrade in u-boot, though you must be familiar with u-boot to use them. Belows are the&nbsp;''advantages''&nbsp;and disadvantages of using u-boot. Advantages: *Common Disadvantages: *Must be familiar with u-boot Support update from *USB OTG *USB DISK *Network &nbsp; = Linux = Both yocto and debian use deb as the package manager, so firmware upgrade could be done by deb&nbsp;installation. <small>(SDK build scripts&nbsp;can pack kernel/u-boot in deb)</small> Advantages: *standard *user-friendly Disadvantages: *&nbsp;could be brick &nbsp; = SD-Card Recovery = By changing [https://github.com/rockchip-linux/u-boot/blob/release/include/configs/rockchip-common.h#L16 boot order] in u-boot, it's possible to let u-boot load kernel and rootfs from sd-card&nbsp;first. We could use it to create a sd-card recovery image. When the board boot into sd-card, the init script run and install kernel/u-boot debian packages, which&nbsp;burn firmware to eMMC. Advantages: *Convenient Disadvantages: *Slow &nbsp; = Initramfs/Recovery = Advantages: *Powerful Disadvantages: *Slow &nbsp; 63ef5634e99ccaf1cab739d16ae7c7580658c4de 1784 1783 2017-12-21T04:17:14Z Jacob 6 wikitext text/x-wiki = Overall = This guide provides information which will help you choose a&nbsp;''firmware upgrade''&nbsp;way. &nbsp; = MASKROM = MASKROM is&nbsp;the simplest way.&nbsp; Belows are the&nbsp;''advantages''&nbsp;and disadvantages of using maskrom. Advantages: *Avoid brick *Simple,&nbsp;unified Disadvantages: *Need a maskrom key Support update from *USB OTG &nbsp; = U-boot = Rockchip mainline u-boot have support&nbsp;various upgrade ways, such as rockusb/fastboot/ums, each of them could be used. It could be entered by issuing "reboot ums/fastboot/rockusb" from linux, <del>or add the&nbsp;[https://github.com/rockchip-linux/u-boot/blob/release/board/rockchip/kylin_rk3036/kylin_rk3036.c#L34 board-spefic key-detection ]code</del> <small>(Common key detect support is added after 20171218, now the board can enter rockusb mode by pressing recovery key)</small>. It's also possible to do network/usb-disk upgrade in u-boot. Belows are the&nbsp;''advantages''&nbsp;and disadvantages of using u-boot. Advantages: *Common Disadvantages: *Must be familiar with u-boot Support update from *USB OTG *USB DISK *Network &nbsp; = Linux = Both yocto and debian use deb as the package manager, so firmware upgrade could be done by deb&nbsp;installation. <small>(SDK build scripts&nbsp;can pack kernel/u-boot in deb)</small> Advantages: *standard *user-friendly Disadvantages: *&nbsp;could be brick &nbsp; = SD-Card Recovery = By changing [https://github.com/rockchip-linux/u-boot/blob/release/include/configs/rockchip-common.h#L16 boot order] in u-boot, it's possible to let u-boot load kernel and rootfs from sd-card&nbsp;first. We could use it to create a sd-card recovery image. When the board boot into sd-card, the init script run and install kernel/u-boot debian packages, which&nbsp;burn firmware to eMMC. Advantages: *Convenient Disadvantages: *Slow &nbsp; = Initramfs/Recovery = Advantages: *Powerful Disadvantages: *Slow &nbsp; 80e6d656f2f9916f7c0a3ded6375ff979ba1aeba 1785 1784 2017-12-21T04:17:30Z Jacob 6 wikitext text/x-wiki = Overall = This guide provides information which will help you choose a&nbsp;''firmware upgrade''&nbsp;way. &nbsp; = MASKROM = MASKROM is&nbsp;the simplest way.&nbsp; Belows are the&nbsp;''advantages''&nbsp;and disadvantages of using maskrom. Advantages: *Avoid brick *Simple Disadvantages: *Need a maskrom key Support update from *USB OTG &nbsp; = U-boot = Rockchip mainline u-boot have support&nbsp;various upgrade ways, such as rockusb/fastboot/ums, each of them could be used. It could be entered by issuing "reboot ums/fastboot/rockusb" from linux, <del>or add the&nbsp;[https://github.com/rockchip-linux/u-boot/blob/release/board/rockchip/kylin_rk3036/kylin_rk3036.c#L34 board-spefic key-detection ]code</del> <small>(Common key detect support is added after 20171218, now the board can enter rockusb mode by pressing recovery key)</small>. It's also possible to do network/usb-disk upgrade in u-boot. Belows are the&nbsp;''advantages''&nbsp;and disadvantages of using u-boot. Advantages: *Common Disadvantages: *Must be familiar with u-boot Support update from *USB OTG *USB DISK *Network &nbsp; = Linux = Both yocto and debian use deb as the package manager, so firmware upgrade could be done by deb&nbsp;installation. <small>(SDK build scripts&nbsp;can pack kernel/u-boot in deb)</small> Advantages: *standard *user-friendly Disadvantages: *&nbsp;could be brick &nbsp; = SD-Card Recovery = By changing [https://github.com/rockchip-linux/u-boot/blob/release/include/configs/rockchip-common.h#L16 boot order] in u-boot, it's possible to let u-boot load kernel and rootfs from sd-card&nbsp;first. We could use it to create a sd-card recovery image. When the board boot into sd-card, the init script run and install kernel/u-boot debian packages, which&nbsp;burn firmware to eMMC. Advantages: *Convenient Disadvantages: *Slow &nbsp; = Initramfs/Recovery = Advantages: *Powerful Disadvantages: *Slow &nbsp; 0b068d4d4fa204cca42854661710e6cf3efef640 Rockusb 0 122 1782 1291 2017-12-21T04:15:00Z Jacob 6 wikitext text/x-wiki = Introduce = Rockusb is a vendor specific USB class from Rockchip, which is for firmware dowmload for Rockchip SoCs. = Get into Rockusb = There are two cases for&nbsp;Rockchip SoCs to get into Rockusb. *maskrom mode, no firmware found on chip, target run maskrom rockusb driver; *miniLoader rockusb mode, target run miniloader rockusb driver. *uboot rockusb mode. &nbsp; &nbsp; == Maskrom mode == If&nbsp;there is no bootable&nbsp;firmware found on board, the SoC will run&nbsp;Rockusb driver&nbsp;automatically, we call it Bootrom mode or Maskrom mode. If firmware is at somewhere of the board,&nbsp;in order to get into this mode, we can do something to prevent cpu read the firmware successful: *for SD-card, unplug the SD-card; *for eMMC, short the eMMC clock to GND; *for NAND, short the data line or clock line; *for SPI, short the spi signal to GND; *By "reboot bootrom" command in U-Boot and Kernel, WIP. *erase bootable region with non-bootable data&nbsp;in eMMC or other media devices In Maskrom mode, the DRAM is not available, so the download size is limit by the internal memory size. Use db command in rkdeveloptool, system will init the DRAM and run into usbplug(with rockusb driver) mode which have no size limitation in download size. &nbsp; == Miniloader Rockusb&nbsp;mode == The miniloader&nbsp;has Rockusb driver inside, system will run rockusb driver after power on if: - &nbsp;there is no next stage firmware found. erase bootable data in U-Boot: <pre style="margin-left: 40px;">mmc erase 0x4000 0x2000</pre> - &nbsp;run "reboot loader" command in kernel. NOTE: In this miniloader rockusb, the offset for rkdeveloptool&nbsp;is not the physical address, the physical offset 0~0x2000 is no able to write by wl command; '''The physical address of &nbsp;offset in&nbsp;''wl'' command is&nbsp;the offset plus 0x2000''', eg: "rkdeveloptool wl 0x2000 uboot.img" will write uboot.img to emmc 0x4000 address. Rockusb driver support in U-Boot is WIP, if done, we can also enter bootloader mode with U-Boot. == Usbplug mode == The usbplug is a firmware used for USB download with rkdeveloptool db command, with rockusb driver inside, the DRAM already initialized in this mode. = USB ID = Rockchip Vendor ID is 0x2207, and the product ID for different SoCs are different. Rockusb product ID: *RK3288: 0x320a *RK3328: 0x320c *RK3399: 0x330c Please use ''lsusb ''command in Linux PC to check if there is a Rockusb device connect. = Firmware download = [[Rkdeveloptool|rkdeveloptool]] is the tool to do the firmware upgrade for Rockchip SoCs which is using Rockusb protocol via USB. Please follow the steps for boot from eMMC for how to use the tool. 966355053991bb98ee5c4bdd576f43843ff4021b Rockchip-isp1 0 171 1786 1663 2017-12-22T01:00:36Z Jacob 6 wikitext text/x-wiki NOTE: Under Construction &nbsp; = Overview = The document below&nbsp;provide&nbsp;basical informations&nbsp;about the&nbsp;rockchip-isp1 driver driver and&nbsp;Image Signal Processing block on Rockchip SoC&nbsp;with&nbsp;examples and details. = Hardware = More detailed information could be found in TRM chapter "Image Signal Processing", "MIPI D-PHY"&nbsp;, but they are only available under&nbsp;NDA. == ISP Details == ISP comprises with: *MIPI serial camera interface *Image Signal Processing *Many Image Enhancement Blocks *Crop *Resize === Block diagram === The completed block diagram&nbsp;can not be pasted from&nbsp;datasheet&nbsp;to here, below&nbsp;diagram&nbsp;is an abstract version: [[File:Block.png|1200px|Blocks.png]] &nbsp; == MIPI Details == There are three D-PHY instances in rockchip SoC, their connection are shown as following figure: [[File:Phy.png|600px|Phy.png]] = Software = == Driver == rockchip-isp1 is a V4L2 based driver for Image Signal Processing block on Rockchip SoC. Compared to the earlier driver&nbsp;rk-isp10, it use&nbsp;Media Controller&nbsp;framework, which it's different from plain v4L2. While the plain v4L2 had a view of the device as a plain DMA based image drabber which connects the input data to the host memory, the Media Controller takes into consideration the fact that a typical video device might consist of multiple sub-devices. === Media Controller Basics === Please read below link carefully,&nbsp;especially if you don't have use it before. [https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.html https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.html] === Block diagram === ==== File view ==== [[File:Code.png|1200px|Code.png]] ==== V4l2 view ==== [[File:Rockchip-isp1-v4l2.png|800px|Rockchip-isp1-v4l2.png]] {| border="1" class="table_style" style="width: 768px;" |- ! style="width: 165px;" | Name ! style="width: 131px;" | Type ! style="width: 450px;" | Description |- | style="width: 165px;" | rkisp1_mainpath | style="width: 131px;" | v4l2_vdev, capture | style="width: 450px;" | Format: YUV, RAW Bayer; Max resolution: 4416*3312;&nbsp;Support: Crop |- | style="width: 165px;" | rkisp1_selfpath | style="width: 131px;" | v4l2_vdev, capture | style="width: 450px;" | Format: YUV, RGB; Max resolution: 1920*1080; Support: Crop |- | style="width: 165px;" | rkisp1-isp-subdev | style="width: 131px;" | v4l2_subdev | style="width: 450px;" | Internal isp blocks; Support: source/sink pad crop. The format on sink pad&nbsp;should be equal to sensor input format, the size should be equal/less than&nbsp;sensor input size. The format on source pad&nbsp;should be equal to vdev output format if output format is raw bayer, otherwise it should be&nbsp; YUYV2X8. The size should be equal/less than&nbsp;sink pad size. |- | style="width: 165px;" | rockchip-sy-mipi-dphy | style="width: 131px;" | v4l2_subdev | style="width: 450px;" | MIPI-DPHY&nbsp;Configure |- | style="width: 165px;" | rkisp1-statistics | style="width: 131px;" | v4l2_vdev, capture | style="width: 450px;" | Provide Image color Statistics information. |- | style="width: 165px;" | rkisp1-input-params | style="width: 131px;" | v4l2_vdev, output | style="width: 450px;" | Accept params for AWB, BLC...... Image enhancement blcoks |} === Sensor Driver Requirement === The sensor driver should implement controls in the following table.&nbsp; {| border="1" class="table_style" |- ! Controls ! Description ! R/W ! Needed by |- | V4L2_CID_VBLANK | <span style="font-size:smaller;">Vertical blanking. The idle period after every frame during which no image data is produced. The unit of vertical blanking is a line. Every line has length of the image width plus horizontal blanking at the pixel rate defined by&nbsp;<code>V4L2_CID_PIXEL_RATE</code>&nbsp;control in the same sub-device.</span> | R | Ae |- | V4L2_CID_HBLANK | <span style="font-size:smaller;">Horizontal blanking. The idle period after every line of image data during which no image data is produced. The unit of horizontal blanking is pixels.</span> | R | Ae |- | V4L2_CID_EXPOSURE | <span style="font-size:smaller;">Determines the exposure time of the camera sensor. The exposure time is limited by the frame interval. Drivers should interpret the values as 100 µs units, where the value 1 stands for 1/10000th of a second, 10000 for 1 second and 100000 for 10 seconds.</span> | R/W | Ae |- | V4L2_CID_ANALOGUE_GAIN | <span style="font-size:smaller;">Analogue gain is gain affecting all colour components in the pixel matrix. The gain operation is performed in the analogue domain before A/D conversion.</span> | R/W | Ae |- | V4L2_CID_DIGITAL_GAIN | <span style="font-size:smaller;">Digital gain is the value by which all colour components are multiplied by. Typically the digital gain applied is the control value divided by e.g. 0x100, meaning that to get no digital gain the control value needs to be 0x100. The no-gain configuration is also typically the default.</span> | R/W | Ae |- | V4L2_CID_PIXEL_RATE | <span style="font-size:smaller;">Pixel rate in the source pads of the subdev. This control is read-only and its unit is pixels / second.</span> | R | Ae |- | V4L2_CID_LINK_FREQ | <span style="font-size:smaller;">Data bus frequency. Together with the media bus pixel code, bus type (clock cycles per sample), the data bus frequency defines the pixel rate (<code>V4L2_CID_PIXEL_RATE</code>) in the pixel array (or possibly elsewhere, if the device is not an image sensor). The frame rate can be calculated from the pixel clock, image width and height and horizontal and vertical blanking. While the pixel rate control may be defined elsewhere than in the subdev containing the pixel array, the frame rate cannot be obtained from that information. This is because only on the pixel array it can be assumed that the vertical and horizontal blanking information is exact: no other blanking is allowed in the pixel array. The selection of frame rate is performed by selecting the desired horizontal and vertical blanking. The unit of this control is Hz.</span> | R | mipi-dphy |} === Devicetree Bindings(tmp) === [https://github.com/wzyy2/linux/blob/rkisp1/Documentation/devicetree/bindings/media/rockchip-isp1.txt https://github.com/wzyy2/linux/blob/rkisp1/Documentation/devicetree/bindings/media/rockchip-isp1.txt] [https://github.com/wzyy2/linux/blob/rkisp1/Documentation/devicetree/bindings/media/rockchip-mipi-dphy.txt https://github.com/wzyy2/linux/blob/rkisp1/Documentation/devicetree/bindings/media/rockchip-mipi-dphy.txt] == Linux == === User applications&nbsp; === The applcation for&nbsp;plain v4L2 capture device still can be used(like gstreamer v4l2src plugins, v4l2ctl), but the media&nbsp;controller must be setup in a&nbsp;proper state before starting capture.<br/> The applications for Video Capture with rockchip-isp1 driver&nbsp;should do things like the following commands: <pre>media-ctl -l '"rockchip-sy-mipi-dphy":1->"rkisp1-isp-subdev":0[1]' media-ctl -l '"rkisp1-input-params":0->"rkisp1-isp-subdev":1[1]' media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_selfpath":0[1]' media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_mainpath":0[1]' media-ctl -l '"rkisp1-isp-subdev":3->"rkisp1-statistics":0[1]' # Media graph have been initializated when kernel driver probing, so above commands don't have to be called, though please note that they can be changed during runtime # Set pad formats ## rkisp1 source pad : format\selection media-ctl -set-v4l2 '"rkisp1-isp-subdev":2[fmt:YUYV2X8/800x600]' media-ctl -set-v4l2 '"rkisp1-isp-subdev":2[fmt:YUYV2X8/800x600]' --set-v4l2 '"rkisp1-isp-subdev":0[crop:(0,0)/800x600]' ## rkisp1 sink pad : format\selection media-ctl --set-v4l2 '"rkisp1-isp-subdev":0[fmt:SRGGB10/800*600]' media-ctl --set-v4l2 '"rkisp1-isp-subdev":0[fmt:SBGGR10/800x600]' --set-v4l2 '"rkisp1-isp-subdev":0[crop:(0,0)/800x600]' ## sensor source pad format media-ctl --set-v4l2 '"ov2685 7-0010":0[fmt:SRGGB10/800*600]' # Set link(Assume there are two sensors in one mipi-phy) ## Enable sensor1 media-ctl -l '"ov2685 7-0010":0->"rockchip-sy-mipi-dphy":0[1]' ## Disable sensor2 media-ctl -l '"ov5695 7-0036":0->"rockchip-sy-mipi-dphy":0[0]' # start capture v4l2-ctl xxxx or gst-launch rkcamsrc xxxx </pre> === Gstreamer === We have writen a gstreamer plugin, [https://github.com/rockchip-linux/gstreamer-rockchip-extra rkcamsrc], which is simply modified from gstreamer v4l2src plugin. [[File:Rkcamsrc.png|500px|RTENOTITLE]] Please refer to readme in github for usage. == Android == === <del>Camera Hal3</del> === [https://source.android.com/devices/camera/camera3?hl=zh-cn https://source.android.com/devices/camera/camera3] = Reproduce = The driver currently can run&nbsp;on ASUS Tinker Board and Firefly-RK3288-Reload + Rockchip&nbsp;Debian/Yocto SDK. == Source Code == === Kernel === #4.15 + [https://patchwork.linuxtv.org/project/linux-media/list/?submitter=7231 FORMLIST Patches] #[https://github.com/rockchip-linux/kernel/tree/isp-early-access Rockchip 4.4 BSP] === Sensor Driver === #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/imx219.c IMX219] #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/ov5647.c OV5647] #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/tc35874x.c TC35874X] === Device Tree === #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/arch/arm/boot/dts/rk3288-miniarm.dts Tinker Board] #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/arch/arm/boot/dts/rk3288-firefly.dtsi Firefly-rk3288-Reload] == Test Command == <pre>cat /sys/class/video4linux/video*/name # get self_path videox and main_path videox+1 gst-launch-1.0 rkcamsrc device=/dev/videox+1 io-mode=4 disable-3A=true&nbsp;! videoconvert&nbsp;! video/x-raw,format=NV12,width=640,height=480&nbsp;! kmssink</pre> = Others = == Topology == <pre>Media device information ------------------------ driver rkisp1 model rkisp1 serial bus info hw revision 0x0 driver version 0.0.0 Device topology - entity 1: rkisp1-isp-subdev (4 pads, 5 links) type V4L2 subdev subtype Unknown flags 0 device node name /dev/v4l-subdev0 pad0: Sink [fmt:SBGGR10_1X10/800x600 field:none crop.bounds:(0,0)/800x600 crop:(0,0)/800x600] <- "rockchip-sy-mipi-dphy":1 [ENABLED] pad1: Sink <- "rkisp1-input-params":0 [ENABLED] pad2: Source [fmt:SBGGR10_1X10/800x600 field:none crop.bounds:(0,0)/800x600 crop:(0,0)/800x600] -> "rkisp1_selfpath":0 [ENABLED] -> "rkisp1_mainpath":0 [ENABLED] pad3: Source -> "rkisp1-statistics":0 [ENABLED] - entity 2: rkisp1_selfpath (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video0 pad0: Sink <- "rkisp1-isp-subdev":2 [ENABLED] - entity 3: rkisp1_mainpath (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video1 pad0: Sink <- "rkisp1-isp-subdev":2 [ENABLED] - entity 4: rkisp1-statistics (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video2 pad0: Sink <- "rkisp1-isp-subdev":3 [ENABLED] - entity 5: rkisp1-input-params (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video3 pad0: Source -> "rkisp1-isp-subdev":1 [ENABLED] - entity 6: rockchip-sy-mipi-dphy (2 pads, 2 links) type V4L2 subdev subtype Unknown flags 0 device node name /dev/v4l-subdev1 pad0: Sink [fmt:SRGGB10_1X10/3280x2464 field:none] <- "imx219 2-0010":0 [ENABLED] pad1: Source [fmt:SRGGB10_1X10/3280x2464 field:none] -> "rkisp1-isp-subdev":0 [ENABLED] - entity 7: imx219 2-0010 (1 pad, 1 link) type V4L2 subdev subtype Sensor flags 0 device node name /dev/v4l-subdev2 pad0: Source [fmt:SRGGB10_1X10/3280x2464 field:none] -> "rockchip-sy-mipi-dphy":0 [ENABLED]</pre> cae9d569870478ab044ad8d4d0ca3db4db2cb105 1787 1786 2017-12-22T01:02:08Z Jacob 6 wikitext text/x-wiki NOTE: Under Construction &nbsp; = Overview = The document below&nbsp;provide&nbsp;basical informations&nbsp;about the&nbsp;rockchip-isp1 driver driver and&nbsp;Image Signal Processing block on Rockchip SoC&nbsp;with&nbsp;examples and details. = Hardware = More detailed information could be found in TRM chapter "Image Signal Processing", "MIPI D-PHY"&nbsp;, but they are only available under&nbsp;NDA. == ISP Details == ISP comprises with: *MIPI serial camera interface *Image Signal Processing *Many Image Enhancement Blocks *Crop *Resize === Block diagram === The completed block diagram&nbsp;can not be pasted from&nbsp;datasheet&nbsp;to here, below&nbsp;diagram&nbsp;is an abstract version: [[File:Block.png|1200px|Blocks.png]] &nbsp; == MIPI Details == There are three D-PHY instances in rockchip SoC, their connection are shown as following figure: [[File:Phy.png|600px|Phy.png]] = Software = == Driver == rockchip-isp1 is a V4L2 based driver for Image Signal Processing block on Rockchip SoC. Compared to the earlier driver&nbsp;rk-isp10, it use&nbsp;Media Controller&nbsp;framework, which it's different from plain v4L2. While the plain v4L2 had a view of the device as a plain DMA based image drabber which connects the input data to the host memory, the Media Controller takes into consideration the fact that a typical video device might consist of multiple sub-devices. === Media Controller Basics === Please read below link carefully,&nbsp;especially if you don't have use it before. [https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.html https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.html] === Block diagram === ==== File view ==== [[File:Code.png|1200px|Code.png]] ==== V4l2 view ==== [[File:Rockchip-isp1-v4l2.png|800px|Rockchip-isp1-v4l2.png]] {| border="1" class="table_style" style="width: 768px;" |- ! style="width: 165px;" | Name ! style="width: 131px;" | Type ! style="width: 450px;" | Description |- | style="width: 165px;" | rkisp1_mainpath | style="width: 131px;" | v4l2_vdev, capture | style="width: 450px;" | Format: YUV, RAW Bayer; Max resolution: 4416*3312;&nbsp;Support: Crop |- | style="width: 165px;" | rkisp1_selfpath | style="width: 131px;" | v4l2_vdev, capture | style="width: 450px;" | Format: YUV, RGB; Max resolution: 1920*1080; Support: Crop |- | style="width: 165px;" | rkisp1-isp-subdev | style="width: 131px;" | v4l2_subdev | style="width: 450px;" | Internal isp blocks; Support: source/sink pad crop. The format on sink pad&nbsp;should be equal to sensor input format, the size should be equal/less than&nbsp;sensor input size. The format on source pad&nbsp;should be equal to vdev output format if output format is raw bayer, otherwise it should be&nbsp; YUYV2X8. The size should be equal/less than&nbsp;sink pad size. |- | style="width: 165px;" | rockchip-sy-mipi-dphy | style="width: 131px;" | v4l2_subdev | style="width: 450px;" | MIPI-DPHY&nbsp;Configure |- | style="width: 165px;" | rkisp1-statistics | style="width: 131px;" | v4l2_vdev, capture | style="width: 450px;" | Provide Image color Statistics information. |- | style="width: 165px;" | rkisp1-input-params | style="width: 131px;" | v4l2_vdev, output | style="width: 450px;" | Accept params for AWB, BLC...... Image enhancement blcoks |} === Sensor Driver Requirement === The sensor driver should implement controls in the following table.&nbsp; {| border="1" class="table_style" |- ! Controls ! Description ! R/W ! Needed by |- | V4L2_CID_VBLANK | <span style="font-size:smaller;">Vertical blanking. The idle period after every frame during which no image data is produced. The unit of vertical blanking is a line. Every line has length of the image width plus horizontal blanking at the pixel rate defined by&nbsp;<code>V4L2_CID_PIXEL_RATE</code>&nbsp;control in the same sub-device.</span> | R | Ae |- | V4L2_CID_HBLANK | <span style="font-size:smaller;">Horizontal blanking. The idle period after every line of image data during which no image data is produced. The unit of horizontal blanking is pixels.</span> | R | Ae |- | V4L2_CID_EXPOSURE | <span style="font-size:smaller;">Determines the exposure time of the camera sensor. The exposure time is limited by the frame interval. Drivers should interpret the values as 100 µs units, where the value 1 stands for 1/10000th of a second, 10000 for 1 second and 100000 for 10 seconds.</span> | R/W | Ae |- | V4L2_CID_ANALOGUE_GAIN | <span style="font-size:smaller;">Analogue gain is gain affecting all colour components in the pixel matrix. The gain operation is performed in the analogue domain before A/D conversion.</span> | R/W | Ae |- | V4L2_CID_DIGITAL_GAIN | <span style="font-size:smaller;">Digital gain is the value by which all colour components are multiplied by. Typically the digital gain applied is the control value divided by e.g. 0x100, meaning that to get no digital gain the control value needs to be 0x100. The no-gain configuration is also typically the default.</span> | R/W | Ae |- | V4L2_CID_PIXEL_RATE | <span style="font-size:smaller;">Pixel rate in the source pads of the subdev. This control is read-only and its unit is pixels / second.</span> | R | Ae |- | V4L2_CID_LINK_FREQ | <span style="font-size:smaller;">Data bus frequency. Together with the media bus pixel code, bus type (clock cycles per sample), the data bus frequency defines the pixel rate (<code>V4L2_CID_PIXEL_RATE</code>) in the pixel array (or possibly elsewhere, if the device is not an image sensor). The frame rate can be calculated from the pixel clock, image width and height and horizontal and vertical blanking. While the pixel rate control may be defined elsewhere than in the subdev containing the pixel array, the frame rate cannot be obtained from that information. This is because only on the pixel array it can be assumed that the vertical and horizontal blanking information is exact: no other blanking is allowed in the pixel array. The selection of frame rate is performed by selecting the desired horizontal and vertical blanking. The unit of this control is Hz.</span> | R | mipi-dphy |} === Devicetree Bindings(tmp) === [https://github.com/wzyy2/linux/blob/rkisp1/Documentation/devicetree/bindings/media/rockchip-isp1.txt https://github.com/wzyy2/linux/blob/rkisp1/Documentation/devicetree/bindings/media/rockchip-isp1.txt] [https://github.com/wzyy2/linux/blob/rkisp1/Documentation/devicetree/bindings/media/rockchip-mipi-dphy.txt https://github.com/wzyy2/linux/blob/rkisp1/Documentation/devicetree/bindings/media/rockchip-mipi-dphy.txt] == Linux == === User applications&nbsp; === The applcation for&nbsp;plain v4L2 capture device still can be used(like gstreamer v4l2src plugins, v4l2ctl), but the media&nbsp;controller must be setup in a&nbsp;proper state before starting capture.<br/> The applications for Video Capture with rockchip-isp1 driver&nbsp;should do things like the following commands: <pre># Media graph have been initializated when kernel driver probing, so below commands don't have to be called, though # please note that they can be changed during runtime. media-ctl -l '"rockchip-sy-mipi-dphy":1->"rkisp1-isp-subdev":0[1]' media-ctl -l '"rkisp1-input-params":0->"rkisp1-isp-subdev":1[1]' media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_selfpath":0[1]' media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_mainpath":0[1]' media-ctl -l '"rkisp1-isp-subdev":3->"rkisp1-statistics":0[1]' # Set pad formats ## rkisp1 source pad&nbsp;: format\selection media-ctl -set-v4l2 '"rkisp1-isp-subdev":2[fmt:YUYV2X8/800x600]' media-ctl -set-v4l2 '"rkisp1-isp-subdev":2[fmt:YUYV2X8/800x600]' --set-v4l2 '"rkisp1-isp-subdev":0[crop:(0,0)/800x600]' ## rkisp1 sink pad&nbsp;: format\selection media-ctl --set-v4l2 '"rkisp1-isp-subdev":0[fmt:SRGGB10/800*600]' media-ctl --set-v4l2 '"rkisp1-isp-subdev":0[fmt:SBGGR10/800x600]' --set-v4l2 '"rkisp1-isp-subdev":0[crop:(0,0)/800x600]' ## sensor source pad format media-ctl --set-v4l2 '"ov2685 7-0010":0[fmt:SRGGB10/800*600]' # Set link(Assume there are two sensors in one mipi-phy) ## Enable sensor1 media-ctl -l '"ov2685 7-0010":0->"rockchip-sy-mipi-dphy":0[1]' ## Disable sensor2 media-ctl -l '"ov5695 7-0036":0->"rockchip-sy-mipi-dphy":0[0]' # start capture v4l2-ctl xxxx or gst-launch rkcamsrc xxxx </pre> === Gstreamer === We have writen a gstreamer plugin, [https://github.com/rockchip-linux/gstreamer-rockchip-extra rkcamsrc], which is simply modified from gstreamer v4l2src plugin. [[File:Rkcamsrc.png|500px|RTENOTITLE]] Please refer to readme in github for usage. == Android == === <del>Camera Hal3</del> === [https://source.android.com/devices/camera/camera3?hl=zh-cn https://source.android.com/devices/camera/camera3] = Reproduce = The driver currently can run&nbsp;on ASUS Tinker Board and Firefly-RK3288-Reload + Rockchip&nbsp;Debian/Yocto SDK. == Source Code == === Kernel === #4.15 + [https://patchwork.linuxtv.org/project/linux-media/list/?submitter=7231 FORMLIST Patches] #[https://github.com/rockchip-linux/kernel/tree/isp-early-access Rockchip 4.4 BSP] === Sensor Driver === #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/imx219.c IMX219] #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/ov5647.c OV5647] #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/tc35874x.c TC35874X] === Device Tree === #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/arch/arm/boot/dts/rk3288-miniarm.dts Tinker Board] #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/arch/arm/boot/dts/rk3288-firefly.dtsi Firefly-rk3288-Reload] == Test Command == <pre>cat /sys/class/video4linux/video*/name # get self_path videox and main_path videox+1 gst-launch-1.0 rkcamsrc device=/dev/videox+1 io-mode=4 disable-3A=true&nbsp;! videoconvert&nbsp;! video/x-raw,format=NV12,width=640,height=480&nbsp;! kmssink</pre> = Others = == Topology == <pre>Media device information ------------------------ driver rkisp1 model rkisp1 serial bus info hw revision 0x0 driver version 0.0.0 Device topology - entity 1: rkisp1-isp-subdev (4 pads, 5 links) type V4L2 subdev subtype Unknown flags 0 device node name /dev/v4l-subdev0 pad0: Sink [fmt:SBGGR10_1X10/800x600 field:none crop.bounds:(0,0)/800x600 crop:(0,0)/800x600] <- "rockchip-sy-mipi-dphy":1 [ENABLED] pad1: Sink <- "rkisp1-input-params":0 [ENABLED] pad2: Source [fmt:SBGGR10_1X10/800x600 field:none crop.bounds:(0,0)/800x600 crop:(0,0)/800x600] -> "rkisp1_selfpath":0 [ENABLED] -> "rkisp1_mainpath":0 [ENABLED] pad3: Source -> "rkisp1-statistics":0 [ENABLED] - entity 2: rkisp1_selfpath (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video0 pad0: Sink <- "rkisp1-isp-subdev":2 [ENABLED] - entity 3: rkisp1_mainpath (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video1 pad0: Sink <- "rkisp1-isp-subdev":2 [ENABLED] - entity 4: rkisp1-statistics (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video2 pad0: Sink <- "rkisp1-isp-subdev":3 [ENABLED] - entity 5: rkisp1-input-params (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video3 pad0: Source -> "rkisp1-isp-subdev":1 [ENABLED] - entity 6: rockchip-sy-mipi-dphy (2 pads, 2 links) type V4L2 subdev subtype Unknown flags 0 device node name /dev/v4l-subdev1 pad0: Sink [fmt:SRGGB10_1X10/3280x2464 field:none] <- "imx219 2-0010":0 [ENABLED] pad1: Source [fmt:SRGGB10_1X10/3280x2464 field:none] -> "rkisp1-isp-subdev":0 [ENABLED] - entity 7: imx219 2-0010 (1 pad, 1 link) type V4L2 subdev subtype Sensor flags 0 device node name /dev/v4l-subdev2 pad0: Source [fmt:SRGGB10_1X10/3280x2464 field:none] -> "rockchip-sy-mipi-dphy":0 [ENABLED]</pre> aafe32681b18166d39037390d704e0f20f6882a0 1788 1787 2017-12-22T01:02:26Z Jacob 6 wikitext text/x-wiki &nbsp; = Overview = The document below&nbsp;provide&nbsp;basical informations&nbsp;about the&nbsp;rockchip-isp1 driver driver and&nbsp;Image Signal Processing block on Rockchip SoC&nbsp;with&nbsp;examples and details. = Hardware = More detailed information could be found in TRM chapter "Image Signal Processing", "MIPI D-PHY"&nbsp;, but they are only available under&nbsp;NDA. == ISP Details == ISP comprises with: *MIPI serial camera interface *Image Signal Processing *Many Image Enhancement Blocks *Crop *Resize === Block diagram === The completed block diagram&nbsp;can not be pasted from&nbsp;datasheet&nbsp;to here, below&nbsp;diagram&nbsp;is an abstract version: [[File:Block.png|1200px|Blocks.png]] &nbsp; == MIPI Details == There are three D-PHY instances in rockchip SoC, their connection are shown as following figure: [[File:Phy.png|600px|Phy.png]] = Software = == Driver == rockchip-isp1 is a V4L2 based driver for Image Signal Processing block on Rockchip SoC. Compared to the earlier driver&nbsp;rk-isp10, it use&nbsp;Media Controller&nbsp;framework, which it's different from plain v4L2. While the plain v4L2 had a view of the device as a plain DMA based image drabber which connects the input data to the host memory, the Media Controller takes into consideration the fact that a typical video device might consist of multiple sub-devices. === Media Controller Basics === Please read below link carefully,&nbsp;especially if you don't have use it before. [https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.html https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.html] === Block diagram === ==== File view ==== [[File:Code.png|1200px|Code.png]] ==== V4l2 view ==== [[File:Rockchip-isp1-v4l2.png|800px|Rockchip-isp1-v4l2.png]] {| border="1" class="table_style" style="width: 768px;" |- ! style="width: 165px;" | Name ! style="width: 131px;" | Type ! style="width: 450px;" | Description |- | style="width: 165px;" | rkisp1_mainpath | style="width: 131px;" | v4l2_vdev, capture | style="width: 450px;" | Format: YUV, RAW Bayer; Max resolution: 4416*3312;&nbsp;Support: Crop |- | style="width: 165px;" | rkisp1_selfpath | style="width: 131px;" | v4l2_vdev, capture | style="width: 450px;" | Format: YUV, RGB; Max resolution: 1920*1080; Support: Crop |- | style="width: 165px;" | rkisp1-isp-subdev | style="width: 131px;" | v4l2_subdev | style="width: 450px;" | Internal isp blocks; Support: source/sink pad crop. The format on sink pad&nbsp;should be equal to sensor input format, the size should be equal/less than&nbsp;sensor input size. The format on source pad&nbsp;should be equal to vdev output format if output format is raw bayer, otherwise it should be&nbsp; YUYV2X8. The size should be equal/less than&nbsp;sink pad size. |- | style="width: 165px;" | rockchip-sy-mipi-dphy | style="width: 131px;" | v4l2_subdev | style="width: 450px;" | MIPI-DPHY&nbsp;Configure |- | style="width: 165px;" | rkisp1-statistics | style="width: 131px;" | v4l2_vdev, capture | style="width: 450px;" | Provide Image color Statistics information. |- | style="width: 165px;" | rkisp1-input-params | style="width: 131px;" | v4l2_vdev, output | style="width: 450px;" | Accept params for AWB, BLC...... Image enhancement blcoks |} === Sensor Driver Requirement === The sensor driver should implement controls in the following table.&nbsp; {| border="1" class="table_style" |- ! Controls ! Description ! R/W ! Needed by |- | V4L2_CID_VBLANK | <span style="font-size:smaller;">Vertical blanking. The idle period after every frame during which no image data is produced. The unit of vertical blanking is a line. Every line has length of the image width plus horizontal blanking at the pixel rate defined by&nbsp;<code>V4L2_CID_PIXEL_RATE</code>&nbsp;control in the same sub-device.</span> | R | Ae |- | V4L2_CID_HBLANK | <span style="font-size:smaller;">Horizontal blanking. The idle period after every line of image data during which no image data is produced. The unit of horizontal blanking is pixels.</span> | R | Ae |- | V4L2_CID_EXPOSURE | <span style="font-size:smaller;">Determines the exposure time of the camera sensor. The exposure time is limited by the frame interval. Drivers should interpret the values as 100 µs units, where the value 1 stands for 1/10000th of a second, 10000 for 1 second and 100000 for 10 seconds.</span> | R/W | Ae |- | V4L2_CID_ANALOGUE_GAIN | <span style="font-size:smaller;">Analogue gain is gain affecting all colour components in the pixel matrix. The gain operation is performed in the analogue domain before A/D conversion.</span> | R/W | Ae |- | V4L2_CID_DIGITAL_GAIN | <span style="font-size:smaller;">Digital gain is the value by which all colour components are multiplied by. Typically the digital gain applied is the control value divided by e.g. 0x100, meaning that to get no digital gain the control value needs to be 0x100. The no-gain configuration is also typically the default.</span> | R/W | Ae |- | V4L2_CID_PIXEL_RATE | <span style="font-size:smaller;">Pixel rate in the source pads of the subdev. This control is read-only and its unit is pixels / second.</span> | R | Ae |- | V4L2_CID_LINK_FREQ | <span style="font-size:smaller;">Data bus frequency. Together with the media bus pixel code, bus type (clock cycles per sample), the data bus frequency defines the pixel rate (<code>V4L2_CID_PIXEL_RATE</code>) in the pixel array (or possibly elsewhere, if the device is not an image sensor). The frame rate can be calculated from the pixel clock, image width and height and horizontal and vertical blanking. While the pixel rate control may be defined elsewhere than in the subdev containing the pixel array, the frame rate cannot be obtained from that information. This is because only on the pixel array it can be assumed that the vertical and horizontal blanking information is exact: no other blanking is allowed in the pixel array. The selection of frame rate is performed by selecting the desired horizontal and vertical blanking. The unit of this control is Hz.</span> | R | mipi-dphy |} === Devicetree Bindings(tmp) === [https://github.com/wzyy2/linux/blob/rkisp1/Documentation/devicetree/bindings/media/rockchip-isp1.txt https://github.com/wzyy2/linux/blob/rkisp1/Documentation/devicetree/bindings/media/rockchip-isp1.txt] [https://github.com/wzyy2/linux/blob/rkisp1/Documentation/devicetree/bindings/media/rockchip-mipi-dphy.txt https://github.com/wzyy2/linux/blob/rkisp1/Documentation/devicetree/bindings/media/rockchip-mipi-dphy.txt] == Linux == === User applications&nbsp; === The applcation for&nbsp;plain v4L2 capture device still can be used(like gstreamer v4l2src plugins, v4l2ctl), but the media&nbsp;controller must be setup in a&nbsp;proper state before starting capture.<br/> The applications for Video Capture with rockchip-isp1 driver&nbsp;should do things like the following commands: <pre># Media graph have been initializated when kernel driver probing, so below commands don't have to be called, though # please note that they can be changed during runtime. media-ctl -l '"rockchip-sy-mipi-dphy":1->"rkisp1-isp-subdev":0[1]' media-ctl -l '"rkisp1-input-params":0->"rkisp1-isp-subdev":1[1]' media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_selfpath":0[1]' media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_mainpath":0[1]' media-ctl -l '"rkisp1-isp-subdev":3->"rkisp1-statistics":0[1]' # Set pad formats ## rkisp1 source pad&nbsp;: format\selection media-ctl -set-v4l2 '"rkisp1-isp-subdev":2[fmt:YUYV2X8/800x600]' media-ctl -set-v4l2 '"rkisp1-isp-subdev":2[fmt:YUYV2X8/800x600]' --set-v4l2 '"rkisp1-isp-subdev":0[crop:(0,0)/800x600]' ## rkisp1 sink pad&nbsp;: format\selection media-ctl --set-v4l2 '"rkisp1-isp-subdev":0[fmt:SRGGB10/800*600]' media-ctl --set-v4l2 '"rkisp1-isp-subdev":0[fmt:SBGGR10/800x600]' --set-v4l2 '"rkisp1-isp-subdev":0[crop:(0,0)/800x600]' ## sensor source pad format media-ctl --set-v4l2 '"ov2685 7-0010":0[fmt:SRGGB10/800*600]' # Set link(Assume there are two sensors in one mipi-phy) ## Enable sensor1 media-ctl -l '"ov2685 7-0010":0->"rockchip-sy-mipi-dphy":0[1]' ## Disable sensor2 media-ctl -l '"ov5695 7-0036":0->"rockchip-sy-mipi-dphy":0[0]' # start capture v4l2-ctl xxxx or gst-launch rkcamsrc xxxx </pre> === Gstreamer === We have writen a gstreamer plugin, [https://github.com/rockchip-linux/gstreamer-rockchip-extra rkcamsrc], which is simply modified from gstreamer v4l2src plugin. [[File:Rkcamsrc.png|500px|RTENOTITLE]] Please refer to readme in github for usage. == Android == === <del>Camera Hal3</del> === [https://source.android.com/devices/camera/camera3?hl=zh-cn https://source.android.com/devices/camera/camera3] = Reproduce = The driver currently can run&nbsp;on ASUS Tinker Board and Firefly-RK3288-Reload + Rockchip&nbsp;Debian/Yocto SDK. == Source Code == === Kernel === #4.15 + [https://patchwork.linuxtv.org/project/linux-media/list/?submitter=7231 FORMLIST Patches] #[https://github.com/rockchip-linux/kernel/tree/isp-early-access Rockchip 4.4 BSP] === Sensor Driver === #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/imx219.c IMX219] #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/ov5647.c OV5647] #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/tc35874x.c TC35874X] === Device Tree === #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/arch/arm/boot/dts/rk3288-miniarm.dts Tinker Board] #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/arch/arm/boot/dts/rk3288-firefly.dtsi Firefly-rk3288-Reload] == Test Command == <pre>cat /sys/class/video4linux/video*/name # get self_path videox and main_path videox+1 gst-launch-1.0 rkcamsrc device=/dev/videox+1 io-mode=4 disable-3A=true&nbsp;! videoconvert&nbsp;! video/x-raw,format=NV12,width=640,height=480&nbsp;! kmssink</pre> = Others = == Topology == <pre>Media device information ------------------------ driver rkisp1 model rkisp1 serial bus info hw revision 0x0 driver version 0.0.0 Device topology - entity 1: rkisp1-isp-subdev (4 pads, 5 links) type V4L2 subdev subtype Unknown flags 0 device node name /dev/v4l-subdev0 pad0: Sink [fmt:SBGGR10_1X10/800x600 field:none crop.bounds:(0,0)/800x600 crop:(0,0)/800x600] <- "rockchip-sy-mipi-dphy":1 [ENABLED] pad1: Sink <- "rkisp1-input-params":0 [ENABLED] pad2: Source [fmt:SBGGR10_1X10/800x600 field:none crop.bounds:(0,0)/800x600 crop:(0,0)/800x600] -> "rkisp1_selfpath":0 [ENABLED] -> "rkisp1_mainpath":0 [ENABLED] pad3: Source -> "rkisp1-statistics":0 [ENABLED] - entity 2: rkisp1_selfpath (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video0 pad0: Sink <- "rkisp1-isp-subdev":2 [ENABLED] - entity 3: rkisp1_mainpath (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video1 pad0: Sink <- "rkisp1-isp-subdev":2 [ENABLED] - entity 4: rkisp1-statistics (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video2 pad0: Sink <- "rkisp1-isp-subdev":3 [ENABLED] - entity 5: rkisp1-input-params (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video3 pad0: Source -> "rkisp1-isp-subdev":1 [ENABLED] - entity 6: rockchip-sy-mipi-dphy (2 pads, 2 links) type V4L2 subdev subtype Unknown flags 0 device node name /dev/v4l-subdev1 pad0: Sink [fmt:SRGGB10_1X10/3280x2464 field:none] <- "imx219 2-0010":0 [ENABLED] pad1: Source [fmt:SRGGB10_1X10/3280x2464 field:none] -> "rkisp1-isp-subdev":0 [ENABLED] - entity 7: imx219 2-0010 (1 pad, 1 link) type V4L2 subdev subtype Sensor flags 0 device node name /dev/v4l-subdev2 pad0: Source [fmt:SRGGB10_1X10/3280x2464 field:none] -> "rockchip-sy-mipi-dphy":0 [ENABLED]</pre> 482e5c320a82fc6409175a6b204894b5b22fee10 1791 1788 2018-01-04T03:04:35Z Jacob 6 wikitext text/x-wiki &nbsp; = Overview = The document below&nbsp;provide&nbsp;basical informations&nbsp;about the&nbsp;rockchip-isp1 driver driver and&nbsp;Image Signal Processing block on Rockchip SoC&nbsp;with&nbsp;examples and details. = Hardware = More detailed information could be found in TRM chapter "Image Signal Processing", "MIPI D-PHY"&nbsp;, but they are only available under&nbsp;NDA. == ISP Details == ISP comprises with: *MIPI serial camera interface *Image Signal Processing *Many Image Enhancement Blocks *Crop *Resize === Block diagram === The completed block diagram&nbsp;can not be pasted from&nbsp;datasheet&nbsp;to here, below&nbsp;diagram&nbsp;is an abstract version: [[File:Block.png|1200px|Blocks.png]] &nbsp; == MIPI Details == There are three D-PHY instances in rockchip SoC, their connection are shown as following figure: [[File:Phy.png|600px|Phy.png]] = Software = == Driver == rockchip-isp1 is a V4L2 based driver for Image Signal Processing block on Rockchip SoC. Compared to the earlier driver&nbsp;rk-isp10, it use&nbsp;Media Controller&nbsp;framework, which it's different from plain v4L2. While the plain v4L2 had a view of the device as a plain DMA based image drabber which connects the input data to the host memory, the Media Controller takes into consideration the fact that a typical video device might consist of multiple sub-devices. === Media Controller Basics === Please read below link carefully,&nbsp;especially if you don't have use it before. [https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.html https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.html] === Block diagram === ==== File view ==== [[File:Code.png|1200px|Code.png]] ==== V4l2 view ==== [[File:Rockchip-isp1-v4l2.png|800px|Rockchip-isp1-v4l2.png]] {| border="1" class="table_style" style="width: 768px;" |- ! style="width: 165px;" | Name ! style="width: 131px;" | Type ! style="width: 450px;" | Description |- | style="width: 165px;" | rkisp1_mainpath | style="width: 131px;" | v4l2_vdev, capture | style="width: 450px;" | Format: YUV, RAW Bayer; Max resolution: 4416*3312;&nbsp;Support: Crop |- | style="width: 165px;" | rkisp1_selfpath | style="width: 131px;" | v4l2_vdev, capture | style="width: 450px;" | Format: YUV, RGB; Max resolution: 1920*1080; Support: Crop |- | style="width: 165px;" | rkisp1-isp-subdev | style="width: 131px;" | v4l2_subdev | style="width: 450px;" | Internal isp blocks; Support: source/sink pad crop. The format on sink pad&nbsp;should be equal to sensor input format, the size should be equal/less than&nbsp;sensor input size. The format on source pad&nbsp;should be equal to vdev output format if output format is raw bayer, otherwise it should be&nbsp; YUYV2X8. The size should be equal/less than&nbsp;sink pad size. |- | style="width: 165px;" | rockchip-sy-mipi-dphy | style="width: 131px;" | v4l2_subdev | style="width: 450px;" | MIPI-DPHY&nbsp;Configure |- | style="width: 165px;" | rkisp1-statistics | style="width: 131px;" | v4l2_vdev, capture | style="width: 450px;" | Provide Image color Statistics information. |- | style="width: 165px;" | rkisp1-input-params | style="width: 131px;" | v4l2_vdev, output | style="width: 450px;" | Accept params for AWB, BLC...... Image enhancement blcoks |} === Sensor Driver Requirement === The sensor driver should implement controls in the following table.&nbsp; {| border="1" class="table_style" |- ! Controls ! Description ! R/W ! Needed by |- | V4L2_CID_VBLANK | <span style="font-size:smaller;">Vertical blanking. The idle period after every frame during which no image data is produced. The unit of vertical blanking is a line. Every line has length of the image width plus horizontal blanking at the pixel rate defined by&nbsp;<code>V4L2_CID_PIXEL_RATE</code>&nbsp;control in the same sub-device.</span> | R | Ae |- | V4L2_CID_HBLANK | <span style="font-size:smaller;">Horizontal blanking. The idle period after every line of image data during which no image data is produced. The unit of horizontal blanking is pixels.</span> | R | Ae |- | V4L2_CID_EXPOSURE | <span style="font-size:smaller;">Determines the exposure time of the camera sensor. The exposure time is limited by the frame interval. Drivers should interpret the values as 100 µs units, where the value 1 stands for 1/10000th of a second, 10000 for 1 second and 100000 for 10 seconds.</span> | R/W | Ae |- | V4L2_CID_ANALOGUE_GAIN | <span style="font-size:smaller;">Analogue gain is gain affecting all colour components in the pixel matrix. The gain operation is performed in the analogue domain before A/D conversion.</span> | R/W | Ae |- | V4L2_CID_DIGITAL_GAIN | <span style="font-size:smaller;">Digital gain is the value by which all colour components are multiplied by. Typically the digital gain applied is the control value divided by e.g. 0x100, meaning that to get no digital gain the control value needs to be 0x100. The no-gain configuration is also typically the default.</span> | R/W | Ae |- | V4L2_CID_PIXEL_RATE | <span style="font-size:smaller;">Pixel rate in the source pads of the subdev. This control is read-only and its unit is pixels / second.</span> | R | Ae |- | V4L2_CID_LINK_FREQ | <span style="font-size:smaller;">Data bus frequency. Together with the media bus pixel code, bus type (clock cycles per sample), the data bus frequency defines the pixel rate (<code>V4L2_CID_PIXEL_RATE</code>) in the pixel array (or possibly elsewhere, if the device is not an image sensor). The frame rate can be calculated from the pixel clock, image width and height and horizontal and vertical blanking. While the pixel rate control may be defined elsewhere than in the subdev containing the pixel array, the frame rate cannot be obtained from that information. This is because only on the pixel array it can be assumed that the vertical and horizontal blanking information is exact: no other blanking is allowed in the pixel array. The selection of frame rate is performed by selecting the desired horizontal and vertical blanking. The unit of this control is Hz.</span> | R | mipi-dphy |} === Devicetree Bindings === [https://github.com/wzyy2/linux/blob/rkisp1/Documentation/devicetree/bindings/media/rockchip-isp1.txt https://github.com/torvalds/linux/tree/master/Documentation/devicetree/bindings/media/rockchip-isp1.txt] [https://github.com/wzyy2/linux/blob/rkisp1/Documentation/devicetree/bindings/media/rockchip-mipi-dphy.txt https://github.com/torvalds/linux/tree/master/Documentation/devicetree/bindings/media/rockchip-mipi-dphy.txt] == Linux == === User applications&nbsp; === The applcation for&nbsp;plain v4L2 capture device still can be used(like gstreamer v4l2src plugins, v4l2ctl), but the media&nbsp;controller must be setup in a&nbsp;proper state before starting capture.<br/> The applications for Video Capture with rockchip-isp1 driver&nbsp;should do things like the following commands: <pre># Media graph have been initializated when kernel driver probing, so below commands don't have to be called, though # please note that they can be changed during runtime. media-ctl -l '"rockchip-sy-mipi-dphy":1->"rkisp1-isp-subdev":0[1]' media-ctl -l '"rkisp1-input-params":0->"rkisp1-isp-subdev":1[1]' media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_selfpath":0[1]' media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_mainpath":0[1]' media-ctl -l '"rkisp1-isp-subdev":3->"rkisp1-statistics":0[1]' # Set pad formats ## rkisp1 source pad&nbsp;: format\selection media-ctl -set-v4l2 '"rkisp1-isp-subdev":2[fmt:YUYV2X8/800x600]' media-ctl -set-v4l2 '"rkisp1-isp-subdev":2[fmt:YUYV2X8/800x600]' --set-v4l2 '"rkisp1-isp-subdev":0[crop:(0,0)/800x600]' ## rkisp1 sink pad&nbsp;: format\selection media-ctl --set-v4l2 '"rkisp1-isp-subdev":0[fmt:SRGGB10/800*600]' media-ctl --set-v4l2 '"rkisp1-isp-subdev":0[fmt:SBGGR10/800x600]' --set-v4l2 '"rkisp1-isp-subdev":0[crop:(0,0)/800x600]' ## sensor source pad format media-ctl --set-v4l2 '"ov2685 7-0010":0[fmt:SRGGB10/800*600]' # Set link(Assume there are two sensors in one mipi-phy) ## Enable sensor1 media-ctl -l '"ov2685 7-0010":0->"rockchip-sy-mipi-dphy":0[1]' ## Disable sensor2 media-ctl -l '"ov5695 7-0036":0->"rockchip-sy-mipi-dphy":0[0]' # start capture v4l2-ctl xxxx or gst-launch rkcamsrc xxxx </pre> === Gstreamer === We have writen a gstreamer plugin, [https://github.com/rockchip-linux/gstreamer-rockchip-extra rkcamsrc], which is simply modified from gstreamer v4l2src plugin. [[File:Rkcamsrc.png|500px|RTENOTITLE]] Please refer to readme in github for usage. == Android == === <del>Camera Hal3</del> === [https://source.android.com/devices/camera/camera3?hl=zh-cn https://source.android.com/devices/camera/camera3] = Reproduce = The driver currently can run&nbsp;on ASUS Tinker Board and Firefly-RK3288-Reload + Rockchip&nbsp;Debian/Yocto SDK. == Source Code == === Kernel === #4.15 + [https://patchwork.linuxtv.org/project/linux-media/list/?submitter=7231 FORMLIST Patches] #[https://github.com/rockchip-linux/kernel/tree/isp-early-access Rockchip 4.4 BSP] === Sensor Driver === #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/imx219.c IMX219] #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/ov5647.c OV5647] #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/drivers/media/i2c/tc35874x.c TC35874X] === Device Tree === #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/arch/arm/boot/dts/rk3288-miniarm.dts Tinker Board] #[https://github.com/rockchip-linux/kernel/blob/isp-early-access/arch/arm/boot/dts/rk3288-firefly.dtsi Firefly-rk3288-Reload] == Test Command == <pre>cat /sys/class/video4linux/video*/name # get self_path videox and main_path videox+1 gst-launch-1.0 rkcamsrc device=/dev/videox+1 io-mode=4 disable-3A=true&nbsp;! videoconvert&nbsp;! video/x-raw,format=NV12,width=640,height=480&nbsp;! kmssink</pre> = Others = == Topology == <pre>Media device information ------------------------ driver rkisp1 model rkisp1 serial bus info hw revision 0x0 driver version 0.0.0 Device topology - entity 1: rkisp1-isp-subdev (4 pads, 5 links) type V4L2 subdev subtype Unknown flags 0 device node name /dev/v4l-subdev0 pad0: Sink [fmt:SBGGR10_1X10/800x600 field:none crop.bounds:(0,0)/800x600 crop:(0,0)/800x600] <- "rockchip-sy-mipi-dphy":1 [ENABLED] pad1: Sink <- "rkisp1-input-params":0 [ENABLED] pad2: Source [fmt:SBGGR10_1X10/800x600 field:none crop.bounds:(0,0)/800x600 crop:(0,0)/800x600] -> "rkisp1_selfpath":0 [ENABLED] -> "rkisp1_mainpath":0 [ENABLED] pad3: Source -> "rkisp1-statistics":0 [ENABLED] - entity 2: rkisp1_selfpath (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video0 pad0: Sink <- "rkisp1-isp-subdev":2 [ENABLED] - entity 3: rkisp1_mainpath (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video1 pad0: Sink <- "rkisp1-isp-subdev":2 [ENABLED] - entity 4: rkisp1-statistics (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video2 pad0: Sink <- "rkisp1-isp-subdev":3 [ENABLED] - entity 5: rkisp1-input-params (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video3 pad0: Source -> "rkisp1-isp-subdev":1 [ENABLED] - entity 6: rockchip-sy-mipi-dphy (2 pads, 2 links) type V4L2 subdev subtype Unknown flags 0 device node name /dev/v4l-subdev1 pad0: Sink [fmt:SRGGB10_1X10/3280x2464 field:none] <- "imx219 2-0010":0 [ENABLED] pad1: Source [fmt:SRGGB10_1X10/3280x2464 field:none] -> "rkisp1-isp-subdev":0 [ENABLED] - entity 7: imx219 2-0010 (1 pad, 1 link) type V4L2 subdev subtype Sensor flags 0 device node name /dev/v4l-subdev2 pad0: Source [fmt:SRGGB10_1X10/3280x2464 field:none] -> "rockchip-sy-mipi-dphy":0 [ENABLED]</pre> d29b2c5b764449870ef3ba437d61e5126bb0b8fb 1792 1791 2018-01-04T03:06:44Z Jacob 6 wikitext text/x-wiki &nbsp; = Overview = The document below&nbsp;provide&nbsp;basical informations&nbsp;about the&nbsp;rockchip-isp1 driver driver and&nbsp;Image Signal Processing block on Rockchip SoC&nbsp;with&nbsp;examples and details. = Hardware = More detailed information could be found in TRM chapter "Image Signal Processing", "MIPI D-PHY"&nbsp;, but they are only available under&nbsp;NDA. == ISP Details == ISP comprises with: *MIPI serial camera interface *Image Signal Processing *Many Image Enhancement Blocks *Crop *Resize === Block diagram === The completed block diagram&nbsp;can not be pasted from&nbsp;datasheet&nbsp;to here, below&nbsp;diagram&nbsp;is an abstract version: [[File:Block.png|1200px|Blocks.png]] &nbsp; == MIPI Details == There are three D-PHY instances in rockchip SoC, their connection are shown as following figure: [[File:Phy.png|600px|Phy.png]] = Software = == Driver == rockchip-isp1 is a V4L2 based driver for Image Signal Processing block on Rockchip SoC. Compared to the earlier driver&nbsp;rk-isp10, it use&nbsp;Media Controller&nbsp;framework, which it's different from plain v4L2. While the plain v4L2 had a view of the device as a plain DMA based image drabber which connects the input data to the host memory, the Media Controller takes into consideration the fact that a typical video device might consist of multiple sub-devices. === Media Controller Basics === Please read below link carefully,&nbsp;especially if you don't have use it before. [https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.html https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.html] === Block diagram === ==== File view ==== [[File:Code.png|1200px|Code.png]] ==== V4l2 view ==== [[File:Rockchip-isp1-v4l2.png|800px|Rockchip-isp1-v4l2.png]] {| border="1" class="table_style" style="width: 768px;" |- ! style="width: 165px;" | Name ! style="width: 131px;" | Type ! style="width: 450px;" | Description |- | style="width: 165px;" | rkisp1_mainpath | style="width: 131px;" | v4l2_vdev, capture | style="width: 450px;" | Format: YUV, RAW Bayer; Max resolution: 4416*3312;&nbsp;Support: Crop |- | style="width: 165px;" | rkisp1_selfpath | style="width: 131px;" | v4l2_vdev, capture | style="width: 450px;" | Format: YUV, RGB; Max resolution: 1920*1080; Support: Crop |- | style="width: 165px;" | rkisp1-isp-subdev | style="width: 131px;" | v4l2_subdev | style="width: 450px;" | Internal isp blocks; Support: source/sink pad crop. The format on sink pad&nbsp;should be equal to sensor input format, the size should be equal/less than&nbsp;sensor input size. The format on source pad&nbsp;should be equal to vdev output format if output format is raw bayer, otherwise it should be&nbsp; YUYV2X8. The size should be equal/less than&nbsp;sink pad size. |- | style="width: 165px;" | rockchip-sy-mipi-dphy | style="width: 131px;" | v4l2_subdev | style="width: 450px;" | MIPI-DPHY&nbsp;Configure |- | style="width: 165px;" | rkisp1-statistics | style="width: 131px;" | v4l2_vdev, capture | style="width: 450px;" | Provide Image color Statistics information. |- | style="width: 165px;" | rkisp1-input-params | style="width: 131px;" | v4l2_vdev, output | style="width: 450px;" | Accept params for AWB, BLC...... Image enhancement blcoks |} === Sensor Driver Requirement === The sensor driver should implement controls in the following table.&nbsp; {| border="1" class="table_style" |- ! Controls ! Description ! R/W ! Needed by |- | V4L2_CID_VBLANK | <span style="font-size:smaller;">Vertical blanking. The idle period after every frame during which no image data is produced. The unit of vertical blanking is a line. Every line has length of the image width plus horizontal blanking at the pixel rate defined by&nbsp;<code>V4L2_CID_PIXEL_RATE</code>&nbsp;control in the same sub-device.</span> | R | Ae |- | V4L2_CID_HBLANK | <span style="font-size:smaller;">Horizontal blanking. The idle period after every line of image data during which no image data is produced. The unit of horizontal blanking is pixels.</span> | R | Ae |- | V4L2_CID_EXPOSURE | <span style="font-size:smaller;">Determines the exposure time of the camera sensor. The exposure time is limited by the frame interval. Drivers should interpret the values as 100 µs units, where the value 1 stands for 1/10000th of a second, 10000 for 1 second and 100000 for 10 seconds.</span> | R/W | Ae |- | V4L2_CID_ANALOGUE_GAIN | <span style="font-size:smaller;">Analogue gain is gain affecting all colour components in the pixel matrix. The gain operation is performed in the analogue domain before A/D conversion.</span> | R/W | Ae |- | V4L2_CID_DIGITAL_GAIN | <span style="font-size:smaller;">Digital gain is the value by which all colour components are multiplied by. Typically the digital gain applied is the control value divided by e.g. 0x100, meaning that to get no digital gain the control value needs to be 0x100. The no-gain configuration is also typically the default.</span> | R/W | Ae |- | V4L2_CID_PIXEL_RATE | <span style="font-size:smaller;">Pixel rate in the source pads of the subdev. This control is read-only and its unit is pixels / second.</span> | R | Ae |- | V4L2_CID_LINK_FREQ | <span style="font-size:smaller;">Data bus frequency. Together with the media bus pixel code, bus type (clock cycles per sample), the data bus frequency defines the pixel rate (<code>V4L2_CID_PIXEL_RATE</code>) in the pixel array (or possibly elsewhere, if the device is not an image sensor). The frame rate can be calculated from the pixel clock, image width and height and horizontal and vertical blanking. While the pixel rate control may be defined elsewhere than in the subdev containing the pixel array, the frame rate cannot be obtained from that information. This is because only on the pixel array it can be assumed that the vertical and horizontal blanking information is exact: no other blanking is allowed in the pixel array. The selection of frame rate is performed by selecting the desired horizontal and vertical blanking. The unit of this control is Hz.</span> | R | mipi-dphy |} === Devicetree Bindings === [https://github.com/wzyy2/linux/blob/rkisp1/Documentation/devicetree/bindings/media/rockchip-isp1.txt https://github.com/torvalds/linux/tree/master/Documentation/devicetree/bindings/media/rockchip-isp1.txt] [https://github.com/wzyy2/linux/blob/rkisp1/Documentation/devicetree/bindings/media/rockchip-mipi-dphy.txt https://github.com/torvalds/linux/tree/master/Documentation/devicetree/bindings/media/rockchip-mipi-dphy.txt] == Linux == === User applications&nbsp; === The applcation for&nbsp;plain v4L2 capture device still can be used(like gstreamer v4l2src plugins, v4l2ctl), but the media&nbsp;controller must be setup in a&nbsp;proper state before starting capture.<br/> The applications for Video Capture with rockchip-isp1 driver&nbsp;should do things like the following commands: <pre># Media graph have been initializated when kernel driver probing, so below commands don't have to be called, though # please note that they can be changed during runtime. media-ctl -l '"rockchip-sy-mipi-dphy":1->"rkisp1-isp-subdev":0[1]' media-ctl -l '"rkisp1-input-params":0->"rkisp1-isp-subdev":1[1]' media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_selfpath":0[1]' media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_mainpath":0[1]' media-ctl -l '"rkisp1-isp-subdev":3->"rkisp1-statistics":0[1]' # Set pad formats ## rkisp1 source pad&nbsp;: format\selection media-ctl -set-v4l2 '"rkisp1-isp-subdev":2[fmt:YUYV2X8/800x600]' media-ctl -set-v4l2 '"rkisp1-isp-subdev":2[fmt:YUYV2X8/800x600]' --set-v4l2 '"rkisp1-isp-subdev":0[crop:(0,0)/800x600]' ## rkisp1 sink pad&nbsp;: format\selection media-ctl --set-v4l2 '"rkisp1-isp-subdev":0[fmt:SRGGB10/800*600]' media-ctl --set-v4l2 '"rkisp1-isp-subdev":0[fmt:SBGGR10/800x600]' --set-v4l2 '"rkisp1-isp-subdev":0[crop:(0,0)/800x600]' ## sensor source pad format media-ctl --set-v4l2 '"ov2685 7-0010":0[fmt:SRGGB10/800*600]' # Set link(Assume there are two sensors in one mipi-phy) ## Enable sensor1 media-ctl -l '"ov2685 7-0010":0->"rockchip-sy-mipi-dphy":0[1]' ## Disable sensor2 media-ctl -l '"ov5695 7-0036":0->"rockchip-sy-mipi-dphy":0[0]' # start capture v4l2-ctl xxxx or gst-launch rkcamsrc xxxx </pre> === Gstreamer === We have writen a gstreamer plugin, [https://github.com/rockchip-linux/gstreamer-rockchip-extra rkcamsrc], which is simply modified from gstreamer v4l2src plugin. [[File:Rkcamsrc.png|500px|RTENOTITLE]] Please refer to readme in github for usage. == Android == === <del>Camera Hal3</del> === [https://source.android.com/devices/camera/camera3?hl=zh-cn https://source.android.com/devices/camera/camera3] = Reproduce = The driver currently can run&nbsp;on ASUS Tinker Board and Firefly-RK3288-Reload + Rockchip&nbsp;Debian/Yocto SDK. == Source Code == === Kernel === #4.15 + [https://patchwork.linuxtv.org/project/linux-media/list/?submitter=7231 FORMLIST Patches] #[https://github.com/rockchip-linux/kernel/tree/release-4.4 Rockchip 4.4 BSP] === Sensor Driver === #[https://github.com/rockchip-linux/kernel/blob/release-4.4/drivers/media/i2c/imx219.c IMX219] #[https://github.com/rockchip-linux/kernel/blob/release-4.4/drivers/media/i2c/ov5647.c OV5647] #[https://github.com/rockchip-linux/kernel/blob/release-4.4/drivers/media/i2c/tc35874x.c TC35874X] === Device Tree === #[https://github.com/rockchip-linux/kernel/blob/release-4.4/arch/arm/boot/dts/rk3288-miniarm.dts Tinker Board] #[https://github.com/rockchip-linux/kernel/blob/release-4.4/arch/arm/boot/dts/rk3288-firefly-reload-linux.dts Firefly-rk3288-Reload] == Test Command == <pre>cat /sys/class/video4linux/video*/name # get self_path videox and main_path videox+1 gst-launch-1.0 rkcamsrc device=/dev/videox+1 io-mode=4 disable-3A=true&nbsp;! videoconvert&nbsp;! video/x-raw,format=NV12,width=640,height=480&nbsp;! kmssink</pre> = Others = == Topology == <pre>Media device information ------------------------ driver rkisp1 model rkisp1 serial bus info hw revision 0x0 driver version 0.0.0 Device topology - entity 1: rkisp1-isp-subdev (4 pads, 5 links) type V4L2 subdev subtype Unknown flags 0 device node name /dev/v4l-subdev0 pad0: Sink [fmt:SBGGR10_1X10/800x600 field:none crop.bounds:(0,0)/800x600 crop:(0,0)/800x600] <- "rockchip-sy-mipi-dphy":1 [ENABLED] pad1: Sink <- "rkisp1-input-params":0 [ENABLED] pad2: Source [fmt:SBGGR10_1X10/800x600 field:none crop.bounds:(0,0)/800x600 crop:(0,0)/800x600] -> "rkisp1_selfpath":0 [ENABLED] -> "rkisp1_mainpath":0 [ENABLED] pad3: Source -> "rkisp1-statistics":0 [ENABLED] - entity 2: rkisp1_selfpath (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video0 pad0: Sink <- "rkisp1-isp-subdev":2 [ENABLED] - entity 3: rkisp1_mainpath (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video1 pad0: Sink <- "rkisp1-isp-subdev":2 [ENABLED] - entity 4: rkisp1-statistics (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video2 pad0: Sink <- "rkisp1-isp-subdev":3 [ENABLED] - entity 5: rkisp1-input-params (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video3 pad0: Source -> "rkisp1-isp-subdev":1 [ENABLED] - entity 6: rockchip-sy-mipi-dphy (2 pads, 2 links) type V4L2 subdev subtype Unknown flags 0 device node name /dev/v4l-subdev1 pad0: Sink [fmt:SRGGB10_1X10/3280x2464 field:none] <- "imx219 2-0010":0 [ENABLED] pad1: Source [fmt:SRGGB10_1X10/3280x2464 field:none] -> "rkisp1-isp-subdev":0 [ENABLED] - entity 7: imx219 2-0010 (1 pad, 1 link) type V4L2 subdev subtype Sensor flags 0 device node name /dev/v4l-subdev2 pad0: Source [fmt:SRGGB10_1X10/3280x2464 field:none] -> "rockchip-sy-mipi-dphy":0 [ENABLED]</pre> c369c81380c2a2fb2ab5e59cb4a6bf84f15502ee 1797 1792 2018-01-08T03:07:22Z Jacob 6 wikitext text/x-wiki &nbsp; = Overview = The document below&nbsp;provide&nbsp;basical informations&nbsp;about the&nbsp;rockchip-isp1 driver driver and&nbsp;Image Signal Processing block on Rockchip SoC&nbsp;with&nbsp;examples and details. = Hardware = More detailed information could be found in TRM chapter "Image Signal Processing", "MIPI D-PHY"&nbsp;, but they are only available under&nbsp;NDA. == ISP Details == ISP comprises with: *MIPI serial camera interface *Image Signal Processing *Many Image Enhancement Blocks *Crop *Resize === Block diagram === The completed block diagram&nbsp;can not be pasted from&nbsp;datasheet&nbsp;to here, below&nbsp;diagram&nbsp;is an abstract version: [[File:Block.png|1200px|Blocks.png]] &nbsp; == MIPI Details == There are three D-PHY instances in rockchip SoC, their connection are shown as following figure: [[File:Phy.png|600px|Phy.png]] = Software = == Driver == rockchip-isp1 is a V4L2 based driver for Image Signal Processing block on Rockchip SoC. Compared to the earlier driver&nbsp;rk-isp10, it use&nbsp;Media Controller&nbsp;framework, which it's different from plain v4L2. While the plain v4L2 had a view of the device as a plain DMA based image drabber which connects the input data to the host memory, the Media Controller takes into consideration the fact that a typical video device might consist of multiple sub-devices. === Media Controller Basics === Please read below link carefully,&nbsp;especially if you don't have use it before. [https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.html https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.html] === Block diagram === ==== File view ==== [[File:Code.png|1200px|Code.png]] ==== V4l2 view ==== [[File:Rockchip-isp1-v4l2.png|800px|Rockchip-isp1-v4l2.png]] {| border="1" class="table_style" style="width: 768px;" |- ! style="width: 165px;" | Name ! style="width: 131px;" | Type ! style="width: 450px;" | Description |- | style="width: 165px;" | rkisp1_mainpath | style="width: 131px;" | v4l2_vdev, capture | style="width: 450px;" | Format: YUV, RAW Bayer; Max resolution: 4416*3312;&nbsp;Support: Crop |- | style="width: 165px;" | rkisp1_selfpath | style="width: 131px;" | v4l2_vdev, capture | style="width: 450px;" | Format: YUV, RGB; Max resolution: 1920*1080; Support: Crop |- | style="width: 165px;" | rkisp1-isp-subdev | style="width: 131px;" | v4l2_subdev | style="width: 450px;" | Internal isp blocks; Support: source/sink pad crop. The format on sink pad&nbsp;should be equal to sensor input format, the size should be equal/less than&nbsp;sensor input size. The format on source pad&nbsp;should be equal to vdev output format if output format is raw bayer, otherwise it should be&nbsp; YUYV2X8. The size should be equal/less than&nbsp;sink pad size. |- | style="width: 165px;" | rockchip-sy-mipi-dphy | style="width: 131px;" | v4l2_subdev | style="width: 450px;" | MIPI-DPHY&nbsp;Configure |- | style="width: 165px;" | rkisp1-statistics | style="width: 131px;" | v4l2_vdev, capture | style="width: 450px;" | Provide Image color Statistics information. |- | style="width: 165px;" | rkisp1-input-params | style="width: 131px;" | v4l2_vdev, output | style="width: 450px;" | Accept params for AWB, BLC...... Image enhancement blcoks |} === Sensor Driver Requirement === The sensor driver should implement controls in the following table.&nbsp; {| border="1" class="table_style" |- ! Controls ! Description ! R/W ! Needed by |- | V4L2_CID_VBLANK | <span style="font-size:smaller;">Vertical blanking. The idle period after every frame during which no image data is produced. The unit of vertical blanking is a line. Every line has length of the image width plus horizontal blanking at the pixel rate defined by&nbsp;<code>V4L2_CID_PIXEL_RATE</code>&nbsp;control in the same sub-device.</span> | R | Ae |- | V4L2_CID_HBLANK | <span style="font-size:smaller;">Horizontal blanking. The idle period after every line of image data during which no image data is produced. The unit of horizontal blanking is pixels.</span> | R | Ae |- | V4L2_CID_EXPOSURE | <span style="font-size:smaller;">Determines the exposure time of the camera sensor. The exposure time is limited by the frame interval. Drivers should interpret the values as 100 µs units, where the value 1 stands for 1/10000th of a second, 10000 for 1 second and 100000 for 10 seconds.</span> | R/W | Ae |- | V4L2_CID_ANALOGUE_GAIN | <span style="font-size:smaller;">Analogue gain is gain affecting all colour components in the pixel matrix. The gain operation is performed in the analogue domain before A/D conversion.</span> | R/W | Ae |- | V4L2_CID_DIGITAL_GAIN | <span style="font-size:smaller;">Digital gain is the value by which all colour components are multiplied by. Typically the digital gain applied is the control value divided by e.g. 0x100, meaning that to get no digital gain the control value needs to be 0x100. The no-gain configuration is also typically the default.</span> | R/W | Ae |- | V4L2_CID_PIXEL_RATE | <span style="font-size:smaller;">Pixel rate in the source pads of the subdev. This control is read-only and its unit is pixels / second.</span> | R | Ae |- | V4L2_CID_LINK_FREQ | <span style="font-size:smaller;">Data bus frequency. Together with the media bus pixel code, bus type (clock cycles per sample), the data bus frequency defines the pixel rate (<code>V4L2_CID_PIXEL_RATE</code>) in the pixel array (or possibly elsewhere, if the device is not an image sensor). The frame rate can be calculated from the pixel clock, image width and height and horizontal and vertical blanking. While the pixel rate control may be defined elsewhere than in the subdev containing the pixel array, the frame rate cannot be obtained from that information. This is because only on the pixel array it can be assumed that the vertical and horizontal blanking information is exact: no other blanking is allowed in the pixel array. The selection of frame rate is performed by selecting the desired horizontal and vertical blanking. The unit of this control is Hz.</span> | R | mipi-dphy |} === Devicetree Bindings === [https://github.com/wzyy2/linux/blob/rkisp1/Documentation/devicetree/bindings/media/rockchip-isp1.txt https://github.com/torvalds/linux/tree/master/Documentation/devicetree/bindings/media/rockchip-isp1.txt] [https://github.com/wzyy2/linux/blob/rkisp1/Documentation/devicetree/bindings/media/rockchip-mipi-dphy.txt https://github.com/torvalds/linux/tree/master/Documentation/devicetree/bindings/media/rockchip-mipi-dphy.txt] == Linux == === User applications&nbsp; === The applcation for&nbsp;plain v4L2 capture device still can be used(like gstreamer v4l2src plugins, v4l2ctl), but the media&nbsp;controller must be setup in a&nbsp;proper state before starting capture.<br/> The applications for Video Capture with rockchip-isp1 driver&nbsp;should do things like the following commands: <pre># Media graph have been initializated when kernel driver probing, so below commands don't have to be called, though # please note that they can be changed during runtime. media-ctl -l '"rockchip-sy-mipi-dphy":1->"rkisp1-isp-subdev":0[1]' media-ctl -l '"rkisp1-input-params":0->"rkisp1-isp-subdev":1[1]' media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_selfpath":0[1]' media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_mainpath":0[1]' media-ctl -l '"rkisp1-isp-subdev":3->"rkisp1-statistics":0[1]' # Set pad formats ## rkisp1 source pad&nbsp;: format\selection media-ctl -set-v4l2 '"rkisp1-isp-subdev":2[fmt:YUYV2X8/800x600]' media-ctl -set-v4l2 '"rkisp1-isp-subdev":2[fmt:YUYV2X8/800x600]' --set-v4l2 '"rkisp1-isp-subdev":0[crop:(0,0)/800x600]' ## rkisp1 sink pad&nbsp;: format\selection media-ctl --set-v4l2 '"rkisp1-isp-subdev":0[fmt:SRGGB10/800*600]' media-ctl --set-v4l2 '"rkisp1-isp-subdev":0[fmt:SBGGR10/800x600]' --set-v4l2 '"rkisp1-isp-subdev":0[crop:(0,0)/800x600]' ## sensor source pad format media-ctl --set-v4l2 '"ov2685 7-0010":0[fmt:SRGGB10/800*600]' # Set link(Assume there are two sensors in one mipi-phy) ## Enable sensor1 media-ctl -l '"ov2685 7-0010":0->"rockchip-sy-mipi-dphy":0[1]' ## Disable sensor2 media-ctl -l '"ov5695 7-0036":0->"rockchip-sy-mipi-dphy":0[0]' # start capture v4l2-ctl xxxx or gst-launch rkcamsrc xxxx </pre> === Gstreamer === We have writen a gstreamer plugin, [https://github.com/rockchip-linux/gstreamer-rockchip-extra rkcamsrc], which is simply modified from gstreamer v4l2src plugin. [[File:Rkcamsrc.png|500px|RTENOTITLE]] Please refer to readme in github for usage. == Android == === <del>Camera Hal3</del> === [https://source.android.com/devices/camera/camera3?hl=zh-cn https://source.android.com/devices/camera/camera3] = Reproduce = The driver currently can run&nbsp;on ASUS Tinker Board and Firefly-RK3288-Reload + Rockchip&nbsp;Debian/Yocto SDK. == Source Code == === Kernel === #4.15 + [https://patchwork.linuxtv.org/project/linux-media/list/?submitter=7231 FORMLIST Patches] #[https://github.com/rockchip-linux/kernel/tree/release-4.4 Rockchip 4.4 BSP] === Sensor Driver === #[https://github.com/rockchip-linux/kernel/blob/release-4.4/drivers/media/i2c/imx219.c IMX219] #[https://github.com/rockchip-linux/kernel/blob/release-4.4/drivers/media/i2c/ov5647.c OV5647] #[https://github.com/rockchip-linux/kernel/blob/release-4.4/drivers/media/i2c/tc35874x.c TC35874X] === Device Tree === #[https://github.com/rockchip-linux/kernel/blob/release-4.4/arch/arm/boot/dts/rk3288-miniarm.dts Tinker Board] #[https://github.com/rockchip-linux/kernel/blob/release-4.4/arch/arm/boot/dts/rk3288-firefly-reload-linux.dts Firefly-rk3288-Reload] == Test Command == <pre>cat /sys/class/video4linux/video*/name # get self_path videox and main_path videox+1 gst-launch-1.0 rkcamsrc device=/dev/videox+1 io-mode=4 ! videoconvert ! video/x-raw,format=NV12,width=640,height=480 ! kmssink</pre> = Others = == Topology == <pre>Media device information ------------------------ driver rkisp1 model rkisp1 serial bus info hw revision 0x0 driver version 0.0.0 Device topology - entity 1: rkisp1-isp-subdev (4 pads, 5 links) type V4L2 subdev subtype Unknown flags 0 device node name /dev/v4l-subdev0 pad0: Sink [fmt:SBGGR10_1X10/800x600 field:none crop.bounds:(0,0)/800x600 crop:(0,0)/800x600] <- "rockchip-sy-mipi-dphy":1 [ENABLED] pad1: Sink <- "rkisp1-input-params":0 [ENABLED] pad2: Source [fmt:SBGGR10_1X10/800x600 field:none crop.bounds:(0,0)/800x600 crop:(0,0)/800x600] -> "rkisp1_selfpath":0 [ENABLED] -> "rkisp1_mainpath":0 [ENABLED] pad3: Source -> "rkisp1-statistics":0 [ENABLED] - entity 2: rkisp1_selfpath (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video0 pad0: Sink <- "rkisp1-isp-subdev":2 [ENABLED] - entity 3: rkisp1_mainpath (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video1 pad0: Sink <- "rkisp1-isp-subdev":2 [ENABLED] - entity 4: rkisp1-statistics (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video2 pad0: Sink <- "rkisp1-isp-subdev":3 [ENABLED] - entity 5: rkisp1-input-params (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video3 pad0: Source -> "rkisp1-isp-subdev":1 [ENABLED] - entity 6: rockchip-sy-mipi-dphy (2 pads, 2 links) type V4L2 subdev subtype Unknown flags 0 device node name /dev/v4l-subdev1 pad0: Sink [fmt:SRGGB10_1X10/3280x2464 field:none] <- "imx219 2-0010":0 [ENABLED] pad1: Source [fmt:SRGGB10_1X10/3280x2464 field:none] -> "rkisp1-isp-subdev":0 [ENABLED] - entity 7: imx219 2-0010 (1 pad, 1 link) type V4L2 subdev subtype Sensor flags 0 device node name /dev/v4l-subdev2 pad0: Source [fmt:SRGGB10_1X10/3280x2464 field:none] -> "rockchip-sy-mipi-dphy":0 [ENABLED]</pre> 150371af8cbcb83c27b5cde0839c4bc5643f50ea 1799 1797 2018-01-08T08:02:28Z Jacob 6 wikitext text/x-wiki &nbsp; = Overview = The document below&nbsp;provide&nbsp;basical informations&nbsp;about the&nbsp;rockchip-isp1 driver driver and&nbsp;Image Signal Processing block on Rockchip SoC&nbsp;with&nbsp;examples and details. = Hardware = More detailed information could be found in TRM chapter "Image Signal Processing", "MIPI D-PHY"&nbsp;, but they are only available under&nbsp;NDA. == ISP Details == ISP comprises with: *MIPI serial camera interface *Image Signal Processing *Many Image Enhancement Blocks *Crop *Resize === Block diagram === The completed block diagram&nbsp;can not be pasted from&nbsp;datasheet&nbsp;to here, below&nbsp;diagram&nbsp;is an abstract version: [[File:Block.png|1200px|Blocks.png]] &nbsp; == MIPI Details == There are three D-PHY instances in rockchip SoC, their connection are shown as following figure: [[File:Phy.png|600px|Phy.png]] = Software = == Driver == rockchip-isp1 is a V4L2 based driver for Image Signal Processing block on Rockchip SoC. Compared to the earlier driver&nbsp;rk-isp10, it use&nbsp;Media Controller&nbsp;framework, which it's different from plain v4L2. While the plain v4L2 had a view of the device as a plain DMA based image drabber which connects the input data to the host memory, the Media Controller takes into consideration the fact that a typical video device might consist of multiple sub-devices. === Media Controller Basics === Please read below link carefully,&nbsp;especially if you don't have use it before. [https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.html https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.html] === Block diagram === ==== File view ==== [[File:Code.png|1200px|Code.png]] ==== V4l2 view ==== [[File:Rockchip-isp1-v4l2.png|800px|Rockchip-isp1-v4l2.png]] {| border="1" class="table_style" style="width: 768px;" |- ! style="width: 165px;" | Name ! style="width: 131px;" | Type ! style="width: 450px;" | Description |- | style="width: 165px;" | rkisp1_mainpath | style="width: 131px;" | v4l2_vdev, capture | style="width: 450px;" | Format: YUV, RAW Bayer; Max resolution: 4416*3312;&nbsp;Support: Crop |- | style="width: 165px;" | rkisp1_selfpath | style="width: 131px;" | v4l2_vdev, capture | style="width: 450px;" | Format: YUV, RGB; Max resolution: 1920*1080; Support: Crop |- | style="width: 165px;" | rkisp1-isp-subdev | style="width: 131px;" | v4l2_subdev | style="width: 450px;" | Internal isp blocks; Support: source/sink pad crop. The format on sink pad&nbsp;should be equal to sensor input format, the size should be equal/less than&nbsp;sensor input size. The format on source pad&nbsp;should be equal to vdev output format if output format is raw bayer, otherwise it should be&nbsp; YUYV2X8. The size should be equal/less than&nbsp;sink pad size. |- | style="width: 165px;" | rockchip-sy-mipi-dphy | style="width: 131px;" | v4l2_subdev | style="width: 450px;" | MIPI-DPHY&nbsp;Configure |- | style="width: 165px;" | rkisp1-statistics | style="width: 131px;" | v4l2_vdev, capture | style="width: 450px;" | Provide Image color Statistics information. |- | style="width: 165px;" | rkisp1-input-params | style="width: 131px;" | v4l2_vdev, output | style="width: 450px;" | Accept params for AWB, BLC...... Image enhancement blcoks |} === Sensor Driver Requirement === The sensor driver should implement controls in the following table.&nbsp; {| border="1" class="table_style" |- ! Controls ! Description ! R/W ! Needed by |- | V4L2_CID_VBLANK | <span style="font-size:smaller;">Vertical blanking. The idle period after every frame during which no image data is produced. The unit of vertical blanking is a line. Every line has length of the image width plus horizontal blanking at the pixel rate defined by&nbsp;<code>V4L2_CID_PIXEL_RATE</code>&nbsp;control in the same sub-device.</span> | R | Ae |- | V4L2_CID_HBLANK | <span style="font-size:smaller;">Horizontal blanking. The idle period after every line of image data during which no image data is produced. The unit of horizontal blanking is pixels.</span> | R | Ae |- | V4L2_CID_EXPOSURE | <span style="font-size:smaller;">Determines the exposure time of the camera sensor. The exposure time is limited by the frame interval. Drivers should interpret the values as 100 µs units, where the value 1 stands for 1/10000th of a second, 10000 for 1 second and 100000 for 10 seconds.</span> | R/W | Ae |- | V4L2_CID_ANALOGUE_GAIN | <span style="font-size:smaller;">Analogue gain is gain affecting all colour components in the pixel matrix. The gain operation is performed in the analogue domain before A/D conversion.</span> | R/W | Ae |- | V4L2_CID_DIGITAL_GAIN | <span style="font-size:smaller;">Digital gain is the value by which all colour components are multiplied by. Typically the digital gain applied is the control value divided by e.g. 0x100, meaning that to get no digital gain the control value needs to be 0x100. The no-gain configuration is also typically the default.</span> | R/W | Ae |- | V4L2_CID_PIXEL_RATE | <span style="font-size:smaller;">Pixel rate in the source pads of the subdev. This control is read-only and its unit is pixels / second.</span> | R | Ae |- | V4L2_CID_LINK_FREQ | <span style="font-size:smaller;">Data bus frequency. Together with the media bus pixel code, bus type (clock cycles per sample), the data bus frequency defines the pixel rate (<code>V4L2_CID_PIXEL_RATE</code>) in the pixel array (or possibly elsewhere, if the device is not an image sensor). The frame rate can be calculated from the pixel clock, image width and height and horizontal and vertical blanking. While the pixel rate control may be defined elsewhere than in the subdev containing the pixel array, the frame rate cannot be obtained from that information. This is because only on the pixel array it can be assumed that the vertical and horizontal blanking information is exact: no other blanking is allowed in the pixel array. The selection of frame rate is performed by selecting the desired horizontal and vertical blanking. The unit of this control is Hz.</span> | R | mipi-dphy |} === Devicetree Bindings === [https://github.com/wzyy2/linux/blob/rkisp1/Documentation/devicetree/bindings/media/rockchip-isp1.txt https://github.com/torvalds/linux/tree/master/Documentation/devicetree/bindings/media/rockchip-isp1.txt] [https://github.com/wzyy2/linux/blob/rkisp1/Documentation/devicetree/bindings/media/rockchip-mipi-dphy.txt https://github.com/torvalds/linux/tree/master/Documentation/devicetree/bindings/media/rockchip-mipi-dphy.txt] == Linux == === User applications&nbsp; === The applcation for&nbsp;plain v4L2 capture device still can be used(like gstreamer v4l2src plugins, v4l2ctl), but the media&nbsp;controller must be setup in a&nbsp;proper state before starting capture.<br/> The applications for Video Capture with rockchip-isp1 driver&nbsp;should do things like the following commands: <pre># Media graph have been initializated when kernel driver probing, so below commands don't have to be called, though # please note that they can be changed during runtime. media-ctl -l '"rockchip-sy-mipi-dphy":1->"rkisp1-isp-subdev":0[1]' media-ctl -l '"rkisp1-input-params":0->"rkisp1-isp-subdev":1[1]' media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_selfpath":0[1]' media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_mainpath":0[1]' media-ctl -l '"rkisp1-isp-subdev":3->"rkisp1-statistics":0[1]' # Set pad formats ## rkisp1 source pad&nbsp;: format\selection media-ctl -set-v4l2 '"rkisp1-isp-subdev":2[fmt:YUYV2X8/800x600]' media-ctl -set-v4l2 '"rkisp1-isp-subdev":2[fmt:YUYV2X8/800x600]' --set-v4l2 '"rkisp1-isp-subdev":0[crop:(0,0)/800x600]' ## rkisp1 sink pad&nbsp;: format\selection media-ctl --set-v4l2 '"rkisp1-isp-subdev":0[fmt:SRGGB10/800*600]' media-ctl --set-v4l2 '"rkisp1-isp-subdev":0[fmt:SBGGR10/800x600]' --set-v4l2 '"rkisp1-isp-subdev":0[crop:(0,0)/800x600]' ## sensor source pad format media-ctl --set-v4l2 '"ov2685 7-0010":0[fmt:SRGGB10/800*600]' # Set link(Assume there are two sensors in one mipi-phy) ## Enable sensor1 media-ctl -l '"ov2685 7-0010":0->"rockchip-sy-mipi-dphy":0[1]' ## Disable sensor2 media-ctl -l '"ov5695 7-0036":0->"rockchip-sy-mipi-dphy":0[0]' # start capture v4l2-ctl xxxx or gst-launch rkcamsrc xxxx </pre> ==== 3A ==== https://github.com/rockchip-linux/gstreamer-rockchip-extra/tree/master/gst/rkv4l2/rkcamsrc/rkisp1 === Gstreamer === We have writen a gstreamer plugin, [https://github.com/rockchip-linux/gstreamer-rockchip-extra rkcamsrc], which is simply modified from gstreamer v4l2src plugin. [[File:Rkcamsrc.png|500px|RTENOTITLE]] Please refer to readme in github for usage. == Android == === <del>Camera Hal3</del> === [https://source.android.com/devices/camera/camera3?hl=zh-cn https://source.android.com/devices/camera/camera3] = Reproduce = The driver currently can run&nbsp;on ASUS Tinker Board and Firefly-RK3288-Reload + Rockchip&nbsp;Debian/Yocto SDK. == Source Code == === Kernel === #4.15 + [https://patchwork.linuxtv.org/project/linux-media/list/?submitter=7231 FORMLIST Patches] #[https://github.com/rockchip-linux/kernel/tree/release-4.4 Rockchip 4.4 BSP] === Sensor Driver === #[https://github.com/rockchip-linux/kernel/blob/release-4.4/drivers/media/i2c/imx219.c IMX219] #[https://github.com/rockchip-linux/kernel/blob/release-4.4/drivers/media/i2c/ov5647.c OV5647] #[https://github.com/rockchip-linux/kernel/blob/release-4.4/drivers/media/i2c/tc35874x.c TC35874X] === Device Tree === #[https://github.com/rockchip-linux/kernel/blob/release-4.4/arch/arm/boot/dts/rk3288-miniarm.dts Tinker Board] #[https://github.com/rockchip-linux/kernel/blob/release-4.4/arch/arm/boot/dts/rk3288-firefly-reload-linux.dts Firefly-rk3288-Reload] &nbsp; == Test Command == <pre>cat /sys/class/video4linux/video*/name # get self_path videox and main_path videox+1 gst-launch-1.0 rkcamsrc device=/dev/videox+1 io-mode=4&nbsp;! videoconvert&nbsp;! video/x-raw,format=NV12,width=640,height=480&nbsp;! kmssink</pre> = Others = == Topology == <pre>Media device information ------------------------ driver rkisp1 model rkisp1 serial bus info hw revision 0x0 driver version 0.0.0 Device topology - entity 1: rkisp1-isp-subdev (4 pads, 5 links) type V4L2 subdev subtype Unknown flags 0 device node name /dev/v4l-subdev0 pad0: Sink [fmt:SBGGR10_1X10/800x600 field:none crop.bounds:(0,0)/800x600 crop:(0,0)/800x600] <- "rockchip-sy-mipi-dphy":1 [ENABLED] pad1: Sink <- "rkisp1-input-params":0 [ENABLED] pad2: Source [fmt:SBGGR10_1X10/800x600 field:none crop.bounds:(0,0)/800x600 crop:(0,0)/800x600] -> "rkisp1_selfpath":0 [ENABLED] -> "rkisp1_mainpath":0 [ENABLED] pad3: Source -> "rkisp1-statistics":0 [ENABLED] - entity 2: rkisp1_selfpath (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video0 pad0: Sink <- "rkisp1-isp-subdev":2 [ENABLED] - entity 3: rkisp1_mainpath (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video1 pad0: Sink <- "rkisp1-isp-subdev":2 [ENABLED] - entity 4: rkisp1-statistics (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video2 pad0: Sink <- "rkisp1-isp-subdev":3 [ENABLED] - entity 5: rkisp1-input-params (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video3 pad0: Source -> "rkisp1-isp-subdev":1 [ENABLED] - entity 6: rockchip-sy-mipi-dphy (2 pads, 2 links) type V4L2 subdev subtype Unknown flags 0 device node name /dev/v4l-subdev1 pad0: Sink [fmt:SRGGB10_1X10/3280x2464 field:none] <- "imx219 2-0010":0 [ENABLED] pad1: Source [fmt:SRGGB10_1X10/3280x2464 field:none] -> "rkisp1-isp-subdev":0 [ENABLED] - entity 7: imx219 2-0010 (1 pad, 1 link) type V4L2 subdev subtype Sensor flags 0 device node name /dev/v4l-subdev2 pad0: Source [fmt:SRGGB10_1X10/3280x2464 field:none] -> "rockchip-sy-mipi-dphy":0 [ENABLED]</pre> 15602f018babf47dc22de3c0f0f4819f7c4195b3 Board Config 0 160 1793 1659 2018-01-08T01:51:17Z Jacob 6 wikitext text/x-wiki = Board config = == defconfig and dts == <span style="font-size: 13px; line-height: 1.6;">Every Board has its device tree file and config file required by the kernel and uboot. Therefore, you will need to choose the correct dts and config to build the source.Below list various Boards and the matching file.</span> {| border="1" class="table_style" style="width: 920px;" |- ! rowspan="2" style="width: 153px;" | board ! rowspan="2" style="width: 172px;" | uboot ! rowspan="2" style="width: 167px;" | kernel config ! rowspan="2" style="width: 287px;" | kernel dts ! colspan="3" rowspan="1" style="width: 287px;" | Hardware |- ! style="width: 287px;" | DDR ! style="width: 287px;" | PMIC ! style="width: 287px;" | Boot |- | style="width: 153px;" | rk3288-evb | style="width: 172px;" | evb-rk3288_defconfig | style="width: 167px;" | rockchip_linux_defconfig | style="width: 287px;" | rk3288-evb-act8846.dts&nbsp; | style="width: 287px; text-align: center;" | &nbsp;LPDDR3 | style="width: 287px; text-align: center;" | &nbsp;act8846 | style="width: 287px; text-align: center;" | emmc boot |- | style="width: 153px;" | rk3288-evb-rk808 | style="width: 172px;" | fennec-rk3288_defconfig | style="width: 167px;" | rockchip_linux_defconfig | style="width: 287px;" | rk3288-evb-rk808-linux.dts | style="width: 287px; text-align: center;" | LPDDR3 | style="width: 287px; text-align: center;" | rk808 | style="width: 287px; text-align: center;" | emmc boot |- | style="width: 153px;" | rk3288-fennec | style="width: 172px;" | fennec-rk3288_defconfig | style="width: 167px;" | rockchip_linux_defconfig | style="width: 287px;" | rk3288-fennec.dts | style="width: 287px; text-align: center;" | LPDDR3 | style="width: 287px; text-align: center;" | rk808 | style="width: 287px; text-align: center;" | emmc boot |- | style="width: 153px;" | rk3288-miniarm | style="width: 172px;" | tinker-rk3288_defconfig | style="width: 167px;" | rockchip_linux_defconfig | style="width: 287px;" | rk3288-miniarm.dts | style="width: 287px; text-align: center;" | LPDDR3 | style="width: 287px; text-align: center;" | rk808 | style="width: 287px; text-align: center;" | sd-card boot |- | style="width: 153px;" | rk3288-firefly | style="width: 172px;" | firefly-rk3288_defconfig | style="width: 167px;" | rockchip_linux_defconfig | style="width: 287px;" | rk3288-firefly.dts | style="width: 287px; text-align: center;" | DDR3 | style="width: 287px; text-align: center;" | act8846 | style="width: 287px; text-align: center;" | sd-card boot |- | style="width: 153px;" | rk3288-firefly-reload-linux.dts | style="width: 172px;" | firefly-rk3288_defconfig | style="width: 167px;" | rockchip_linux_defconfig | style="width: 287px;" | rk3288-firefly-reload-linux.dts | style="width: 287px; text-align: center;" | DDR3 | style="width: 287px; text-align: center;" | rk808 | style="width: 287px; text-align: center;" | sd-card boot |- | style="width: 153px;" | rk3288-phytec | style="width: 172px;" | phtec-rk3288_defconfig | style="width: 167px;" | rockchip_linux_defconfig | style="width: 287px;" | rk3288-phytec-rdk.dts | style="width: 287px; text-align: center;" | DDR3 | style="width: 287px; text-align: center;" | rk818 | style="width: 287px; text-align: center;" | emmc boot |- | style="width: 153px;" | rk3328-evb | style="width: 172px;" | evb-rk3328_defconfig | style="width: 167px;" | rockchip_linux_defconfig | style="width: 287px;" | rk3328-evb.dts | style="width: 287px; text-align: center;" | DDR3 | style="width: 287px; text-align: center;" | rk805 | style="width: 287px; text-align: center;" | emmc boot |- | style="width: 153px;" | rk3399-excavator | style="width: 172px;" | evb-rk3399_defconfig | style="width: 167px;" | rockchip_linux_defconfig | style="width: 287px;" | rk3399-sapphire-excavator-linux.dts | style="width: 287px; text-align: center;" | LPDDR4 | style="width: 287px; text-align: center;" | rk808 | style="width: 287px; text-align: center;" | emmc boot |- | style="width: 153px;" | rk3399-firefly | style="width: 172px;" | firefly-rk3399_defconfig | style="width: 167px;" | rockchip_linux_defconfig | style="width: 287px;" | rk3399-firefly-linux.dts | style="width: 287px; text-align: center;" | LPDDR4 | style="width: 287px; text-align: center;" | rk808 | style="width: 287px; text-align: center;" | emmc boot |- | style="width: 153px;" | rk3036-kylin | style="width: 172px;" | kylin-rk3036_defconfig | style="width: 167px;" | rockchip_linux_defconfig | style="width: 287px;" | rk3036-kylin.dts | style="width: 287px; text-align: center;" | DDR3 | style="width: 287px; text-align: center;" | rk808 | style="width: 287px; text-align: center;" | emmc boot |} &nbsp; == Config Per Chip == {| border="1" class="table_style" |- ! chip ! Kernel eMMC index ! Kernel SD index ! Uboot eMMC index ! Uboot SD index ! Baud speed |- | rk3399 | 1 | 0 | 0 | 1 | 1500000 |- | rk3328 | 2 | 0 | 0 | 1 | 1500000 |- | rk3288 | 2 | 0 | 0 | 1 | 115200 |- | rk3036 | 2 | 0 | 0 | - | 115200 |} ---- e852a5e36495d0c704e7b9663fe5e0d46efbb1c7 1794 1793 2018-01-08T01:52:21Z Jacob 6 wikitext text/x-wiki = Board config = == defconfig and dts == <span style="font-size: 13px; line-height: 1.6;">Every Board has its device tree file and config file required by the kernel and uboot. Therefore, you will need to choose the correct dts and config to build the source.Below list various Boards and the matching file.</span> {| border="1" class="table_style" style="width: 1020px;" |- ! rowspan="2" style="width: 253px;" | board ! rowspan="2" style="width: 172px;" | uboot ! rowspan="2" style="width: 167px;" | kernel config ! rowspan="2" style="width: 287px;" | kernel dts ! colspan="3" rowspan="1" style="width: 287px;" | Hardware |- ! style="width: 287px;" | DDR ! style="width: 287px;" | PMIC ! style="width: 287px;" | Boot |- | style="width: 153px;" | rk3288-evb | style="width: 172px;" | evb-rk3288_defconfig | style="width: 167px;" | rockchip_linux_defconfig | style="width: 287px;" | rk3288-evb-act8846.dts&nbsp; | style="width: 287px; text-align: center;" | &nbsp;LPDDR3 | style="width: 287px; text-align: center;" | &nbsp;act8846 | style="width: 287px; text-align: center;" | emmc boot |- | style="width: 153px;" | rk3288-evb-rk808 | style="width: 172px;" | fennec-rk3288_defconfig | style="width: 167px;" | rockchip_linux_defconfig | style="width: 287px;" | rk3288-evb-rk808-linux.dts | style="width: 287px; text-align: center;" | LPDDR3 | style="width: 287px; text-align: center;" | rk808 | style="width: 287px; text-align: center;" | emmc boot |- | style="width: 153px;" | rk3288-fennec | style="width: 172px;" | fennec-rk3288_defconfig | style="width: 167px;" | rockchip_linux_defconfig | style="width: 287px;" | rk3288-fennec.dts | style="width: 287px; text-align: center;" | LPDDR3 | style="width: 287px; text-align: center;" | rk808 | style="width: 287px; text-align: center;" | emmc boot |- | style="width: 153px;" | rk3288-miniarm | style="width: 172px;" | tinker-rk3288_defconfig | style="width: 167px;" | rockchip_linux_defconfig | style="width: 287px;" | rk3288-miniarm.dts | style="width: 287px; text-align: center;" | LPDDR3 | style="width: 287px; text-align: center;" | rk808 | style="width: 287px; text-align: center;" | sd-card boot |- | style="width: 153px;" | rk3288-firefly | style="width: 172px;" | firefly-rk3288_defconfig | style="width: 167px;" | rockchip_linux_defconfig | style="width: 287px;" | rk3288-firefly.dts | style="width: 287px; text-align: center;" | DDR3 | style="width: 287px; text-align: center;" | act8846 | style="width: 287px; text-align: center;" | sd-card boot |- | style="width: 153px;" | rk3288-firefly-reload-linux.dts | style="width: 172px;" | firefly-rk3288_defconfig | style="width: 167px;" | rockchip_linux_defconfig | style="width: 287px;" | rk3288-firefly-reload-linux.dts | style="width: 287px; text-align: center;" | DDR3 | style="width: 287px; text-align: center;" | rk808 | style="width: 287px; text-align: center;" | sd-card boot |- | style="width: 153px;" | rk3288-phytec | style="width: 172px;" | phtec-rk3288_defconfig | style="width: 167px;" | rockchip_linux_defconfig | style="width: 287px;" | rk3288-phytec-rdk.dts | style="width: 287px; text-align: center;" | DDR3 | style="width: 287px; text-align: center;" | rk818 | style="width: 287px; text-align: center;" | emmc boot |- | style="width: 153px;" | rk3328-evb | style="width: 172px;" | evb-rk3328_defconfig | style="width: 167px;" | rockchip_linux_defconfig | style="width: 287px;" | rk3328-evb.dts | style="width: 287px; text-align: center;" | DDR3 | style="width: 287px; text-align: center;" | rk805 | style="width: 287px; text-align: center;" | emmc boot |- | style="width: 153px;" | rk3399-excavator | style="width: 172px;" | evb-rk3399_defconfig | style="width: 167px;" | rockchip_linux_defconfig | style="width: 287px;" | rk3399-sapphire-excavator-linux.dts | style="width: 287px; text-align: center;" | LPDDR4 | style="width: 287px; text-align: center;" | rk808 | style="width: 287px; text-align: center;" | emmc boot |- | style="width: 153px;" | rk3399-firefly | style="width: 172px;" | firefly-rk3399_defconfig | style="width: 167px;" | rockchip_linux_defconfig | style="width: 287px;" | rk3399-firefly-linux.dts | style="width: 287px; text-align: center;" | LPDDR4 | style="width: 287px; text-align: center;" | rk808 | style="width: 287px; text-align: center;" | emmc boot |- | style="width: 153px;" | rk3036-kylin | style="width: 172px;" | kylin-rk3036_defconfig | style="width: 167px;" | rockchip_linux_defconfig | style="width: 287px;" | rk3036-kylin.dts | style="width: 287px; text-align: center;" | DDR3 | style="width: 287px; text-align: center;" | rk808 | style="width: 287px; text-align: center;" | emmc boot |} &nbsp; == Config Per Chip == {| border="1" class="table_style" |- ! chip ! Kernel eMMC index ! Kernel SD index ! Uboot eMMC index ! Uboot SD index ! Baud speed |- | rk3399 | 1 | 0 | 0 | 1 | 1500000 |- | rk3328 | 2 | 0 | 0 | 1 | 1500000 |- | rk3288 | 2 | 0 | 0 | 1 | 115200 |- | rk3036 | 2 | 0 | 0 | - | 115200 |} ---- e35bdae2f35e85c8b2545750ca7272b45f9c081d 1795 1794 2018-01-08T01:52:51Z Jacob 6 wikitext text/x-wiki = Board config = == defconfig and dts == <span style="font-size: 13px; line-height: 1.6;">Every Board has its device tree file and config file required by the kernel and uboot. Therefore, you will need to choose the correct dts and config to build the source.Below list various Boards and the matching file.</span> {| border="1" class="table_style" style="width: 1020px;" |- ! rowspan="2" style="width: 253px;" | board ! rowspan="2" style="width: 172px;" | uboot ! rowspan="2" style="width: 167px;" | kernel config ! rowspan="2" style="width: 287px;" | kernel dts ! colspan="3" rowspan="1" style="width: 287px;" | Hardware |- ! style="width: 287px;" | DDR ! style="width: 287px;" | PMIC ! style="width: 287px;" | Boot |- | style="width: 153px;" | rk3288-evb | style="width: 172px;" | evb-rk3288_defconfig | style="width: 167px;" | rockchip_linux_defconfig | style="width: 287px;" | rk3288-evb-act8846.dts&nbsp; | style="width: 287px; text-align: center;" | &nbsp;LPDDR3 | style="width: 287px; text-align: center;" | &nbsp;act8846 | style="width: 287px; text-align: center;" | emmc boot |- | style="width: 153px;" | rk3288-evb-rk808 | style="width: 172px;" | fennec-rk3288_defconfig | style="width: 167px;" | rockchip_linux_defconfig | style="width: 287px;" | rk3288-evb-rk808-linux.dts | style="width: 287px; text-align: center;" | LPDDR3 | style="width: 287px; text-align: center;" | rk808 | style="width: 287px; text-align: center;" | emmc boot |- | style="width: 153px;" | rk3288-fennec | style="width: 172px;" | fennec-rk3288_defconfig | style="width: 167px;" | rockchip_linux_defconfig | style="width: 287px;" | rk3288-fennec.dts | style="width: 287px; text-align: center;" | LPDDR3 | style="width: 287px; text-align: center;" | rk808 | style="width: 287px; text-align: center;" | emmc boot |- | style="width: 153px;" | rk3288-miniarm | style="width: 172px;" | tinker-rk3288_defconfig | style="width: 167px;" | rockchip_linux_defconfig | style="width: 287px;" | rk3288-miniarm.dts | style="width: 287px; text-align: center;" | LPDDR3 | style="width: 287px; text-align: center;" | rk808 | style="width: 287px; text-align: center;" | sd-card boot |- | style="width: 153px;" | rk3288-firefly | style="width: 172px;" | firefly-rk3288_defconfig | style="width: 167px;" | rockchip_linux_defconfig | style="width: 287px;" | rk3288-firefly.dts | style="width: 287px; text-align: center;" | DDR3 | style="width: 287px; text-align: center;" | act8846 | style="width: 287px; text-align: center;" | sd-card boot |- | style="width: 153px;" | rk3288-firefly-reload | style="width: 172px;" | firefly-rk3288_defconfig | style="width: 167px;" | rockchip_linux_defconfig | style="width: 287px;" | rk3288-firefly-reload-linux.dts | style="width: 287px; text-align: center;" | DDR3 | style="width: 287px; text-align: center;" | rk808 | style="width: 287px; text-align: center;" | sd-card boot |- | style="width: 153px;" | rk3288-phytec | style="width: 172px;" | phtec-rk3288_defconfig | style="width: 167px;" | rockchip_linux_defconfig | style="width: 287px;" | rk3288-phytec-rdk.dts | style="width: 287px; text-align: center;" | DDR3 | style="width: 287px; text-align: center;" | rk818 | style="width: 287px; text-align: center;" | emmc boot |- | style="width: 153px;" | rk3328-evb | style="width: 172px;" | evb-rk3328_defconfig | style="width: 167px;" | rockchip_linux_defconfig | style="width: 287px;" | rk3328-evb.dts | style="width: 287px; text-align: center;" | DDR3 | style="width: 287px; text-align: center;" | rk805 | style="width: 287px; text-align: center;" | emmc boot |- | style="width: 153px;" | rk3399-excavator | style="width: 172px;" | evb-rk3399_defconfig | style="width: 167px;" | rockchip_linux_defconfig | style="width: 287px;" | rk3399-sapphire-excavator-linux.dts | style="width: 287px; text-align: center;" | LPDDR4 | style="width: 287px; text-align: center;" | rk808 | style="width: 287px; text-align: center;" | emmc boot |- | style="width: 153px;" | rk3399-firefly | style="width: 172px;" | firefly-rk3399_defconfig | style="width: 167px;" | rockchip_linux_defconfig | style="width: 287px;" | rk3399-firefly-linux.dts | style="width: 287px; text-align: center;" | LPDDR4 | style="width: 287px; text-align: center;" | rk808 | style="width: 287px; text-align: center;" | emmc boot |- | style="width: 153px;" | rk3036-kylin | style="width: 172px;" | kylin-rk3036_defconfig | style="width: 167px;" | rockchip_linux_defconfig | style="width: 287px;" | rk3036-kylin.dts | style="width: 287px; text-align: center;" | DDR3 | style="width: 287px; text-align: center;" | rk808 | style="width: 287px; text-align: center;" | emmc boot |} &nbsp; == Config Per Chip == {| border="1" class="table_style" |- ! chip ! Kernel eMMC index ! Kernel SD index ! Uboot eMMC index ! Uboot SD index ! Baud speed |- | rk3399 | 1 | 0 | 0 | 1 | 1500000 |- | rk3328 | 2 | 0 | 0 | 1 | 1500000 |- | rk3288 | 2 | 0 | 0 | 1 | 115200 |- | rk3036 | 2 | 0 | 0 | - | 115200 |} ---- 4679c9a25b96578276bb4773132bee233d0e56ff 1796 1795 2018-01-08T01:53:55Z Jacob 6 wikitext text/x-wiki = Board config = == defconfig and dts == <span style="font-size: 13px; line-height: 1.6;">Every Board has its device tree file and config file required by the kernel and uboot. Therefore, you will need to choose the correct dts and config to build the source.Below list various Boards and the matching file.</span> {| border="1" class="table_style" style="width: 1020px;" |- ! rowspan="2" style="width: 253px;" | board ! rowspan="2" style="width: 172px;" | uboot ! rowspan="2" style="width: 167px;" | kernel config ! rowspan="2" style="width: 287px;" | kernel dts ! colspan="3" rowspan="1" style="width: 287px;" | Hardware |- ! style="width: 287px;" | DDR ! style="width: 287px;" | PMIC ! style="width: 287px;" | Boot |- | style="width: 153px;" | rk3288-evb | style="width: 172px;" | evb-rk3288_defconfig | style="width: 167px;" | rockchip_linux_defconfig | style="width: 287px;" | rk3288-evb-act8846.dts&nbsp; | style="width: 287px; text-align: center;" | &nbsp;LPDDR3 | style="width: 287px; text-align: center;" | &nbsp;act8846 | style="width: 287px; text-align: center;" | emmc boot |- | style="width: 153px;" | rk3288-evb-rk808 | style="width: 172px;" | <del>fennec-rk3288_defconfig</del> | style="width: 167px;" | rockchip_linux_defconfig | style="width: 287px;" | rk3288-evb-rk808-linux.dts | style="width: 287px; text-align: center;" | LPDDR3 | style="width: 287px; text-align: center;" | rk808 | style="width: 287px; text-align: center;" | emmc boot |- | style="width: 153px;" | rk3288-fennec | style="width: 172px;" | fennec-rk3288_defconfig | style="width: 167px;" | rockchip_linux_defconfig | style="width: 287px;" | rk3288-fennec.dts | style="width: 287px; text-align: center;" | LPDDR3 | style="width: 287px; text-align: center;" | rk808 | style="width: 287px; text-align: center;" | emmc boot |- | style="width: 153px;" | rk3288-miniarm | style="width: 172px;" | tinker-rk3288_defconfig | style="width: 167px;" | rockchip_linux_defconfig | style="width: 287px;" | rk3288-miniarm.dts | style="width: 287px; text-align: center;" | LPDDR3 | style="width: 287px; text-align: center;" | rk808 | style="width: 287px; text-align: center;" | sd-card boot |- | style="width: 153px;" | rk3288-firefly | style="width: 172px;" | firefly-rk3288_defconfig | style="width: 167px;" | rockchip_linux_defconfig | style="width: 287px;" | rk3288-firefly.dts | style="width: 287px; text-align: center;" | DDR3 | style="width: 287px; text-align: center;" | act8846 | style="width: 287px; text-align: center;" | sd-card boot |- | style="width: 153px;" | rk3288-firefly-reload | style="width: 172px;" | <del>f<var>irefly-rk3288_defconfig</var></del> | style="width: 167px;" | rockchip_linux_defconfig | style="width: 287px;" | rk3288-firefly-reload-linux.dts | style="width: 287px; text-align: center;" | DDR3 | style="width: 287px; text-align: center;" | rk808 | style="width: 287px; text-align: center;" | sd-card boot |- | style="width: 153px;" | rk3288-phytec | style="width: 172px;" | phtec-rk3288_defconfig | style="width: 167px;" | rockchip_linux_defconfig | style="width: 287px;" | rk3288-phytec-rdk.dts | style="width: 287px; text-align: center;" | DDR3 | style="width: 287px; text-align: center;" | rk818 | style="width: 287px; text-align: center;" | emmc boot |- | style="width: 153px;" | rk3328-evb | style="width: 172px;" | evb-rk3328_defconfig | style="width: 167px;" | rockchip_linux_defconfig | style="width: 287px;" | rk3328-evb.dts | style="width: 287px; text-align: center;" | DDR3 | style="width: 287px; text-align: center;" | rk805 | style="width: 287px; text-align: center;" | emmc boot |- | style="width: 153px;" | rk3399-excavator | style="width: 172px;" | evb-rk3399_defconfig | style="width: 167px;" | rockchip_linux_defconfig | style="width: 287px;" | rk3399-sapphire-excavator-linux.dts | style="width: 287px; text-align: center;" | LPDDR4 | style="width: 287px; text-align: center;" | rk808 | style="width: 287px; text-align: center;" | emmc boot |- | style="width: 153px;" | rk3399-firefly | style="width: 172px;" | firefly-rk3399_defconfig | style="width: 167px;" | rockchip_linux_defconfig | style="width: 287px;" | rk3399-firefly-linux.dts | style="width: 287px; text-align: center;" | LPDDR4 | style="width: 287px; text-align: center;" | rk808 | style="width: 287px; text-align: center;" | emmc boot |- | style="width: 153px;" | rk3036-kylin | style="width: 172px;" | kylin-rk3036_defconfig | style="width: 167px;" | rockchip_linux_defconfig | style="width: 287px;" | rk3036-kylin.dts | style="width: 287px; text-align: center;" | DDR3 | style="width: 287px; text-align: center;" | rk808 | style="width: 287px; text-align: center;" | emmc boot |} &nbsp; == Config Per Chip == {| border="1" class="table_style" |- ! chip ! Kernel eMMC index ! Kernel SD index ! Uboot eMMC index ! Uboot SD index ! Baud speed |- | rk3399 | 1 | 0 | 0 | 1 | 1500000 |- | rk3328 | 2 | 0 | 0 | 1 | 1500000 |- | rk3288 | 2 | 0 | 0 | 1 | 115200 |- | rk3036 | 2 | 0 | 0 | - | 115200 |} ---- d9febb50fd4d32409990f894a5b3adb999f90bed Main Page 0 16 1800 1684 2018-01-16T06:35:39Z Admin 1 wikitext text/x-wiki = '''Source code''' = Rockchip provide open source software on Github including fully support for Linux Based OS: *Github: [https://github.com/rockchip-linux rockchip-linux] You can also find software for Rockchip SoCs from Upstream: *[https://www.kernel.org/ Linux kernel] *[http://www.denx.de/wiki/U-Boot/WebHome U-Boot] *[https://github.com/ARM-software/arm-trusted-firmware ARM Trusted Firmware] If you are using a Chrombook with Rockchip SoC, you can use: *[https://chromium.googlesource.com/chromiumos/third_party/coreboot Chromium OS&nbsp;Coreboot] *[https://chromium.googlesource.com/chromiumos/third_party/kernel Chromium OS kernel] &nbsp; &nbsp; &nbsp; = '''Hardware Document''' = Here are the documents for SoCs, you can find&nbsp;Hardware device/board information on [[Devices|DEVICE LIST PAGE]]. {| border="1" cellpadding="0" cellspacing="0" class="table_style" |- ! style="width:92px;" | <p style="text-align: center;">SoC</p> ! style="width:286px;" | <p style="text-align: center;">Description</p> ! style="width:189px;" | <p style="text-align: center;">Download</p> |- | style="width: 92px; text-align: center;" | [[RK3036|RK3036]] | style="width:286px;" | Dual-core Cortex-A7,&nbsp;Mali 400 MP1 GPU | style="width:189px;" | [[Media:Rockchip_RK3036_Datasheet_V1.2_20160115.pdf|Datasheet]],&nbsp;[[Media:RK3036_hardware_reference.zip|Schematic&Layout Guide]] |- | style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p> | style="width:286px;" | Quad-core Cortex-A17 CPU, MALI-T764 GPU | style="width:189px;" | [[Media:Rockchip_RK3288_TRM_V1.2_Part1-20170321.pdf|TRM]], [[Media:Rockchip_RK3288_Datasheet_V2.2-20170301.pdf|Datasheet]],&nbsp; [[Media:Rk3288_hardware_reference.zip|Schematic&Layout Guide]] |- | style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p> | style="width:286px;" | Quad-core Cortex-A53 CPU,MALI-450MP2 GPU | style="width:189px;" | [[Media:Rockchip_RK3328TRM_V1.1-Part1-20170321.pdf|TRM]], [[Media:Rockchip_RK3328_Datasheet_V1.1-20170309.pdf|Datasheet]],&nbsp; [[Media:Rk3328_hardware_reference.zip|Schematic&Layout Guide]] |- | style="width:92px;" | <p style="text-align: center;">[[RK3399|RK3399]]</p> | style="width:286px;" | Dual-core Cortex-A72, Quad-core Cortex-A53 CPU, MALI-T864 GPU | style="width:189px;" | [[Media:Rockchip_RK3399TRM_V1.4_Part1-20170408.pdf|TRM]], [[Media:Rockchip_RK3399_Datasheet_V1.6-20170301.pdf|Datasheet]],&nbsp; [[Media:Rk3399_hardware_reference.zip|Schematic&Layout Guide]] |} Note: Click SoC name for Detail information and Document for the SoC. &nbsp; &nbsp; = '''Software development&nbsp;''' = '''&nbsp; &nbsp; &nbsp; &nbsp;Software Status[[Status_Matrix|Matrix]]''' *'''Porting guide for Linux based OS/Distribution''' **[[Linux_user_guide|Linux_user_guide]] **[[Debian|Debian]] **[[Yocto|Yocto]] **[[Buildroot|Buildroot]] **[[Distribution|Other distribution]] *'''BSP module user guide''' **[[U-Boot|U-Boot]]&nbsp; **[[Rockchip_Kernel|Rockchip Kernel]] **[[Upstream_Kernel|Upstream Kernel]] **[[Atf|ARM Trusted&nbsp;Firmware]] *'''Graphics and Multimedia&nbsp;user guide''' **[[Graphics|Graphics and display]] **[[Mpp|Multimedia--Video Codec]] **[[Camera|Multimedia--Camera]] *'''Tool and Firmware Upgrade''' **[[Rockusb|Rockusb]] **[[Rkdeveloptool|Rkdeveloptool]] **[[Boot_option|Boot_option]] '''<span style="font-size:xx-large;">Feedback</span>''' Any question about software module on github, please ask&nbsp;at issue page of github project. If you have any other questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website, Email-to: opensource@rock-chips.com 4c6b9efc4fab913759eb35597d67318c9232ce64 1801 1800 2018-01-16T06:36:36Z Admin 1 wikitext text/x-wiki = '''Source code''' = Rockchip provide open source software on Github including fully support for Linux Based OS: *Github: [https://github.com/rockchip-linux rockchip-linux] You can also find software for Rockchip SoCs from Upstream: *[https://www.kernel.org/ Linux kernel] *[http://www.denx.de/wiki/U-Boot/WebHome U-Boot] *[https://github.com/ARM-software/arm-trusted-firmware ARM Trusted Firmware] If you are using a Chrombook with Rockchip SoC, you can use: *[https://chromium.googlesource.com/chromiumos/third_party/coreboot Chromium OS&nbsp;Coreboot] *[https://chromium.googlesource.com/chromiumos/third_party/kernel Chromium OS kernel] &nbsp; &nbsp; &nbsp; = '''Hardware Document''' = Here are the documents for SoCs, you can find&nbsp;Hardware device/board information on [[Devices|DEVICE LIST PAGE]]. {| border="1" cellpadding="0" cellspacing="0" class="table_style" |- ! style="width:92px;" | <p style="text-align: center;">SoC</p> ! style="width:286px;" | <p style="text-align: center;">Description</p> ! style="width:189px;" | <p style="text-align: center;">Download</p> |- | style="width: 92px; text-align: center;" | [[RK3036|RK3036]] | style="width:286px;" | Dual-core Cortex-A7,&nbsp;Mali 400 MP1 GPU | style="width:189px;" | [[Media:Rockchip_RK3036_Datasheet_V1.2_20160115.pdf|Datasheet]],&nbsp;[[Media:RK3036_hardware_reference.zip|Schematic&Layout Guide]] |- | style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p> | style="width:286px;" | Quad-core Cortex-A17 CPU, MALI-T764 GPU | style="width:189px;" | [[Media:Rockchip_RK3288_TRM_V1.2_Part1-20170321.pdf|TRM]], [[Media:Rockchip_RK3288_Datasheet_V2.2-20170301.pdf|Datasheet]],&nbsp; [[Media:Rk3288_hardware_reference.zip|Schematic&Layout Guide]] |- | style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p> | style="width:286px;" | Quad-core Cortex-A53 CPU,MALI-450MP2 GPU | style="width:189px;" | [[Media:Rockchip_RK3328TRM_V1.1-Part1-20170321.pdf|TRM]], [[Media:Rockchip_RK3328_Datasheet_V1.1-20170309.pdf|Datasheet]],&nbsp; [[Media:Rk3328_hardware_reference.zip|Schematic&Layout Guide]] |- | style="width:92px;" | <p style="text-align: center;">[[RK3399|RK3399]]</p> | style="width:286px;" | Dual-core Cortex-A72, Quad-core Cortex-A53 CPU, MALI-T864 GPU | style="width:189px;" | [[Media:Rockchip_RK3399TRM_V1.4_Part1-20170408.pdf|TRM]], [[Media:Rockchip_RK3399_Datasheet_V1.6-20170301.pdf|Datasheet]],&nbsp; [[Media:Rk3399_hardware_reference.zip|Schematic&Layout Guide]] |} Note: Click SoC name for Detail information and Document for the SoC. &nbsp; &nbsp; = '''Software development&nbsp;''' = '''&nbsp; &nbsp; &nbsp; &nbsp;Software Feature Supoort [[StatusMatrix|Status]][[Status_Matrix|Matrix]]''' *'''Porting guide for Linux based OS/Distribution''' **[[Linux_user_guide|Linux_user_guide]] **[[Debian|Debian]] **[[Yocto|Yocto]] **[[Buildroot|Buildroot]] **[[Distribution|Other distribution]] *'''BSP module user guide''' **[[U-Boot|U-Boot]]&nbsp; **[[Rockchip_Kernel|Rockchip Kernel]] **[[Upstream_Kernel|Upstream Kernel]] **[[Atf|ARM Trusted&nbsp;Firmware]] *'''Graphics and Multimedia&nbsp;user guide''' **[[Graphics|Graphics and display]] **[[Mpp|Multimedia--Video Codec]] **[[Camera|Multimedia--Camera]] *'''Tool and Firmware Upgrade''' **[[Rockusb|Rockusb]] **[[Rkdeveloptool|Rkdeveloptool]] **[[Boot_option|Boot_option]] '''<span style="font-size:xx-large;">Feedback</span>''' Any question about software module on github, please ask&nbsp;at issue page of github project. If you have any other questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website, Email-to: opensource@rock-chips.com 75c5ada4835a256f57adea33a674b03c061ae9b9 1802 1801 2018-01-16T06:37:25Z Admin 1 wikitext text/x-wiki = '''Source code''' = Rockchip provide open source software on Github including fully support for Linux Based OS: *Github: [https://github.com/rockchip-linux rockchip-linux] You can also find software for Rockchip SoCs from Upstream: *[https://www.kernel.org/ Linux kernel] *[http://www.denx.de/wiki/U-Boot/WebHome U-Boot] *[https://github.com/ARM-software/arm-trusted-firmware ARM Trusted Firmware] If you are using a Chrombook with Rockchip SoC, you can use: *[https://chromium.googlesource.com/chromiumos/third_party/coreboot Chromium OS&nbsp;Coreboot] *[https://chromium.googlesource.com/chromiumos/third_party/kernel Chromium OS kernel] &nbsp; &nbsp; &nbsp; = '''Hardware Document''' = Here are the documents for SoCs, you can find&nbsp;Hardware device/board information on [[Devices|DEVICE LIST PAGE]]. {| border="1" cellpadding="0" cellspacing="0" class="table_style" |- ! style="width:92px;" | <p style="text-align: center;">SoC</p> ! style="width:286px;" | <p style="text-align: center;">Description</p> ! style="width:189px;" | <p style="text-align: center;">Download</p> |- | style="width: 92px; text-align: center;" | [[RK3036|RK3036]] | style="width:286px;" | Dual-core Cortex-A7,&nbsp;Mali 400 MP1 GPU | style="width:189px;" | [[Media:Rockchip_RK3036_Datasheet_V1.2_20160115.pdf|Datasheet]],&nbsp;[[Media:RK3036_hardware_reference.zip|Schematic&Layout Guide]] |- | style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p> | style="width:286px;" | Quad-core Cortex-A17 CPU, MALI-T764 GPU | style="width:189px;" | [[Media:Rockchip_RK3288_TRM_V1.2_Part1-20170321.pdf|TRM]], [[Media:Rockchip_RK3288_Datasheet_V2.2-20170301.pdf|Datasheet]],&nbsp; [[Media:Rk3288_hardware_reference.zip|Schematic&Layout Guide]] |- | style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p> | style="width:286px;" | Quad-core Cortex-A53 CPU,MALI-450MP2 GPU | style="width:189px;" | [[Media:Rockchip_RK3328TRM_V1.1-Part1-20170321.pdf|TRM]], [[Media:Rockchip_RK3328_Datasheet_V1.1-20170309.pdf|Datasheet]],&nbsp; [[Media:Rk3328_hardware_reference.zip|Schematic&Layout Guide]] |- | style="width:92px;" | <p style="text-align: center;">[[RK3399|RK3399]]</p> | style="width:286px;" | Dual-core Cortex-A72, Quad-core Cortex-A53 CPU, MALI-T864 GPU | style="width:189px;" | [[Media:Rockchip_RK3399TRM_V1.4_Part1-20170408.pdf|TRM]], [[Media:Rockchip_RK3399_Datasheet_V1.6-20170301.pdf|Datasheet]],&nbsp; [[Media:Rk3399_hardware_reference.zip|Schematic&Layout Guide]] |} Note: Click SoC name for Detail information and Document for the SoC. &nbsp; &nbsp; = '''Software development&nbsp;''' = '''&nbsp; &nbsp; &nbsp; &nbsp;Software Feature Supoort [[Status_Matrix]]''' *'''Porting guide for Linux based OS/Distribution''' **[[Linux_user_guide|Linux_user_guide]] **[[Debian|Debian]] **[[Yocto|Yocto]] **[[Buildroot|Buildroot]] **[[Distribution|Other distribution]] *'''BSP module user guide''' **[[U-Boot|U-Boot]]&nbsp; **[[Rockchip_Kernel|Rockchip Kernel]] **[[Upstream_Kernel|Upstream Kernel]] **[[Atf|ARM Trusted&nbsp;Firmware]] *'''Graphics and Multimedia&nbsp;user guide''' **[[Graphics|Graphics and display]] **[[Mpp|Multimedia--Video Codec]] **[[Camera|Multimedia--Camera]] *'''Tool and Firmware Upgrade''' **[[Rockusb|Rockusb]] **[[Rkdeveloptool|Rkdeveloptool]] **[[Boot_option|Boot_option]] '''<span style="font-size:xx-large;">Feedback</span>''' Any question about software module on github, please ask&nbsp;at issue page of github project. If you have any other questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website, Email-to: opensource@rock-chips.com d9ddb564c54a85ed084f589dadeab41eeba18b52 1803 1802 2018-01-16T06:38:12Z Admin 1 wikitext text/x-wiki = '''Source code''' = Rockchip provide open source software on Github including fully support for Linux Based OS: *Github: [https://github.com/rockchip-linux rockchip-linux] You can also find software for Rockchip SoCs from Upstream: *[https://www.kernel.org/ Linux kernel] *[http://www.denx.de/wiki/U-Boot/WebHome U-Boot] *[https://github.com/ARM-software/arm-trusted-firmware ARM Trusted Firmware] If you are using a Chrombook with Rockchip SoC, you can use: *[https://chromium.googlesource.com/chromiumos/third_party/coreboot Chromium OS&nbsp;Coreboot] *[https://chromium.googlesource.com/chromiumos/third_party/kernel Chromium OS kernel] &nbsp; = '''Hardware Document''' = Here are the documents for SoCs, you can find&nbsp;Hardware device/board information on [[Devices|DEVICE LIST PAGE]]. {| border="1" cellpadding="0" cellspacing="0" class="table_style" |- ! style="width:92px;" | <p style="text-align: center;">SoC</p> ! style="width:286px;" | <p style="text-align: center;">Description</p> ! style="width:189px;" | <p style="text-align: center;">Download</p> |- | style="width: 92px; text-align: center;" | [[RK3036|RK3036]] | style="width:286px;" | Dual-core Cortex-A7,&nbsp;Mali 400 MP1 GPU | style="width:189px;" | [[Media:Rockchip_RK3036_Datasheet_V1.2_20160115.pdf|Datasheet]],&nbsp;[[Media:RK3036_hardware_reference.zip|Schematic&Layout Guide]] |- | style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p> | style="width:286px;" | Quad-core Cortex-A17 CPU, MALI-T764 GPU | style="width:189px;" | [[Media:Rockchip_RK3288_TRM_V1.2_Part1-20170321.pdf|TRM]], [[Media:Rockchip_RK3288_Datasheet_V2.2-20170301.pdf|Datasheet]],&nbsp; [[Media:Rk3288_hardware_reference.zip|Schematic&Layout Guide]] |- | style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p> | style="width:286px;" | Quad-core Cortex-A53 CPU,MALI-450MP2 GPU | style="width:189px;" | [[Media:Rockchip_RK3328TRM_V1.1-Part1-20170321.pdf|TRM]], [[Media:Rockchip_RK3328_Datasheet_V1.1-20170309.pdf|Datasheet]],&nbsp; [[Media:Rk3328_hardware_reference.zip|Schematic&Layout Guide]] |- | style="width:92px;" | <p style="text-align: center;">[[RK3399|RK3399]]</p> | style="width:286px;" | Dual-core Cortex-A72, Quad-core Cortex-A53 CPU, MALI-T864 GPU | style="width:189px;" | [[Media:Rockchip_RK3399TRM_V1.4_Part1-20170408.pdf|TRM]], [[Media:Rockchip_RK3399_Datasheet_V1.6-20170301.pdf|Datasheet]],&nbsp; [[Media:Rk3399_hardware_reference.zip|Schematic&Layout Guide]] |} Note: Click SoC name for Detail information and Document for the SoC. &nbsp; = '''Software development&nbsp;''' = '''&nbsp; &nbsp; &nbsp; &nbsp;Software Feature Supoort [[Status_Matrix|Status_Matrix]]''' *'''Porting guide for Linux based OS/Distribution''' **[[Linux_user_guide|Linux_user_guide]] **[[Debian|Debian]] **[[Yocto|Yocto]] **[[Buildroot|Buildroot]] **[[Distribution|Other distribution]] *'''BSP module user guide''' **[[U-Boot|U-Boot]]&nbsp; **[[Rockchip_Kernel|Rockchip Kernel]] **[[Upstream_Kernel|Upstream Kernel]] **[[Atf|ARM Trusted&nbsp;Firmware]] *'''Graphics and Multimedia&nbsp;user guide''' **[[Graphics|Graphics and display]] **[[Mpp|Multimedia--Video Codec]] **[[Camera|Multimedia--Camera]] *'''Tool and Firmware Upgrade''' **[[Rockusb|Rockusb]] **[[Rkdeveloptool|Rkdeveloptool]] **[[Boot_option|Boot_option]] '''<span style="font-size:xx-large;">Feedback</span>''' Any question about software module on github, please ask&nbsp;at issue page of github project. If you have any other questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website, Email-to: opensource@rock-chips.com 9c1280e83bf4dcb1aad25de58494bebdf48136bc U-Boot 0 11 1817 1551 2018-01-23T07:49:21Z Jacob 6 wikitext text/x-wiki U-Boot Guide = Download U-Boot = == Upstream U-Boot == You can clone the u-boot repository by running: <pre>git clone git://git.denx.de/u-boot.git</pre> Alternatively you can use u-boot-rockchip instead which may with some patches not get in mainline: <pre>git clone git://git.denx.de/u-boot-rockchip.git </pre> == Rockchip U-Boot == You can clone the u-boot repository by running: <pre>git clone https://github.com/rockchip-linux/u-boot.git </pre> = Supported Devices = Upstream U-Boot support Rockchip SoCs: RK3036, RK3188, [[RK3288|RK3288]], [[RK3328|RK3328]], [[RK3399|RK3399]] *RK3036 boards supported: <ol style="margin-left: 40px;"> <li>EVB RK3036 - use evb-rk3036 configuration</li> <li>Kylin - use kylin_rk3036 configuration</li> </ol> *RK3288 boards supported: <ol style="margin-left: 40px;"> <li>EVB RK3288 - use evb-rk3288 configuration</li> <li>Fennec RK3288 - use fennec-rk3288 configuration</li> <li>Firefly RK3288 - use firefly-rk3288 configuration</li> <li>Hisense Chromebook - use chromebook_jerry configuration</li> <li>Miniarm RK3288 - use miniarm-rk3288 configuration</li> <li>PopMetal RK3288 - use popmetal-rk3288 configuration</li> <li>Radxa Rock 2 - use rock2 configuration</li> <li>ASUS Tinker</li> </ol> *RK3188 boards&nbsp;supported: <ol style="margin-left: 40px;"> <li>Radxa Rock - use rock&nbsp;configuration</li> </ol> *RK3328 boards&nbsp;supported: <ol style="margin-left: 40px;"> <li>EVB RK3328 - use evb-rk3328 configuration</li> </ol> *RK3399 boards&nbsp;supported: <ol style="margin-left: 40px;"> <li>EVB RK3399 - use evb-rk3399 configuration</li> </ol> = Configure U-Boot = First you need to choose a correct defconfig for your board; When you have determined what <board_name> you want to build, configure: <pre>make CROSS_COMPILE=arm-linux-gnueabi-&nbsp;<board_name>_defconfig</pre> You may need to change the U-Boot function/feature support by modify the defconfig file or, there is also menuconfig to play with settings if you feel like it: <pre>make CROSS_COMPILE=arm-linux-gnueabi- menuconfig </pre> = Build U-Boot = == Get a toolchain == If you haven't done so before, get a suitable&nbsp;toolchain&nbsp;installed and add it&nbsp;to your PATH. In Ubuntu 14.04, you can use below command to install cross compiler for armv7: <pre>sudo apt-get install gcc-arm-linux-gnueabi</pre> Or for ARM64 <pre>sudo apt-get install gcc-aarch64-linux-gnu </pre> == Build == For armv7: <pre>make CROSS_COMPILE=arm-linux-gnueabi-</pre> or for ARM64: <pre>make ARCH=arm CROSS_COMPILE=aarch64-linux-gnu-</pre> === others === In order to support debug in ARM DS-5, you may need add ctags in make command: <pre>CFLAGS='-gdwarf-3' </pre> For trust support, we are using FIT image with 'mkimage' cmd in Makefile and its script defined in defconfig: <pre>make u-boot.itb</pre> Note: please copy the trust binary() to u-boot root directory and rename it to tee.bin(armv7) or bl31.elf(armv8). The u-boot.itb including u-boot-nodtb.bin, board.dtb, and trust binaries. = Install U-Boot = Rockchip SoCs's bootrom need special format named IDBlock at special offset 0x40&nbsp;block for boot, so we need to package&nbsp;SPL(or Rockchip miniloader) &nbsp;in IDB format. Rockchip bootrom supports SPL back to bootrom and bootrom load the U-Boot, so the SPL for Rockchip SoCs can option to back to bootrom, usually decided by if the IRAM is enough&nbsp;for driver to load U-Boot. == Using U-Boot SPL == After build&nbsp;complete, U-Boot with SPL support will generate a spl folder with <var>u-boot-spl.bin</var>&nbsp;inside <pre>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl.bin rk3288_idb.img</pre> '''This image is supposed to flash to offset 0x40.''' For&nbsp;<var>u-boot.bin</var>, it's different for SPL back to bootrom or not, if enable&nbsp;CONFIG_ROCKCHIP_SPL_BACK_TO_BROM, we can append the U-Boot to IDB data: <pre>cat u-boot.bin >> rk3288_idb.img</pre> <code>If&nbsp;</code>CONFIG_ROCKCHIP_SPL_BACK_TO_BROM&nbsp;not enabled, no more package operation is need for u-boot-dtb.bin, and it need to flalsh to 0x200 which is decide by&nbsp;CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR. == Support ATF with SPL FIT image == To be continue == Using Rockchip miniloader == Alternatively, you can use Rockchip miniloader and U-Boot instead which do not need SPL. The miniloader is package as IDBlock, and the u-boot.bin need to package with rockchip tool: <pre>loaderimage --pack --uboot u-boot.bin uboot.img</pre> According to the [[Partitions|partitions]] definition, the miniloader should write to offset 0x40 and &nbsp;this uboot.img should write to offset 0x4000. == Boot up == See [[Boot_option|boot option]]&nbsp;about how to boot from eMMC/SD card. = Boot cmd = * Distro boot * EFI boot = Firmware download in U-Boot = In U-Boot, there are multi way to update image for system, you can chose any of one easy use for you. *fastboot *ums *rockusb f75fecc7393ce5c1479c3ad46123ce88786b6fd0 1818 1817 2018-01-23T07:49:51Z Jacob 6 wikitext text/x-wiki U-Boot Guide = Download U-Boot = == Upstream U-Boot == You can clone the u-boot repository by running: <pre>git clone git://git.denx.de/u-boot.git</pre> Alternatively you can use u-boot-rockchip instead which may with some patches not get in mainline: <pre>git clone git://git.denx.de/u-boot-rockchip.git </pre> == Rockchip U-Boot == You can clone the u-boot repository by running: <pre>git clone https://github.com/rockchip-linux/u-boot.git </pre> = Supported Devices = Upstream U-Boot support Rockchip SoCs: RK3036, RK3188, [[RK3288|RK3288]], [[RK3328|RK3328]], [[RK3399|RK3399]] *RK3036 boards supported: <ol style="margin-left: 40px;"> <li>EVB RK3036 - use evb-rk3036 configuration</li> <li>Kylin - use kylin_rk3036 configuration</li> </ol> *RK3288 boards supported: <ol style="margin-left: 40px;"> <li>EVB RK3288 - use evb-rk3288 configuration</li> <li>Fennec RK3288 - use fennec-rk3288 configuration</li> <li>Firefly RK3288 - use firefly-rk3288 configuration</li> <li>Hisense Chromebook - use chromebook_jerry configuration</li> <li>Miniarm RK3288 - use miniarm-rk3288 configuration</li> <li>PopMetal RK3288 - use popmetal-rk3288 configuration</li> <li>Radxa Rock 2 - use rock2 configuration</li> <li>ASUS Tinker</li> </ol> *RK3188 boards&nbsp;supported: <ol style="margin-left: 40px;"> <li>Radxa Rock - use rock&nbsp;configuration</li> </ol> *RK3328 boards&nbsp;supported: <ol style="margin-left: 40px;"> <li>EVB RK3328 - use evb-rk3328 configuration</li> </ol> *RK3399 boards&nbsp;supported: <ol style="margin-left: 40px;"> <li>EVB RK3399 - use evb-rk3399 configuration</li> </ol> = Configure U-Boot = First you need to choose a correct defconfig for your board; When you have determined what <board_name> you want to build, configure: <pre>make CROSS_COMPILE=arm-linux-gnueabi-&nbsp;<board_name>_defconfig</pre> You may need to change the U-Boot function/feature support by modify the defconfig file or, there is also menuconfig to play with settings if you feel like it: <pre>make CROSS_COMPILE=arm-linux-gnueabi- menuconfig </pre> = Build U-Boot = == Get a toolchain == If you haven't done so before, get a suitable&nbsp;toolchain&nbsp;installed and add it&nbsp;to your PATH. In Ubuntu 14.04, you can use below command to install cross compiler for armv7: <pre>sudo apt-get install gcc-arm-linux-gnueabi</pre> Or for ARM64 <pre>sudo apt-get install gcc-aarch64-linux-gnu </pre> == Build == For armv7: <pre>make CROSS_COMPILE=arm-linux-gnueabi-</pre> or for ARM64: <pre>make ARCH=arm CROSS_COMPILE=aarch64-linux-gnu-</pre> === others === In order to support debug in ARM DS-5, you may need add ctags in make command: <pre>CFLAGS='-gdwarf-3' </pre> For trust support, we are using FIT image with 'mkimage' cmd in Makefile and its script defined in defconfig: <pre>make u-boot.itb</pre> Note: please copy the trust binary() to u-boot root directory and rename it to tee.bin(armv7) or bl31.elf(armv8). The u-boot.itb including u-boot-nodtb.bin, board.dtb, and trust binaries. = Install U-Boot = Rockchip SoCs's bootrom need special format named IDBlock at special offset 0x40&nbsp;block for boot, so we need to package&nbsp;SPL(or Rockchip miniloader) &nbsp;in IDB format. Rockchip bootrom supports SPL back to bootrom and bootrom load the U-Boot, so the SPL for Rockchip SoCs can option to back to bootrom, usually decided by if the IRAM is enough&nbsp;for driver to load U-Boot. == Using U-Boot SPL == After build&nbsp;complete, U-Boot with SPL support will generate a spl folder with <var>u-boot-spl.bin</var>&nbsp;inside <pre>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl.bin rk3288_idb.img</pre> '''This image is supposed to flash to offset 0x40.''' For&nbsp;<var>u-boot.bin</var>, it's different for SPL back to bootrom or not, if enable&nbsp;CONFIG_ROCKCHIP_SPL_BACK_TO_BROM, we can append the U-Boot to IDB data: <pre>cat u-boot.bin >> rk3288_idb.img</pre> <code>If&nbsp;</code>CONFIG_ROCKCHIP_SPL_BACK_TO_BROM&nbsp;not enabled, no more package operation is need for u-boot-dtb.bin, and it need to flalsh to 0x200 which is decide by&nbsp;CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR. == Support ATF with SPL FIT image == To be continue == Using Rockchip miniloader == Alternatively, you can use Rockchip miniloader and U-Boot instead which do not need SPL. The miniloader is package as IDBlock, and the u-boot.bin need to package with rockchip tool: <pre>loaderimage --pack --uboot u-boot.bin uboot.img</pre> According to the [[Partitions|partitions]] definition, the miniloader should write to offset 0x40 and &nbsp;this uboot.img should write to offset 0x4000. == Boot up == See [[Boot_option|boot option]]&nbsp;about how to boot from eMMC/SD card. = Boot cmd = *Distro boot *EFI boot = Firmware download in U-Boot = In U-Boot, there are multi way to update image for system, you can chose any of one easy use for you. *fastboot *ums *rockusb 88816e7e70a9b0c702ce6f31055bcdac45235474 1819 1818 2018-01-23T07:50:17Z Jacob 6 wikitext text/x-wiki U-Boot Guide = Download U-Boot = == Upstream U-Boot == You can clone the u-boot repository by running: <pre>git clone git://git.denx.de/u-boot.git</pre> Alternatively you can use u-boot-rockchip instead which may with some patches not get in mainline: <pre>git clone git://git.denx.de/u-boot-rockchip.git </pre> == Rockchip U-Boot == You can clone the u-boot repository by running: <pre>git clone https://github.com/rockchip-linux/u-boot.git </pre> = Supported Devices = Upstream U-Boot support Rockchip SoCs: RK3036, RK3188, [[RK3288|RK3288]], [[RK3328|RK3328]], [[RK3399|RK3399]] *RK3036 boards supported: <ol style="margin-left: 40px;"> <li>EVB RK3036 - use evb-rk3036 configuration</li> <li>Kylin - use kylin_rk3036 configuration</li> </ol> *RK3288 boards supported: <ol style="margin-left: 40px;"> <li>EVB RK3288 - use evb-rk3288 configuration</li> <li>Fennec RK3288 - use fennec-rk3288 configuration</li> <li>Firefly RK3288 - use firefly-rk3288 configuration</li> <li>Hisense Chromebook - use chromebook_jerry configuration</li> <li>Miniarm RK3288 - use miniarm-rk3288 configuration</li> <li>PopMetal RK3288 - use popmetal-rk3288 configuration</li> <li>Radxa Rock 2 - use rock2 configuration</li> <li>ASUS Tinker</li> </ol> *RK3188 boards&nbsp;supported: <ol style="margin-left: 40px;"> <li>Radxa Rock - use rock&nbsp;configuration</li> </ol> *RK3328 boards&nbsp;supported: <ol style="margin-left: 40px;"> <li>EVB RK3328 - use evb-rk3328 configuration</li> </ol> *RK3399 boards&nbsp;supported: <ol style="margin-left: 40px;"> <li>EVB RK3399 - use evb-rk3399 configuration</li> </ol> = Configure U-Boot = First you need to choose a correct defconfig for your board; When you have determined what <board_name> you want to build, configure: <pre>make CROSS_COMPILE=arm-linux-gnueabi-&nbsp;<board_name>_defconfig</pre> You may need to change the U-Boot function/feature support by modify the defconfig file or, there is also menuconfig to play with settings if you feel like it: <pre>make CROSS_COMPILE=arm-linux-gnueabi- menuconfig </pre> = Build U-Boot = == Get a toolchain == If you haven't done so before, get a suitable&nbsp;toolchain&nbsp;installed and add it&nbsp;to your PATH. In Ubuntu 14.04, you can use below command to install cross compiler for armv7: <pre>sudo apt-get install gcc-arm-linux-gnueabi</pre> Or for ARM64 <pre>sudo apt-get install gcc-aarch64-linux-gnu </pre> == Build == For armv7: <pre>make CROSS_COMPILE=arm-linux-gnueabi-</pre> or for ARM64: <pre>make ARCH=arm CROSS_COMPILE=aarch64-linux-gnu-</pre> === others === In order to support debug in ARM DS-5, you may need add ctags in make command: <pre>CFLAGS='-gdwarf-3' </pre> For trust support, we are using FIT image with 'mkimage' cmd in Makefile and its script defined in defconfig: <pre>make u-boot.itb</pre> Note: please copy the trust binary() to u-boot root directory and rename it to tee.bin(armv7) or bl31.elf(armv8). The u-boot.itb including u-boot-nodtb.bin, board.dtb, and trust binaries. = Install U-Boot = Rockchip SoCs's bootrom need special format named IDBlock at special offset 0x40&nbsp;block for boot, so we need to package&nbsp;SPL(or Rockchip miniloader) &nbsp;in IDB format. Rockchip bootrom supports SPL back to bootrom and bootrom load the U-Boot, so the SPL for Rockchip SoCs can option to back to bootrom, usually decided by if the IRAM is enough&nbsp;for driver to load U-Boot. == Using U-Boot SPL == After build&nbsp;complete, U-Boot with SPL support will generate a spl folder with <var>u-boot-spl.bin</var>&nbsp;inside <pre>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl.bin rk3288_idb.img</pre> '''This image is supposed to flash to offset 0x40.''' For&nbsp;<var>u-boot.bin</var>, it's different for SPL back to bootrom or not, if enable&nbsp;CONFIG_ROCKCHIP_SPL_BACK_TO_BROM, we can append the U-Boot to IDB data: <pre>cat u-boot.bin >> rk3288_idb.img</pre> <code>If&nbsp;</code>CONFIG_ROCKCHIP_SPL_BACK_TO_BROM&nbsp;not enabled, no more package operation is need for u-boot-dtb.bin, and it need to flalsh to 0x200 which is decide by&nbsp;CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR. == Support ATF with SPL FIT image == To be continue == Using Rockchip miniloader == Alternatively, you can use Rockchip miniloader and U-Boot instead which do not need SPL. The miniloader is package as IDBlock, and the u-boot.bin need to package with rockchip tool: <pre>loaderimage --pack --uboot u-boot.bin uboot.img</pre> According to the [[Partitions|partitions]] definition, the miniloader should write to offset 0x40 and &nbsp;this uboot.img should write to offset 0x4000. == Boot up == See [[Boot_option|boot option]]&nbsp;about how to boot from eMMC/SD card. = Boot cmd = *Distro boot *EFI boot = Firmware download in U-Boot = In U-Boot, there are multi way to update image for system, you can chose any of one easy use for you. *fastboot *ums *rockusb b95df0637e43040aca44a99cf7e463a5eb7e4b96 Boot option 0 116 1820 1689 2018-01-23T07:51:55Z Jacob 6 wikitext text/x-wiki = Boot introduce = First, let's make the concept clear, there are many boot stages when we boot up a Linux OS; Then we need to know about how the image should packaged, where&nbsp;the image locate; At last, we will explain how to write to different&nbsp;media and boot from there. Here is Rockchip pre-released binaries which may be mentioned later: [https://github.com/rockchip-linux/rkbin https://github.com/rockchip-linux/rkbin] And [http://opensource.rock-chips.com/wiki_Partitions Rockcip Linux GPT partition] here. == Boot flow == Here is a table show the detail what we may use in Rockchip platform, for 2 boot stage: - use U-Boot SPL; - use Rockchp idbLoader which is combinded by Rockchip ddr init bin and miniloader bin; <pre>+--------+----------------+----------+-------------+---------+ | Boot | Terminology #1 | Actual | Rockchip | | | stage | | program | Image | | | number | | name | Name | | +--------+----------------+----------+-------------+---------+ | 1 | Primary | ROM code | BootRom | | | | Program | | | | | | Loader | | | | | | | | | | | 2 | Secondary | U-Boot |idbloader.img| 0x40 |including u-boot if not use miniloader | | Program | SPL |idbspl.img | | | | Loader (SPL) | | | | | | | | | | | 3 | - | U-Boot | u-boot.itb | 0x4000 | including u-boot and atf | | | | u-boot.bin | 0x4000 | | | | | uboot.img | 0x4000 | only used with miniloader | | | | | | | | | ATF | trust.img | 0x6000 | only used with miniloader for armv8 | | | | | | | 4 | - | kernel | boot.img | 0x8000 | | | | | | | | 5 | - | rootfs | rootfs.img | 0x40000 | +--------+----------------+----------+-------------+---------+ </pre> Then when we talking about boot from eMMC/SD/U-Disk/net, they are in different concept: *Stage 1 is always in boot rom, it loads stage 2 and may load stage 3(when SPL_BACK_TO_BROM option enabled). *Boot from SPI flash means firmware for stage 2 and 3(SPL and U-Boot only) in SPI flash and stage 4/5 in other place; *Boot from eMMC means all the firmware(including stage 2, 3, 4, 5) in eMMC; *Boot from SD card means all the firmware(including stage 2, 3, 4, 5) in SD card; *Boot from U-Disk means firmware for stage 4 and 5(not including SPL and U-Boot) in Disk, optionally only including stage 5; *Boot from net/tftp means firmeware for stage 4 and 5(not including SPL and U-Boot) on the network; &nbsp; [[File:Rockchip bootflow.jpg|1000x1000px|Rockchip bootflow.jpg]] Boot Flow 1 is typical Rockchip boot flow with Rockchip miniloader;<br/> Boot Flow 2 is used for most SoCs with U-Boot TPL for ddr init and SPL for trust(ATF/OP-TEE) load and run into next stage;<br/> Boot Flow 3 is use only for RK3399 with SPL ATF support;<br/> Boot Flow 4 is used for armv7 SoCs which do not support trust;<br/> <br/> Note 1. If loader1 have more than 1 stage, program will back to bootrom and bootrom load and run into next stage. eg. If loader1 is tpl and spl, the bootrom will run into tpl first, tpl init ddr and back to bootrom, bootrom then load and run into spl.<br/> Note 2. If trust is enabled, loader1 need to load both trust and u-boot, and then run into trust in secure mode(EL3 in armv8), trust do the initialize and run into U-Boot in non-secure mode(EL2 in armv8).<br/> Note 3. For trust(in trust.img or u-boot.itb), armv7 has only one tee.bin with or without ta, armv8 has bl31.elf and option with bl32.<br/> Note 4. In boot.img, content can be zImage and its dtb for Linux, and can optionally be grub.efi, and can be AOSP boot.img, ramdisk is option; == Package option == After we know about the boot stages, Here are the file list before package for stage 2~4: *From source code: **From U-Boot: '''u-boot-spl.bin''', '''u-boot.bin'''(may use u-boot-nodtb.bin and u-boot.dtb instead), **From kernel: kernel '''Image/zImage''' file, kernel dtb, **From ATF: '''bl31.elf'''; *From Rockchip binary: **ddr, usbplug, miniloader, bl31/op-tee, (all with&nbsp;chip 'rkxx_'&nbsp; prefix and with version '_x.xx.bin' postfix); We offer two different boot-loader methods for different solutions, the steps and request files are also complete different. But not all the platforms supports the both boot-loader methods. Here are the types to&nbsp;package image from those files: === The Pre-bootloader(TBL/SPL) === ==== idbspl.img ==== U-Boot SPL, with&nbsp;SPL_BACK_TO_BROM option '''disabled'''. <pre>mkimage -n rkxxxx -T rksd -d spl/u-boot-spl.bin idbspl.img</pre> Flash the idbspl.img to offset 0x40 which only including stage 2, and need flash stage 3 &nbsp;image to 0x200(which is defineded by CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR), the stage 3 image may be&nbsp;u-boot.bin directly(when there no ATF requirement), or FIT image bl3.itb(for ATF load from SPL, including bl31.bin, u-boot-nodtb.bin and u-boot.dtb). ==== idbloader.img ==== U-Boot SPL, with&nbsp;SPL_BACK_TO_BROM option '''enabled''': <pre>tools/mkimage -n rkxxxx -T rksd -d spl/u-boot-spl.bin idbloader.img cat u-boot.bin >> idbloader.img</pre> Flash the idbloader.img to offset 0x40 which including boot stage 2 and 3. ==== Rockchip Miniloader ==== Package the image from Rockchip binary: <pre>dd if=rkxx_ddr_vx.xx.bin of=ddr.bin bs=4 skip=1 tools/mkimage -n rkxxxx -T rksd -d ddr.bin idbloader.img rm ddr.bin cat rkxx_miniloader_vx.xx.bin >> idbloader.img</pre> The ddr binary files for ARM64 platforms from Rockchip, likes RK3399 and RK3328 should not skip first 4 bytes. <pre>tools/mkimage -n rkxxxx -T rksd -d rkxx_ddr_vx.xx.bin idbloader.img rm ddr.bin cat rkxx_miniloader_vx.xx.bin >> idbloader.img</pre> Flash the idbloader.img to offset 0x40 which including stage 2, and you will need a uboot.img for boot stage 3. === U-Boot === ==== u-boot.itb ==== When using SPL to load the ATF/OP-TEE, package the bl31.bin, u-boot-nodtb.bin and uboot.dtb into one FIT image. You can skip the step to package the Trust image and flash that image in the next section. <pre>make u-boot.itb </pre> Note: please copy the trust binary() to u-boot root directory and rename it to tee.bin(armv7) or bl31.elf(armv8). Flash the u-boot.itb to offset 0x4000, while&nbsp;need idbspl.img flash&nbsp;to offset 0x40. ==== uboot.img ==== When using idbLoader from&nbsp;Rockchip miniloader, need package u-boot.bin into miniloader loadable format by Rockchip tool loaderimage. <pre>tools/loaderimage --pack --uboot u-boot.bin uboot.img</pre> Flash the uboot.img to offset 0x4000 which is stage 3; === Trust === When using idbLoader from&nbsp;Rockchip miniloader, need package bl31.bin into miniloader loadable format by Rockchip tool trustmerge. <pre>tools/trustmerge tools/rk_tools/RKTRUST_RKXXXXTRUST.ini</pre> Flash the trust.img to offset 0x6000 which is for using Rockchip miniloader === boot.img === This image is package the kernel Image and dtb file into a know filesystem(FAT or EXT2) image for distro boot. See [[Rockchip_Kernel#Install_Boot.2Fkernel|Install kernel]] for detail about generate boot.img from kernel zImage/Image, dtb. Flash the boot.img to offset 0x8000 which is stage 4. === rootfs.img === Flash the rootfs.img to offset 0x40000 which is stage 5. As long as the kernel you chosen can support that filesystem, there is not limit in the format of the image. === rkxx_loader_vx.xx.xxx.bin === This is provide by Rockchip in binary mode, which is used for firmware upgrade to eMMC with [[Rkdeveloptool|rkdeveloptool]], can not be wirte to media device directly. This is a package from ddr.bin, usbplug.bin, miniloader.bin, Rockchip tool ''DB ''command will make usbplug.bin running in target which perform as a Rockusb device. You can skip to package this image, Rockchip will offer this image at the most of time. = Flash and boot from Media device = Here we introduce how to write image to different Medeia device. Get image Ready: *For armv7 with SPL with SPL_BACK_TO_BROM option enabled: **idbLoader.img **boot.img or boot folder with zImage, dtb and exitlinulx inside **rootfs.img *For armv7 with SPL with SPL_BACK_TO_BROM option disabled: **idbspl.img **u-boot.bin **boot.img or boot folder with zImage, dtb and exitlinulx inside **rootfs.img *For armv7 with miniloader **idbLoader.img **uboot.img **boot.img or&nbsp;boot folder with zImage, dtb and exitlinulx inside **rootfs.img *For armv8 with SPL: **idbspl.img **bl3.itb **boot.img or&nbsp;boot folder with Image, dtb and exitlinulx inside **rootfs.img *For armv8 with miniloader **idbLoader.img **uboot.img **trust.img **boot.img or&nbsp;boot folder with Image, dtb and exitlinulx inside **rootfs.img == Boot from eMMC == The eMMC is on the hardware board, so we need: *Get the board into [[Rockusb#Maskrom_mode|maskrom mode]]; *Connect the target to PC with USB cable; *Flash the image to eMMC with [[Rkdeveloptool|rkdeveloptool]] Example commands for flash image to target. Flash the gpt partition to target: <pre style="margin-left: 40px;">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool gpt parameter_gpt.txt</pre> *For armv7 with SPL with SPL_BACK_TO_BROM option enabled(rk3036, rk3188, rk3288): <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbloader.img rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> *For armv7 with SPL with SPL_BACK_TO_BROM option disabled(rk3288): <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbspl.img rkdeveloptool wl 0x200 u-boot.bin rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> *For armv7 with miniloader(rk3036, rk3188, rk3288) <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbloader.img rkdeveloptool wl 0x4000 uboot.img rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> *For armv8 with SPL(rk3399): <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbspl.img rkdeveloptool wl 0x200 bl3.itb rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> *For armv8 with miniloader(rk3399, rk3328) <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbloader.img rkdeveloptool wl 0x4000 uboot.img rkdeveloptool wl 0x6000 trust.img rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> == Boot from SD/TF Card == We can write SD/TF card with Linux PC ''dd'' command very easily. Insert SD card to PC and we assume the /dev/sdb is the SD card device. *For armv7 with SPL with SPL_BACK_TO_BROM option enabled(rk3036, rk3188, rk3288): <pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64 dd if=boot.img of=sdb seek=32768 dd if=rootfs.img of=sdb seek=262144 </pre> *For armv7 with SPL with SPL_BACK_TO_BROM option disabled(rk3288): <pre style="margin-left: 40px">dd if=idbspl.img of=sdb seek=64 dd if=u-boot.bin of=sdb seek=512 dd if=boot.img of=sdb seek=32768 dd if=rootfs.img of=sdb seek=262144 </pre> *For armv7 with miniloader(rk3036, rk3188, rk3288) <pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64 dd if=uboot.img of=sdb seek=16384 dd if=boot.img of=sdb seek=32768 dd if=rootfs.img of=sdb seek=262144 </pre> *For armv8 with SPL(rk3399): <pre style="margin-left: 40px">dd if=idbspl.img of=sdb seek=64 dd if=bl3.itb of=sdb seek=512 dd if=boot.img of=sdb seek=32768 dd if=rootfs.img of=sdb seek=262144 </pre> *For armv8 with miniloader(rk3399, rk3328) <pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64 dd if=uboot.img of=sdb seek=16384 dd if=trust.img of=sdb seek=24576 dd if=boot.img of=sdb seek=32768 dd if=rootfs.img of=sdb seek=262144</pre> In order to make sure everything has write to SD card before unpluged, recommand to run below command: <pre>sync</pre> Note, when using boot from SD card, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value. <pre>append earlyprintk console=ttyS2,115200n8 rw root=/dev/mmcblk1p7 rootwait rootfstype=ext4 init=/sbin/init </pre> Write GPT partition table to SD card&nbsp;in U-Boot, and then U-Boot can find the boot partition and run into kernel. <pre>gpt write mmc 0 $partitions </pre> == Boot from U-Disk == Same as&nbsp;[[#Boot_from_SD.2FTF_Card|boot-from-sdcard]], but please note that U-Disk&nbsp;only support stage 4 and 5, see [[#Boot_Stage|Boot Stage]] for detail. If U-Disk used for stage 4 and 5, format the U-Disk in gpt format and at least 2 partitions, write ''boot.img'' and ''rootfs.img'' in those partitions; if U-Dist is only used for stage 5, we can ''dd ''the ''rootfs.img'' to U-Disk device directly. Note, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value. <pre> append earlyprintk console=ttyS2,115200n8 rw root=/dev/sda1 rootwait rootfstype=ext4 init=/sbin/init </pre> == Boot from Network == To be continued. = See also = [[Rkdeveloptool|rkdeveloptool]] [[Rockusb|rockusb]] [[Partitions|Rockchip Linux partition definition]] d95068a083e39654c8d09d1e7448ec6813fb75d2 1827 1820 2018-03-30T07:06:48Z Kever 2 wikitext text/x-wiki = Boot introduce = First, let's make the concept clear, there are many boot stages when we boot up a Linux OS; Then we need to know about how the image should packaged, where&nbsp;the image locate; At last, we will explain how to write to different&nbsp;media and boot from there. Here is Rockchip pre-released binaries which may be mentioned later: [https://github.com/rockchip-linux/rkbin https://github.com/rockchip-linux/rkbin] And [http://opensource.rock-chips.com/wiki_Partitions Rockcip Linux GPT partition] here. == Boot flow == Here is a table show the detail what we may use in Rockchip platform, for 2 boot stage: - use U-Boot SPL; - use Rockchp idbLoader which is combinded by Rockchip ddr init bin and miniloader bin; <pre>+--------+----------------+----------+-------------+---------+ | Boot | Terminology #1 | Actual | Rockchip | | | stage | | program | Image | | | number | | name | Name | | +--------+----------------+----------+-------------+---------+ | 1 | Primary | ROM code | BootRom | | | | Program | | | | | | Loader | | | | | | | | | | | 2 | Secondary | U-Boot |idbloader.img| 0x40 |including u-boot if not use miniloader | | Program | SPL |idbspl.img | | | | Loader (SPL) | | | | | | | | | | | 3 | - | U-Boot | u-boot.itb | 0x4000 | including u-boot and atf | | | | u-boot.bin | 0x4000 | | | | | uboot.img | 0x4000 | only used with miniloader | | | | | | | | | ATF | trust.img | 0x6000 | only used with miniloader for armv8 | | | | | | | 4 | - | kernel | boot.img | 0x8000 | | | | | | | | 5 | - | rootfs | rootfs.img | 0x40000 | +--------+----------------+----------+-------------+---------+ </pre> Then when we talking about boot from eMMC/SD/U-Disk/net, they are in different concept: *Stage 1 is always in boot rom, it loads stage 2 and may load stage 3(when SPL_BACK_TO_BROM option enabled). *Boot from SPI flash means firmware for stage 2 and 3(SPL and U-Boot only) in SPI flash and stage 4/5 in other place; *Boot from eMMC means all the firmware(including stage 2, 3, 4, 5) in eMMC; *Boot from SD card means all the firmware(including stage 2, 3, 4, 5) in SD card; *Boot from U-Disk means firmware for stage 4 and 5(not including SPL and U-Boot) in Disk, optionally only including stage 5; *Boot from net/tftp means firmeware for stage 4 and 5(not including SPL and U-Boot) on the network; &nbsp; [[File:Rockchip bootflow.jpg|1000x1000px|Rockchip bootflow.jpg]] Boot Flow 1 is typical Rockchip boot flow with Rockchip miniloader;<br/> Boot Flow 2 is used for most SoCs with U-Boot TPL for ddr init and SPL for trust(ATF/OP-TEE) load and run into next stage;<br/> Boot Flow 3 is use only for RK3399 with SPL ATF support;<br/> Boot Flow 4 is used for armv7 SoCs which do not support trust;<br/> <br/> Note 1. If loader1 have more than 1 stage, program will back to bootrom and bootrom load and run into next stage. eg. If loader1 is tpl and spl, the bootrom will run into tpl first, tpl init ddr and back to bootrom, bootrom then load and run into spl.<br/> Note 2. If trust is enabled, loader1 need to load both trust and u-boot, and then run into trust in secure mode(EL3 in armv8), trust do the initialize and run into U-Boot in non-secure mode(EL2 in armv8).<br/> Note 3. For trust(in trust.img or u-boot.itb), armv7 has only one tee.bin with or without ta, armv8 has bl31.elf and option with bl32.<br/> Note 4. In boot.img, content can be zImage and its dtb for Linux, and can optionally be grub.efi, and can be AOSP boot.img, ramdisk is option; == Package option == After we know about the boot stages, Here are the file list before package for stage 2~4: *From source code: **From U-Boot: '''u-boot-spl.bin''', '''u-boot.bin'''(may use u-boot-nodtb.bin and u-boot.dtb instead), **From kernel: kernel '''Image/zImage''' file, kernel dtb, **From ATF: '''bl31.elf'''; *From Rockchip binary: **ddr, usbplug, miniloader, bl31/op-tee, (all with&nbsp;chip 'rkxx_'&nbsp; prefix and with version '_x.xx.bin' postfix); We offer two different boot-loader methods for different solutions, the steps and request files are also complete different. But not all the platforms supports the both boot-loader methods. Here are the types to&nbsp;package image from those files: === The Pre-bootloader(TBL/SPL) === ==== idbspl.img ==== U-Boot SPL, with&nbsp;SPL_BACK_TO_BROM option '''disabled'''. <pre>mkimage -n rkxxxx -T rksd -d spl/u-boot-spl.bin idbspl.img</pre> Flash the idbspl.img to offset 0x40 which only including stage 2, and need flash stage 3 &nbsp;image to 0x200(which is defineded by CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR), the stage 3 image may be&nbsp;u-boot.bin directly(when there no ATF requirement), or FIT image bl3.itb(for ATF load from SPL, including bl31.bin, u-boot-nodtb.bin and u-boot.dtb). ==== idbloader.img ==== U-Boot SPL, with&nbsp;SPL_BACK_TO_BROM option '''enabled''': <pre>tools/mkimage -n rkxxxx -T rksd -d spl/u-boot-spl.bin idbloader.img cat u-boot.bin >> idbloader.img</pre> Flash the idbloader.img to offset 0x40 which including boot stage 2 and 3. ==== Rockchip Miniloader ==== Package the image from Rockchip binary: <pre>dd if=rkxx_ddr_vx.xx.bin of=ddr.bin bs=4 skip=1 tools/mkimage -n rkxxxx -T rksd -d ddr.bin idbloader.img rm ddr.bin cat rkxx_miniloader_vx.xx.bin >> idbloader.img</pre> The ddr binary files for ARM64 platforms from Rockchip, likes RK3399 and RK3328 should not skip first 4 bytes. <pre>tools/mkimage -n rkxxxx -T rksd -d rkxx_ddr_vx.xx.bin idbloader.img rm ddr.bin cat rkxx_miniloader_vx.xx.bin >> idbloader.img</pre> Flash the idbloader.img to offset 0x40 which including stage 2, and you will need a uboot.img for boot stage 3. === U-Boot === ==== u-boot.itb ==== When using SPL to load the ATF/OP-TEE, package the bl31.bin, u-boot-nodtb.bin and uboot.dtb into one FIT image. You can skip the step to package the Trust image and flash that image in the next section. <pre>make u-boot.itb </pre> Note: please copy the trust binary() to u-boot root directory and rename it to tee.bin(armv7) or bl31.elf(armv8). Flash the u-boot.itb to offset 0x4000, while&nbsp;need idbspl.img flash&nbsp;to offset 0x40. ==== uboot.img ==== When using idbLoader from&nbsp;Rockchip miniloader, need package u-boot.bin into miniloader loadable format by Rockchip tool loaderimage. <pre>tools/loaderimage --pack --uboot u-boot.bin uboot.img</pre> Flash the uboot.img to offset 0x4000 which is stage 3; === Trust === When using idbLoader from&nbsp;Rockchip miniloader, need package bl31.bin into miniloader loadable format by Rockchip tool trustmerge. <pre>tools/trustmerge tools/rk_tools/RKTRUST_RKXXXXTRUST.ini</pre> Flash the trust.img to offset 0x6000 which is for using Rockchip miniloader === boot.img === This image is package the kernel Image and dtb file into a know filesystem(FAT or EXT2) image for distro boot. See [[Rockchip_Kernel#Install_Boot.2Fkernel|Install kernel]] for detail about generate boot.img from kernel zImage/Image, dtb. Flash the boot.img to offset 0x8000 which is stage 4. === rootfs.img === Flash the rootfs.img to offset 0x40000 which is stage 5. As long as the kernel you chosen can support that filesystem, there is not limit in the format of the image. === rkxx_loader_vx.xx.xxx.bin === This is provide by Rockchip in binary mode, which is used for firmware upgrade to eMMC with [[Rkdeveloptool|rkdeveloptool]], can not be wirte to media device directly. This is a package from ddr.bin, usbplug.bin, miniloader.bin, Rockchip tool ''DB ''command will make usbplug.bin running in target which perform as a Rockusb device. You can skip to package this image, Rockchip will offer this image at the most of time. = Flash and boot from Media device = Here we introduce how to write image to different Medeia device. Get image Ready: *For armv7 with SPL with SPL_BACK_TO_BROM option enabled: **idbLoader.img **boot.img or boot folder with zImage, dtb and exitlinulx inside **rootfs.img *For armv7 with SPL with SPL_BACK_TO_BROM option disabled: **idbspl.img **u-boot.bin **boot.img or boot folder with zImage, dtb and exitlinulx inside **rootfs.img *For armv7 with miniloader **idbLoader.img **uboot.img **boot.img or&nbsp;boot folder with zImage, dtb and exitlinulx inside **rootfs.img *For armv8 with SPL: **idbspl.img **bl3.itb **boot.img or&nbsp;boot folder with Image, dtb and exitlinulx inside **rootfs.img *For armv8 with miniloader **idbLoader.img **uboot.img **trust.img **boot.img or&nbsp;boot folder with Image, dtb and exitlinulx inside **rootfs.img == Boot from eMMC == The eMMC is on the hardware board, so we need: *Get the board into [[Rockusb#Maskrom_mode|maskrom mode]]; *Connect the target to PC with USB cable; *Flash the image to eMMC with [[Rkdeveloptool|rkdeveloptool]] Example commands for flash image to target. Flash the gpt partition to target: <pre style="margin-left: 40px;">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool gpt parameter_gpt.txt</pre> *For armv7 with SPL with SPL_BACK_TO_BROM option enabled(rk3036, rk3188, rk3288): <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbloader.img rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> *For armv7 with SPL with SPL_BACK_TO_BROM option disabled(rk3288): <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbspl.img rkdeveloptool wl 0x200 u-boot.bin rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> *For armv7 with miniloader(rk3036, rk3188, rk3288) <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool ul rkxx_loader_vx.xx.bin rkdeveloptool wl 0x4000 uboot.img rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> *For armv8 with SPL(rk3399): <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbspl.img rkdeveloptool wl 0x200 bl3.itb rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> *For armv8 with miniloader(rk3399, rk3328) <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool ul rkxx_loader_vx.xx.bin rkdeveloptool wl 0x4000 uboot.img rkdeveloptool wl 0x6000 trust.img rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> == Boot from SD/TF Card == We can write SD/TF card with Linux PC ''dd'' command very easily. Insert SD card to PC and we assume the /dev/sdb is the SD card device. *For armv7 with SPL with SPL_BACK_TO_BROM option enabled(rk3036, rk3188, rk3288): <pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64 dd if=boot.img of=sdb seek=32768 dd if=rootfs.img of=sdb seek=262144 </pre> *For armv7 with SPL with SPL_BACK_TO_BROM option disabled(rk3288): <pre style="margin-left: 40px">dd if=idbspl.img of=sdb seek=64 dd if=u-boot.bin of=sdb seek=512 dd if=boot.img of=sdb seek=32768 dd if=rootfs.img of=sdb seek=262144 </pre> *For armv7 with miniloader(rk3036, rk3188, rk3288) <pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64 dd if=uboot.img of=sdb seek=16384 dd if=boot.img of=sdb seek=32768 dd if=rootfs.img of=sdb seek=262144 </pre> *For armv8 with SPL(rk3399): <pre style="margin-left: 40px">dd if=idbspl.img of=sdb seek=64 dd if=bl3.itb of=sdb seek=512 dd if=boot.img of=sdb seek=32768 dd if=rootfs.img of=sdb seek=262144 </pre> *For armv8 with miniloader(rk3399, rk3328) <pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64 dd if=uboot.img of=sdb seek=16384 dd if=trust.img of=sdb seek=24576 dd if=boot.img of=sdb seek=32768 dd if=rootfs.img of=sdb seek=262144</pre> In order to make sure everything has write to SD card before unpluged, recommand to run below command: <pre>sync</pre> Note, when using boot from SD card, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value. <pre>append earlyprintk console=ttyS2,115200n8 rw root=/dev/mmcblk1p7 rootwait rootfstype=ext4 init=/sbin/init </pre> Write GPT partition table to SD card&nbsp;in U-Boot, and then U-Boot can find the boot partition and run into kernel. <pre>gpt write mmc 0 $partitions </pre> == Boot from U-Disk == Same as&nbsp;[[#Boot_from_SD.2FTF_Card|boot-from-sdcard]], but please note that U-Disk&nbsp;only support stage 4 and 5, see [[#Boot_Stage|Boot Stage]] for detail. If U-Disk used for stage 4 and 5, format the U-Disk in gpt format and at least 2 partitions, write ''boot.img'' and ''rootfs.img'' in those partitions; if U-Dist is only used for stage 5, we can ''dd ''the ''rootfs.img'' to U-Disk device directly. Note, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value. <pre> append earlyprintk console=ttyS2,115200n8 rw root=/dev/sda1 rootwait rootfstype=ext4 init=/sbin/init </pre> == Boot from Network == To be continued. = See also = [[Rkdeveloptool|rkdeveloptool]] [[Rockusb|rockusb]] [[Partitions|Rockchip Linux partition definition]] 22c8b97304b4fb298ac6c0d0491d599a90521a86 1828 1827 2018-03-30T07:12:21Z Kever 2 wikitext text/x-wiki = Boot introduce = First, let's make the concept clear, there are many boot stages when we boot up a Linux OS; Then we need to know about how the image should packaged, where&nbsp;the image locate; At last, we will explain how to write to different&nbsp;media and boot from there. Here is Rockchip pre-released binaries which may be mentioned later: [https://github.com/rockchip-linux/rkbin https://github.com/rockchip-linux/rkbin] And [http://opensource.rock-chips.com/wiki_Partitions Rockcip Linux GPT partition] here. == Boot flow == Here is a table show the detail what we may use in Rockchip platform, for 2 boot stage: - use U-Boot SPL; - use Rockchp idbLoader which is combinded by Rockchip ddr init bin and miniloader bin; <pre>+--------+----------------+----------+-------------+---------+ | Boot | Terminology #1 | Actual | Rockchip | | | stage | | program | Image | | | number | | name | Name | | +--------+----------------+----------+-------------+---------+ | 1 | Primary | ROM code | BootRom | | | | Program | | | | | | Loader | | | | | | | | | | | 2 | Secondary | U-Boot |idbloader.img| 0x40 |including u-boot if not use miniloader | | Program | SPL |idbspl.img | | | | Loader (SPL) | | | | | | | | | | | 3 | - | U-Boot | u-boot.itb | 0x4000 | including u-boot and atf | | | | u-boot.bin | 0x4000 | | | | | uboot.img | 0x4000 | only used with miniloader | | | | | | | | | ATF | trust.img | 0x6000 | only used with miniloader for armv8 | | | | | | | 4 | - | kernel | boot.img | 0x8000 | | | | | | | | 5 | - | rootfs | rootfs.img | 0x40000 | +--------+----------------+----------+-------------+---------+ </pre> Then when we talking about boot from eMMC/SD/U-Disk/net, they are in different concept: *Stage 1 is always in boot rom, it loads stage 2 and may load stage 3(when SPL_BACK_TO_BROM option enabled). *Boot from SPI flash means firmware for stage 2 and 3(SPL and U-Boot only) in SPI flash and stage 4/5 in other place; *Boot from eMMC means all the firmware(including stage 2, 3, 4, 5) in eMMC; *Boot from SD card means all the firmware(including stage 2, 3, 4, 5) in SD card; *Boot from U-Disk means firmware for stage 4 and 5(not including SPL and U-Boot) in Disk, optionally only including stage 5; *Boot from net/tftp means firmeware for stage 4 and 5(not including SPL and U-Boot) on the network; &nbsp; [[File:Rockchip bootflow.jpg|1000x1000px|Rockchip bootflow.jpg]] Boot Flow 1 is typical Rockchip boot flow with Rockchip miniloader;<br/> Boot Flow 2 is used for most SoCs with U-Boot TPL for ddr init and SPL for trust(ATF/OP-TEE) load and run into next stage;<br/> Boot Flow 3 is use only for RK3399 with SPL ATF support;<br/> Boot Flow 4 is used for armv7 SoCs which do not support trust;<br/> <br/> Note 1. If loader1 have more than 1 stage, program will back to bootrom and bootrom load and run into next stage. eg. If loader1 is tpl and spl, the bootrom will run into tpl first, tpl init ddr and back to bootrom, bootrom then load and run into spl.<br/> Note 2. If trust is enabled, loader1 need to load both trust and u-boot, and then run into trust in secure mode(EL3 in armv8), trust do the initialize and run into U-Boot in non-secure mode(EL2 in armv8).<br/> Note 3. For trust(in trust.img or u-boot.itb), armv7 has only one tee.bin with or without ta, armv8 has bl31.elf and option with bl32.<br/> Note 4. In boot.img, content can be zImage and its dtb for Linux, and can optionally be grub.efi, and can be AOSP boot.img, ramdisk is option; == Package option == After we know about the boot stages, Here are the file list before package for stage 2~4: *From source code: **From U-Boot: '''u-boot-spl.bin''', '''u-boot.bin'''(may use u-boot-nodtb.bin and u-boot.dtb instead), **From kernel: kernel '''Image/zImage''' file, kernel dtb, **From ATF: '''bl31.elf'''; *From Rockchip binary: **ddr, usbplug, miniloader, bl31/op-tee, (all with&nbsp;chip 'rkxx_'&nbsp; prefix and with version '_x.xx.bin' postfix); We offer two different boot-loader methods for different solutions, the steps and request files are also complete different. But not all the platforms supports the both boot-loader methods. Here are the types to&nbsp;package image from those files: === The Pre-bootloader(TBL/SPL) === ==== idbspl.img ==== U-Boot SPL, with&nbsp;SPL_BACK_TO_BROM option '''disabled'''. <pre>mkimage -n rkxxxx -T rksd -d spl/u-boot-spl.bin idbspl.img</pre> Flash the idbspl.img to offset 0x40 which only including stage 2, and need flash stage 3 &nbsp;image to 0x4000(which is defineded by CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR), the stage 3 image may be&nbsp;u-boot.bin directly(when there no ATF requirement), or FIT image bl3.itb(for ATF load from SPL, including bl31.bin, u-boot-nodtb.bin and u-boot.dtb). ==== idbloader.img ==== U-Boot SPL, with&nbsp;SPL_BACK_TO_BROM option '''enabled''': <pre>tools/mkimage -n rkxxxx -T rksd -d spl/u-boot-spl.bin idbloader.img cat u-boot.bin >> idbloader.img</pre> Flash the idbloader.img to offset 0x40 which including boot stage 2 and 3. ==== Rockchip Miniloader ==== Package the image from Rockchip binary: No need to package a idbloader for eMMC because you can use below command to write idbloader from loader: <pre>rkdeveloptool db rkxx_ddr_vx.xx.bin rkdeveloptool ul rkxx_ddr_vx.xx.bin</pre> For SD boot, you need a idbloader to write to SD card. <pre>tools/mkimage -n rkxxxx -T rksd -d rkxx_ddr_vx.xx.bin idbloader.img cat rkxx_miniloader_vx.xx.bin >> idbloader.img</pre> Flash the idbloader.img to offset 0x40 which including stage 2, and you will need a uboot.img for boot stage 3. === U-Boot === ==== u-boot.itb ==== When using SPL to load the ATF/OP-TEE, package the bl31.bin, u-boot-nodtb.bin and uboot.dtb into one FIT image. You can skip the step to package the Trust image and flash that image in the next section. <pre>make u-boot.itb </pre> Note: please copy the trust binary() to u-boot root directory and rename it to tee.bin(armv7) or bl31.elf(armv8). Flash the u-boot.itb to offset 0x4000, while&nbsp;need idbspl.img flash&nbsp;to offset 0x40. ==== uboot.img ==== When using idbLoader from&nbsp;Rockchip miniloader, need package u-boot.bin into miniloader loadable format by Rockchip tool loaderimage. <pre>tools/loaderimage --pack --uboot u-boot.bin uboot.img</pre> Flash the uboot.img to offset 0x4000 which is stage 3; === Trust === When using idbLoader from&nbsp;Rockchip miniloader, need package bl31.bin into miniloader loadable format by Rockchip tool trustmerge. <pre>tools/trustmerge tools/rk_tools/RKTRUST_RKXXXXTRUST.ini</pre> Flash the trust.img to offset 0x6000 which is for using Rockchip miniloader === boot.img === This image is package the kernel Image and dtb file into a know filesystem(FAT or EXT2) image for distro boot. See [[Rockchip_Kernel#Install_Boot.2Fkernel|Install kernel]] for detail about generate boot.img from kernel zImage/Image, dtb. Flash the boot.img to offset 0x8000 which is stage 4. === rootfs.img === Flash the rootfs.img to offset 0x40000 which is stage 5. As long as the kernel you chosen can support that filesystem, there is not limit in the format of the image. === rkxx_loader_vx.xx.xxx.bin === This is provide by Rockchip in binary mode, which is used for firmware upgrade to eMMC with [[Rkdeveloptool|rkdeveloptool]], can not be wirte to media device directly. This is a package from ddr.bin, usbplug.bin, miniloader.bin, Rockchip tool ''DB ''command will make usbplug.bin running in target which perform as a Rockusb device. You can skip to package this image, Rockchip will offer this image at the most of time. = Flash and boot from Media device = Here we introduce how to write image to different Medeia device. Get image Ready: *For armv7 with SPL with SPL_BACK_TO_BROM option enabled: **idbLoader.img **boot.img or boot folder with zImage, dtb and exitlinulx inside **rootfs.img *For armv7 with SPL with SPL_BACK_TO_BROM option disabled: **idbspl.img **u-boot.bin **boot.img or boot folder with zImage, dtb and exitlinulx inside **rootfs.img *For armv7 with miniloader **idbLoader.img **uboot.img **boot.img or&nbsp;boot folder with zImage, dtb and exitlinulx inside **rootfs.img *For armv8 with SPL: **idbspl.img **bl3.itb **boot.img or&nbsp;boot folder with Image, dtb and exitlinulx inside **rootfs.img *For armv8 with miniloader **idbLoader.img **uboot.img **trust.img **boot.img or&nbsp;boot folder with Image, dtb and exitlinulx inside **rootfs.img == Boot from eMMC == The eMMC is on the hardware board, so we need: *Get the board into [[Rockusb#Maskrom_mode|maskrom mode]]; *Connect the target to PC with USB cable; *Flash the image to eMMC with [[Rkdeveloptool|rkdeveloptool]] Example commands for flash image to target. Flash the gpt partition to target: <pre style="margin-left: 40px;">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool gpt parameter_gpt.txt</pre> *For armv7 with SPL with SPL_BACK_TO_BROM option enabled(rk3036, rk3188, rk3288): <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbloader.img rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> *For armv7 with SPL with SPL_BACK_TO_BROM option disabled(rk3288): <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbspl.img rkdeveloptool wl 0x200 u-boot.bin rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> *For armv7 with miniloader(rk3036, rk3188, rk3288) <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool ul rkxx_loader_vx.xx.bin rkdeveloptool wl 0x4000 uboot.img rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> *For armv8 with SPL(rk3399): <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbspl.img rkdeveloptool wl 0x200 bl3.itb rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> *For armv8 with miniloader(rk3399, rk3328) <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool ul rkxx_loader_vx.xx.bin rkdeveloptool wl 0x4000 uboot.img rkdeveloptool wl 0x6000 trust.img rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> == Boot from SD/TF Card == We can write SD/TF card with Linux PC ''dd'' command very easily. Insert SD card to PC and we assume the /dev/sdb is the SD card device. *For armv7 with SPL with SPL_BACK_TO_BROM option enabled(rk3036, rk3188, rk3288): <pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64 dd if=boot.img of=sdb seek=32768 dd if=rootfs.img of=sdb seek=262144 </pre> *For armv7 with SPL with SPL_BACK_TO_BROM option disabled(rk3288): <pre style="margin-left: 40px">dd if=idbspl.img of=sdb seek=64 dd if=u-boot.bin of=sdb seek=512 dd if=boot.img of=sdb seek=32768 dd if=rootfs.img of=sdb seek=262144 </pre> *For armv7 with miniloader(rk3036, rk3188, rk3288) <pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64 dd if=uboot.img of=sdb seek=16384 dd if=boot.img of=sdb seek=32768 dd if=rootfs.img of=sdb seek=262144 </pre> *For armv8 with SPL(rk3399): <pre style="margin-left: 40px">dd if=idbspl.img of=sdb seek=64 dd if=bl3.itb of=sdb seek=512 dd if=boot.img of=sdb seek=32768 dd if=rootfs.img of=sdb seek=262144 </pre> *For armv8 with miniloader(rk3399, rk3328) <pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64 dd if=uboot.img of=sdb seek=16384 dd if=trust.img of=sdb seek=24576 dd if=boot.img of=sdb seek=32768 dd if=rootfs.img of=sdb seek=262144</pre> In order to make sure everything has write to SD card before unpluged, recommand to run below command: <pre>sync</pre> Note, when using boot from SD card, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value. <pre>append earlyprintk console=ttyS2,115200n8 rw root=/dev/mmcblk1p7 rootwait rootfstype=ext4 init=/sbin/init </pre> Write GPT partition table to SD card&nbsp;in U-Boot, and then U-Boot can find the boot partition and run into kernel. <pre>gpt write mmc 0 $partitions </pre> == Boot from U-Disk == Same as&nbsp;[[#Boot_from_SD.2FTF_Card|boot-from-sdcard]], but please note that U-Disk&nbsp;only support stage 4 and 5, see [[#Boot_Stage|Boot Stage]] for detail. If U-Disk used for stage 4 and 5, format the U-Disk in gpt format and at least 2 partitions, write ''boot.img'' and ''rootfs.img'' in those partitions; if U-Dist is only used for stage 5, we can ''dd ''the ''rootfs.img'' to U-Disk device directly. Note, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value. <pre> append earlyprintk console=ttyS2,115200n8 rw root=/dev/sda1 rootwait rootfstype=ext4 init=/sbin/init </pre> == Boot from Network == To be continued. = See also = [[Rkdeveloptool|rkdeveloptool]] [[Rockusb|rockusb]] [[Partitions|Rockchip Linux partition definition]] b69563370a4f3a896f4310712a627a76ac6040fa RK3328 0 24 1823 1678 2018-01-29T02:02:41Z Kever 2 wikitext text/x-wiki {{Infobox SoC | title = RK3328 | image = [[File:rk3328_soc.png|250px]] | manufacturer = Rockcihp | process = 28nm | cpu = Quad-Core ARM Cortex-A53 | ltwo = | extensions = | memory = DDR3/DDR3L/LPDDR3/DDR4 | gpu = Mali-450MP4 | vpu = 4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps | apu = | video = HDMI 2.0a, | audio = 8 channels I2S/PDM | storage = 4x SD Card, eMMC | usb = 1* USB2.0 otg, 1* USB 2.0 Host, 1* USB 3.0 Host | other = | release_date = December 2016 | website = http://www.rock-chips.com/a/en/products/RK33_Series/2017/0118/829.html | Product Page }} &nbsp; &nbsp; &nbsp; = Overview = RK3328 offers a high-integration and power efficiency&nbsp;SOC for 4K HDR OTT/IPTV. It support HDR10 ,HLG HDR ,&nbsp;4K 10bits 30fps H.264 video decoder and 4K 10bits 60fps H265 video decoder.Comply with lots of high-performance interface,such as multi-channel display with HDMI2.0a, TV Encoder, the Quad-core GPU can acheive&nbsp;high-resolution display and game. == Cortex-A53 == Quad-core Cortex-A53 is integrated with separate Neon and FPU coprocessor, also with shared L2 Cache.&nbsp; &nbsp; = RK3328 SoC Features = {| border="0" cellpadding="1" cellspacing="1" style="width: 972px;" |- | style="width: 530px;" | *CPU: **ARM Cortex-A53&nbsp;Quad-Core&nbsp; **32KB L1&nbsp;I cache and D cache for each CPU **256KB L2 cache *Internal SRAM **32KB total *GPU **&nbsp;Mali-450MP4 **Comply with Open GL ES1.1/2.0 *Multi-Media: **4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps **1080P other video decoders (VC-1, MPEG-1/2/4, VP8) **1080P video encoder for H.264 and H.265 **Support HDR10 ,HLG HDR , Support conversion between SDR and HDR *Display: **HDMI 2.0a for 4K@60Hz with HDCP 1.4/2.2 **Support conversion between Rec.2020 and Rec.709 *Memory: **LPDDR3/DDR3/DDR3L/DDR4 **eMMC 4.51,SDCard, SPI Flash *External interface **USB 2.0 x2 and USB 3.0 x1 **100M Ethernet w/ built-in PHY **Built-in CVBS and audio DAC **8 channels I2S IO and 8 chanel digital PDM input (for MIC array) | style="width: 429px;" | [[File:3328.png|RTENOTITLE]] |} &nbsp; &nbsp; &nbsp; &nbsp; = Devices = PINE64:&nbsp;[[ROCK64|ROCK64]] &nbsp; &nbsp; &nbsp; = Documentation = #[http://opensource.rock-chips.com/images/d/d7/Rockchip_RK3328_Datasheet_V1.1-20170309.pdf Rockchip_RK3328_Datasheet_V1.1-20170309.pdf] #[http://opensource.rock-chips.com/images/d/d5/RK3328_Linux-Debian_V1.1_Development_Guide-20170711.pdf RK3328_Linux-Debian_V1.1_Development_Guide-20170711.pdf] #[[Rockchip_RK3328TRM_V1.1-Part1-20170321.pdf|Rockchip RK3328TRM V1.1-Part1-20170321.pdf]] #[[Rk3328_hardware_reference.zip|Rk3328 hardware reference.zip]] &nbsp; &nbsp; &nbsp; = Software = See [[Linux_user_guide|Linux_user_guide]] setup Linux OS generally; See [[U-Boot|U-Boot]] guide to develop U-Boot; See [[Rockchip_Kernel|Rockchip kernel]] or [[Upstream_Kernel|Upstream kernel]] to develop kernel; See [[Distribution|Distribution]] to develop and custimize OS. &nbsp; == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" class="table_style" |- ! '''board''' ! '''kernel''' ! '''uboot''' ! '''dts''' |- | RK_EVB_RK3228H_BOX_RK805_DDR3 | rockchip_linux_defconfig | rk3328_linux_defconfig | rk3328-evb.dts |} &nbsp; &nbsp; &nbsp; &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" class="table_style" |- ! '''chip''' ! '''Kernel eMMC index''' ! '''Kernel SD index''' ! '''Uboot eMMC index''' ! '''Uboot SD index''' ! '''Baud speed''' |- | RK3328 | 2 | 0 | 0 | 1 | 1500000 |} &nbsp; = See also = [[RK3036|RK3036]] [[RK3288|RK3288]] [[RK3399|RK3399]] = References = 1.[https://en.wikipedia.org/wiki/ARM_Cortex-A53 https://en.wikipedia.org/wiki/ARM_Cortex-A53] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 98d3c3ddbb2c5faad348e27edba4faa0ea57067a 1824 1823 2018-01-29T02:04:41Z Kever 2 wikitext text/x-wiki {{Infobox SoC | title = RK3328 | image = [[File:rk3328_soc.png|250px]] | manufacturer = Rockcihp | process = 28nm | cpu = Quad-Core ARM Cortex-A53 | ltwo = | extensions = | memory = DDR3/DDR3L/LPDDR3/DDR4 | gpu = Mali-450MP4 | vpu = 4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps | apu = | video = HDMI 2.0a, | audio = 8 channels I2S/PDM | storage = 4x SD Card, eMMC | usb = 1* USB2.0 otg, 1* USB 2.0 Host, 1* USB 3.0 Host | other = | release_date = December 2016 | website = http://www.rock-chips.com/a/en/products/RK33_Series/2017/0118/829.html | Product Page }} &nbsp; &nbsp; &nbsp; = Overview = RK3328 offers a high-integration and power efficiency&nbsp;SOC for 4K HDR OTT/IPTV. It support HDR10 ,HLG HDR ,&nbsp;4K 10bits 30fps H.264 video decoder and 4K 10bits 60fps H265 video decoder.Comply with lots of high-performance interface,such as multi-channel display with HDMI2.0a, TV Encoder, the Quad-core GPU can acheive&nbsp;high-resolution display and game. == Cortex-A53 == Quad-core Cortex-A53 is integrated with separate Neon and FPU coprocessor, also with shared L2 Cache.&nbsp; &nbsp; = RK3328 SoC Features = {| border="0" cellpadding="1" cellspacing="1" style="width: 972px;" |- | style="width: 530px;" | *CPU: **ARM Cortex-A53&nbsp;Quad-Core&nbsp; **32KB L1&nbsp;I cache and D cache for each CPU **256KB L2 cache *Internal SRAM **32KB total *GPU **&nbsp;Mali-450MP4 **Comply with Open GL ES1.1/2.0 *Multi-Media: **4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps **1080P other video decoders (VC-1, MPEG-1/2/4, VP8) **1080P video encoder for H.264 and H.265 **Support HDR10 ,HLG HDR , Support conversion between SDR and HDR *Display: **HDMI 2.0a for 4K@60Hz with HDCP 1.4/2.2 **Support conversion between Rec.2020 and Rec.709 *Memory: **LPDDR3/DDR3/DDR3L/DDR4 **eMMC 4.51,SDCard, SPI Flash *External interface **USB 2.0 x2 and USB 3.0 x1 **100M Ethernet w/ built-in PHY **Built-in CVBS and audio DAC **8 channels I2S IO and 8 chanel digital PDM input (for MIC array) | style="width: 429px;" | [[File:3328.png|RTENOTITLE]] |} &nbsp; &nbsp; &nbsp; &nbsp; = Devices = PINE64:&nbsp;[[ROCK64|ROCK64]] &nbsp; &nbsp; &nbsp; = Documentation = #[http://opensource.rock-chips.com/images/d/d7/Rockchip_RK3328_Datasheet_V1.1-20170309.pdf Rockchip_RK3328_Datasheet_V1.1-20170309.pdf] #[http://opensource.rock-chips.com/images/d/d5/RK3328_Linux-Debian_V1.1_Development_Guide-20170711.pdf RK3328_Linux-Debian_V1.1_Development_Guide-20170711.pdf] #[[Media:Rockchip_RK3328TRM_V1.1-Part1-20170321.pdf|Rockchip RK3328TRM V1.1-Part1-20170321.pdf]] #[[Media:Rk3328_hardware_reference.zip|Rk3328 hardware reference.zip]] &nbsp; &nbsp; &nbsp; = Software = See [[Linux_user_guide|Linux_user_guide]] setup Linux OS generally; See [[U-Boot|U-Boot]] guide to develop U-Boot; See [[Rockchip_Kernel|Rockchip kernel]] or [[Upstream_Kernel|Upstream kernel]] to develop kernel; See [[Distribution|Distribution]] to develop and custimize OS. &nbsp; == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" class="table_style" |- ! '''board''' ! '''kernel''' ! '''uboot''' ! '''dts''' |- | RK_EVB_RK3228H_BOX_RK805_DDR3 | rockchip_linux_defconfig | rk3328_linux_defconfig | rk3328-evb.dts |} &nbsp; &nbsp; &nbsp; &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" class="table_style" |- ! '''chip''' ! '''Kernel eMMC index''' ! '''Kernel SD index''' ! '''Uboot eMMC index''' ! '''Uboot SD index''' ! '''Baud speed''' |- | RK3328 | 2 | 0 | 0 | 1 | 1500000 |} &nbsp; = See also = [[RK3036|RK3036]] [[RK3288|RK3288]] [[RK3399|RK3399]] = References = 1.[https://en.wikipedia.org/wiki/ARM_Cortex-A53 https://en.wikipedia.org/wiki/ARM_Cortex-A53] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; d8a4e63cea2106332f5d8ea12183efaf32e9451a RK3399 0 21 1825 1677 2018-01-29T02:06:04Z Kever 2 wikitext text/x-wiki Rockchip RK3399 SoC integrates&nbsp;dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor, and with&nbsp;ARM Mali-T864 GPU. {| border="0" cellpadding="1" cellspacing="1" class="infobox" style="width: 300px;" |- | [[File:RK3399 Soc.png|RTENOTITLE]] |} = Overview = RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications. &nbsp; = SoC Features = {| border="0" cellpadding="1" cellspacing="1" style="width: 972px;" |- | style="width: 530px;" | *CPU: **Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU **Frequency is over 1.8GHz (Big cluster) **L1 cache ***48KB Icache and 32KB Dcache for each A72 ***32KB Icache and 32KB Dcache for each A53 **L2 cache ***1024KB for big cluster ***512KB for little cluster *Internal SRAM **192KB total **4KB used by bootrom when bootup *GPU: **&nbsp;Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11 **Supports AFBC (ARM Frame Buffer Compression) *Display: **Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600 **Dual channel MIPI-DSI (4 lanes per channel) **eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR **HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2 **DisplayPort 1.2 (4 lanes, up to 4K 60Hz) **Supports Rec.2020 and conversion to Rec.709 *Camera: **&nbsp;Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels *Memory: **Dual channels 64-bit DRAM controller **Support DDR3/DDR3L, LPDDR3, LPDDR4 *Connectivity: **PCIe 2.1 (4 full-duplex lanes with 20Gbps) **Embedded low power MCU for other application **8 channels I2S supports 8 channels RX or 8 channels TX | style="width: 429px;" | [[File:RK3399 Block Diagram.png|RTENOTITLE]] |} &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; = Documentation = #[http://opensource.rock-chips.com/images/6/60/Rockchip_RK3399_Datasheet_V1.6-20170301.pdf Rockchip_RK3399_Datasheet_V1.6-20170301.pdf] #[[Media:Rockchip_RK3399TRM_V1.4_Part1-20170408.pdf|Rockchip RK3399TRM V1.4 Part1-20170408.pdf]] #[http://opensource.rock-chips.com/images/f/f9/RK3399_Linux_Debain_V1.1_Development_Guide170620.pdf RK3399_Linux_Debain_V1.1_Development_Guide170620.pdf] #[http://opensource.rock-chips.com/images/5/5d/RK3399_Linux_Debian_v1.1开发说明170620.pdf RK3399 Linux Debian v1.1开发说明170620.pdf] #[http://opensource.rock-chips.com/images/9/92/RK3399_Linux_Buildroot_V1.2_Development_Guide170619.pdf RK3399_Linux_Buildroot_V1.2_Development_Guide170619.pdf] #[http://opensource.rock-chips.com/images/0/05/RK3399_Linux_Buildroot_V1.2开发说明170619.pdf RK3399_Linux_Buildroot_V1.2开发说明170619.pdf] #[http://opensource.rock-chips.com/images/2/20/RK3399_Multimedia_Codec_Benchmark_v1.0.pdf RK3399_Multimedia_Codec_Benchmark_v1.0.pdf] #[[Media:RK3399_Design_Guide_V1.0_20170420.pdf|RK3399 Design Guide_V1.0_20170420.pdf]] = Software = See&nbsp;[[Linux_user_guide|Linux_user_guide]]&nbsp;setup LInux OS generally; See&nbsp;[[U-Boot|U-Boot]]&nbsp;guide to develop U-Boot; See&nbsp;[[Rockchip_Kernel|Rockchip kernel]]&nbsp;or&nbsp;[[Upstream_Kernel|Upstream kernel]]&nbsp;to develop kernel; See&nbsp;[[Distribution|Distribution]]&nbsp;to develop and custimize OS. &nbsp; == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" class="table_style" style="line-height: 1.6; width: 768px;" |- ! style="width: 119px; text-align: center;" | '''board''' ! style="width: 172px; text-align: center;" | '''kernel''' ! style="width: 170px; text-align: center;" | '''uboot''' ! style="width: 277px; text-align: center;" | '''dts''' |- | style="width: 119px; text-align: center;" | rk3399-excavator | style="width: 172px; text-align: center;" | rockchip_linux_defconfig | style="width: 170px; text-align: center;" | evb-rk3399_defconfig | style="width: 277px; text-align: center;" | rk3399-sapphire-excavator-linux.dts |- | style="width: 119px; text-align: center;" | rk3399-firefly | style="width: 172px; text-align: center;" | rockchip_linux_defconfig | style="width: 170px; text-align: center;" | firefly-rk3399_defconfig | style="width: 277px; text-align: center;" | rk3399-firefly-linux.dts |} &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" class="table_style" style="width: 859px;" |- ! style="width: 68px; text-align: center;" | '''chip''' ! style="width: 181px; text-align: center;" | '''Kernel eMMC index''' ! style="width: 142px; text-align: center;" | '''Kernel SD index''' ! style="width: 158px; text-align: center;" | '''Uboot eMMC index''' ! style="width: 146px; text-align: center;" | '''Uboot SD index''' ! style="width: 132px; text-align: center;" | '''Baud speed''' |- | style="width: 68px; text-align: center;" | RK3399 | style="width: 181px; text-align: center;" | 1 | style="width: 142px; text-align: center;" | 0 | style="width: 158px; text-align: center;" | 0 | style="width: 146px; text-align: center;" | 1 | style="width: 132px; text-align: center;" | 1500000 |} &nbsp; = Devices = Rockchip: [[Excavator_sapphire_board|Excavator_sapphire_board]] Firefly: [http://wiki.t-firefly.com/index.php/Firefly-RK3399 rk3399-firefly] Theobroma Systems:&nbsp;[[RK3399-Q7|RK3399-Q7]] If you need the rk3399-excavator&nbsp;board, please communicate through&nbsp;the following&nbsp;contact information: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">Telephone: 4007700590 &nbsp; &nbsp; &nbsp; &nbsp;Email: service@rock-chips.com</div> If you need the Firefly-RK3399 board,you can browse the following url&nbsp;for more details: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">[http://www.t-firefly.com/zh/firenow/Firefly-rk3399/ http://www.t-firefly.com/zh/firenow/Firefly-rk3399/]</div> = See also = [[RK3036|RK3036]] [[RK3288|RK3288]] [[RK3328|RK3328]] &nbsp; = References = [https://en.wikipedia.org/wiki/ARM_Cortex-A72 https://en.wikipedia.org/wiki/ARM_Cortex-A72] [http://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html http://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html] [https://www.arm.com/zh/products/multimedia/mali-gpu/high-performance/mali-t860-t880.php https://www.arm.com/zh/products/multimedia/mali-gpu/high-performance/mali-t860-t880.php] e22319bcdcb49261a26e7440277ee687c40cdc9e RK3288 0 20 1826 1675 2018-01-29T02:06:51Z Kever 2 wikitext text/x-wiki {{Infobox SoC | title = RK3288 | image = [[File:rk3288_soc.png|200px]] | manufacturer = Rockcihp | process = 28nm | cpu = Quad-Core ARM Cortex-A17 | ltwo = | extensions = | memory = 2-channel LPDDR3/LPDDR2/DDR3/DDR3L | gpu = ARM Mali-T764 | vpu = | apu = | video = HDMI 1.4, MIPI DSI, LVDS, RGB LCD | audio = I2S, PCM | network = | storage = 4x SD Card, eMMC, NAND | usb = OTG, 2x Host | other = | release_date = June 2014 | website = http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html }} &nbsp; &nbsp; &nbsp; Integrated with a Quad-Core [https://en.wikipedia.org/wiki/ARM_Cortex-A17 Cortex-A17]&nbsp;which up to 1.8GHz and ARMMali-T764&nbsp;which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant&nbsp;interfaces provide&nbsp;a friendly solution for product&nbsp;development. Futhermore &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; = Overview = The RK3288 offers<big><var>&nbsp;</var></big>an extensible, <big><small><tt>leading&nbsp;performance</tt></small></big>, long-standing heritage platform,ideally suited for &nbsp;set-top box solution, tablet and chromebook.The platform is integrated with a Quad-Core Cortex-A17 which up to 1.8GHz and ARM Mali-T764&nbsp;which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant&nbsp;interfaces provide&nbsp;a friendly solution for product&nbsp;development. Futhermore, the power consumption is&nbsp;optimal for applications such as imaging/video, communication and broadband infrastructure,and performance audio applications. &nbsp; &nbsp; = RK3288 SoC Features = {| border="0" cellpadding="1" cellspacing="1" style="width: 972px;" |- | style="width: 530px;" | *CPU: **Quad Core Cortex-A17&nbsp;up to 1.8GHz **32KB L1-Cache **1MB L2-Cache *Internal SRAM **96KB total **First 16KB used by Bootrom when bootup *GPU: **ARM Mali-T764 GPU, with TE, ASTC, AFBC technology **Quad core 3D Graphics engine **Dual core 2D Graphics engine **Comply with&nbsp;OpenGL ES1.1/2.0/3.0, OpenVG1.1, OpenCL, DirectX11 *Display: **4Kx2K@60fpsHDMI2.0 **Up to 3840X2160 display resolution **Support dual-channel LVDS/dual-channel MIPI-DSI/eDP1.1 *Camera: **Support up to 5M pixels **8bits/10bits/12bits raw data interface&nbsp; *Memory: **Dual channels 64-bit DRAM controller **Support DDR3/DDR3L, LPDDR2, LPDDR3 *Connectivity: **Embedded 13M ISP and MIPI-CSI2 interface *Audio: **I2S/PCM with 8 channels | style="width: 429px;" | [[File:3288.png|RTENOTITLE]] |} &nbsp; = Devices = Rockchip: EVB-RK3288 Firefly: [[Firefly-RK3288|Firefly-RK3288]]<br/> [[Rock2_Full|Rock2 Full]]<br/> [[MiQi|MiQi]]<br/> [[Fennec|Fennec]]<br/> [[PhyCORE-RK3288|phyCORE-RK3288]] ASUS: [[ASUS_Tinker|Tinker board]] &nbsp; = Documentation = #[[Media:Rockchip_RK3288_Datasheet_V2.2-20170301.pdf|Media:Rockchip RK3288 Datasheet V2.2-20170301.pdf]] #[[Media:Rockchip_RK3288_TRM_V1.2_Part1-20170321.pdf|Rockchip RK3288 TRM V1.2 Part1-20170321.pdf]] #[http://opensource.rock-chips.com/images/a/ae/Rk3288_hardware_reference.zip Rk3288_hardware_reference.zip] &nbsp; = Software = See [http://opensource.rock-chips.com/wiki_Linux_user_guide Linux_user_guide] setup Linux OS generally; See [[U-Boot|U-Boot]] guide to develop U-Boot; See [[Rockchip_Kernel|Rockchip kernel]] or [[Upstream_Kernel|Upstream kernel]] to develop kernel; See [[Distribution|Distribution]] to develop and custimize OS. &nbsp; &nbsp; == Board configuration == {| border="1" cellpadding="1" cellspacing="1" class="table_style" |- ! '''board''' ! '''kernel''' ! '''uboot''' ! '''dts''' |- | RK3288_MAINBOARD_V3.0 | rockchip_linux_defconfig | rk3288_linux_defconfig | rk3288-evb-act8846.dts |} &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" class="table_style" |- ! '''chip''' ! '''Kernel eMMC index''' ! '''Kernel SD index''' ! '''Uboot eMMC index''' ! '''Uboot SD index''' ! '''Baud speed''' |- | RK3288 | 1 | 0 | 0 | 1 | 115200 |} = See also = [[RK3036|RK3036]] [[RK3328|RK3328]] [[RK3399|RK3399]] = References = #[https://en.wikipedia.org/wiki/ARM_Cortex-A17 https://en.wikipedia.org/wiki/ARM_Cortex-A17] #[http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html] e681a399dee5a6fc19e7ddb8d42023a1ee9fb913 Boot option 0 116 1829 1828 2018-03-30T07:14:44Z Kever 2 wikitext text/x-wiki = Boot introduce = First, let's make the concept clear, there are many boot stages when we boot up a Linux OS; Then we need to know about how the image should packaged, where&nbsp;the image locate; At last, we will explain how to write to different&nbsp;media and boot from there. Here is Rockchip pre-released binaries which may be mentioned later: [https://github.com/rockchip-linux/rkbin https://github.com/rockchip-linux/rkbin] And [http://opensource.rock-chips.com/wiki_Partitions Rockcip Linux GPT partition] here. == Boot flow == Here is a table show the detail what we may use in Rockchip platform, for 2 boot stage: - use U-Boot SPL; - use Rockchp idbLoader which is combinded by Rockchip ddr init bin and miniloader bin; <pre>+--------+----------------+----------+-------------+---------+ | Boot | Terminology #1 | Actual | Rockchip | | | stage | | program | Image | | | number | | name | Name | | +--------+----------------+----------+-------------+---------+ | 1 | Primary | ROM code | BootRom | | | | Program | | | | | | Loader | | | | | | | | | | | 2 | Secondary | U-Boot |idbloader.img| 0x40 |including u-boot if not use miniloader | | Program | SPL |idbspl.img | | | | Loader (SPL) | | | | | | | | | | | 3 | - | U-Boot | u-boot.itb | 0x4000 | including u-boot and atf | | | | u-boot.bin | 0x4000 | | | | | uboot.img | 0x4000 | only used with miniloader | | | | | | | | | ATF | trust.img | 0x6000 | only used with miniloader for armv8 | | | | | | | 4 | - | kernel | boot.img | 0x8000 | | | | | | | | 5 | - | rootfs | rootfs.img | 0x40000 | +--------+----------------+----------+-------------+---------+ </pre> Then when we talking about boot from eMMC/SD/U-Disk/net, they are in different concept: *Stage 1 is always in boot rom, it loads stage 2 and may load stage 3(when SPL_BACK_TO_BROM option enabled). *Boot from SPI flash means firmware for stage 2 and 3(SPL and U-Boot only) in SPI flash and stage 4/5 in other place; *Boot from eMMC means all the firmware(including stage 2, 3, 4, 5) in eMMC; *Boot from SD card means all the firmware(including stage 2, 3, 4, 5) in SD card; *Boot from U-Disk means firmware for stage 4 and 5(not including SPL and U-Boot) in Disk, optionally only including stage 5; *Boot from net/tftp means firmeware for stage 4 and 5(not including SPL and U-Boot) on the network; &nbsp; [[File:Rockchip bootflow.jpg|1000x1000px|Rockchip bootflow.jpg]] Boot Flow 1 is typical Rockchip boot flow with Rockchip miniloader;<br/> Boot Flow 2 is used for most SoCs with U-Boot TPL for ddr init and SPL for trust(ATF/OP-TEE) load and run into next stage;<br/> Boot Flow 3 is use only for RK3399 with SPL ATF support;<br/> Boot Flow 4 is used for armv7 SoCs which do not support trust;<br/> <br/> Note 1. If loader1 have more than 1 stage, program will back to bootrom and bootrom load and run into next stage. eg. If loader1 is tpl and spl, the bootrom will run into tpl first, tpl init ddr and back to bootrom, bootrom then load and run into spl.<br/> Note 2. If trust is enabled, loader1 need to load both trust and u-boot, and then run into trust in secure mode(EL3 in armv8), trust do the initialize and run into U-Boot in non-secure mode(EL2 in armv8).<br/> Note 3. For trust(in trust.img or u-boot.itb), armv7 has only one tee.bin with or without ta, armv8 has bl31.elf and option with bl32.<br/> Note 4. In boot.img, content can be zImage and its dtb for Linux, and can optionally be grub.efi, and can be AOSP boot.img, ramdisk is option; == Package option == After we know about the boot stages, Here are the file list before package for stage 2~4: *From source code: **From U-Boot: '''u-boot-spl.bin''', '''u-boot.bin'''(may use u-boot-nodtb.bin and u-boot.dtb instead), **From kernel: kernel '''Image/zImage''' file, kernel dtb, **From ATF: '''bl31.elf'''; *From Rockchip binary: **ddr, usbplug, miniloader, bl31/op-tee, (all with&nbsp;chip 'rkxx_'&nbsp; prefix and with version '_x.xx.bin' postfix); We offer two different boot-loader methods for different solutions, the steps and request files are also complete different. But not all the platforms supports the both boot-loader methods. Here are the types to&nbsp;package image from those files: === The Pre-bootloader(TBL/SPL) === ==== idbspl.img ==== U-Boot SPL, with&nbsp;SPL_BACK_TO_BROM option '''disabled'''. <pre>mkimage -n rkxxxx -T rksd -d spl/u-boot-spl.bin idbspl.img</pre> Flash the idbspl.img to offset 0x40 which only including stage 2, and need flash stage 3 &nbsp;image to 0x4000(which is defineded by CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR), the stage 3 image may be&nbsp;u-boot.bin directly(when there no ATF requirement), or FIT image bl3.itb(for ATF load from SPL, including bl31.bin, u-boot-nodtb.bin and u-boot.dtb). ==== idbloader.img ==== U-Boot SPL, with&nbsp;SPL_BACK_TO_BROM option '''enabled''': <pre>tools/mkimage -n rkxxxx -T rksd -d spl/u-boot-spl.bin idbloader.img cat u-boot.bin >> idbloader.img</pre> Flash the idbloader.img to offset 0x40 which including boot stage 2 and 3. ==== Rockchip Miniloader ==== Package the image from Rockchip binary: No need to package a idbloader for eMMC because you can use below command to write idbloader from loader: <pre>rkdeveloptool db rkxx_ddr_vx.xx.bin rkdeveloptool ul rkxx_ddr_vx.xx.bin</pre> For SD boot, you need a idbloader to write to SD card. <pre>tools/mkimage -n rkxxxx -T rksd -d rkxx_ddr_vx.xx.bin idbloader.img cat rkxx_miniloader_vx.xx.bin >> idbloader.img</pre> Flash the idbloader.img to offset 0x40 which including stage 2, and you will need a uboot.img for boot stage 3. === U-Boot === ==== u-boot.itb ==== When using SPL to load the ATF/OP-TEE, package the bl31.bin, u-boot-nodtb.bin and uboot.dtb into one FIT image. You can skip the step to package the Trust image and flash that image in the next section. <pre>make u-boot.itb </pre> Note: please copy the trust binary() to u-boot root directory and rename it to tee.bin(armv7) or bl31.elf(armv8). Flash the u-boot.itb to offset 0x4000, while&nbsp;need idbspl.img flash&nbsp;to offset 0x40. ==== uboot.img ==== When using idbLoader from&nbsp;Rockchip miniloader, need package u-boot.bin into miniloader loadable format by Rockchip tool loaderimage. <pre>tools/loaderimage --pack --uboot u-boot.bin uboot.img</pre> Flash the uboot.img to offset 0x4000 which is stage 3; === Trust === ==== trust.img ==== When using idbLoader from&nbsp;Rockchip miniloader, need package bl31.bin into miniloader loadable format by Rockchip tool trustmerge. <pre>tools/trustmerge tools/rk_tools/RKTRUST_RKXXXXTRUST.ini</pre> Flash the trust.img to offset 0x6000 which is for using Rockchip miniloader === boot.img === This image is package the kernel Image and dtb file into a know filesystem(FAT or EXT2) image for distro boot. See [[Rockchip_Kernel#Install_Boot.2Fkernel|Install kernel]] for detail about generate boot.img from kernel zImage/Image, dtb. Flash the boot.img to offset 0x8000 which is stage 4. === rootfs.img === Flash the rootfs.img to offset 0x40000 which is stage 5. As long as the kernel you chosen can support that filesystem, there is not limit in the format of the image. === rkxx_loader_vx.xx.xxx.bin === This is provide by Rockchip in binary mode, which is used for firmware upgrade to eMMC with [[Rkdeveloptool|rkdeveloptool]], can not be wirte to media device directly. This is a package from ddr.bin, usbplug.bin, miniloader.bin, Rockchip tool ''DB ''command will make usbplug.bin running in target which perform as a Rockusb device. You can skip to package this image, Rockchip will offer this image at the most of time. = Flash and boot from Media device = Here we introduce how to write image to different Medeia device. Get image Ready: *For armv7 with SPL with SPL_BACK_TO_BROM option enabled: **idbLoader.img **boot.img or boot folder with zImage, dtb and exitlinulx inside **rootfs.img *For armv7 with SPL with SPL_BACK_TO_BROM option disabled: **idbspl.img **u-boot.bin **boot.img or boot folder with zImage, dtb and exitlinulx inside **rootfs.img *For armv7 with miniloader **idbLoader.img **uboot.img **boot.img or&nbsp;boot folder with zImage, dtb and exitlinulx inside **rootfs.img *For armv8 with SPL: **idbspl.img **bl3.itb **boot.img or&nbsp;boot folder with Image, dtb and exitlinulx inside **rootfs.img *For armv8 with miniloader **idbLoader.img **uboot.img **trust.img **boot.img or&nbsp;boot folder with Image, dtb and exitlinulx inside **rootfs.img == Boot from eMMC == The eMMC is on the hardware board, so we need: *Get the board into [[Rockusb#Maskrom_mode|maskrom mode]]; *Connect the target to PC with USB cable; *Flash the image to eMMC with [[Rkdeveloptool|rkdeveloptool]] Example commands for flash image to target. Flash the gpt partition to target: <pre style="margin-left: 40px;">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool gpt parameter_gpt.txt</pre> *For armv7 with SPL with SPL_BACK_TO_BROM option enabled(rk3036, rk3188, rk3288): <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbloader.img rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> *For armv7 with SPL with SPL_BACK_TO_BROM option disabled(rk3288): <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbspl.img rkdeveloptool wl 0x200 u-boot.bin rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> *For armv7 with miniloader(rk3036, rk3188, rk3288) <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool ul rkxx_loader_vx.xx.bin rkdeveloptool wl 0x4000 uboot.img rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> *For armv8 with SPL(rk3399): <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbspl.img rkdeveloptool wl 0x200 bl3.itb rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> *For armv8 with miniloader(rk3399, rk3328) <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool ul rkxx_loader_vx.xx.bin rkdeveloptool wl 0x4000 uboot.img rkdeveloptool wl 0x6000 trust.img rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> == Boot from SD/TF Card == We can write SD/TF card with Linux PC ''dd'' command very easily. Insert SD card to PC and we assume the /dev/sdb is the SD card device. *For armv7 with SPL with SPL_BACK_TO_BROM option enabled(rk3036, rk3188, rk3288): <pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64 dd if=boot.img of=sdb seek=32768 dd if=rootfs.img of=sdb seek=262144 </pre> *For armv7 with SPL with SPL_BACK_TO_BROM option disabled(rk3288): <pre style="margin-left: 40px">dd if=idbspl.img of=sdb seek=64 dd if=u-boot.bin of=sdb seek=512 dd if=boot.img of=sdb seek=32768 dd if=rootfs.img of=sdb seek=262144 </pre> *For armv7 with miniloader(rk3036, rk3188, rk3288) <pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64 dd if=uboot.img of=sdb seek=16384 dd if=boot.img of=sdb seek=32768 dd if=rootfs.img of=sdb seek=262144 </pre> *For armv8 with SPL(rk3399): <pre style="margin-left: 40px">dd if=idbspl.img of=sdb seek=64 dd if=bl3.itb of=sdb seek=512 dd if=boot.img of=sdb seek=32768 dd if=rootfs.img of=sdb seek=262144 </pre> *For armv8 with miniloader(rk3399, rk3328) <pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64 dd if=uboot.img of=sdb seek=16384 dd if=trust.img of=sdb seek=24576 dd if=boot.img of=sdb seek=32768 dd if=rootfs.img of=sdb seek=262144</pre> In order to make sure everything has write to SD card before unpluged, recommand to run below command: <pre>sync</pre> Note, when using boot from SD card, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value. <pre>append earlyprintk console=ttyS2,115200n8 rw root=/dev/mmcblk1p7 rootwait rootfstype=ext4 init=/sbin/init </pre> Write GPT partition table to SD card&nbsp;in U-Boot, and then U-Boot can find the boot partition and run into kernel. <pre>gpt write mmc 0 $partitions </pre> == Boot from U-Disk == Same as&nbsp;[[#Boot_from_SD.2FTF_Card|boot-from-sdcard]], but please note that U-Disk&nbsp;only support stage 4 and 5, see [[#Boot_Stage|Boot Stage]] for detail. If U-Disk used for stage 4 and 5, format the U-Disk in gpt format and at least 2 partitions, write ''boot.img'' and ''rootfs.img'' in those partitions; if U-Dist is only used for stage 5, we can ''dd ''the ''rootfs.img'' to U-Disk device directly. Note, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value. <pre> append earlyprintk console=ttyS2,115200n8 rw root=/dev/sda1 rootwait rootfstype=ext4 init=/sbin/init </pre> == Boot from Network == To be continued. = See also = [[Rkdeveloptool|rkdeveloptool]] [[Rockusb|rockusb]] [[Partitions|Rockchip Linux partition definition]] dffebe41900cdc68413da7638517cb02875e2308 1830 1829 2018-03-30T07:23:25Z Kever 2 wikitext text/x-wiki = Boot introduce = First, let's make the concept clear, there are many boot stages when we boot up a Linux OS; Then we need to know about how the image should packaged, where&nbsp;the image locate; At last, we will explain how to write to different&nbsp;media and boot from there. Here is Rockchip pre-released binaries which may be mentioned later: [https://github.com/rockchip-linux/rkbin https://github.com/rockchip-linux/rkbin] And [http://opensource.rock-chips.com/wiki_Partitions Rockcip Linux GPT partition] here. == Boot flow == Here is a table show the detail what we may use in Rockchip platform, for 2 boot stage: - use U-Boot SPL; - use Rockchp idbLoader which is combinded by Rockchip ddr init bin and miniloader bin; <pre>+--------+----------------+----------+-------------+---------+ | Boot | Terminology #1 | Actual | Rockchip | | | stage | | program | Image | | | number | | name | Name | | +--------+----------------+----------+-------------+---------+ | 1 | Primary | ROM code | BootRom | | | | Program | | | | | | Loader | | | | | | | | | | | 2 | Secondary | U-Boot |idbloader.img| 0x40 |including u-boot if not use miniloader | | Program | SPL |idbspl.img | | | | Loader (SPL) | | | | | | | | | | | 3 | - | U-Boot | u-boot.itb | 0x4000 | including u-boot and atf | | | | u-boot.bin | 0x4000 | | | | | uboot.img | 0x4000 | only used with miniloader | | | | | | | | | ATF | trust.img | 0x6000 | only used with miniloader for armv8 | | | | | | | 4 | - | kernel | boot.img | 0x8000 | | | | | | | | 5 | - | rootfs | rootfs.img | 0x40000 | +--------+----------------+----------+-------------+---------+ </pre> Then when we talking about boot from eMMC/SD/U-Disk/net, they are in different concept: *Stage 1 is always in boot rom, it loads stage 2 and may load stage 3(when SPL_BACK_TO_BROM option enabled). *Boot from SPI flash means firmware for stage 2 and 3(SPL and U-Boot only) in SPI flash and stage 4/5 in other place; *Boot from eMMC means all the firmware(including stage 2, 3, 4, 5) in eMMC; *Boot from SD card means all the firmware(including stage 2, 3, 4, 5) in SD card; *Boot from U-Disk means firmware for stage 4 and 5(not including SPL and U-Boot) in Disk, optionally only including stage 5; *Boot from net/tftp means firmeware for stage 4 and 5(not including SPL and U-Boot) on the network; &nbsp; [[File:Rockchip bootflow.jpg|1000x1000px|Rockchip bootflow.jpg]] Boot Flow 1 is typical Rockchip boot flow with Rockchip miniloader;<br/> Boot Flow 2 is used for most SoCs with U-Boot TPL for ddr init and SPL for trust(ATF/OP-TEE) load and run into next stage;<br/> Boot Flow 3 is use only for RK3399 with SPL ATF support;<br/> Boot Flow 4 is used for armv7 SoCs which do not support trust;<br/> <br/> Note 1. If loader1 have more than 1 stage, program will back to bootrom and bootrom load and run into next stage. eg. If loader1 is tpl and spl, the bootrom will run into tpl first, tpl init ddr and back to bootrom, bootrom then load and run into spl.<br/> Note 2. If trust is enabled, loader1 need to load both trust and u-boot, and then run into trust in secure mode(EL3 in armv8), trust do the initialize and run into U-Boot in non-secure mode(EL2 in armv8).<br/> Note 3. For trust(in trust.img or u-boot.itb), armv7 has only one tee.bin with or without ta, armv8 has bl31.elf and option with bl32.<br/> Note 4. In boot.img, content can be zImage and its dtb for Linux, and can optionally be grub.efi, and can be AOSP boot.img, ramdisk is option; == Package option == After we know about the boot stages, Here are the file list before package for stage 2~4: *From source code: **From U-Boot: '''u-boot-spl.bin''', '''u-boot.bin'''(may use u-boot-nodtb.bin and u-boot.dtb instead), **From kernel: kernel '''Image/zImage''' file, kernel dtb, **From ATF: '''bl31.elf'''; *From Rockchip binary: **ddr, usbplug, miniloader, bl31/op-tee, (all with&nbsp;chip 'rkxx_'&nbsp; prefix and with version '_x.xx.bin' postfix); We offer two different boot-loader methods for different solutions, the steps and request files are also complete different. But not all the platforms supports the both boot-loader methods. Here are the types to&nbsp;package image from those files: === The Pre-bootloader(TBL/SPL) === ==== Rockchip Miniloader ==== Package the image from Rockchip binary: No need to package a idbloader for eMMC because you can use below command to write idbloader from loader: <pre>rkdeveloptool db rkxx_ddr_vx.xx.bin rkdeveloptool ul rkxx_ddr_vx.xx.bin</pre> For SD boot, you need a idbloader(combinded with ddr and miniloader) to write to SD card. <pre>tools/mkimage -n rkxxxx -T rksd -d rkxx_ddr_vx.xx.bin idbloader.img cat rkxx_miniloader_vx.xx.bin >> idbloader.img</pre> Flash the idbloader.img to offset 0x40 which including stage 2, and you will need a uboot.img for boot stage 3. ==== idbloader.img with tpl/spl ==== <pre>tools/mkimage -n rkxxxx -T rksd -d tpl/u-boot-tpl.bin idbloader.img cat spl/u-boot-spl.bin >> idbloader.img</pre> Flash the idbloader.img to offset 0x40 which including boot stage 2 and you will need a uboot.img for boot stage 3. ==== idbspl.img ==== U-Boot SPL, only available in rk3399. <pre>mkimage -n rkxxxx -T rksd -d spl/u-boot-spl.bin idbspl.img</pre> Flash the idbspl.img to offset 0x40 which only including stage 2, and need flash stage 3 &nbsp;image to 0x4000(which is defineded by CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR), the stage 3 image may be&nbsp;u-boot.bin directly(when there no ATF requirement), or FIT image bl3.itb(for ATF load from SPL, including bl31.bin, u-boot-nodtb.bin and u-boot.dtb). === U-Boot === ==== u-boot.itb ==== When using SPL to load the ATF/OP-TEE, package the bl31.bin, u-boot-nodtb.bin and uboot.dtb into one FIT image. You can skip the step to package the Trust image and flash that image in the next section. <pre>make u-boot.itb </pre> Note: please copy the trust binary() to u-boot root directory and rename it to tee.bin(armv7) or bl31.elf(armv8). Flash the u-boot.itb to offset 0x4000, while&nbsp;need idbspl.img flash&nbsp;to offset 0x40. ==== uboot.img ==== When using idbLoader from&nbsp;Rockchip miniloader, need package u-boot.bin into miniloader loadable format by Rockchip tool loaderimage. <pre>tools/loaderimage --pack --uboot u-boot.bin uboot.img</pre> Flash the uboot.img to offset 0x4000 which is stage 3; === Trust === ==== trust.img ==== When using idbLoader from&nbsp;Rockchip miniloader, need package bl31.bin into miniloader loadable format by Rockchip tool trustmerge. <pre>tools/trustmerge tools/rk_tools/RKTRUST_RKXXXXTRUST.ini</pre> Flash the trust.img to offset 0x6000 which is for using Rockchip miniloader === boot.img === This image is package the kernel Image and dtb file into a know filesystem(FAT or EXT2) image for distro boot. See [[Rockchip_Kernel#Install_Boot.2Fkernel|Install kernel]] for detail about generate boot.img from kernel zImage/Image, dtb. Flash the boot.img to offset 0x8000 which is stage 4. === rootfs.img === Flash the rootfs.img to offset 0x40000 which is stage 5. As long as the kernel you chosen can support that filesystem, there is not limit in the format of the image. === rkxx_loader_vx.xx.xxx.bin === This is provide by Rockchip in binary mode, which is used for firmware upgrade to eMMC with [[Rkdeveloptool|rkdeveloptool]], can not be wirte to media device directly. This is a package from ddr.bin, usbplug.bin, miniloader.bin, Rockchip tool ''DB ''command will make usbplug.bin running in target which perform as a Rockusb device. You can skip to package this image, Rockchip will offer this image at the most of time. = Flash and boot from Media device = Here we introduce how to write image to different Medeia device. Get image Ready: *For armv7 with SPL with SPL_BACK_TO_BROM option enabled: **idbLoader.img **boot.img or boot folder with zImage, dtb and exitlinulx inside **rootfs.img *For armv7 with SPL with SPL_BACK_TO_BROM option disabled: **idbspl.img **u-boot.bin **boot.img or boot folder with zImage, dtb and exitlinulx inside **rootfs.img *For armv7 with miniloader **idbLoader.img **uboot.img **boot.img or&nbsp;boot folder with zImage, dtb and exitlinulx inside **rootfs.img *For armv8 with SPL: **idbspl.img **bl3.itb **boot.img or&nbsp;boot folder with Image, dtb and exitlinulx inside **rootfs.img *For armv8 with miniloader **idbLoader.img **uboot.img **trust.img **boot.img or&nbsp;boot folder with Image, dtb and exitlinulx inside **rootfs.img == Boot from eMMC == The eMMC is on the hardware board, so we need: *Get the board into [[Rockusb#Maskrom_mode|maskrom mode]]; *Connect the target to PC with USB cable; *Flash the image to eMMC with [[Rkdeveloptool|rkdeveloptool]] Example commands for flash image to target. Flash the gpt partition to target: <pre style="margin-left: 40px;">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool gpt parameter_gpt.txt</pre> *For armv7 with SPL with SPL_BACK_TO_BROM option enabled(rk3036, rk3188, rk3288): <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbloader.img rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> *For armv7 with SPL with SPL_BACK_TO_BROM option disabled(rk3288): <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbspl.img rkdeveloptool wl 0x200 u-boot.bin rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> *For armv7 with miniloader(rk3036, rk3188, rk3288) <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool ul rkxx_loader_vx.xx.bin rkdeveloptool wl 0x4000 uboot.img rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> *For armv8 with SPL(rk3399): <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbspl.img rkdeveloptool wl 0x200 bl3.itb rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> *For armv8 with miniloader(rk3399, rk3328) <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool ul rkxx_loader_vx.xx.bin rkdeveloptool wl 0x4000 uboot.img rkdeveloptool wl 0x6000 trust.img rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> == Boot from SD/TF Card == We can write SD/TF card with Linux PC ''dd'' command very easily. Insert SD card to PC and we assume the /dev/sdb is the SD card device. *For armv7 with SPL with SPL_BACK_TO_BROM option enabled(rk3036, rk3188, rk3288): <pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64 dd if=boot.img of=sdb seek=32768 dd if=rootfs.img of=sdb seek=262144 </pre> *For armv7 with SPL with SPL_BACK_TO_BROM option disabled(rk3288): <pre style="margin-left: 40px">dd if=idbspl.img of=sdb seek=64 dd if=u-boot.bin of=sdb seek=512 dd if=boot.img of=sdb seek=32768 dd if=rootfs.img of=sdb seek=262144 </pre> *For armv7 with miniloader(rk3036, rk3188, rk3288) <pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64 dd if=uboot.img of=sdb seek=16384 dd if=boot.img of=sdb seek=32768 dd if=rootfs.img of=sdb seek=262144 </pre> *For armv8 with SPL(rk3399): <pre style="margin-left: 40px">dd if=idbspl.img of=sdb seek=64 dd if=bl3.itb of=sdb seek=512 dd if=boot.img of=sdb seek=32768 dd if=rootfs.img of=sdb seek=262144 </pre> *For armv8 with miniloader(rk3399, rk3328) <pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64 dd if=uboot.img of=sdb seek=16384 dd if=trust.img of=sdb seek=24576 dd if=boot.img of=sdb seek=32768 dd if=rootfs.img of=sdb seek=262144</pre> In order to make sure everything has write to SD card before unpluged, recommand to run below command: <pre>sync</pre> Note, when using boot from SD card, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value. <pre>append earlyprintk console=ttyS2,115200n8 rw root=/dev/mmcblk1p7 rootwait rootfstype=ext4 init=/sbin/init </pre> Write GPT partition table to SD card&nbsp;in U-Boot, and then U-Boot can find the boot partition and run into kernel. <pre>gpt write mmc 0 $partitions </pre> == Boot from U-Disk == Same as&nbsp;[[#Boot_from_SD.2FTF_Card|boot-from-sdcard]], but please note that U-Disk&nbsp;only support stage 4 and 5, see [[#Boot_Stage|Boot Stage]] for detail. If U-Disk used for stage 4 and 5, format the U-Disk in gpt format and at least 2 partitions, write ''boot.img'' and ''rootfs.img'' in those partitions; if U-Dist is only used for stage 5, we can ''dd ''the ''rootfs.img'' to U-Disk device directly. Note, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value. <pre> append earlyprintk console=ttyS2,115200n8 rw root=/dev/sda1 rootwait rootfstype=ext4 init=/sbin/init </pre> == Boot from Network == To be continued. = See also = [[Rkdeveloptool|rkdeveloptool]] [[Rockusb|rockusb]] [[Partitions|Rockchip Linux partition definition]] 25603b248e2dce8a29e7f5fdb4dafe37add3985b 1831 1830 2018-03-30T07:24:43Z Kever 2 wikitext text/x-wiki = Boot introduce = First, let's make the concept clear, there are many boot stages when we boot up a Linux OS; Then we need to know about how the image should packaged, where&nbsp;the image locate; At last, we will explain how to write to different&nbsp;media and boot from there. Here is Rockchip pre-released binaries which may be mentioned later: [https://github.com/rockchip-linux/rkbin https://github.com/rockchip-linux/rkbin] And [http://opensource.rock-chips.com/wiki_Partitions Rockcip Linux GPT partition] here. == Boot flow == Here is a table show the detail what we may use in Rockchip platform, for 2 boot stage: - use U-Boot SPL; - use Rockchp idbLoader which is combinded by Rockchip ddr init bin and miniloader bin; <pre>+--------+----------------+----------+-------------+---------+ | Boot | Terminology #1 | Actual | Rockchip | | | stage | | program | Image | | | number | | name | Name | | +--------+----------------+----------+-------------+---------+ | 1 | Primary | ROM code | BootRom | | | | Program | | | | | | Loader | | | | | | | | | | | 2 | Secondary | U-Boot |idbloader.img| 0x40 |including u-boot if not use miniloader | | Program | SPL |idbspl.img | | | | Loader (SPL) | | | | | | | | | | | 3 | - | U-Boot | u-boot.itb | 0x4000 | including u-boot and atf | | | | u-boot.bin | 0x4000 | | | | | uboot.img | 0x4000 | only used with miniloader | | | | | | | | | ATF | trust.img | 0x6000 | only used with miniloader for armv8 | | | | | | | 4 | - | kernel | boot.img | 0x8000 | | | | | | | | 5 | - | rootfs | rootfs.img | 0x40000 | +--------+----------------+----------+-------------+---------+ </pre> Then when we talking about boot from eMMC/SD/U-Disk/net, they are in different concept: *Stage 1 is always in boot rom, it loads stage 2 and may load stage 3(when SPL_BACK_TO_BROM option enabled). *Boot from SPI flash means firmware for stage 2 and 3(SPL and U-Boot only) in SPI flash and stage 4/5 in other place; *Boot from eMMC means all the firmware(including stage 2, 3, 4, 5) in eMMC; *Boot from SD card means all the firmware(including stage 2, 3, 4, 5) in SD card; *Boot from U-Disk means firmware for stage 4 and 5(not including SPL and U-Boot) in Disk, optionally only including stage 5; *Boot from net/tftp means firmeware for stage 4 and 5(not including SPL and U-Boot) on the network; &nbsp; [[File:Rockchip bootflow.jpg|1000x1000px|Rockchip bootflow.jpg]] Boot Flow 1 is typical Rockchip boot flow with Rockchip miniloader;<br/> Boot Flow 2 is used for most SoCs with U-Boot TPL for ddr init and SPL for trust(ATF/OP-TEE) load and run into next stage;<br/> Boot Flow 3 is use only for RK3399 with SPL ATF support;<br/> Boot Flow 4 is used for armv7 SoCs which do not support trust;<br/> <br/> Note 1. If loader1 have more than 1 stage, program will back to bootrom and bootrom load and run into next stage. eg. If loader1 is tpl and spl, the bootrom will run into tpl first, tpl init ddr and back to bootrom, bootrom then load and run into spl.<br/> Note 2. If trust is enabled, loader1 need to load both trust and u-boot, and then run into trust in secure mode(EL3 in armv8), trust do the initialize and run into U-Boot in non-secure mode(EL2 in armv8).<br/> Note 3. For trust(in trust.img or u-boot.itb), armv7 has only one tee.bin with or without ta, armv8 has bl31.elf and option with bl32.<br/> Note 4. In boot.img, content can be zImage and its dtb for Linux, and can optionally be grub.efi, and can be AOSP boot.img, ramdisk is option; == Package option == After we know about the boot stages, Here are the file list before package for stage 2~4: *From source code: **From U-Boot: '''u-boot-spl.bin''', '''u-boot.bin'''(may use u-boot-nodtb.bin and u-boot.dtb instead), **From kernel: kernel '''Image/zImage''' file, kernel dtb, **From ATF: '''bl31.elf'''; *From Rockchip binary: **ddr, usbplug, miniloader, bl31/op-tee, (all with&nbsp;chip 'rkxx_'&nbsp; prefix and with version '_x.xx.bin' postfix); We offer two different boot-loader methods for different solutions, the steps and request files are also complete different. But not all the platforms supports the both boot-loader methods. Here are the types to&nbsp;package image from those files: === The Pre-bootloader === ==== Rockchip Miniloader ==== Package the image from Rockchip binary: No need to package a idbloader for eMMC because you can use below command to write idbloader from loader: <pre>rkdeveloptool db rkxx_ddr_vx.xx.bin rkdeveloptool ul rkxx_ddr_vx.xx.bin</pre> For SD boot, you need a idbloader(combinded with ddr and miniloader) to write to SD card. <pre>tools/mkimage -n rkxxxx -T rksd -d rkxx_ddr_vx.xx.bin idbloader.img cat rkxx_miniloader_vx.xx.bin >> idbloader.img</pre> Flash the idbloader.img to offset 0x40 which including stage 2, and you will need a uboot.img for boot stage 3. ==== idbloader.img with tpl/spl ==== <pre>tools/mkimage -n rkxxxx -T rksd -d tpl/u-boot-tpl.bin idbloader.img cat spl/u-boot-spl.bin >> idbloader.img</pre> Flash the idbloader.img to offset 0x40 which including boot stage 2 and you will need a uboot.img for boot stage 3. ==== idbspl.img ==== U-Boot SPL support ddr init and load data for next stage, only available in rk3399 now. <pre>mkimage -n rkxxxx -T rksd -d spl/u-boot-spl.bin idbspl.img</pre> Flash the idbspl.img to offset 0x40 which only including stage 2, and need flash stage 3 &nbsp;image to 0x4000(which is defineded by CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR), the stage 3 image may be&nbsp;u-boot.bin directly(when there no ATF requirement), or FIT image bl3.itb(for ATF load from SPL, including bl31.bin, u-boot-nodtb.bin and u-boot.dtb). === U-Boot === ==== u-boot.itb ==== When using SPL to load the ATF/OP-TEE, package the bl31.bin, u-boot-nodtb.bin and uboot.dtb into one FIT image. You can skip the step to package the Trust image and flash that image in the next section. <pre>make u-boot.itb </pre> Note: please copy the trust binary() to u-boot root directory and rename it to tee.bin(armv7) or bl31.elf(armv8). Flash the u-boot.itb to offset 0x4000, while&nbsp;need idbspl.img flash&nbsp;to offset 0x40. ==== uboot.img ==== When using idbLoader from&nbsp;Rockchip miniloader, need package u-boot.bin into miniloader loadable format by Rockchip tool loaderimage. <pre>tools/loaderimage --pack --uboot u-boot.bin uboot.img</pre> Flash the uboot.img to offset 0x4000 which is stage 3; === Trust === ==== trust.img ==== When using idbLoader from&nbsp;Rockchip miniloader, need package bl31.bin into miniloader loadable format by Rockchip tool trustmerge. <pre>tools/trustmerge tools/rk_tools/RKTRUST_RKXXXXTRUST.ini</pre> Flash the trust.img to offset 0x6000 which is for using Rockchip miniloader === boot.img === This image is package the kernel Image and dtb file into a know filesystem(FAT or EXT2) image for distro boot. See [[Rockchip_Kernel#Install_Boot.2Fkernel|Install kernel]] for detail about generate boot.img from kernel zImage/Image, dtb. Flash the boot.img to offset 0x8000 which is stage 4. === rootfs.img === Flash the rootfs.img to offset 0x40000 which is stage 5. As long as the kernel you chosen can support that filesystem, there is not limit in the format of the image. === rkxx_loader_vx.xx.xxx.bin === This is provide by Rockchip in binary mode, which is used for firmware upgrade to eMMC with [[Rkdeveloptool|rkdeveloptool]], can not be wirte to media device directly. This is a package from ddr.bin, usbplug.bin, miniloader.bin, Rockchip tool ''DB ''command will make usbplug.bin running in target which perform as a Rockusb device. You can skip to package this image, Rockchip will offer this image at the most of time. = Flash and boot from Media device = Here we introduce how to write image to different Medeia device. Get image Ready: *For armv7 with SPL with SPL_BACK_TO_BROM option enabled: **idbLoader.img **boot.img or boot folder with zImage, dtb and exitlinulx inside **rootfs.img *For armv7 with SPL with SPL_BACK_TO_BROM option disabled: **idbspl.img **u-boot.bin **boot.img or boot folder with zImage, dtb and exitlinulx inside **rootfs.img *For armv7 with miniloader **idbLoader.img **uboot.img **boot.img or&nbsp;boot folder with zImage, dtb and exitlinulx inside **rootfs.img *For armv8 with SPL: **idbspl.img **bl3.itb **boot.img or&nbsp;boot folder with Image, dtb and exitlinulx inside **rootfs.img *For armv8 with miniloader **idbLoader.img **uboot.img **trust.img **boot.img or&nbsp;boot folder with Image, dtb and exitlinulx inside **rootfs.img == Boot from eMMC == The eMMC is on the hardware board, so we need: *Get the board into [[Rockusb#Maskrom_mode|maskrom mode]]; *Connect the target to PC with USB cable; *Flash the image to eMMC with [[Rkdeveloptool|rkdeveloptool]] Example commands for flash image to target. Flash the gpt partition to target: <pre style="margin-left: 40px;">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool gpt parameter_gpt.txt</pre> *For armv7 with SPL with SPL_BACK_TO_BROM option enabled(rk3036, rk3188, rk3288): <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbloader.img rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> *For armv7 with SPL with SPL_BACK_TO_BROM option disabled(rk3288): <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbspl.img rkdeveloptool wl 0x200 u-boot.bin rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> *For armv7 with miniloader(rk3036, rk3188, rk3288) <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool ul rkxx_loader_vx.xx.bin rkdeveloptool wl 0x4000 uboot.img rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> *For armv8 with SPL(rk3399): <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbspl.img rkdeveloptool wl 0x200 bl3.itb rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> *For armv8 with miniloader(rk3399, rk3328) <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool ul rkxx_loader_vx.xx.bin rkdeveloptool wl 0x4000 uboot.img rkdeveloptool wl 0x6000 trust.img rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> == Boot from SD/TF Card == We can write SD/TF card with Linux PC ''dd'' command very easily. Insert SD card to PC and we assume the /dev/sdb is the SD card device. *For armv7 with SPL with SPL_BACK_TO_BROM option enabled(rk3036, rk3188, rk3288): <pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64 dd if=boot.img of=sdb seek=32768 dd if=rootfs.img of=sdb seek=262144 </pre> *For armv7 with SPL with SPL_BACK_TO_BROM option disabled(rk3288): <pre style="margin-left: 40px">dd if=idbspl.img of=sdb seek=64 dd if=u-boot.bin of=sdb seek=512 dd if=boot.img of=sdb seek=32768 dd if=rootfs.img of=sdb seek=262144 </pre> *For armv7 with miniloader(rk3036, rk3188, rk3288) <pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64 dd if=uboot.img of=sdb seek=16384 dd if=boot.img of=sdb seek=32768 dd if=rootfs.img of=sdb seek=262144 </pre> *For armv8 with SPL(rk3399): <pre style="margin-left: 40px">dd if=idbspl.img of=sdb seek=64 dd if=bl3.itb of=sdb seek=512 dd if=boot.img of=sdb seek=32768 dd if=rootfs.img of=sdb seek=262144 </pre> *For armv8 with miniloader(rk3399, rk3328) <pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64 dd if=uboot.img of=sdb seek=16384 dd if=trust.img of=sdb seek=24576 dd if=boot.img of=sdb seek=32768 dd if=rootfs.img of=sdb seek=262144</pre> In order to make sure everything has write to SD card before unpluged, recommand to run below command: <pre>sync</pre> Note, when using boot from SD card, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value. <pre>append earlyprintk console=ttyS2,115200n8 rw root=/dev/mmcblk1p7 rootwait rootfstype=ext4 init=/sbin/init </pre> Write GPT partition table to SD card&nbsp;in U-Boot, and then U-Boot can find the boot partition and run into kernel. <pre>gpt write mmc 0 $partitions </pre> == Boot from U-Disk == Same as&nbsp;[[#Boot_from_SD.2FTF_Card|boot-from-sdcard]], but please note that U-Disk&nbsp;only support stage 4 and 5, see [[#Boot_Stage|Boot Stage]] for detail. If U-Disk used for stage 4 and 5, format the U-Disk in gpt format and at least 2 partitions, write ''boot.img'' and ''rootfs.img'' in those partitions; if U-Dist is only used for stage 5, we can ''dd ''the ''rootfs.img'' to U-Disk device directly. Note, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value. <pre> append earlyprintk console=ttyS2,115200n8 rw root=/dev/sda1 rootwait rootfstype=ext4 init=/sbin/init </pre> == Boot from Network == To be continued. = See also = [[Rkdeveloptool|rkdeveloptool]] [[Rockusb|rockusb]] [[Partitions|Rockchip Linux partition definition]] 36bcb6fbc8afb55d687238a93e00a916dfe31171 1832 1831 2018-03-30T07:26:42Z Kever 2 wikitext text/x-wiki = Boot introduce = First, let's make the concept clear, there are many boot stages when we boot up a Linux OS; Then we need to know about how the image should packaged, where&nbsp;the image locate; At last, we will explain how to write to different&nbsp;media and boot from there. Here is Rockchip pre-released binaries which may be mentioned later: [https://github.com/rockchip-linux/rkbin https://github.com/rockchip-linux/rkbin] And [http://opensource.rock-chips.com/wiki_Partitions Rockcip Linux GPT partition] here. == Boot flow == Here is a table show the detail what we may use in Rockchip platform, for 2 boot stage: - use U-Boot SPL; - use Rockchp idbLoader which is combinded by Rockchip ddr init bin and miniloader bin; <pre>+--------+----------------+----------+-------------+---------+ | Boot | Terminology #1 | Actual | Rockchip | | | stage | | program | Image | | | number | | name | Name | | +--------+----------------+----------+-------------+---------+ | 1 | Primary | ROM code | BootRom | | | | Program | | | | | | Loader | | | | | | | | | | | 2 | Secondary | U-Boot |idbloader.img| 0x40 |including u-boot if not use miniloader | | Program | SPL |idbspl.img | | | | Loader (SPL) | | | | | | | | | | | 3 | - | U-Boot | u-boot.itb | 0x4000 | including u-boot and atf | | | | u-boot.bin | 0x4000 | | | | | uboot.img | 0x4000 | only used with miniloader | | | | | | | | | ATF | trust.img | 0x6000 | only used with miniloader for armv8 | | | | | | | 4 | - | kernel | boot.img | 0x8000 | | | | | | | | 5 | - | rootfs | rootfs.img | 0x40000 | +--------+----------------+----------+-------------+---------+ </pre> Then when we talking about boot from eMMC/SD/U-Disk/net, they are in different concept: *Stage 1 is always in boot rom, it loads stage 2 and may load stage 3(when SPL_BACK_TO_BROM option enabled). *Boot from SPI flash means firmware for stage 2 and 3(SPL and U-Boot only) in SPI flash and stage 4/5 in other place; *Boot from eMMC means all the firmware(including stage 2, 3, 4, 5) in eMMC; *Boot from SD card means all the firmware(including stage 2, 3, 4, 5) in SD card; *Boot from U-Disk means firmware for stage 4 and 5(not including SPL and U-Boot) in Disk, optionally only including stage 5; *Boot from net/tftp means firmeware for stage 4 and 5(not including SPL and U-Boot) on the network; &nbsp; [[File:Rockchip bootflow.jpg|1000x1000px|Rockchip bootflow.jpg]] Boot Flow 1 is typical Rockchip boot flow with Rockchip miniloader;<br/> Boot Flow 2 is used for most SoCs with U-Boot TPL for ddr init and SPL for trust(ATF/OP-TEE) load and run into next stage;<br/> Boot Flow 3 is use only for RK3399 with SPL ATF support;<br/> Boot Flow 4 is used for armv7 SoCs which do not support trust;<br/> <br/> Note 1. If loader1 have more than 1 stage, program will back to bootrom and bootrom load and run into next stage. eg. If loader1 is tpl and spl, the bootrom will run into tpl first, tpl init ddr and back to bootrom, bootrom then load and run into spl.<br/> Note 2. If trust is enabled, loader1 need to load both trust and u-boot, and then run into trust in secure mode(EL3 in armv8), trust do the initialize and run into U-Boot in non-secure mode(EL2 in armv8).<br/> Note 3. For trust(in trust.img or u-boot.itb), armv7 has only one tee.bin with or without ta, armv8 has bl31.elf and option with bl32.<br/> Note 4. In boot.img, content can be zImage and its dtb for Linux, and can optionally be grub.efi, and can be AOSP boot.img, ramdisk is option; == Package option == After we know about the boot stages, Here are the file list before package for stage 2~4: *From source code: **From U-Boot: '''u-boot-spl.bin''', '''u-boot.bin'''(may use u-boot-nodtb.bin and u-boot.dtb instead), **From kernel: kernel '''Image/zImage''' file, kernel dtb, **From ATF: '''bl31.elf'''; *From Rockchip binary: **ddr, usbplug, miniloader, bl31/op-tee, (all with&nbsp;chip 'rkxx_'&nbsp; prefix and with version '_x.xx.bin' postfix); We offer two different boot-loader methods for different solutions, the steps and request files are also complete different. But not all the platforms supports the both boot-loader methods. Here are the types to&nbsp;package image from those files: === The Pre-bootloader === ==== Rockchip Miniloader ==== Package the image from Rockchip binary: No need to package a idbloader for eMMC because you can use below command to write idbloader from loader: <pre>rkdeveloptool db rkxx_ddr_vx.xx.bin rkdeveloptool ul rkxx_ddr_vx.xx.bin</pre> For SD boot, you need a idbloader(combinded with ddr and miniloader) to write to SD card. <pre>tools/mkimage -n rkxxxx -T rksd -d rkxx_ddr_vx.xx.bin idbloader.img cat rkxx_miniloader_vx.xx.bin >> idbloader.img</pre> Flash the idbloader.img to offset 0x40 which including stage 2, and you will need a uboot.img for boot stage 3. ==== idbloader.img with tpl/spl ==== <pre>tools/mkimage -n rkxxxx -T rksd -d tpl/u-boot-tpl.bin idbloader.img cat spl/u-boot-spl.bin >> idbloader.img</pre> Flash the idbloader.img to offset 0x40 which including boot stage 2 and you will need a uboot.img for boot stage 3. ==== idbspl.img ==== U-Boot SPL support ddr init and load data for next stage, only available in rk3399 now. <pre>mkimage -n rkxxxx -T rksd -d spl/u-boot-spl.bin idbspl.img</pre> Flash the idbspl.img to offset 0x40 which only including stage 2, and need flash stage 3 &nbsp;image to 0x4000(which is defineded by CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR), the stage 3 image may be&nbsp;u-boot.bin directly(when there no ATF requirement), or FIT image bl3.itb(for ATF load from SPL, including bl31.bin, u-boot-nodtb.bin and u-boot.dtb). === U-Boot === ==== uboot.img ==== When using idbLoader from&nbsp;Rockchip miniloader, need package u-boot.bin into miniloader loadable format by Rockchip tool loaderimage. <pre>tools/loaderimage --pack --uboot u-boot.bin uboot.img</pre> &nbsp; ==== u-boot.itb ==== When using SPL to load the ATF/OP-TEE, package the bl31.bin, u-boot-nodtb.bin and uboot.dtb into one FIT image. You can skip the step to package the Trust image and flash that image in the next section. <pre>make u-boot.itb </pre> Note: please copy the trust binary() to u-boot root directory and rename it to tee.bin(armv7) or bl31.elf(armv8). === Trust === ==== trust.img ==== When using idbLoader from&nbsp;Rockchip miniloader, need package bl31.bin into miniloader loadable format by Rockchip tool trustmerge. <pre>tools/trustmerge tools/rk_tools/RKTRUST_RKXXXXTRUST.ini</pre> Flash the trust.img to offset 0x6000 which is for using Rockchip miniloader === boot.img === This image is package the kernel Image and dtb file into a know filesystem(FAT or EXT2) image for distro boot. See [[Rockchip_Kernel#Install_Boot.2Fkernel|Install kernel]] for detail about generate boot.img from kernel zImage/Image, dtb. Flash the boot.img to offset 0x8000 which is stage 4. === rootfs.img === Flash the rootfs.img to offset 0x40000 which is stage 5. As long as the kernel you chosen can support that filesystem, there is not limit in the format of the image. === rkxx_loader_vx.xx.xxx.bin === This is provide by Rockchip in binary mode, which is used for firmware upgrade to eMMC with [[Rkdeveloptool|rkdeveloptool]], can not be wirte to media device directly. This is a package from ddr.bin, usbplug.bin, miniloader.bin, Rockchip tool ''DB ''command will make usbplug.bin running in target which perform as a Rockusb device. You can skip to package this image, Rockchip will offer this image at the most of time. = Flash and boot from Media device = Here we introduce how to write image to different Medeia device. Get image Ready: *For armv7 with SPL with SPL_BACK_TO_BROM option enabled: **idbLoader.img **boot.img or boot folder with zImage, dtb and exitlinulx inside **rootfs.img *For armv7 with SPL with SPL_BACK_TO_BROM option disabled: **idbspl.img **u-boot.bin **boot.img or boot folder with zImage, dtb and exitlinulx inside **rootfs.img *For armv7 with miniloader **idbLoader.img **uboot.img **boot.img or&nbsp;boot folder with zImage, dtb and exitlinulx inside **rootfs.img *For armv8 with SPL: **idbspl.img **bl3.itb **boot.img or&nbsp;boot folder with Image, dtb and exitlinulx inside **rootfs.img *For armv8 with miniloader **idbLoader.img **uboot.img **trust.img **boot.img or&nbsp;boot folder with Image, dtb and exitlinulx inside **rootfs.img == Boot from eMMC == The eMMC is on the hardware board, so we need: *Get the board into [[Rockusb#Maskrom_mode|maskrom mode]]; *Connect the target to PC with USB cable; *Flash the image to eMMC with [[Rkdeveloptool|rkdeveloptool]] Example commands for flash image to target. Flash the gpt partition to target: <pre style="margin-left: 40px;">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool gpt parameter_gpt.txt</pre> *For armv7 with SPL with SPL_BACK_TO_BROM option enabled(rk3036, rk3188, rk3288): <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbloader.img rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> *For armv7 with SPL with SPL_BACK_TO_BROM option disabled(rk3288): <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbspl.img rkdeveloptool wl 0x200 u-boot.bin rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> *For armv7 with miniloader(rk3036, rk3188, rk3288) <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool ul rkxx_loader_vx.xx.bin rkdeveloptool wl 0x4000 uboot.img rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> *For armv8 with SPL(rk3399): <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbspl.img rkdeveloptool wl 0x200 bl3.itb rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> *For armv8 with miniloader(rk3399, rk3328) <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool ul rkxx_loader_vx.xx.bin rkdeveloptool wl 0x4000 uboot.img rkdeveloptool wl 0x6000 trust.img rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> == Boot from SD/TF Card == We can write SD/TF card with Linux PC ''dd'' command very easily. Insert SD card to PC and we assume the /dev/sdb is the SD card device. *For armv7 with SPL with SPL_BACK_TO_BROM option enabled(rk3036, rk3188, rk3288): <pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64 dd if=boot.img of=sdb seek=32768 dd if=rootfs.img of=sdb seek=262144 </pre> *For armv7 with SPL with SPL_BACK_TO_BROM option disabled(rk3288): <pre style="margin-left: 40px">dd if=idbspl.img of=sdb seek=64 dd if=u-boot.bin of=sdb seek=512 dd if=boot.img of=sdb seek=32768 dd if=rootfs.img of=sdb seek=262144 </pre> *For armv7 with miniloader(rk3036, rk3188, rk3288) <pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64 dd if=uboot.img of=sdb seek=16384 dd if=boot.img of=sdb seek=32768 dd if=rootfs.img of=sdb seek=262144 </pre> *For armv8 with SPL(rk3399): <pre style="margin-left: 40px">dd if=idbspl.img of=sdb seek=64 dd if=bl3.itb of=sdb seek=512 dd if=boot.img of=sdb seek=32768 dd if=rootfs.img of=sdb seek=262144 </pre> *For armv8 with miniloader(rk3399, rk3328) <pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64 dd if=uboot.img of=sdb seek=16384 dd if=trust.img of=sdb seek=24576 dd if=boot.img of=sdb seek=32768 dd if=rootfs.img of=sdb seek=262144</pre> In order to make sure everything has write to SD card before unpluged, recommand to run below command: <pre>sync</pre> Note, when using boot from SD card, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value. <pre>append earlyprintk console=ttyS2,115200n8 rw root=/dev/mmcblk1p7 rootwait rootfstype=ext4 init=/sbin/init </pre> Write GPT partition table to SD card&nbsp;in U-Boot, and then U-Boot can find the boot partition and run into kernel. <pre>gpt write mmc 0 $partitions </pre> == Boot from U-Disk == Same as&nbsp;[[#Boot_from_SD.2FTF_Card|boot-from-sdcard]], but please note that U-Disk&nbsp;only support stage 4 and 5, see [[#Boot_Stage|Boot Stage]] for detail. If U-Disk used for stage 4 and 5, format the U-Disk in gpt format and at least 2 partitions, write ''boot.img'' and ''rootfs.img'' in those partitions; if U-Dist is only used for stage 5, we can ''dd ''the ''rootfs.img'' to U-Disk device directly. Note, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value. <pre> append earlyprintk console=ttyS2,115200n8 rw root=/dev/sda1 rootwait rootfstype=ext4 init=/sbin/init </pre> == Boot from Network == To be continued. = See also = [[Rkdeveloptool|rkdeveloptool]] [[Rockusb|rockusb]] [[Partitions|Rockchip Linux partition definition]] 352853b6dca0fbb55a5f75deb20f15d5d05bdc4c 1833 1832 2018-03-30T07:29:11Z Kever 2 wikitext text/x-wiki = Boot introduce = First, let's make the concept clear, there are many boot stages when we boot up a Linux OS; Then we need to know about how the image should packaged, where&nbsp;the image locate; At last, we will explain how to write to different&nbsp;media and boot from there. Here is Rockchip pre-released binaries which may be mentioned later: [https://github.com/rockchip-linux/rkbin https://github.com/rockchip-linux/rkbin] And [http://opensource.rock-chips.com/wiki_Partitions Rockcip Linux GPT partition] here. == Boot flow == Here is a table show the detail what we may use in Rockchip platform, for 2 boot stage: - use U-Boot SPL; - use Rockchp idbLoader which is combinded by Rockchip ddr init bin and miniloader bin; <pre>+--------+----------------+----------+-------------+---------+ | Boot | Terminology #1 | Actual | Rockchip | | | stage | | program | Image | | | number | | name | Name | | +--------+----------------+----------+-------------+---------+ | 1 | Primary | ROM code | BootRom | | | | Program | | | | | | Loader | | | | | | | | | | | 2 | Secondary | U-Boot |idbloader.img| 0x40 |including u-boot if not use miniloader | | Program | SPL |idbspl.img | | | | Loader (SPL) | | | | | | | | | | | 3 | - | U-Boot | u-boot.itb | 0x4000 | including u-boot and atf | | | | u-boot.bin | 0x4000 | | | | | uboot.img | 0x4000 | only used with miniloader | | | | | | | | | ATF | trust.img | 0x6000 | only used with miniloader for armv8 | | | | | | | 4 | - | kernel | boot.img | 0x8000 | | | | | | | | 5 | - | rootfs | rootfs.img | 0x40000 | +--------+----------------+----------+-------------+---------+ </pre> Then when we talking about boot from eMMC/SD/U-Disk/net, they are in different concept: *Stage 1 is always in boot rom, it loads stage 2 and may load stage 3(when SPL_BACK_TO_BROM option enabled). *Boot from SPI flash means firmware for stage 2 and 3(SPL and U-Boot only) in SPI flash and stage 4/5 in other place; *Boot from eMMC means all the firmware(including stage 2, 3, 4, 5) in eMMC; *Boot from SD card means all the firmware(including stage 2, 3, 4, 5) in SD card; *Boot from U-Disk means firmware for stage 4 and 5(not including SPL and U-Boot) in Disk, optionally only including stage 5; *Boot from net/tftp means firmeware for stage 4 and 5(not including SPL and U-Boot) on the network; &nbsp; [[File:Rockchip bootflow.jpg|1000x1000px|Rockchip bootflow.jpg]] Boot Flow 1 is typical Rockchip boot flow with Rockchip miniloader;<br/> Boot Flow 2 is used for most SoCs with U-Boot TPL for ddr init and SPL for trust(ATF/OP-TEE) load and run into next stage;<br/> Boot Flow 3 is use only for RK3399 with SPL ATF support;<br/> Boot Flow 4 is used for armv7 SoCs which do not support trust;<br/> <br/> Note 1. If loader1 have more than 1 stage, program will back to bootrom and bootrom load and run into next stage. eg. If loader1 is tpl and spl, the bootrom will run into tpl first, tpl init ddr and back to bootrom, bootrom then load and run into spl.<br/> Note 2. If trust is enabled, loader1 need to load both trust and u-boot, and then run into trust in secure mode(EL3 in armv8), trust do the initialize and run into U-Boot in non-secure mode(EL2 in armv8).<br/> Note 3. For trust(in trust.img or u-boot.itb), armv7 has only one tee.bin with or without ta, armv8 has bl31.elf and option with bl32.<br/> Note 4. In boot.img, content can be zImage and its dtb for Linux, and can optionally be grub.efi, and can be AOSP boot.img, ramdisk is option; == Package option == After we know about the boot stages, Here are the file list before package for stage 2~4: *From source code: **From U-Boot: '''u-boot-spl.bin''', '''u-boot.bin'''(may use u-boot-nodtb.bin and u-boot.dtb instead), **From kernel: kernel '''Image/zImage''' file, kernel dtb, **From ATF: '''bl31.elf'''; *From Rockchip binary: **ddr, usbplug, miniloader, bl31/op-tee, (all with&nbsp;chip 'rkxx_'&nbsp; prefix and with version '_x.xx.bin' postfix); We offer two different boot-loader methods for different solutions, the steps and request files are also complete different. But not all the platforms supports the both boot-loader methods. Here are the types to&nbsp;package image from those files: === The Pre-bootloader === ==== Rockchip Miniloader ==== Package the image from Rockchip binary: No need to package a idbloader for eMMC because you can use below command to write idbloader from loader: <pre>rkdeveloptool db rkxx_ddr_vx.xx.bin rkdeveloptool ul rkxx_ddr_vx.xx.bin</pre> For SD boot, you need a idbloader(combinded with ddr and miniloader) to write to SD card. <pre>tools/mkimage -n rkxxxx -T rksd -d rkxx_ddr_vx.xx.bin idbloader.img cat rkxx_miniloader_vx.xx.bin >> idbloader.img </pre> ==== idbloader.img with tpl/spl ==== <pre>tools/mkimage -n rkxxxx -T rksd -d tpl/u-boot-tpl.bin idbloader.img cat spl/u-boot-spl.bin >> idbloader.img </pre> ==== idbspl.img ==== U-Boot SPL support ddr init and load data for next stage, only available in rk3399 now. <pre>mkimage -n rkxxxx -T rksd -d spl/u-boot-spl.bin idbspl.img </pre> Flash the idbloader.img/idbspl.img&nbsp;to offset 0x40 which including stage 2, and you will need a uboot.img for boot stage 3. === U-Boot === ==== uboot.img ==== When using idbLoader from&nbsp;Rockchip miniloader, need package u-boot.bin into miniloader loadable format by Rockchip tool loaderimage. <pre>tools/loaderimage --pack --uboot u-boot.bin uboot.img</pre> &nbsp; ==== u-boot.itb ==== When using SPL to load the ATF/OP-TEE, package the bl31.bin, u-boot-nodtb.bin and uboot.dtb into one FIT image. You can skip the step to package the Trust image and flash that image in the next section. <pre>make u-boot.itb </pre> Note: please copy the trust binary() to u-boot root directory and rename it to tee.bin(armv7) or bl31.elf(armv8). === Trust === ==== trust.img ==== When using idbLoader from&nbsp;Rockchip miniloader, need package bl31.bin into miniloader loadable format by Rockchip tool trustmerge. <pre>tools/trustmerge tools/rk_tools/RKTRUST_RKXXXXTRUST.ini</pre> Flash the trust.img to offset 0x6000 which is for using Rockchip miniloader === boot.img === This image is package the kernel Image and dtb file into a know filesystem(FAT or EXT2) image for distro boot. See [[Rockchip_Kernel#Install_Boot.2Fkernel|Install kernel]] for detail about generate boot.img from kernel zImage/Image, dtb. Flash the boot.img to offset 0x8000 which is stage 4. === rootfs.img === Flash the rootfs.img to offset 0x40000 which is stage 5. As long as the kernel you chosen can support that filesystem, there is not limit in the format of the image. === rkxx_loader_vx.xx.xxx.bin === This is provide by Rockchip in binary mode, which is used for firmware upgrade to eMMC with [[Rkdeveloptool|rkdeveloptool]], can not be wirte to media device directly. This is a package from ddr.bin, usbplug.bin, miniloader.bin, Rockchip tool ''DB ''command will make usbplug.bin running in target which perform as a Rockusb device. You can skip to package this image, Rockchip will offer this image at the most of time. = Flash and boot from Media device = Here we introduce how to write image to different Medeia device. Get image Ready: *For armv7 with SPL with SPL_BACK_TO_BROM option enabled: **idbLoader.img **boot.img or boot folder with zImage, dtb and exitlinulx inside **rootfs.img *For armv7 with SPL with SPL_BACK_TO_BROM option disabled: **idbspl.img **u-boot.bin **boot.img or boot folder with zImage, dtb and exitlinulx inside **rootfs.img *For armv7 with miniloader **idbLoader.img **uboot.img **boot.img or&nbsp;boot folder with zImage, dtb and exitlinulx inside **rootfs.img *For armv8 with SPL: **idbspl.img **bl3.itb **boot.img or&nbsp;boot folder with Image, dtb and exitlinulx inside **rootfs.img *For armv8 with miniloader **idbLoader.img **uboot.img **trust.img **boot.img or&nbsp;boot folder with Image, dtb and exitlinulx inside **rootfs.img == Boot from eMMC == The eMMC is on the hardware board, so we need: *Get the board into [[Rockusb#Maskrom_mode|maskrom mode]]; *Connect the target to PC with USB cable; *Flash the image to eMMC with [[Rkdeveloptool|rkdeveloptool]] Example commands for flash image to target. Flash the gpt partition to target: <pre style="margin-left: 40px;">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool gpt parameter_gpt.txt</pre> *For armv7 with SPL with SPL_BACK_TO_BROM option enabled(rk3036, rk3188, rk3288): <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbloader.img rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> *For armv7 with SPL with SPL_BACK_TO_BROM option disabled(rk3288): <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbspl.img rkdeveloptool wl 0x200 u-boot.bin rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> *For armv7 with miniloader(rk3036, rk3188, rk3288) <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool ul rkxx_loader_vx.xx.bin rkdeveloptool wl 0x4000 uboot.img rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> *For armv8 with SPL(rk3399): <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbspl.img rkdeveloptool wl 0x200 bl3.itb rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> *For armv8 with miniloader(rk3399, rk3328) <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool ul rkxx_loader_vx.xx.bin rkdeveloptool wl 0x4000 uboot.img rkdeveloptool wl 0x6000 trust.img rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> == Boot from SD/TF Card == We can write SD/TF card with Linux PC ''dd'' command very easily. Insert SD card to PC and we assume the /dev/sdb is the SD card device. *For armv7 with SPL with SPL_BACK_TO_BROM option enabled(rk3036, rk3188, rk3288): <pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64 dd if=boot.img of=sdb seek=32768 dd if=rootfs.img of=sdb seek=262144 </pre> *For armv7 with SPL with SPL_BACK_TO_BROM option disabled(rk3288): <pre style="margin-left: 40px">dd if=idbspl.img of=sdb seek=64 dd if=u-boot.bin of=sdb seek=512 dd if=boot.img of=sdb seek=32768 dd if=rootfs.img of=sdb seek=262144 </pre> *For armv7 with miniloader(rk3036, rk3188, rk3288) <pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64 dd if=uboot.img of=sdb seek=16384 dd if=boot.img of=sdb seek=32768 dd if=rootfs.img of=sdb seek=262144 </pre> *For armv8 with SPL(rk3399): <pre style="margin-left: 40px">dd if=idbspl.img of=sdb seek=64 dd if=bl3.itb of=sdb seek=512 dd if=boot.img of=sdb seek=32768 dd if=rootfs.img of=sdb seek=262144 </pre> *For armv8 with miniloader(rk3399, rk3328) <pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64 dd if=uboot.img of=sdb seek=16384 dd if=trust.img of=sdb seek=24576 dd if=boot.img of=sdb seek=32768 dd if=rootfs.img of=sdb seek=262144</pre> In order to make sure everything has write to SD card before unpluged, recommand to run below command: <pre>sync</pre> Note, when using boot from SD card, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value. <pre>append earlyprintk console=ttyS2,115200n8 rw root=/dev/mmcblk1p7 rootwait rootfstype=ext4 init=/sbin/init </pre> Write GPT partition table to SD card&nbsp;in U-Boot, and then U-Boot can find the boot partition and run into kernel. <pre>gpt write mmc 0 $partitions </pre> == Boot from U-Disk == Same as&nbsp;[[#Boot_from_SD.2FTF_Card|boot-from-sdcard]], but please note that U-Disk&nbsp;only support stage 4 and 5, see [[#Boot_Stage|Boot Stage]] for detail. If U-Disk used for stage 4 and 5, format the U-Disk in gpt format and at least 2 partitions, write ''boot.img'' and ''rootfs.img'' in those partitions; if U-Dist is only used for stage 5, we can ''dd ''the ''rootfs.img'' to U-Disk device directly. Note, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value. <pre> append earlyprintk console=ttyS2,115200n8 rw root=/dev/sda1 rootwait rootfstype=ext4 init=/sbin/init </pre> == Boot from Network == To be continued. = See also = [[Rkdeveloptool|rkdeveloptool]] [[Rockusb|rockusb]] [[Partitions|Rockchip Linux partition definition]] 53fd6581e187155d07714b18f4baf2be5217b925 Main Page 0 16 1834 1803 2018-04-16T04:58:30Z Admin 1 wikitext text/x-wiki = '''Source code''' = Rockchip provide open source software on Github including fully support for Linux Based OS: *Github: [https://github.com/rockchip-linux rockchip-linux] You can also find software for Rockchip SoCs from Upstream: *[https://www.kernel.org/ Linux kernel] *[http://www.denx.de/wiki/U-Boot/WebHome U-Boot] *[https://github.com/ARM-software/arm-trusted-firmware ARM Trusted Firmware] If you are using a Chrombook with Rockchip SoC, you can use: *[https://chromium.googlesource.com/chromiumos/third_party/coreboot Chromium OS&nbsp;Coreboot] *[https://chromium.googlesource.com/chromiumos/third_party/kernel Chromium OS kernel] &nbsp; = '''Hardware Document''' = Here are the documents for SoCs, you can find&nbsp;Hardware device/board information on [[Devices|DEVICE LIST PAGE]]. {| border="1" cellpadding="0" cellspacing="0" class="table_style" |- ! style="width:92px;" | <p style="text-align: center;">SoC</p> ! style="width:286px;" | <p style="text-align: center;">Description</p> ! style="width:189px;" | <p style="text-align: center;">Download</p> ! style="width:189px;" | <p style="text-align: center;">Boards</p> |- | style="width: 92px; text-align: center;" | [[RK3399|RK3399]] | style="width:286px;" | Dual-core Cortex-A72, Quad-core Cortex-A53 CPU, MALI-T864 GPU | style="width:189px;" | [[Media:Rockchip_RK3399TRM_V1.4_Part1-20170408.pdf|TRM]], [[Media:Rockchip_RK3399_Datasheet_V1.6-20170301.pdf|Datasheet]],&nbsp; [[Media:Rk3399_hardware_reference.zip|Schematic&Layout Guide]] | style="width:189px;" | Firefly-RK3399,&nbsp;Excavator,&nbsp;Rock960,&nbsp;VS-RK3399,&nbsp;Rico-rk3399,&nbsp;Odroid N1,&nbsp;Orange Pi RK3399 |- | style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p> | style="width:286px;" | Quad-core Cortex-A17 CPU, MALI-T764 GPU | style="width:189px;" | [[Media:Rockchip_RK3288_TRM_V1.2_Part1-20170321.pdf|TRM]], [[Media:Rockchip_RK3288_Datasheet_V2.2-20170301.pdf|Datasheet]],&nbsp; [[Media:Rk3288_hardware_reference.zip|Schematic&Layout Guide]] | style="width:189px;" | Firefly-RK3288,&nbsp;RK3288-evb,&nbsp;Tinker,&nbsp;Rico-3288,&nbsp;Miqi,&nbsp;Phytec-rk3288 |- | style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p> | style="width:286px;" | Quad-core Cortex-A53 CPU,MALI-450MP2 GPU | style="width:189px;" | [[Media:Rockchip_RK3328TRM_V1.1-Part1-20170321.pdf|TRM]], [[Media:Rockchip_RK3328_Datasheet_V1.1-20170309.pdf|Datasheet]],&nbsp; [[Media:Rk3328_hardware_reference.zip|Schematic&Layout Guide]] | style="width:189px;" | ROC-RK3328-CC,&nbsp;ROCK64 |} &nbsp; Note: Click SoC name for Detail information and Document for the SoC. &nbsp; = '''Software development&nbsp;''' = '''&nbsp; &nbsp; &nbsp; &nbsp;Software Feature Supoort [[Status_Matrix|Status_Matrix]]''' *'''Porting guide for Linux based OS/Distribution''' **[[Linux_user_guide|Linux_user_guide]] **[[Debian|Debian]] **[[Yocto|Yocto]] **[[Buildroot|Buildroot]] **[[Distribution|Other distribution]] *'''BSP module user guide''' **[[U-Boot|U-Boot]]&nbsp; **[[Rockchip_Kernel|Rockchip Kernel]] **[[Upstream_Kernel|Upstream Kernel]] **[[Atf|ARM Trusted&nbsp;Firmware]] *'''Graphics and Multimedia&nbsp;user guide''' **[[Graphics|Graphics and display]] **[[Mpp|Multimedia--Video Codec]] **[[Camera|Multimedia--Camera]] *'''Tool and Firmware Upgrade''' **[[Rockusb|Rockusb]] **[[Rkdeveloptool|Rkdeveloptool]] **[[Boot_option|Boot_option]] '''<span style="font-size:xx-large;">Feedback</span>''' Any question about software module on github, please ask&nbsp;at issue page of github project. If you have any other questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website, Email-to: opensource@rock-chips.com 2f30d959255edfd5f3535c5b3744065e64d282a0 1835 1834 2018-04-16T05:01:34Z Admin 1 wikitext text/x-wiki = '''Source code''' = Rockchip provide open source software on Github including fully support for Linux Based OS: *Github: [https://github.com/rockchip-linux rockchip-linux] You can also find software for Rockchip SoCs from Upstream: *[https://www.kernel.org/ Linux kernel] *[http://www.denx.de/wiki/U-Boot/WebHome U-Boot] *[https://github.com/ARM-software/arm-trusted-firmware ARM Trusted Firmware] If you are using a Chrombook with Rockchip SoC, you can use: *[https://chromium.googlesource.com/chromiumos/third_party/coreboot Chromium OS&nbsp;Coreboot] *[https://chromium.googlesource.com/chromiumos/third_party/kernel Chromium OS kernel] &nbsp; = '''Hardware Document''' = Here are the documents for SoCs, you can find&nbsp;Hardware device/board information on [[Devices|DEVICE LIST PAGE]]. {| border="1" cellpadding="0" cellspacing="0" class="table_style" |- ! style="width:92px;" | <p style="text-align: center;">SoC</p> ! style="width:286px;" | <p style="text-align: center;">Description</p> ! style="width:189px;" | <p style="text-align: center;">Download</p> ! style="width:189px;" | <p style="text-align: center;">Boards</p> |- | style="width: 92px; text-align: center;" | [[RK3399|RK3399]] | style="width:286px;" | Dual-core Cortex-A72 Quad-core Cortex-A53 CPU MALI-T864 GPU | style="width:189px;" | [[Media:Rockchip_RK3399TRM_V1.4_Part1-20170408.pdf|TRM]] [[Media:Rockchip_RK3399_Datasheet_V1.6-20170301.pdf|Datasheet]] [[Media:Rk3399_hardware_reference.zip|Schematic&Layout Guide]] | style="width:189px;" | Firefly-RK3399 Excavator Rock960 VS-RK3399 Rico-rk3399 Odroid N1 Orange Pi RK3399 |- | style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p> | style="width:286px;" | Quad-core Cortex-A17 CPU MALI-T764 GPU | style="width:189px;" | [[Media:Rockchip_RK3288_TRM_V1.2_Part1-20170321.pdf|TRM]] [[Media:Rockchip_RK3288_Datasheet_V2.2-20170301.pdf|Datasheet]] [[Media:Rk3288_hardware_reference.zip|Schematic&Layout Guide]] | style="width:189px;" | Firefly-RK3288 RK3288-evb Tinker Rico-3288 Miqi Phytec-rk3288 |- | style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p> | style="width:286px;" | Quad-core Cortex-A53 CPU MALI-450MP2 GPU | style="width:189px;" | [[Media:Rockchip_RK3328TRM_V1.1-Part1-20170321.pdf|TRM]] [[Media:Rockchip_RK3328_Datasheet_V1.1-20170309.pdf|Datasheet]] [[Media:Rk3328_hardware_reference.zip|Schematic&Layout Guide]] | style="width:189px;" | ROC-RK3328-CC ROCK64 |} &nbsp; Note: Click SoC name for Detail information and Document for the SoC. &nbsp; = '''Software development&nbsp;''' = '''&nbsp; &nbsp; &nbsp; &nbsp;Software Feature Supoort [[Status_Matrix|Status_Matrix]]''' *'''Porting guide for Linux based OS/Distribution''' **[[Linux_user_guide|Linux_user_guide]] **[[Debian|Debian]] **[[Yocto|Yocto]] **[[Buildroot|Buildroot]] **[[Distribution|Other distribution]] *'''BSP module user guide''' **[[U-Boot|U-Boot]]&nbsp; **[[Rockchip_Kernel|Rockchip Kernel]] **[[Upstream_Kernel|Upstream Kernel]] **[[Atf|ARM Trusted&nbsp;Firmware]] *'''Graphics and Multimedia&nbsp;user guide''' **[[Graphics|Graphics and display]] **[[Mpp|Multimedia--Video Codec]] **[[Camera|Multimedia--Camera]] *'''Tool and Firmware Upgrade''' **[[Rockusb|Rockusb]] **[[Rkdeveloptool|Rkdeveloptool]] **[[Boot_option|Boot_option]] '''<span style="font-size:xx-large;">Feedback</span>''' Any question about software module on github, please ask&nbsp;at issue page of github project. If you have any other questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website, Email-to: opensource@rock-chips.com 3c0e5b1aec8e77711d0ad812ee22a3c53903cda4 1836 1835 2018-04-16T05:03:30Z Admin 1 wikitext text/x-wiki = '''Source code''' = Rockchip provide open source software on Github including fully support for Linux Based OS: *Github: [https://github.com/rockchip-linux rockchip-linux] You can also find software for Rockchip SoCs from Upstream: *[https://www.kernel.org/ Linux kernel] *[http://www.denx.de/wiki/U-Boot/WebHome U-Boot] *[https://github.com/ARM-software/arm-trusted-firmware ARM Trusted Firmware] If you are using a Chrombook with Rockchip SoC, you can use: *[https://chromium.googlesource.com/chromiumos/third_party/coreboot Chromium OS&nbsp;Coreboot] *[https://chromium.googlesource.com/chromiumos/third_party/kernel Chromium OS kernel] &nbsp; = '''Hardware Document''' = Here are the documents for SoCs, you can find&nbsp;Hardware device/board information on [[Devices|DEVICE LIST PAGE]]. {| border="1" cellpadding="0" cellspacing="0" class="table_style" |- ! style="width:92px;" | <p style="text-align: center;">SoC</p> ! style="width:286px;" | <p style="text-align: center;">Description</p> ! style="width:189px;" | <p style="text-align: center;">Download</p> ! style="width:189px;" | <p style="text-align: center;">Boards</p> |- | style="width: 92px; text-align: center;" | [[RK3399|RK3399]] | style="width:286px;" | Dual-core Cortex-A72 Quad-core Cortex-A53 CPU MALI-T864 GPU | style="width:189px;" | [[Media:Rockchip_RK3399TRM_V1.4_Part1-20170408.pdf|TRM]] [[Media:Rockchip_RK3399_Datasheet_V1.6-20170301.pdf|Datasheet]] [[Media:Rk3399_hardware_reference.zip|Schematic&Layout Guide]] | style="width:189px;" | Firefly-RK3399 Excavator VS-RK3399 Rico-rk3399 Orange Pi RK3399 |- | style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p> | style="width:286px;" | Quad-core Cortex-A17 CPU MALI-T764 GPU | style="width:189px;" | [[Media:Rockchip_RK3288_TRM_V1.2_Part1-20170321.pdf|TRM]] [[Media:Rockchip_RK3288_Datasheet_V2.2-20170301.pdf|Datasheet]] [[Media:Rk3288_hardware_reference.zip|Schematic&Layout Guide]] | style="width:189px;" | Firefly-RK3288 RK3288-evb Tinker Rico-3288 Miqi Phytec-rk3288 |- | style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p> | style="width:286px;" | Quad-core Cortex-A53 CPU MALI-450MP2 GPU | style="width:189px;" | [[Media:Rockchip_RK3328TRM_V1.1-Part1-20170321.pdf|TRM]] [[Media:Rockchip_RK3328_Datasheet_V1.1-20170309.pdf|Datasheet]] [[Media:Rk3328_hardware_reference.zip|Schematic&Layout Guide]] | style="width:189px;" | ROC-RK3328-CC ROCK64 |} &nbsp; Note: Click SoC name for Detail information and Document for the SoC. &nbsp; = '''Software development&nbsp;''' = '''&nbsp; &nbsp; &nbsp; &nbsp;Software Feature Supoort [[Status_Matrix|Status_Matrix]]''' *'''Porting guide for Linux based OS/Distribution''' **[[Linux_user_guide|Linux_user_guide]] **[[Debian|Debian]] **[[Yocto|Yocto]] **[[Buildroot|Buildroot]] **[[Distribution|Other distribution]] *'''BSP module user guide''' **[[U-Boot|U-Boot]]&nbsp; **[[Rockchip_Kernel|Rockchip Kernel]] **[[Upstream_Kernel|Upstream Kernel]] **[[Atf|ARM Trusted&nbsp;Firmware]] *'''Graphics and Multimedia&nbsp;user guide''' **[[Graphics|Graphics and display]] **[[Mpp|Multimedia--Video Codec]] **[[Camera|Multimedia--Camera]] *'''Tool and Firmware Upgrade''' **[[Rockusb|Rockusb]] **[[Rkdeveloptool|Rkdeveloptool]] **[[Boot_option|Boot_option]] '''<span style="font-size:xx-large;">Feedback</span>''' Any question about software module on github, please ask&nbsp;at issue page of github project. If you have any other questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website, Email-to: opensource@rock-chips.com a23e43b7cdfa6680f827212ced0a6c02e74cc313 1837 1836 2018-04-16T05:06:55Z Admin 1 wikitext text/x-wiki = '''Source code''' = Rockchip provide open source software on Github including fully support for Linux Based OS: *Github: [https://github.com/rockchip-linux rockchip-linux] You can also find software for Rockchip SoCs from Upstream: *[https://www.kernel.org/ Linux kernel] *[http://www.denx.de/wiki/U-Boot/WebHome U-Boot] *[https://github.com/ARM-software/arm-trusted-firmware ARM Trusted Firmware] If you are using a Chrombook with Rockchip SoC, you can use: *[https://chromium.googlesource.com/chromiumos/third_party/coreboot Chromium OS&nbsp;Coreboot] *[https://chromium.googlesource.com/chromiumos/third_party/kernel Chromium OS kernel] &nbsp; = '''Hardware Document''' = Here are the documents for SoCs, you can find&nbsp;Hardware device/board information on [[Devices|DEVICE LIST PAGE]]. {| border="1" cellpadding="0" cellspacing="0" class="table_style" |- ! style="width:92px;" | <p style="text-align: center;">SoC</p> ! style="width:286px;" | <p style="text-align: center;">Description</p> ! style="width:189px;" | <p style="text-align: center;">Download</p> ! style="width:189px;" | <p style="text-align: center;">Boards</p> |- | style="width: 92px; text-align: center;" | [[RK3399|RK3399]] | style="width:286px;" | Dual-core Cortex-A72 Quad-core Cortex-A53 CPU MALI-T864 GPU | style="width:189px;" | [[Media:Rockchip_RK3399TRM_V1.4_Part1-20170408.pdf|TRM]] [[Media:Rockchip_RK3399_Datasheet_V1.6-20170301.pdf|Datasheet]] [[Media:Rk3399_hardware_reference.zip|Schematic&Layout Guide]] | style="width:189px;" | [http://store.t-firefly.com/goods.php?id=44 Firefly-RK3399] Excavator VS-RK3399 Rico-rk3399 Orange Pi RK3399 |- | style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p> | style="width:286px;" | Quad-core Cortex-A17 CPU MALI-T764 GPU | style="width:189px;" | [[Media:Rockchip_RK3288_TRM_V1.2_Part1-20170321.pdf|TRM]] [[Media:Rockchip_RK3288_Datasheet_V2.2-20170301.pdf|Datasheet]] [[Media:Rk3288_hardware_reference.zip|Schematic&Layout Guide]] | style="width:189px;" | Firefly-RK3288 RK3288-evb Tinker Rico-3288 Miqi Phytec-rk3288 |- | style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p> | style="width:286px;" | Quad-core Cortex-A53 CPU MALI-450MP2 GPU | style="width:189px;" | [[Media:Rockchip_RK3328TRM_V1.1-Part1-20170321.pdf|TRM]] [[Media:Rockchip_RK3328_Datasheet_V1.1-20170309.pdf|Datasheet]] [[Media:Rk3328_hardware_reference.zip|Schematic&Layout Guide]] | style="width:189px;" | ROC-RK3328-CC ROCK64 |} &nbsp; Note: Click SoC name for Detail information and Document for the SoC. &nbsp; = '''Software development&nbsp;''' = '''&nbsp; &nbsp; &nbsp; &nbsp;Software Feature Supoort [[Status_Matrix|Status_Matrix]]''' *'''Porting guide for Linux based OS/Distribution''' **[[Linux_user_guide|Linux_user_guide]] **[[Debian|Debian]] **[[Yocto|Yocto]] **[[Buildroot|Buildroot]] **[[Distribution|Other distribution]] *'''BSP module user guide''' **[[U-Boot|U-Boot]]&nbsp; **[[Rockchip_Kernel|Rockchip Kernel]] **[[Upstream_Kernel|Upstream Kernel]] **[[Atf|ARM Trusted&nbsp;Firmware]] *'''Graphics and Multimedia&nbsp;user guide''' **[[Graphics|Graphics and display]] **[[Mpp|Multimedia--Video Codec]] **[[Camera|Multimedia--Camera]] *'''Tool and Firmware Upgrade''' **[[Rockusb|Rockusb]] **[[Rkdeveloptool|Rkdeveloptool]] **[[Boot_option|Boot_option]] '''<span style="font-size:xx-large;">Feedback</span>''' Any question about software module on github, please ask&nbsp;at issue page of github project. If you have any other questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website, Email-to: opensource@rock-chips.com 2c17fd1f49b2b2cbe23da203eeceb2da175f4dc7 1838 1837 2018-04-16T05:09:40Z Admin 1 wikitext text/x-wiki = '''Source code''' = Rockchip provide open source software on Github including fully support for Linux Based OS: *Github: [https://github.com/rockchip-linux rockchip-linux] You can also find software for Rockchip SoCs from Upstream: *[https://www.kernel.org/ Linux kernel] *[http://www.denx.de/wiki/U-Boot/WebHome U-Boot] *[https://github.com/ARM-software/arm-trusted-firmware ARM Trusted Firmware] If you are using a Chrombook with Rockchip SoC, you can use: *[https://chromium.googlesource.com/chromiumos/third_party/coreboot Chromium OS&nbsp;Coreboot] *[https://chromium.googlesource.com/chromiumos/third_party/kernel Chromium OS kernel] &nbsp; = '''Hardware Document''' = Here are the documents for SoCs, you can find&nbsp;Hardware device/board information on [[Devices|DEVICE LIST PAGE]]. {| border="1" cellpadding="0" cellspacing="0" class="table_style" |- ! style="width:92px;" | <p style="text-align: center;">SoC</p> ! style="width:286px;" | <p style="text-align: center;">Description</p> ! style="width:189px;" | <p style="text-align: center;">Download</p> ! style="width:189px;" | <p style="text-align: center;">Boards</p> |- | style="width: 92px; text-align: center;" | [[RK3399|RK3399]] | style="width:286px;" | Dual-core Cortex-A72 Quad-core Cortex-A53 CPU MALI-T864 GPU | style="width:189px;" | [[Media:Rockchip_RK3399TRM_V1.4_Part1-20170408.pdf|TRM]] [[Media:Rockchip_RK3399_Datasheet_V1.6-20170301.pdf|Datasheet]] [[Media:Rk3399_hardware_reference.zip|Schematic&Layout Guide]] | style="width:189px;" | [http://store.t-firefly.com/goods.php?id=44 Firefly-RK3399] Excavator [https://item.taobao.com/item.htm?spm=a1z10.5-c.w4002-8080654418.15.3f3c7130yr225K&id=563534665516 VS-RK3399] [http://www.aaeon.com/en/p/pico-itx-boards-rico-3399 Rico-rk3399] [https://item.taobao.com/item.htm?spm=a312a.7700824.w4002-9552179460.11.4ee450d88I4ROU&id=564484944766 Orange Pi RK3399] |- | style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p> | style="width:286px;" | Quad-core Cortex-A17 CPU MALI-T764 GPU | style="width:189px;" | [[Media:Rockchip_RK3288_TRM_V1.2_Part1-20170321.pdf|TRM]] [[Media:Rockchip_RK3288_Datasheet_V2.2-20170301.pdf|Datasheet]] [[Media:Rk3288_hardware_reference.zip|Schematic&Layout Guide]] | style="width:189px;" | [http://store.t-firefly.com/goods.php?id=1 Firefly-RK3288] RK3288-evb [https://item.taobao.com/item.htm?spm=a312a.7700824.w4002-14622808433.33.efd3509eP2UfCv&id=557059969616 Tinker] [http://www.aaeon.com/en/p/pico-itx-boards-rico-3288 Rico-3288] [https://item.taobao.com/item.htm?spm=a312a.7700824.w4002-14622808433.39.efd3509eP2UfCv&id=536476862763 Miqi] [http://www.phytec.eu/product/system-on-modules/phycore-rk3288/ Phytec-rk3288] |- | style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p> | style="width:286px;" | Quad-core Cortex-A53 CPU MALI-450MP2 GPU | style="width:189px;" | [[Media:Rockchip_RK3328TRM_V1.1-Part1-20170321.pdf|TRM]] [[Media:Rockchip_RK3328_Datasheet_V1.1-20170309.pdf|Datasheet]] [[Media:Rk3328_hardware_reference.zip|Schematic&Layout Guide]] | style="width:189px;" | ROC-RK3328-CC ROCK64 |} &nbsp; Note: Click SoC name for Detail information and Document for the SoC. &nbsp; = '''Software development&nbsp;''' = '''&nbsp; &nbsp; &nbsp; &nbsp;Software Feature Supoort [[Status_Matrix|Status_Matrix]]''' *'''Porting guide for Linux based OS/Distribution''' **[[Linux_user_guide|Linux_user_guide]] **[[Debian|Debian]] **[[Yocto|Yocto]] **[[Buildroot|Buildroot]] **[[Distribution|Other distribution]] *'''BSP module user guide''' **[[U-Boot|U-Boot]]&nbsp; **[[Rockchip_Kernel|Rockchip Kernel]] **[[Upstream_Kernel|Upstream Kernel]] **[[Atf|ARM Trusted&nbsp;Firmware]] *'''Graphics and Multimedia&nbsp;user guide''' **[[Graphics|Graphics and display]] **[[Mpp|Multimedia--Video Codec]] **[[Camera|Multimedia--Camera]] *'''Tool and Firmware Upgrade''' **[[Rockusb|Rockusb]] **[[Rkdeveloptool|Rkdeveloptool]] **[[Boot_option|Boot_option]] '''<span style="font-size:xx-large;">Feedback</span>''' Any question about software module on github, please ask&nbsp;at issue page of github project. If you have any other questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website, Email-to: opensource@rock-chips.com 50e0c6a80a0d7059f4c69c5b83aba4b735e1115f 1839 1838 2018-04-16T05:10:58Z Admin 1 wikitext text/x-wiki = '''Source code''' = Rockchip provide open source software on Github including fully support for Linux Based OS: *Github: [https://github.com/rockchip-linux rockchip-linux] You can also find software for Rockchip SoCs from Upstream: *[https://www.kernel.org/ Linux kernel] *[http://www.denx.de/wiki/U-Boot/WebHome U-Boot] *[https://github.com/ARM-software/arm-trusted-firmware ARM Trusted Firmware] If you are using a Chrombook with Rockchip SoC, you can use: *[https://chromium.googlesource.com/chromiumos/third_party/coreboot Chromium OS&nbsp;Coreboot] *[https://chromium.googlesource.com/chromiumos/third_party/kernel Chromium OS kernel] &nbsp; = '''Hardware Document''' = Here are the documents for SoCs, you can find&nbsp;Hardware device/board information on [[Devices|DEVICE LIST PAGE]]. {| border="1" cellpadding="0" cellspacing="0" class="table_style" |- ! style="width:92px;" | <p style="text-align: center;">SoC</p> ! style="width:286px;" | <p style="text-align: center;">Description</p> ! style="width:189px;" | <p style="text-align: center;">Download</p> ! style="width:189px;" | <p style="text-align: center;">Boards</p> |- | style="width: 92px; text-align: center;" | [[RK3399|RK3399]] | style="width:286px;" | Dual-core Cortex-A72 Quad-core Cortex-A53 CPU MALI-T864 GPU | style="width:189px;" | [[Media:Rockchip_RK3399TRM_V1.4_Part1-20170408.pdf|TRM]] [[Media:Rockchip_RK3399_Datasheet_V1.6-20170301.pdf|Datasheet]] [[Media:Rk3399_hardware_reference.zip|Schematic&Layout Guide]] | style="width:189px;" | [http://store.t-firefly.com/goods.php?id=44 Firefly-RK3399] Excavator [https://item.taobao.com/item.htm?spm=a1z10.5-c.w4002-8080654418.15.3f3c7130yr225K&id=563534665516 VS-RK3399] [http://www.aaeon.com/en/p/pico-itx-boards-rico-3399 Rico-rk3399] [https://item.taobao.com/item.htm?spm=a312a.7700824.w4002-9552179460.11.4ee450d88I4ROU&id=564484944766 Orange Pi RK3399] |- | style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p> | style="width:286px;" | Quad-core Cortex-A17 CPU MALI-T764 GPU | style="width:189px;" | [[Media:Rockchip_RK3288_TRM_V1.2_Part1-20170321.pdf|TRM]] [[Media:Rockchip_RK3288_Datasheet_V2.2-20170301.pdf|Datasheet]] [[Media:Rk3288_hardware_reference.zip|Schematic&Layout Guide]] | style="width:189px;" | [http://store.t-firefly.com/goods.php?id=1 Firefly-RK3288] RK3288-evb [https://item.taobao.com/item.htm?spm=a312a.7700824.w4002-14622808433.33.efd3509eP2UfCv&id=557059969616 Tinker] [http://www.aaeon.com/en/p/pico-itx-boards-rico-3288 Rico-3288] [https://item.taobao.com/item.htm?spm=a312a.7700824.w4002-14622808433.39.efd3509eP2UfCv&id=536476862763 Miqi] [http://www.phytec.eu/product/system-on-modules/phycore-rk3288/ Phytec-rk3288] |- | style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p> | style="width:286px;" | Quad-core Cortex-A53 CPU MALI-450MP2 GPU | style="width:189px;" | [[Media:Rockchip_RK3328TRM_V1.1-Part1-20170321.pdf|TRM]] [[Media:Rockchip_RK3328_Datasheet_V1.1-20170309.pdf|Datasheet]] [[Media:Rk3328_hardware_reference.zip|Schematic&Layout Guide]] | style="width:189px;" | [http://store.t-firefly.com/goods.php?id=66 ROC-RK3328-CC] [https://www.pine64.org/?product=rock64-media-board-computer ROCK64] |} &nbsp; Note: Click SoC name for Detail information and Document for the SoC. &nbsp; = '''Software development&nbsp;''' = '''&nbsp; &nbsp; &nbsp; &nbsp;Software Feature Supoort [[Status_Matrix|Status_Matrix]]''' *'''Porting guide for Linux based OS/Distribution''' **[[Linux_user_guide|Linux_user_guide]] **[[Debian|Debian]] **[[Yocto|Yocto]] **[[Buildroot|Buildroot]] **[[Distribution|Other distribution]] *'''BSP module user guide''' **[[U-Boot|U-Boot]]&nbsp; **[[Rockchip_Kernel|Rockchip Kernel]] **[[Upstream_Kernel|Upstream Kernel]] **[[Atf|ARM Trusted&nbsp;Firmware]] *'''Graphics and Multimedia&nbsp;user guide''' **[[Graphics|Graphics and display]] **[[Mpp|Multimedia--Video Codec]] **[[Camera|Multimedia--Camera]] *'''Tool and Firmware Upgrade''' **[[Rockusb|Rockusb]] **[[Rkdeveloptool|Rkdeveloptool]] **[[Boot_option|Boot_option]] '''<span style="font-size:xx-large;">Feedback</span>''' Any question about software module on github, please ask&nbsp;at issue page of github project. If you have any other questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website, Email-to: opensource@rock-chips.com 31c6748607112d287e3d06a4ce818e5ab5d6f857 1840 1839 2018-04-16T05:14:39Z Admin 1 wikitext text/x-wiki = '''Source code''' = Rockchip provide open source software on Github including fully support for Linux Based OS: *Github: [https://github.com/rockchip-linux rockchip-linux] You can also find software for Rockchip SoCs from Upstream: *[https://www.kernel.org/ Linux kernel] *[http://www.denx.de/wiki/U-Boot/WebHome U-Boot] *[https://github.com/ARM-software/arm-trusted-firmware ARM Trusted Firmware] If you are using a Chrombook with Rockchip SoC, you can use: *[https://chromium.googlesource.com/chromiumos/third_party/coreboot Chromium OS&nbsp;Coreboot] *[https://chromium.googlesource.com/chromiumos/third_party/kernel Chromium OS kernel] &nbsp; = '''Hardware Document''' = Here are the documents for SoCs, you can find&nbsp;Hardware device/board information on [[Devices|DEVICE LIST PAGE]]. {| border="1" cellpadding="0" cellspacing="0" class="table_style" |- ! style="width:92px;" | <p style="text-align: center;">SoC</p> ! style="width:286px;" | <p style="text-align: center;">Description</p> ! style="width:189px;" | <p style="text-align: center;">Download</p> ! style="width:189px;" | <p style="text-align: center;">Boards</p> |- | style="width: 92px; text-align: center;" | [[RK3399|RK3399]] | style="width:286px;" | Dual-core Cortex-A72 Quad-core Cortex-A53 CPU MALI-T864 GPU | style="width:189px;" | [[Media:Rockchip_RK3399TRM_V1.4_Part1-20170408.pdf|TRM]] [[Media:Rockchip_RK3399_Datasheet_V1.6-20170301.pdf|Datasheet]] [[Media:Rk3399_hardware_reference.zip|Schematic&Layout Guide]] | style="width:189px;" | [http://store.t-firefly.com/goods.php?id=44 Firefly-RK3399] Excavator [https://item.taobao.com/item.htm?spm=a1z10.5-c.w4002-8080654418.15.3f3c7130yr225K&id=563534665516 VS-RK3399] [http://www.aaeon.com/en/p/pico-itx-boards-rico-3399 Rico-rk3399] [https://item.taobao.com/item.htm?spm=a312a.7700824.w4002-9552179460.11.4ee450d88I4ROU&id=564484944766 Orange Pi RK3399] |- | style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p> | style="width:286px;" | Quad-core Cortex-A17 CPU MALI-T764 GPU | style="width:189px;" | [[Media:Rockchip_RK3288_TRM_V1.2_Part1-20170321.pdf|TRM]] [[Media:Rockchip_RK3288_Datasheet_V2.2-20170301.pdf|Datasheet]] [[Media:Rk3288_hardware_reference.zip|Schematic&Layout Guide]] | style="width:189px;" | [http://store.t-firefly.com/goods.php?id=1 Firefly-RK3288] RK3288-evb [https://item.taobao.com/item.htm?spm=a312a.7700824.w4002-14622808433.33.efd3509eP2UfCv&id=557059969616 Tinker] [http://www.aaeon.com/en/p/pico-itx-boards-rico-3288 Rico-3288] [https://item.taobao.com/item.htm?spm=a312a.7700824.w4002-14622808433.39.efd3509eP2UfCv&id=536476862763 Miqi] [http://www.phytec.eu/product/system-on-modules/phycore-rk3288/ Phytec-rk3288] |- | style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p> | style="width:286px;" | Quad-core Cortex-A53 CPU MALI-450MP2 GPU | style="width:189px;" | [[Media:Rockchip_RK3328TRM_V1.1-Part1-20170321.pdf|TRM]] [[Media:Rockchip_RK3328_Datasheet_V1.1-20170309.pdf|Datasheet]] [[Media:Rk3328_hardware_reference.zip|Schematic&Layout Guide]] | style="width:189px;" | [http://store.t-firefly.com/goods.php?id=66 ROC-RK3328-CC] [https://www.pine64.org/?product=rock64-media-board-computer ROCK64] |} &nbsp; Note: Click SoC name for Detail information and Document for the SoC. &nbsp; = '''Software development&nbsp;''' = '''&nbsp; &nbsp; &nbsp; &nbsp;Software Feature Supoort [[Status_Matrix|Status_Matrix]]''' *'''Porting guide for Linux based OS/Distribution''' **[[Linux_user_guide|Linux_user_guide]] **[[Debian|Debian]] **[[Buildroot|Buildroot]] **[[Distribution|Other distribution]] *'''BSP module user guide''' **[[U-Boot|U-Boot]]&nbsp; **[[Rockchip_Kernel|Rockchip Kernel]] **[[Upstream_Kernel|Upstream Kernel]] **[[Atf|ARM Trusted&nbsp;Firmware]] *'''Graphics and Multimedia&nbsp;user guide''' **[[Graphics|Graphics and display]] **[[Mpp|Multimedia--Video Codec]] **[[Camera|Multimedia--Camera]] *'''Tool and Firmware Upgrade''' **[[Rockusb|Rockusb]] **[[Rkdeveloptool|Rkdeveloptool]] **[[Boot_option|Boot_option]] '''<span style="font-size:xx-large;">Feedback</span>''' Any question about software module on github, please ask&nbsp;at issue page of github project. If you have any other questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website, Email-to: opensource@rock-chips.com 155ba6ea6154d897eb00909ff133eb99031e4a94 1841 1840 2018-04-16T06:01:32Z Admin 1 wikitext text/x-wiki = '''Source code''' = Rockchip provide open source software on Github including fully support for Linux Based OS: *Github: [https://github.com/rockchip-linux rockchip-linux] You can also find software for Rockchip SoCs from Upstream: *[https://www.kernel.org/ Linux kernel] *[http://www.denx.de/wiki/U-Boot/WebHome U-Boot] *[https://github.com/ARM-software/arm-trusted-firmware ARM Trusted Firmware] If you are using a Chrombook with Rockchip SoC, you can use: *[https://chromium.googlesource.com/chromiumos/third_party/coreboot Chromium OS&nbsp;Coreboot] *[https://chromium.googlesource.com/chromiumos/third_party/kernel Chromium OS kernel] &nbsp; = '''Hardware Document''' = Here are the documents for SoCs, you can find&nbsp;Hardware device/board information on [[Devices|DEVICE LIST PAGE]]. {| border="1" cellpadding="0" cellspacing="0" class="table_style" |- ! style="width:92px;" | <p style="text-align: center;">SoC</p> ! style="width:286px;" | <p style="text-align: center;">Description</p> ! style="width:189px;" | <p style="text-align: center;">Download</p> ! style="width:189px;" | <p style="text-align: center;">Boards</p> |- | style="width: 92px; text-align: center;" | [[RK3399|RK3399]] | style="width:286px;" | Dual-core Cortex-A72 Quad-core Cortex-A53 CPU MALI-T864 GPU | style="width:189px;" | [[Media:Rockchip_RK3399TRM_V1.4_Part1-20170408.pdf|TRM]] [[Media:Rockchip_RK3399_Datasheet_V1.6-20170301.pdf|Datasheet]] [[Media:Rk3399_hardware_reference.zip|Schematic&Layout Guide]] | style="width:189px;" | [http://store.t-firefly.com/goods.php?id=44 Firefly-RK3399] [[Excavator_sapphire_board|Excavator]] [https://item.taobao.com/item.htm?spm=a1z10.5-c.w4002-8080654418.15.3f3c7130yr225K&id=563534665516 VS-RK3399] [http://www.aaeon.com/en/p/pico-itx-boards-rico-3399 Rico-rk3399] [https://item.taobao.com/item.htm?spm=a312a.7700824.w4002-9552179460.11.4ee450d88I4ROU&id=564484944766 Orange Pi RK3399] |- | style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p> | style="width:286px;" | Quad-core Cortex-A17 CPU MALI-T764 GPU | style="width:189px;" | [[Media:Rockchip_RK3288_TRM_V1.2_Part1-20170321.pdf|TRM]] [[Media:Rockchip_RK3288_Datasheet_V2.2-20170301.pdf|Datasheet]] [[Media:Rk3288_hardware_reference.zip|Schematic&Layout Guide]] | style="width:189px;" | [http://store.t-firefly.com/goods.php?id=1 Firefly-RK3288] RK3288-evb [https://item.taobao.com/item.htm?spm=a312a.7700824.w4002-14622808433.33.efd3509eP2UfCv&id=557059969616 Tinker] [http://www.aaeon.com/en/p/pico-itx-boards-rico-3288 Rico-3288] [https://item.taobao.com/item.htm?spm=a312a.7700824.w4002-14622808433.39.efd3509eP2UfCv&id=536476862763 Miqi] [http://www.phytec.eu/product/system-on-modules/phycore-rk3288/ Phytec-rk3288] |- | style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p> | style="width:286px;" | Quad-core Cortex-A53 CPU MALI-450MP2 GPU | style="width:189px;" | [[Media:Rockchip_RK3328TRM_V1.1-Part1-20170321.pdf|TRM]] [[Media:Rockchip_RK3328_Datasheet_V1.1-20170309.pdf|Datasheet]] [[Media:Rk3328_hardware_reference.zip|Schematic&Layout Guide]] | style="width:189px;" | [http://store.t-firefly.com/goods.php?id=66 ROC-RK3328-CC] [https://www.pine64.org/?product=rock64-media-board-computer ROCK64] |} &nbsp; Note: Click SoC name for Detail information and Document for the SoC. &nbsp; = '''Software development&nbsp;''' = '''&nbsp; &nbsp; &nbsp; &nbsp;Software Feature Supoort [[Status_Matrix|Status_Matrix]]''' *'''Porting guide for Linux based OS/Distribution''' **[[Linux_user_guide|Linux_user_guide]] **[[Debian|Debian]] **[[Buildroot|Buildroot]] **[[Distribution|Other distribution]] *'''BSP module user guide''' **[[U-Boot|U-Boot]]&nbsp; **[[Rockchip_Kernel|Rockchip Kernel]] **[[Upstream_Kernel|Upstream Kernel]] **[[Atf|ARM Trusted&nbsp;Firmware]] *'''Graphics and Multimedia&nbsp;user guide''' **[[Graphics|Graphics and display]] **[[Mpp|Multimedia--Video Codec]] **[[Camera|Multimedia--Camera]] *'''Tool and Firmware Upgrade''' **[[Rockusb|Rockusb]] **[[Rkdeveloptool|Rkdeveloptool]] **[[Boot_option|Boot_option]] '''<span style="font-size:xx-large;">Feedback</span>''' Any question about software module on github, please ask&nbsp;at issue page of github project. If you have any other questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website, Email-to: opensource@rock-chips.com 12c55ba68b3d0308f1cb8089f234f7dfea017f20 1868 1841 2018-04-18T10:10:23Z Admin 1 wikitext text/x-wiki = '''Source code''' = Rockchip provide open source software on Github including fully support for Linux Based OS: *Github: [https://github.com/rockchip-linux rockchip-linux] You can also find software for Rockchip SoCs from Upstream: *[https://www.kernel.org/ Linux kernel] *[http://www.denx.de/wiki/U-Boot/WebHome U-Boot] *[https://github.com/ARM-software/arm-trusted-firmware ARM Trusted Firmware] If you are using a Chrombook with Rockchip SoC, you can use: *[https://chromium.googlesource.com/chromiumos/third_party/coreboot Chromium OS&nbsp;Coreboot] *[https://chromium.googlesource.com/chromiumos/third_party/kernel Chromium OS kernel] &nbsp; = '''Hardware Document''' = Here are the documents for SoCs, you can find&nbsp;Hardware device/board information on [[Devices|DEVICE LIST PAGE]]. {| border="1" cellpadding="0" cellspacing="0" class="table_style" |- ! style="width:92px;" | <p style="text-align: center;">SoC</p> ! style="width:286px;" | <p style="text-align: center;">Description</p> ! style="width:189px;" | <p style="text-align: center;">Download</p> ! style="width:189px;" | <p style="text-align: center;">Boards</p> |- | style="width: 92px; text-align: center;" | [[RK3399|RK3399]] | style="width:286px;" | Dual-core Cortex-A72 Quad-core Cortex-A53 CPU MALI-T864 GPU | style="width:189px;" | [[Media:Rockchip_RK3399TRM_V1.4_Part1-20170408.pdf|TRM]] [[Media:Rockchip_RK3399_Datasheet_V1.6-20170301.pdf|Datasheet]] [[Media:Rk3399_hardware_reference.zip|Schematic&Layout Guide]] | style="width:189px;" | [http://store.t-firefly.com/goods.php?id=44 Firefly-RK3399] [[Excavator_sapphire_board|Excavator]] [https://item.taobao.com/item.htm?spm=a1z10.5-c.w4002-8080654418.15.3f3c7130yr225K&id=563534665516 VS-RK3399] [http://www.aaeon.com/en/p/pico-itx-boards-rico-3399 Rico-rk3399] [https://item.taobao.com/item.htm?spm=a312a.7700824.w4002-9552179460.11.4ee450d88I4ROU&id=564484944766 Orange Pi RK3399] |- | style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p> | style="width:286px;" | Quad-core Cortex-A17 CPU MALI-T764 GPU | style="width:189px;" | [[Media:Rockchip_RK3288_TRM_V1.2_Part1-20170321.pdf|TRM]] [[Media:Rockchip_RK3288_Datasheet_V2.2-20170301.pdf|Datasheet]] [[Media:Rk3288_hardware_reference.zip|Schematic&Layout Guide]] | style="width:189px;" | [http://store.t-firefly.com/goods.php?id=1 Firefly-RK3288] RK3288-evb [https://item.taobao.com/item.htm?spm=a312a.7700824.w4002-14622808433.33.efd3509eP2UfCv&id=557059969616 Tinker] [http://www.aaeon.com/en/p/pico-itx-boards-rico-3288 Rico-3288] [https://item.taobao.com/item.htm?spm=a312a.7700824.w4002-14622808433.39.efd3509eP2UfCv&id=536476862763 Miqi] [http://www.phytec.eu/product/system-on-modules/phycore-rk3288/ Phytec-rk3288] |- | style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p> | style="width:286px;" | Quad-core Cortex-A53 CPU MALI-450MP2 GPU | style="width:189px;" | [[Media:Rockchip_RK3328TRM_V1.1-Part1-20170321.pdf|TRM]] [[Media:Rockchip_RK3328_Datasheet_V1.1-20170309.pdf|Datasheet]] [[Media:Rk3328_hardware_reference.zip|Schematic&Layout Guide]] | style="width:189px;" | [http://store.t-firefly.com/goods.php?id=66 ROC-RK3328-CC] [https://www.pine64.org/?product=rock64-media-board-computer ROCK64] |} &nbsp; Note: Click SoC name for Detail information and Document for the SoC. = '''Software development&nbsp;''' = '''&nbsp; &nbsp; &nbsp; &nbsp;Software Feature Supoort [[Status_Matrix|Status_Matrix]]''' *'''Porting guide for Linux based OS/Distribution''' **[[Linux_user_guide|Linux User Guide]] **[[Debian|Debian]] **[[Buildroot|Buildroot]] **[[Distribution|Other distribution]] *'''BSP module user guide''' **[[U-Boot|U-Boot]]&nbsp; **[[Rockchip_Kernel|Rockchip Kernel]] **[[Atf|ARM Trusted&nbsp;Firmware]] *'''Graphics and Multimedia&nbsp;user guide''' **[[Graphics|Graphics and display]] **[[Mpp|Multimedia--Video Codec]] **[[Camera|Multimedia--Camera]] *'''Tool and Firmware Upgrade''' **[[Rockusb|Rockusb]] **[[Upgradetool|Rockchip&nbsp;Upgrade Tool]] **[[AndroidTool|Android Tool]] **[[Rkdeveloptool|Rkdeveloptool]] **[[Boot_option|Boot Option]] '''<span style="font-size:xx-large;">Feedback</span>''' Any question about software module on github, please ask&nbsp;at issue page of github project. If you have any other questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website, Email-to: opensource@rock-chips.com d6f02785f7c48712be7c1ad00e10db3289dfb3e3 1871 1868 2018-04-18T10:26:42Z Admin 1 wikitext text/x-wiki = '''Source code''' = Rockchip provide open source software on Github including fully support for Linux Based OS: *Github: [https://github.com/rockchip-linux rockchip-linux] You can also find software for Rockchip SoCs from Upstream: *[https://www.kernel.org/ Linux kernel] *[http://www.denx.de/wiki/U-Boot/WebHome U-Boot] *[https://github.com/ARM-software/arm-trusted-firmware ARM Trusted Firmware] If you are using a Chrombook with Rockchip SoC, you can use: *[https://chromium.googlesource.com/chromiumos/third_party/coreboot Chromium OS&nbsp;Coreboot] *[https://chromium.googlesource.com/chromiumos/third_party/kernel Chromium OS kernel] &nbsp; = '''Hardware Document''' = {| border="1" cellpadding="0" cellspacing="0" class="table_style" |- ! style="width:92px;" | <p style="text-align: center;">SoC</p> ! style="width:286px;" | <p style="text-align: center;">Description</p> ! style="width:189px;" | <p style="text-align: center;">Download</p> ! style="width:189px;" | <p style="text-align: center;">Boards</p> |- | style="width: 92px; text-align: center;" | [[RK3399|RK3399]] | style="width:286px;" | Dual-core Cortex-A72 Quad-core Cortex-A53 CPU MALI-T864 GPU | style="width:189px;" | [[Media:Rockchip_RK3399TRM_V1.4_Part1-20170408.pdf|TRM]] [[Media:Rockchip_RK3399_Datasheet_V1.6-20170301.pdf|Datasheet]] [[Media:Rk3399_hardware_reference.zip|Schematic&Layout Guide]] | style="width:189px;" | [http://store.t-firefly.com/goods.php?id=44 Firefly-RK3399] [[Excavator_sapphire_board|Excavator]] [https://item.taobao.com/item.htm?spm=a1z10.5-c.w4002-8080654418.15.3f3c7130yr225K&id=563534665516 VS-RK3399] [http://www.aaeon.com/en/p/pico-itx-boards-rico-3399 Rico-rk3399] [https://item.taobao.com/item.htm?spm=a312a.7700824.w4002-9552179460.11.4ee450d88I4ROU&id=564484944766 Orange Pi RK3399] |- | style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p> | style="width:286px;" | Quad-core Cortex-A17 CPU MALI-T764 GPU | style="width:189px;" | [[Media:Rockchip_RK3288_TRM_V1.2_Part1-20170321.pdf|TRM]] [[Media:Rockchip_RK3288_Datasheet_V2.2-20170301.pdf|Datasheet]] [[Media:Rk3288_hardware_reference.zip|Schematic&Layout Guide]] | style="width:189px;" | [http://store.t-firefly.com/goods.php?id=1 Firefly-RK3288] RK3288-evb [https://item.taobao.com/item.htm?spm=a312a.7700824.w4002-14622808433.33.efd3509eP2UfCv&id=557059969616 Tinker] [http://www.aaeon.com/en/p/pico-itx-boards-rico-3288 Rico-3288] [https://item.taobao.com/item.htm?spm=a312a.7700824.w4002-14622808433.39.efd3509eP2UfCv&id=536476862763 Miqi] [http://www.phytec.eu/product/system-on-modules/phycore-rk3288/ Phytec-rk3288] |- | style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p> | style="width:286px;" | Quad-core Cortex-A53 CPU MALI-450MP2 GPU | style="width:189px;" | [[Media:Rockchip_RK3328TRM_V1.1-Part1-20170321.pdf|TRM]] [[Media:Rockchip_RK3328_Datasheet_V1.1-20170309.pdf|Datasheet]] [[Media:Rk3328_hardware_reference.zip|Schematic&Layout Guide]] | style="width:189px;" | [http://store.t-firefly.com/goods.php?id=66 ROC-RK3328-CC] [https://www.pine64.org/?product=rock64-media-board-computer ROCK64] |} &nbsp; Note: Click SoC name for Detail information and Document for the SoC. = '''Software development&nbsp;''' = '''&nbsp; &nbsp; &nbsp; &nbsp;Software Feature Supoort [[Status_Matrix|Status_Matrix]]''' *'''Porting guide for Linux based OS/Distribution''' **[[Linux_user_guide|Linux User Guide]] **[[Debian|Debian]] **[[Buildroot|Buildroot]] **[[Distribution|Other distribution]] *'''BSP module user guide''' **[[U-Boot|U-Boot]]&nbsp; **[[Rockchip_Kernel|Rockchip Kernel]] **[[Atf|ARM Trusted&nbsp;Firmware]] *'''Graphics and Multimedia&nbsp;user guide''' **[[Graphics|Graphics and display]] **[[Mpp|Multimedia--Video Codec]] **[[Camera|Multimedia--Camera]] *'''Tool and Firmware Upgrade''' **[[Rockusb|Rockusb]] **[[Upgradetool|Rockchip&nbsp;Upgrade Tool]] **[[AndroidTool|Android Tool]] **[[Rkdeveloptool|Rkdeveloptool]] **[[Boot_option|Boot Option]] '''<span style="font-size:xx-large;">Feedback</span>''' Any question about software module on github, please ask&nbsp;at issue page of github project. If you have any other questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website, Email-to: opensource@rock-chips.com aa555ae9990b44febc9c37b37fccccf7daca1a69 1872 1871 2018-04-18T10:29:35Z Admin 1 wikitext text/x-wiki = '''Source code''' = Rockchip provide open source software on Github including fully support for Linux Based OS: *Github: [https://github.com/rockchip-linux rockchip-linux] You can also find software for Rockchip SoCs from Upstream: *[https://www.kernel.org/ Linux kernel] *[http://www.denx.de/wiki/U-Boot/WebHome U-Boot] *[https://github.com/ARM-software/arm-trusted-firmware ARM Trusted Firmware] If you are using a Chrombook with Rockchip SoC, you can use: *[https://chromium.googlesource.com/chromiumos/third_party/coreboot Chromium OS&nbsp;Coreboot] *[https://chromium.googlesource.com/chromiumos/third_party/kernel Chromium OS kernel] &nbsp; = '''Hardware Document''' = {| border="1" cellpadding="0" cellspacing="0" class="table_style" |- ! style="width:92px;" | <p style="text-align: center;">SoC</p> ! style="width:286px;" | <p style="text-align: center;">Description</p> ! style="width:189px;" | <p style="text-align: center;">Download</p> ! style="width:189px;" | <p style="text-align: center;">Boards</p> |- | style="width: 92px; text-align: center;" | [[RK3399|RK3399]] | style="width:286px;" | Dual-core Cortex-A72 Quad-core Cortex-A53 CPU MALI-T864 GPU | style="width:189px;" | [[Media:Rockchip_RK3399TRM_V1.4_Part1-20170408.pdf|TRM]] [[Media:Rockchip_RK3399_Datasheet_V1.6-20170301.pdf|Datasheet]] [[Media:Rk3399_hardware_reference.zip|Schematic&Layout Guide]] | style="width:189px;" | [http://store.t-firefly.com/goods.php?id=44 Firefly-RK3399] [[Excavator_sapphire_board|Excavator]] [https://item.taobao.com/item.htm?spm=a1z10.5-c.w4002-8080654418.15.3f3c7130yr225K&id=563534665516 VS-RK3399] [http://www.aaeon.com/en/p/pico-itx-boards-rico-3399 Rico-rk3399] [https://item.taobao.com/item.htm?spm=a312a.7700824.w4002-9552179460.11.4ee450d88I4ROU&id=564484944766 Orange Pi RK3399] |- | style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p> | style="width:286px;" | Quad-core Cortex-A17 CPU MALI-T764 GPU | style="width:189px;" | [[Media:Rockchip_RK3288_TRM_V1.2_Part1-20170321.pdf|TRM]] [[Media:Rockchip_RK3288_Datasheet_V2.2-20170301.pdf|Datasheet]] [[Media:Rk3288_hardware_reference.zip|Schematic&Layout Guide]] | style="width:189px;" | [http://store.t-firefly.com/goods.php?id=1 Firefly-RK3288] RK3288-evb [https://item.taobao.com/item.htm?spm=a312a.7700824.w4002-14622808433.33.efd3509eP2UfCv&id=557059969616 Tinker] [http://www.aaeon.com/en/p/pico-itx-boards-rico-3288 Rico-3288] [https://item.taobao.com/item.htm?spm=a312a.7700824.w4002-14622808433.39.efd3509eP2UfCv&id=536476862763 Miqi] [http://www.phytec.eu/product/system-on-modules/phycore-rk3288/ Phytec-rk3288] |- | style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p> | style="width:286px;" | Quad-core Cortex-A53 CPU MALI-450MP2 GPU | style="width:189px;" | [[Media:Rockchip_RK3328TRM_V1.1-Part1-20170321.pdf|TRM]] [[Media:Rockchip_RK3328_Datasheet_V1.1-20170309.pdf|Datasheet]] [[Media:Rk3328_hardware_reference.zip|Schematic&Layout Guide]] | style="width:189px;" | [http://store.t-firefly.com/goods.php?id=66 ROC-RK3328-CC] [https://www.pine64.org/?product=rock64-media-board-computer ROCK64] |} &nbsp; = '''Software development&nbsp;''' = '''&nbsp; &nbsp; &nbsp; &nbsp;Software Feature Supoort [[Status_Matrix|Status_Matrix]]''' *'''Porting guide for Linux based OS/Distribution''' **[[Linux_user_guide|Linux User Guide]] **[[Debian|Debian]] **[[Buildroot|Buildroot]] **[[Distribution|Other distribution]] *'''BSP module user guide''' **[[U-Boot|U-Boot]]&nbsp; **[[Rockchip_Kernel|Rockchip Kernel]] **[[Atf|ARM Trusted&nbsp;Firmware]] *'''Graphics and Multimedia&nbsp;user guide''' **[[Graphics|Graphics and display]] **[[Mpp|Multimedia--Video Codec]] **[[Camera|Multimedia--Camera]] *'''Tool and Firmware Upgrade''' **[[Rockusb|Rockusb]] **[[Upgradetool|Rockchip&nbsp;Upgrade Tool]] **[[AndroidTool|Android Tool]] **[[Rkdeveloptool|Rkdeveloptool]] **[[Boot_option|Boot Option]] '''<span style="font-size:xx-large;">Feedback</span>''' Any question about software module on github, please ask&nbsp;at issue page of github project. If you have any other questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website, Email-to: opensource@rock-chips.com d9579a4ada8975c008082cad42bf81e5bca34e9c 1873 1872 2018-04-18T10:29:52Z Admin 1 wikitext text/x-wiki = '''Source code''' = Rockchip provide open source software on Github including fully support for Linux Based OS: *Github: [https://github.com/rockchip-linux rockchip-linux] You can also find software for Rockchip SoCs from Upstream: *[https://www.kernel.org/ Linux kernel] *[http://www.denx.de/wiki/U-Boot/WebHome U-Boot] *[https://github.com/ARM-software/arm-trusted-firmware ARM Trusted Firmware] If you are using a Chrombook with Rockchip SoC, you can use: *[https://chromium.googlesource.com/chromiumos/third_party/coreboot Chromium OS&nbsp;Coreboot] *[https://chromium.googlesource.com/chromiumos/third_party/kernel Chromium OS kernel] = '''Hardware Document''' = {| border="1" cellpadding="0" cellspacing="0" class="table_style" |- ! style="width:92px;" | <p style="text-align: center;">SoC</p> ! style="width:286px;" | <p style="text-align: center;">Description</p> ! style="width:189px;" | <p style="text-align: center;">Download</p> ! style="width:189px;" | <p style="text-align: center;">Boards</p> |- | style="width: 92px; text-align: center;" | [[RK3399|RK3399]] | style="width:286px;" | Dual-core Cortex-A72 Quad-core Cortex-A53 CPU MALI-T864 GPU | style="width:189px;" | [[Media:Rockchip_RK3399TRM_V1.4_Part1-20170408.pdf|TRM]] [[Media:Rockchip_RK3399_Datasheet_V1.6-20170301.pdf|Datasheet]] [[Media:Rk3399_hardware_reference.zip|Schematic&Layout Guide]] | style="width:189px;" | [http://store.t-firefly.com/goods.php?id=44 Firefly-RK3399] [[Excavator_sapphire_board|Excavator]] [https://item.taobao.com/item.htm?spm=a1z10.5-c.w4002-8080654418.15.3f3c7130yr225K&id=563534665516 VS-RK3399] [http://www.aaeon.com/en/p/pico-itx-boards-rico-3399 Rico-rk3399] [https://item.taobao.com/item.htm?spm=a312a.7700824.w4002-9552179460.11.4ee450d88I4ROU&id=564484944766 Orange Pi RK3399] |- | style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p> | style="width:286px;" | Quad-core Cortex-A17 CPU MALI-T764 GPU | style="width:189px;" | [[Media:Rockchip_RK3288_TRM_V1.2_Part1-20170321.pdf|TRM]] [[Media:Rockchip_RK3288_Datasheet_V2.2-20170301.pdf|Datasheet]] [[Media:Rk3288_hardware_reference.zip|Schematic&Layout Guide]] | style="width:189px;" | [http://store.t-firefly.com/goods.php?id=1 Firefly-RK3288] RK3288-evb [https://item.taobao.com/item.htm?spm=a312a.7700824.w4002-14622808433.33.efd3509eP2UfCv&id=557059969616 Tinker] [http://www.aaeon.com/en/p/pico-itx-boards-rico-3288 Rico-3288] [https://item.taobao.com/item.htm?spm=a312a.7700824.w4002-14622808433.39.efd3509eP2UfCv&id=536476862763 Miqi] [http://www.phytec.eu/product/system-on-modules/phycore-rk3288/ Phytec-rk3288] |- | style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p> | style="width:286px;" | Quad-core Cortex-A53 CPU MALI-450MP2 GPU | style="width:189px;" | [[Media:Rockchip_RK3328TRM_V1.1-Part1-20170321.pdf|TRM]] [[Media:Rockchip_RK3328_Datasheet_V1.1-20170309.pdf|Datasheet]] [[Media:Rk3328_hardware_reference.zip|Schematic&Layout Guide]] | style="width:189px;" | [http://store.t-firefly.com/goods.php?id=66 ROC-RK3328-CC] [https://www.pine64.org/?product=rock64-media-board-computer ROCK64] |} &nbsp; = '''Software development&nbsp;''' = '''&nbsp; &nbsp; &nbsp; &nbsp;Software Feature Supoort [[Status_Matrix|Status_Matrix]]''' *'''Porting guide for Linux based OS/Distribution''' **[[Linux_user_guide|Linux User Guide]] **[[Debian|Debian]] **[[Buildroot|Buildroot]] **[[Distribution|Other distribution]] *'''BSP module user guide''' **[[U-Boot|U-Boot]]&nbsp; **[[Rockchip_Kernel|Rockchip Kernel]] **[[Atf|ARM Trusted&nbsp;Firmware]] *'''Graphics and Multimedia&nbsp;user guide''' **[[Graphics|Graphics and display]] **[[Mpp|Multimedia--Video Codec]] **[[Camera|Multimedia--Camera]] *'''Tool and Firmware Upgrade''' **[[Rockusb|Rockusb]] **[[Upgradetool|Rockchip&nbsp;Upgrade Tool]] **[[AndroidTool|Android Tool]] **[[Rkdeveloptool|Rkdeveloptool]] **[[Boot_option|Boot Option]] '''<span style="font-size:xx-large;">Feedback</span>''' Any question about software module on github, please ask&nbsp;at issue page of github project. If you have any other questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website, Email-to: opensource@rock-chips.com 71ce461eec5e5e281f8c050c7d9990eba95b90a3 1890 1873 2018-04-19T03:45:40Z Admin 1 wikitext text/x-wiki = '''Source code''' = Rockchip provide open source software on Github including fully support for Linux Based OS: *Github: [https://github.com/rockchip-linux rockchip-linux] You can also find software for Rockchip SoCs from Upstream: *[https://www.kernel.org/ Linux kernel] *[http://www.denx.de/wiki/U-Boot/WebHome U-Boot] *[https://github.com/ARM-software/arm-trusted-firmware ARM Trusted Firmware] If you are using a Chrombook with Rockchip SoC, you can use: *[https://chromium.googlesource.com/chromiumos/third_party/coreboot Chromium OS&nbsp;Coreboot] *[https://chromium.googlesource.com/chromiumos/third_party/kernel Chromium OS kernel] = '''Hardware Document''' = {| border="1" cellpadding="0" cellspacing="0" class="table_style" |- ! style="width:92px;" | <p style="text-align: center;">SoC</p> ! style="width:286px;" | <p style="text-align: center;">Description</p> ! style="width:189px;" | <p style="text-align: center;">Download</p> ! style="width:189px;" | <p style="text-align: center;">Boards</p> |- | style="width: 92px; text-align: center;" | [[RK3399|RK3399]] | style="width:286px;" | Dual-core Cortex-A72 Quad-core Cortex-A53 CPU MALI-T864 GPU | style="width:189px;" | [[Media:Rockchip_RK3399TRM_V1.4_Part1-20170408.pdf|TRM]] [[Media:Rockchip_RK3399_Datasheet_V1.6-20170301.pdf|Datasheet]] [[Media:Rk3399_hardware_reference.zip|Schematic&Layout Guide]] | style="width:189px;" | [http://store.t-firefly.com/goods.php?id=44 Firefly-RK3399] [[Excavator_sapphire_board|Excavator]] [https://item.taobao.com/item.htm?spm=a1z10.5-c.w4002-8080654418.15.3f3c7130yr225K&id=563534665516 VS-RK3399] [http://www.aaeon.com/en/p/pico-itx-boards-rico-3399 Rico-rk3399] [https://item.taobao.com/item.htm?spm=a312a.7700824.w4002-9552179460.11.4ee450d88I4ROU&id=564484944766 Orange Pi RK3399] |- | style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p> | style="width:286px;" | Quad-core Cortex-A17 CPU MALI-T764 GPU | style="width:189px;" | [[Media:Rockchip_RK3288_TRM_V1.2_Part1-20170321.pdf|TRM]] [[Media:Rockchip_RK3288_Datasheet_V2.2-20170301.pdf|Datasheet]] [[Media:Rk3288_hardware_reference.zip|Schematic&Layout Guide]] | style="width:189px;" | [http://store.t-firefly.com/goods.php?id=1 Firefly-RK3288] RK3288-evb [https://item.taobao.com/item.htm?spm=a312a.7700824.w4002-14622808433.33.efd3509eP2UfCv&id=557059969616 Tinker] [http://www.aaeon.com/en/p/pico-itx-boards-rico-3288 Rico-3288] [https://item.taobao.com/item.htm?spm=a312a.7700824.w4002-14622808433.39.efd3509eP2UfCv&id=536476862763 Miqi] [http://www.phytec.eu/product/system-on-modules/phycore-rk3288/ Phytec-rk3288] |- | style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p> | style="width:286px;" | Quad-core Cortex-A53 CPU MALI-450MP2 GPU | style="width:189px;" | [[Media:Rockchip_RK3328TRM_V1.1-Part1-20170321.pdf|TRM]] [[Media:Rockchip_RK3328_Datasheet_V1.1-20170309.pdf|Datasheet]] [[Media:Rk3328_hardware_reference.zip|Schematic&Layout Guide]] | style="width:189px;" | [http://store.t-firefly.com/goods.php?id=66 ROC-RK3328-CC] [https://www.pine64.org/?product=rock64-media-board-computer ROCK64] |} &nbsp; = '''Software development&nbsp;''' = '''&nbsp; &nbsp; &nbsp; &nbsp;Software Feature Supoort [[Status_Matrix|Status_Matrix]]''' *'''Porting guide for Linux based OS/Distribution''' **[[Linux_user_guide|Linux User Guide]] **[[Debian|Debian]] **[[Buildroot|Buildroot]] **[[Distribution|Other distribution]] *'''BSP module user guide''' **[[U-Boot|U-Boot]]&nbsp; **[[Rockchip_Kernel|Rockchip Kernel]] **[[Atf|ARM Trusted&nbsp;Firmware]] *'''Graphics and Multimedia&nbsp;user guide''' **[[Graphics|Graphics and display]] **[[Mpp|Multimedia--Video Codec]] **[[Rockchip-isp1|Multimedia--Camera]] *'''Tool and Firmware Upgrade''' **[[Rockusb|Rockusb]] **[[Upgradetool|Rockchip&nbsp;Upgrade Tool]] **[[AndroidTool|Android Tool]] **[[Rkdeveloptool|Rkdeveloptool]] **[[Boot_option|Boot Option]] '''<span style="font-size:xx-large;">Feedback</span>''' Any question about software module on github, please ask&nbsp;at issue page of github project. If you have any other questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website, Email-to: opensource@rock-chips.com 020797b116b0a07cc4c00d2fac3bd7858cf8e386 1892 1890 2018-04-23T00:59:58Z Admin 1 wikitext text/x-wiki = '''Source code''' = Rockchip provide open source software on Github including fully support for Linux Based OS: *Github: [https://github.com/rockchip-linux rockchip-linux] You can also find software for Rockchip SoCs from Upstream: *[https://www.kernel.org/ Linux kernel] *[http://www.denx.de/wiki/U-Boot/WebHome U-Boot] *[https://github.com/ARM-software/arm-trusted-firmware ARM Trusted Firmware] If you are using a Chrombook with Rockchip SoC, you can use: *[https://chromium.googlesource.com/chromiumos/third_party/coreboot Chromium OS&nbsp;Coreboot] *[https://chromium.googlesource.com/chromiumos/third_party/kernel Chromium OS kernel] = '''Hardware Document''' = {| border="1" cellpadding="0" cellspacing="0" class="table_style" |- ! style="width:92px;" | <p style="text-align: center;">SoC</p> ! style="width:286px;" | <p style="text-align: center;">Description</p> ! style="width:189px;" | <p style="text-align: center;">Download</p> ! style="width:189px;" | <p style="text-align: center;">Boards</p> |- | style="width: 92px; text-align: center;" | [[RK3399|RK3399]] | style="width:286px;" | Dual-core Cortex-A72 Quad-core Cortex-A53 CPU MALI-T864 GPU | style="width:189px;" | [[Media:Rockchip_RK3399TRM_V1.4_Part1-20170408.pdf|TRM]] [[Media:Rockchip_RK3399_Datasheet_V1.6-20170301.pdf|Datasheet]] [[Media:Rk3399_hardware_reference.zip|Schematic&Layout Guide]] | style="width:189px;" | [http://store.t-firefly.com/goods.php?id=44 Firefly-RK3399] [[Excavator_sapphire_board|Excavator]] [https://item.taobao.com/item.htm?spm=a1z10.5-c.w4002-8080654418.15.3f3c7130yr225K&id=563534665516 VS-RK3399] [http://www.aaeon.com/en/p/pico-itx-boards-rico-3399 Rico-rk3399] [https://item.taobao.com/item.htm?spm=a312a.7700824.w4002-9552179460.11.4ee450d88I4ROU&id=564484944766 Orange Pi RK3399] |- | style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p> | style="width:286px;" | Quad-core Cortex-A17 CPU MALI-T764 GPU | style="width:189px;" | [[Media:Rockchip_RK3288_TRM_V1.2_Part1-20170321.pdf|TRM]] [[Media:Rockchip_RK3288_Datasheet_V2.2-20170301.pdf|Datasheet]] [[Media:Rk3288_hardware_reference.zip|Schematic&Layout Guide]] | style="width:189px;" | [http://store.t-firefly.com/goods.php?id=1 Firefly-RK3288] RK3288-evb [https://item.taobao.com/item.htm?spm=a312a.7700824.w4002-14622808433.33.efd3509eP2UfCv&id=557059969616 Tinker] [http://www.aaeon.com/en/p/pico-itx-boards-rico-3288 Rico-3288] [https://item.taobao.com/item.htm?spm=a312a.7700824.w4002-14622808433.39.efd3509eP2UfCv&id=536476862763 Miqi] [http://www.phytec.eu/product/system-on-modules/phycore-rk3288/ Phytec-rk3288] |- | style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p> | style="width:286px;" | Quad-core Cortex-A53 CPU MALI-450MP2 GPU | style="width:189px;" | [[Media:Rockchip_RK3328TRM_V1.1-Part1-20170321.pdf|TRM]] [[Media:Rockchip_RK3328_Datasheet_V1.1-20170309.pdf|Datasheet]] [[Media:Rk3328_hardware_reference.zip|Schematic&Layout Guide]] | style="width:189px;" | [http://store.t-firefly.com/goods.php?id=66 ROC-RK3328-CC] [https://www.pine64.org/?product=rock64-media-board-computer ROCK64] |} &nbsp; = '''Software development&nbsp;''' = '''&nbsp; &nbsp; &nbsp; &nbsp;Software Feature Supoort [[Status_Matrix|Status_Matrix]]''' *'''Porting guide for Linux based OS/Distribution''' **[[Linux_user_guide|Linux User Guide]] **[[Debian|Debian]] **[[Buildroot|Buildroot]] **[[Distribution|Other distribution]] *'''BSP module user guide''' **[[U-Boot|U-Boot]]&nbsp; **[[Rockchip_Kernel|Rockchip Kernel]] **[[Atf|ARM Trusted&nbsp;Firmware]] *'''Graphics and Multimedia&nbsp;user guide''' **[[Graphics|Graphics and display]] **[[Mpp|Multimedia--Video Codec]] **[[Rockchip-isp1|Multimedia--Camera]] *'''Tool and Firmware Upgrade''' **[[Rockusb|Rockusb]] **[[Upgradetool|Rockchip&nbsp;Upgrade Tool]] **[[AndroidTool|Android Tool]] **[[Rkdeveloptool|rkdeveloptool]] **[[Boot_option|Boot Option]] '''<span style="font-size:xx-large;">Feedback</span>''' Any question about software module on github, please ask&nbsp;at issue page of github project. If you have any other questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website, Email-to: opensource@rock-chips.com 03a74e61c73af4771168d690065b71b6d0114470 1893 1892 2018-04-23T01:02:05Z Admin 1 wikitext text/x-wiki = '''Source code''' = Rockchip provide open source software on Github including fully support for Linux Based OS: *Github: [https://github.com/rockchip-linux rockchip-linux] You can also find software for Rockchip SoCs from Upstream: *[https://www.kernel.org/ Linux kernel] *[http://www.denx.de/wiki/U-Boot/WebHome U-Boot] *[https://github.com/ARM-software/arm-trusted-firmware ARM Trusted Firmware] If you are using a Chrombook with Rockchip SoC, you can use: *[https://chromium.googlesource.com/chromiumos/third_party/coreboot Chromium OS&nbsp;Coreboot] *[https://chromium.googlesource.com/chromiumos/third_party/kernel Chromium OS kernel] = '''Hardware Document''' = {| border="1" cellpadding="0" cellspacing="0" class="table_style" |- ! style="width:92px;" | <p style="text-align: center;">SoC</p> ! style="width:286px;" | <p style="text-align: center;">Description</p> ! style="width:189px;" | <p style="text-align: center;">Download</p> ! style="width:189px;" | <p style="text-align: center;">Boards</p> |- | style="width: 92px; text-align: center;" | [[RK3399|RK3399]] | style="width:286px;" | Dual-core Cortex-A72 Quad-core Cortex-A53 CPU MALI-T860 MP4 GPU | style="width:189px;" | [[Media:Rockchip_RK3399TRM_V1.4_Part1-20170408.pdf|TRM]] [[Media:Rockchip_RK3399_Datasheet_V1.6-20170301.pdf|Datasheet]] [[Media:Rk3399_hardware_reference.zip|Schematic&Layout Guide]] | style="width:189px;" | [http://store.t-firefly.com/goods.php?id=44 Firefly-RK3399] [[Excavator_sapphire_board|Excavator]] [https://item.taobao.com/item.htm?spm=a1z10.5-c.w4002-8080654418.15.3f3c7130yr225K&id=563534665516 VS-RK3399] [http://www.aaeon.com/en/p/pico-itx-boards-rico-3399 Rico-rk3399] [https://item.taobao.com/item.htm?spm=a312a.7700824.w4002-9552179460.11.4ee450d88I4ROU&id=564484944766 Orange Pi RK3399] |- | style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p> | style="width:286px;" | Quad-core Cortex-A17 CPU MALI-T760 MP4 GPU | style="width:189px;" | [[Media:Rockchip_RK3288_TRM_V1.2_Part1-20170321.pdf|TRM]] [[Media:Rockchip_RK3288_Datasheet_V2.2-20170301.pdf|Datasheet]] [[Media:Rk3288_hardware_reference.zip|Schematic&Layout Guide]] | style="width:189px;" | [http://store.t-firefly.com/goods.php?id=1 Firefly-RK3288] RK3288-evb [https://item.taobao.com/item.htm?spm=a312a.7700824.w4002-14622808433.33.efd3509eP2UfCv&id=557059969616 Tinker] [http://www.aaeon.com/en/p/pico-itx-boards-rico-3288 Rico-3288] [https://item.taobao.com/item.htm?spm=a312a.7700824.w4002-14622808433.39.efd3509eP2UfCv&id=536476862763 Miqi] [http://www.phytec.eu/product/system-on-modules/phycore-rk3288/ Phytec-rk3288] |- | style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p> | style="width:286px;" | Quad-core Cortex-A53 CPU MALI-450 MP2 GPU | style="width:189px;" | [[Media:Rockchip_RK3328TRM_V1.1-Part1-20170321.pdf|TRM]] [[Media:Rockchip_RK3328_Datasheet_V1.1-20170309.pdf|Datasheet]] [[Media:Rk3328_hardware_reference.zip|Schematic&Layout Guide]] | style="width:189px;" | [http://store.t-firefly.com/goods.php?id=66 ROC-RK3328-CC] [https://www.pine64.org/?product=rock64-media-board-computer ROCK64] |} &nbsp; = '''Software development&nbsp;''' = '''&nbsp; &nbsp; &nbsp; &nbsp;Software Feature Supoort [[Status_Matrix|Status_Matrix]]''' *'''Porting guide for Linux based OS/Distribution''' **[[Linux_user_guide|Linux User Guide]] **[[Debian|Debian]] **[[Buildroot|Buildroot]] **[[Distribution|Other distribution]] *'''BSP module user guide''' **[[U-Boot|U-Boot]]&nbsp; **[[Rockchip_Kernel|Rockchip Kernel]] **[[Atf|ARM Trusted&nbsp;Firmware]] *'''Graphics and Multimedia&nbsp;user guide''' **[[Graphics|Graphics and display]] **[[Mpp|Multimedia--Video Codec]] **[[Rockchip-isp1|Multimedia--Camera]] *'''Tool and Firmware Upgrade''' **[[Rockusb|Rockusb]] **[[Upgradetool|Rockchip&nbsp;Upgrade Tool]] **[[AndroidTool|Android Tool]] **[[Rkdeveloptool|rkdeveloptool]] **[[Boot_option|Boot Option]] '''<span style="font-size:xx-large;">Feedback</span>''' Any question about software module on github, please ask&nbsp;at issue page of github project. If you have any other questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website, Email-to: opensource@rock-chips.com 44b2535b410eb4149c165a3190c9868b50938ac2 1894 1893 2018-04-23T01:51:41Z Admin 1 wikitext text/x-wiki = '''Source code''' = Rockchip provide open source software on Github including fully support for Linux Based OS: *Github: [https://github.com/rockchip-linux rockchip-linux] You can also find software for Rockchip SoCs from Upstream: *[https://www.kernel.org/ Linux kernel] *[http://www.denx.de/wiki/U-Boot/WebHome U-Boot] *[https://github.com/ARM-software/arm-trusted-firmware ARM Trusted Firmware] If you are using a Chrombook with Rockchip SoC, you can use: *[https://chromium.googlesource.com/chromiumos/third_party/coreboot Chromium OS&nbsp;Coreboot] *[https://chromium.googlesource.com/chromiumos/third_party/kernel Chromium OS kernel] = '''Hardware Document''' = {| border="1" cellpadding="0" cellspacing="0" class="table_style" |- ! style="width:92px;" | <p style="text-align: center;">SoC</p> ! style="width:286px;" | <p style="text-align: center;">Description</p> ! style="width:189px;" | <p style="text-align: center;">Download</p> ! style="width:189px;" | <p style="text-align: center;">Boards</p> |- | style="width: 92px; text-align: center;" | [[RK3399|RK3399]] | style="width:286px;" | Dual-core Cortex-A72 Quad-core Cortex-A53 CPU MALI-T860 MP4 GPU | style="width:189px;" | [[Media:Rockchip_RK3399TRM_V1.4_Part1-20170408.pdf|TRM]] [[Media:Rockchip_RK3399_Datasheet_V1.6-20170301.pdf|Datasheet]] [[Media:Rk3399_hardware_reference.zip|Schematic&Layout Guide]] | style="width:189px;" | [http://store.t-firefly.com/goods.php?id=44 Firefly-RK3399] [[Excavator_sapphire_board|Excavator]] [https://item.taobao.com/item.htm?spm=a1z10.5-c.w4002-8080654418.15.3f3c7130yr225K&id=563534665516 VS-RK3399] [http://www.aaeon.com/en/p/pico-itx-boards-rico-3399 Rico-rk3399] [http://www.orangepi.org/Orange%20Pi%20RK3399/ Orange Pi RK3399] |- | style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p> | style="width:286px;" | Quad-core Cortex-A17 CPU MALI-T760 MP4 GPU | style="width:189px;" | [[Media:Rockchip_RK3288_TRM_V1.2_Part1-20170321.pdf|TRM]] [[Media:Rockchip_RK3288_Datasheet_V2.2-20170301.pdf|Datasheet]] [[Media:Rk3288_hardware_reference.zip|Schematic&Layout Guide]] | style="width:189px;" | [http://store.t-firefly.com/goods.php?id=1 Firefly-RK3288] RK3288-evb [https://www.asus.com/us/Single-Board-Computer/Tinker-Board/ Tinker] [http://www.aaeon.com/en/p/pico-itx-boards-rico-3288 Rico-3288] [https://mqmaker.com/miqi/ Miqi] [http://www.phytec.eu/product/system-on-modules/phycore-rk3288/ Phytec-rk3288] |- | style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p> | style="width:286px;" | Quad-core Cortex-A53 CPU MALI-450 MP2 GPU | style="width:189px;" | [[Media:Rockchip_RK3328TRM_V1.1-Part1-20170321.pdf|TRM]] [[Media:Rockchip_RK3328_Datasheet_V1.1-20170309.pdf|Datasheet]] [[Media:Rk3328_hardware_reference.zip|Schematic&Layout Guide]] | style="width:189px;" | [http://store.t-firefly.com/goods.php?id=66 ROC-RK3328-CC] [https://www.pine64.org/?product=rock64-media-board-computer ROCK64] |} &nbsp; = '''Software development&nbsp;''' = '''&nbsp; &nbsp; &nbsp; &nbsp;Software Feature Supoort [[Status_Matrix|Status_Matrix]]''' *'''Porting guide for Linux based OS/Distribution''' **[[Linux_user_guide|Linux User Guide]] **[[Debian|Debian]] **[[Buildroot|Buildroot]] **[[Distribution|Other distribution]] *'''BSP module user guide''' **[[U-Boot|U-Boot]]&nbsp; **[[Rockchip_Kernel|Rockchip Kernel]] **[[Atf|ARM Trusted&nbsp;Firmware]] *'''Graphics and Multimedia&nbsp;user guide''' **[[Graphics|Graphics and display]] **[[Mpp|Multimedia--Video Codec]] **[[Rockchip-isp1|Multimedia--Camera]] *'''Tool and Firmware Upgrade''' **[[Rockusb|Rockusb]] **[[Upgradetool|Rockchip&nbsp;Upgrade Tool]] **[[AndroidTool|Android Tool]] **[[Rkdeveloptool|rkdeveloptool]] **[[Boot_option|Boot Option]] '''<span style="font-size:xx-large;">Feedback</span>''' Any question about software module on github, please ask&nbsp;at issue page of github project. If you have any other questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website, Email-to: opensource@rock-chips.com 9d67fc29c3edb7b88b2dd7782c97c42a36f77c89 1906 1894 2018-04-25T01:58:17Z Admin 1 wikitext text/x-wiki = '''Source code''' = Rockchip provide open source software on Github including fully support for Linux Based OS: *Github: [https://github.com/rockchip-linux rockchip-linux] You can also find software for Rockchip SoCs from Upstream: *[https://www.kernel.org/ Linux kernel] *[http://www.denx.de/wiki/U-Boot/WebHome U-Boot] *[https://github.com/ARM-software/arm-trusted-firmware ARM Trusted Firmware] If you are using a Chrombook with Rockchip SoC, you can use: *[https://chromium.googlesource.com/chromiumos/third_party/coreboot Chromium OS&nbsp;Coreboot] *[https://chromium.googlesource.com/chromiumos/third_party/kernel Chromium OS kernel] = '''Hardware Document''' = {| border="1" cellpadding="0" cellspacing="0" class="table_style" |- ! style="width:92px;" | <p style="text-align: center;">SoC</p> ! style="width:286px;" | <p style="text-align: center;">Description</p> ! style="width:189px;" | <p style="text-align: center;">Download</p> ! style="width:189px;" | <p style="text-align: center;">Boards</p> |- | style="width: 92px; text-align: center;" | [[RK3399|RK3399]] | style="width:286px;" | Dual-core Cortex-A72 Quad-core Cortex-A53 CPU MALI-T860 MP4 GPU | style="width:189px;" | [[Media:Rockchip_RK3399TRM_V1.4_Part1-20170408.pdf|TRM]] [[Media:Rockchip_RK3399_Datasheet_V1.6-20170301.pdf|Datasheet]] [[Media:Rk3399_hardware_reference.zip|Schematic&Layout Guide]] | style="width:189px;" | [http://store.t-firefly.com/goods.php?id=44 Firefly-RK3399] [[Excavator_sapphire_board|Excavator]] [https://item.taobao.com/item.htm?spm=a1z10.5-c.w4002-8080654418.15.3f3c7130yr225K&id=563534665516 VS-RK3399] [http://www.aaeon.com/en/p/pico-itx-boards-rico-3399 Rico-rk3399] [http://www.orangepi.org/Orange%20Pi%20RK3399/ Orange Pi RK3399] |- | style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p> | style="width:286px;" | Quad-core Cortex-A17 CPU MALI-T760 MP4 GPU | style="width:189px;" | [[Media:Rockchip_RK3288_TRM_V1.2_Part1-20170321.pdf|TRM]] [[Media:Rockchip_RK3288_Datasheet_V2.2-20170301.pdf|Datasheet]] [[Media:Rk3288_hardware_reference.zip|Schematic&Layout Guide]] | style="width:189px;" | [[Firefly-RK3288|Firefly-RK3288]] RK3288-evb [https://www.asus.com/us/Single-Board-Computer/Tinker-Board/ Tinker] [http://www.aaeon.com/en/p/pico-itx-boards-rico-3288 Rico-3288] [https://mqmaker.com/miqi/ Miqi] [http://www.phytec.eu/product/system-on-modules/phycore-rk3288/ Phytec-rk3288] |- | style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p> | style="width:286px;" | Quad-core Cortex-A53 CPU MALI-450 MP2 GPU | style="width:189px;" | [[Media:Rockchip_RK3328TRM_V1.1-Part1-20170321.pdf|TRM]] [[Media:Rockchip_RK3328_Datasheet_V1.1-20170309.pdf|Datasheet]] [[Media:Rk3328_hardware_reference.zip|Schematic&Layout Guide]] | style="width:189px;" | [http://store.t-firefly.com/goods.php?id=66 ROC-RK3328-CC] [https://www.pine64.org/?product=rock64-media-board-computer ROCK64] |} &nbsp; = '''Software development&nbsp;''' = '''&nbsp; &nbsp; &nbsp; &nbsp;Software Feature Supoort [[Status_Matrix|Status_Matrix]]''' *'''Porting guide for Linux based OS/Distribution''' **[[Linux_user_guide|Linux User Guide]] **[[Debian|Debian]] **[[Buildroot|Buildroot]] **[[Distribution|Other distribution]] *'''BSP module user guide''' **[[U-Boot|U-Boot]]&nbsp; **[[Rockchip_Kernel|Rockchip Kernel]] **[[Atf|ARM Trusted&nbsp;Firmware]] *'''Graphics and Multimedia&nbsp;user guide''' **[[Graphics|Graphics and display]] **[[Mpp|Multimedia--Video Codec]] **[[Rockchip-isp1|Multimedia--Camera]] *'''Tool and Firmware Upgrade''' **[[Rockusb|Rockusb]] **[[Upgradetool|Rockchip&nbsp;Upgrade Tool]] **[[AndroidTool|Android Tool]] **[[Rkdeveloptool|rkdeveloptool]] **[[Boot_option|Boot Option]] '''<span style="font-size:xx-large;">Feedback</span>''' Any question about software module on github, please ask&nbsp;at issue page of github project. If you have any other questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website, Email-to: opensource@rock-chips.com 1680212348c7e7875cf37113099d349a50d9526d 1912 1906 2018-04-25T02:03:06Z Admin 1 wikitext text/x-wiki = '''Source code''' = Rockchip provide open source software on Github including fully support for Linux Based OS: *Github: [https://github.com/rockchip-linux rockchip-linux] You can also find software for Rockchip SoCs from Upstream: *[https://www.kernel.org/ Linux kernel] *[http://www.denx.de/wiki/U-Boot/WebHome U-Boot] *[https://github.com/ARM-software/arm-trusted-firmware ARM Trusted Firmware] If you are using a Chrombook with Rockchip SoC, you can use: *[https://chromium.googlesource.com/chromiumos/third_party/coreboot Chromium OS&nbsp;Coreboot] *[https://chromium.googlesource.com/chromiumos/third_party/kernel Chromium OS kernel] = '''Hardware Document''' = {| border="1" cellpadding="0" cellspacing="0" class="table_style" |- ! style="width:92px;" | <p style="text-align: center;">SoC</p> ! style="width:286px;" | <p style="text-align: center;">Description</p> ! style="width:189px;" | <p style="text-align: center;">Download</p> ! style="width:189px;" | <p style="text-align: center;">Boards</p> |- | style="width: 92px; text-align: center;" | [[RK3399|RK3399]] | style="width:286px;" | Dual-core Cortex-A72 Quad-core Cortex-A53 CPU MALI-T860 MP4 GPU | style="width:189px;" | [[Media:Rockchip_RK3399TRM_V1.4_Part1-20170408.pdf|TRM]] [[Media:Rockchip_RK3399_Datasheet_V1.6-20170301.pdf|Datasheet]] [[Media:Rk3399_hardware_reference.zip|Schematic&Layout Guide]] | style="width:189px;" | [[Firefly-RK3399|Firefly-RK3399]] [[Excavator_sapphire_board|Excavator]] [https://item.taobao.com/item.htm?spm=a1z10.5-c.w4002-8080654418.15.3f3c7130yr225K&id=563534665516 VS-RK3399] [http://www.aaeon.com/en/p/pico-itx-boards-rico-3399 Rico-rk3399] [http://www.orangepi.org/Orange%20Pi%20RK3399/ Orange Pi RK3399] |- | style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p> | style="width:286px;" | Quad-core Cortex-A17 CPU MALI-T760 MP4 GPU | style="width:189px;" | [[Media:Rockchip_RK3288_TRM_V1.2_Part1-20170321.pdf|TRM]] [[Media:Rockchip_RK3288_Datasheet_V2.2-20170301.pdf|Datasheet]] [[Media:Rk3288_hardware_reference.zip|Schematic&Layout Guide]] | style="width:189px;" | [[Firefly-RK3288|Firefly-RK3288]] RK3288-evb [https://www.asus.com/us/Single-Board-Computer/Tinker-Board/ Tinker] [http://www.aaeon.com/en/p/pico-itx-boards-rico-3288 Rico-3288] [https://mqmaker.com/miqi/ Miqi] [http://www.phytec.eu/product/system-on-modules/phycore-rk3288/ Phytec-rk3288] |- | style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p> | style="width:286px;" | Quad-core Cortex-A53 CPU MALI-450 MP2 GPU | style="width:189px;" | [[Media:Rockchip_RK3328TRM_V1.1-Part1-20170321.pdf|TRM]] [[Media:Rockchip_RK3328_Datasheet_V1.1-20170309.pdf|Datasheet]] [[Media:Rk3328_hardware_reference.zip|Schematic&Layout Guide]] | style="width:189px;" | [[ROC-RK3328-CC|ROC-RK3328-CC]] [https://www.pine64.org/?product=rock64-media-board-computer ROCK64] |} &nbsp; = '''Software development&nbsp;''' = '''&nbsp; &nbsp; &nbsp; &nbsp;Software Feature Supoort [[Status_Matrix|Status_Matrix]]''' *'''Porting guide for Linux based OS/Distribution''' **[[Linux_user_guide|Linux User Guide]] **[[Debian|Debian]] **[[Buildroot|Buildroot]] **[[Distribution|Other distribution]] *'''BSP module user guide''' **[[U-Boot|U-Boot]]&nbsp; **[[Rockchip_Kernel|Rockchip Kernel]] **[[Atf|ARM Trusted&nbsp;Firmware]] *'''Graphics and Multimedia&nbsp;user guide''' **[[Graphics|Graphics and display]] **[[Mpp|Multimedia--Video Codec]] **[[Rockchip-isp1|Multimedia--Camera]] *'''Tool and Firmware Upgrade''' **[[Rockusb|Rockusb]] **[[Upgradetool|Rockchip&nbsp;Upgrade Tool]] **[[AndroidTool|Android Tool]] **[[Rkdeveloptool|rkdeveloptool]] **[[Boot_option|Boot Option]] '''<span style="font-size:xx-large;">Feedback</span>''' Any question about software module on github, please ask&nbsp;at issue page of github project. If you have any other questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website, Email-to: opensource@rock-chips.com fbc4b2447c8b521251b4c821aae60a2ed4209cd1 U-Boot 0 11 1850 1819 2018-04-18T07:24:20Z Admin 1 wikitext text/x-wiki In your linux SDK root directory. enter to U-Boot directory.&nbsp; <pre>cd u-boot </pre> For RK3399&nbsp;sapphire-excavator board, VS-RK3399 board,&nbsp;Rock960 board. Use below command to build the U-Boot:&nbsp; <pre>./make.sh evb-rk3399 </pre> For firefly-rk3399&nbsp;board. Use below command to build the U-Boot:&nbsp; <pre>./make.sh firefly-rk3399 </pre> For firefly-rk3288 board. Use below command to build the U-Boot:&nbsp; <pre>./make.sh firefly-rk3288 </pre> For rk3288-evb-act8846&nbsp;board. Use below command to build the U-Boot:&nbsp; <pre>./make.sh evb-rk3288 </pre> For rk3288-evb-rk808&nbsp;board. Use below command to build the U-Boot:&nbsp; <pre>./make.sh fennec-rk3288 </pre> For rk3288 tinker&nbsp;board. Use below command to build the U-Boot:&nbsp; <pre>./make.sh tinker-rk3288 </pre> For phytec-rk3288&nbsp;board. Use below command to build the U-Boot:&nbsp; <pre>./make.sh phycore-rk3288 </pre> For rk3288 miqi&nbsp;board. Use below command to build the U-Boot:&nbsp; <pre>./make.sh miqi-rk3288 </pre> It will generate 3 binary image: rk3xxx_loader_vx.xx.xxx.bin, trust.img, uboot.img.&nbsp; rk3xxx_loader_vx.xx.xxx.bin: Rockchip miniloader. rk3xxx is the part number of the chip. vx.xx.xxx is the version number. Please flash this binary to miniloader partition.&nbsp; trust.img:&nbsp;ARM Trusted Firmware uboot.img: The U-Boot image <pre>u-boot/ ├── rk3399_loader_v1.09.112.bin ├── trust.img └── uboot.img </pre> Rockchip now only offically support miniloader+U-Boot boot to simplify the customer product design.&nbsp; You can refer to&nbsp;[http://opensource.rock-chips.com/wiki_Boot_option boot option]&nbsp;page for more boot path. But do remember that you should do it all by your own. Rockchip won't provide technical support for these boot option.&nbsp; 0cf71432194dcd554fe07ac866a5d5e65117057e 1851 1850 2018-04-18T07:53:47Z Admin 1 wikitext text/x-wiki In your linux SDK root directory. enter to U-Boot directory.&nbsp; <pre>cd u-boot </pre> For RK3399&nbsp;sapphire-excavator board, VS-RK3399 board,&nbsp;Rock960 board. Use below command to build the U-Boot:&nbsp; <pre>./make.sh evb-rk3399 </pre> For firefly-rk3399&nbsp;board. Use below command to build the U-Boot:&nbsp; <pre>./make.sh firefly-rk3399 </pre> For firefly-rk3288 board. Use below command to build the U-Boot:&nbsp; <pre>./make.sh firefly-rk3288 </pre> For rk3288-evb-act8846&nbsp;board. Use below command to build the U-Boot:&nbsp; <pre>./make.sh evb-rk3288 </pre> For rk3288-evb-rk808&nbsp;board. Use below command to build the U-Boot:&nbsp; <pre>./make.sh fennec-rk3288 </pre> For rk3288 tinker&nbsp;board. Use below command to build the U-Boot:&nbsp; <pre>./make.sh tinker-rk3288 </pre> For phytec-rk3288&nbsp;board. Use below command to build the U-Boot:&nbsp; <pre>./make.sh phycore-rk3288 </pre> For rk3288 miqi&nbsp;board. Use below command to build the U-Boot:&nbsp; <pre>./make.sh miqi-rk3288 </pre> It will generate 3 binary image: rk3xxx_loader_vx.xx.xxx.bin, trust.img, uboot.img.&nbsp; rk3xxx_loader_vx.xx.xxx.bin: Rockchip miniloader. rk3xxx is the part number of the chip. vx.xx.xxx is the version number. Please flash this binary to miniloader partition.&nbsp; trust.img:&nbsp;ARM Trusted Firmware, Please flash this binary to trust partition uboot.img: The U-Boot image, Please flash this binary to uboot partition <pre>u-boot/ ├── rk3399_loader_v1.09.112.bin ├── trust.img └── uboot.img </pre> Rockchip now only offically support miniloader+U-Boot boot to simplify the customer product design.&nbsp; You can refer to&nbsp;[[Boot_option|boot option]] page for more boot path. But do remember that you should do it all by your own. Rockchip won't provide technical support for these boot option.&nbsp; e731cc94d8b8385df7a2ec6f0397b048247c6657 Rockchip Kernel 0 104 1852 1742 2018-04-18T07:57:03Z Admin 1 wikitext text/x-wiki In your linux SDK root directory. enter to kernel directory.&nbsp; <pre>cd kernel </pre> Config your kernel. For ARM v7: RK3288 <pre>make ARCH=arm32 rockchip_linux_defconfig </pre> For ARM V8: RK3399, RK3328 <pre>make ARCH=arm64 rockchip_linux_defconfig </pre> For RK3399&nbsp;sapphire-excavator board, VS-RK3399 board,&nbsp;Rock960 board. Use below command to build the kernel:&nbsp; <pre>./make.sh evb-rk3399 </pre> For firefly-rk3399&nbsp;board. Use below command to build the kernel:&nbsp; <pre>./make.sh firefly-rk3399 </pre> For firefly-rk3288 board. Use below command to build the kernel:&nbsp; <pre>./make.sh firefly-rk3288 </pre> For rk3288-evb-act8846&nbsp;board. Use below command to build the kernel:&nbsp; <pre>./make.sh evb-rk3288 </pre> For rk3288-evb-rk808&nbsp;board. Use below command to build the kernel:&nbsp; <pre>./make.sh fennec-rk3288 </pre> For rk3288 tinker&nbsp;board. Use below command to build the kernel:&nbsp; <pre>./make.sh tinker-rk3288 </pre> For phytec-rk3288&nbsp;board. Use below command to build the kernel:&nbsp; <pre>./make.sh phycore-rk3288 </pre> For rk3288 miqi&nbsp;board. Use below command to build the kernel:&nbsp; <pre>./make.sh miqi-rk3288 </pre> It will generate 2 binary image: kernel.img, resource.img.&nbsp; kernel image: Please flash this binary to kernel partition resource image: it contain kernel dtb. Please flash this binary to resource partition See [[Rockchip_Kernel|Rockchip kernel]] for more detail. &nbsp; ab0365126bd024a351fdc1054603d8d7710b780e 1854 1852 2018-04-18T07:58:54Z Admin 1 wikitext text/x-wiki In your linux SDK root directory. enter to kernel directory.&nbsp; <pre>cd kernel </pre> Config your kernel. For ARM v7: RK3288 <pre>make ARCH=arm32 rockchip_linux_defconfig </pre> For ARM V8: RK3399, RK3328 <pre>make ARCH=arm64 rockchip_linux_defconfig </pre> For RK3399&nbsp;sapphire-excavator board, VS-RK3399 board,&nbsp;Rock960 board. Use below command to build the kernel:&nbsp; <pre>./make.sh evb-rk3399 </pre> For firefly-rk3399&nbsp;board. Use below command to build the kernel:&nbsp; <pre>./make.sh firefly-rk3399 </pre> For firefly-rk3288 board. Use below command to build the kernel:&nbsp; <pre>./make.sh firefly-rk3288 </pre> For rk3288-evb-act8846&nbsp;board. Use below command to build the kernel:&nbsp; <pre>./make.sh evb-rk3288 </pre> For rk3288-evb-rk808&nbsp;board. Use below command to build the kernel:&nbsp; <pre>./make.sh fennec-rk3288 </pre> For rk3288 tinker&nbsp;board. Use below command to build the kernel:&nbsp; <pre>./make.sh tinker-rk3288 </pre> For phytec-rk3288&nbsp;board. Use below command to build the kernel:&nbsp; <pre>./make.sh phycore-rk3288 </pre> For rk3288 miqi&nbsp;board. Use below command to build the kernel:&nbsp; <pre>./make.sh miqi-rk3288 </pre> It will generate 2 binary image: kernel.img, resource.img.&nbsp; kernel image: Please flash this binary to kernel partition resource image: it contain kernel dtb. Please flash this binary to resource partition &nbsp; <audio controls="controls" style="display: none;">&nbsp;</audio> 6738028fe46e2df89a965258b99404107e7b836c 1862 1854 2018-04-18T09:05:45Z Admin 1 wikitext text/x-wiki In your linux SDK root directory. enter to kernel directory.&nbsp; <pre>cd kernel </pre> Config your kernel. For ARM v7: RK3288 <pre>make ARCH=arm32 rockchip_linux_defconfig </pre> For ARM V8: RK3399, RK3328 <pre>make ARCH=arm64 rockchip_linux_defconfig </pre> For RK3399&nbsp;sapphire-excavator board, VS-RK3399 board,&nbsp;Rock960 board. Use below command to build the kernel:&nbsp; <pre>./make.sh evb-rk3399 </pre> For firefly-rk3399&nbsp;board. Use below command to build the kernel:&nbsp; <pre>./make.sh firefly-rk3399 </pre> For firefly-rk3288 board. Use below command to build the kernel:&nbsp; <pre>./make.sh firefly-rk3288 </pre> For rk3288-evb-act8846&nbsp;board. Use below command to build the kernel:&nbsp; <pre>./make.sh evb-rk3288 </pre> For rk3288-evb-rk808&nbsp;board. Use below command to build the kernel:&nbsp; <pre>./make.sh fennec-rk3288 </pre> For rk3288 tinker&nbsp;board. Use below command to build the kernel:&nbsp; <pre>./make.sh tinker-rk3288 </pre> For phytec-rk3288&nbsp;board. Use below command to build the kernel:&nbsp; <pre>./make.sh phycore-rk3288 </pre> For rk3288 miqi&nbsp;board. Use below command to build the kernel:&nbsp; <pre>./make.sh miqi-rk3288 </pre> It will generate 2 binary image: kernel.img, resource.img.&nbsp; kernel image: Please flash this binary to kernel partition resource image: it contain kernel dtb. Please flash this binary to resource partition &nbsp; 7d472787789d52748f2943d2f00ea8b783f6e30e 1875 1862 2018-04-18T10:56:12Z Admin 1 wikitext text/x-wiki In your linux SDK root directory. enter to kernel directory.&nbsp; <pre>cd kernel </pre> Config your kernel. For ARM v7: RK3288 <pre>make ARCH=arm32 rockchip_linux_defconfig </pre> For ARM V8: RK3399, RK3328 <pre>make ARCH=arm64 rockchip_linux_defconfig </pre> For RK3399&nbsp;sapphire-excavator board, VS-RK3399 board,&nbsp;Rock960 board. Use below command to build the kernel:&nbsp; <pre>make ARCH=arm64 rk3399-sapphire-excavator-linux.img -j8 </pre> For firefly-rk3399&nbsp;board. Use below command to build the kernel:&nbsp; <pre>make ARCH=arm64 rk3399-firefly-linux.img -j8 </pre> For firefly-rk3288 board. Use below command to build the kernel:&nbsp; <pre>make ARCH=arm rk3288-firefly.img -j8 </pre> For rk3288-evb-act8846&nbsp;board. Use below command to build the kernel:&nbsp; <pre>make ARCH=arm rk3288-evb-act8846.img -j8 </pre> For rk3288-evb-rk808&nbsp;board. Use below command to build the kernel:&nbsp; <pre>make ARCH=arm rk3288-evb-rk808-linux.img -j8 </pre> For rk3288 tinker&nbsp;board. Use below command to build the kernel:&nbsp; <pre>make ARCH=arm rk3288-miniarm.img -j8 </pre> For phytec-rk3288&nbsp;board. Use below command to build the kernel:&nbsp; <pre>make ARCH=arm rk3288-phycore-rdk.img -j8 </pre> For rk3288 miqi&nbsp;board. Use below command to build the kernel:&nbsp; <pre>make ARCH=arm rk3288-miqi.img -j8 </pre> It will generate 2 binary image: kernel.img, resource.img.&nbsp; kernel image: Please flash this binary to kernel partition resource image: it contain kernel dtb. Please flash this binary to resource partition &nbsp; 398915a6d8549d921cb4ad960d4f89db15e12c51 1876 1875 2018-04-19T00:49:09Z Admin 1 wikitext text/x-wiki In your linux SDK root directory. enter to kernel directory.&nbsp; <pre>cd kernel </pre> Config your kernel. For ARM v7: RK3288 <pre>make ARCH=arm rockchip_linux_defconfig </pre> For ARM V8: RK3399, RK3328 <pre>make ARCH=arm64 rockchip_linux_defconfig </pre> For RK3399&nbsp;sapphire-excavator board, VS-RK3399 board,&nbsp;Rock960 board. Use below command to build the kernel:&nbsp; <pre>make ARCH=arm64 rk3399-sapphire-excavator-linux.img -j8 </pre> For firefly-rk3399&nbsp;board. Use below command to build the kernel:&nbsp; <pre>make ARCH=arm64 rk3399-firefly-linux.img -j8 </pre> For firefly-rk3288 board. Use below command to build the kernel:&nbsp; <pre>make ARCH=arm rk3288-firefly.img -j8 </pre> For rk3288-evb-act8846&nbsp;board. Use below command to build the kernel:&nbsp; <pre>make ARCH=arm rk3288-evb-act8846.img -j8 </pre> For rk3288-evb-rk808&nbsp;board. Use below command to build the kernel:&nbsp; <pre>make ARCH=arm rk3288-evb-rk808-linux.img -j8 </pre> For rk3288 tinker&nbsp;board. Use below command to build the kernel:&nbsp; <pre>make ARCH=arm rk3288-miniarm.img -j8 </pre> For phytec-rk3288&nbsp;board. Use below command to build the kernel:&nbsp; <pre>make ARCH=arm rk3288-phycore-rdk.img -j8 </pre> For rk3288 miqi&nbsp;board. Use below command to build the kernel:&nbsp; <pre>make ARCH=arm rk3288-miqi.img -j8 </pre> It will generate 2 binary image: kernel.img, resource.img.&nbsp; kernel image: Please flash this binary to kernel partition resource image: it contain kernel dtb. Please flash this binary to resource partition &nbsp; ba63adf992f43d94d897c5fabc58c703cdff3370 AndroidTool 0 194 1856 2018-04-18T08:32:33Z Admin 1 Created page with " &nbsp;" wikitext text/x-wiki &nbsp; 9012a5db0e48f472dc89e97fa239cc9970681b37 1891 1856 2018-04-23T00:58:27Z Admin 1 wikitext text/x-wiki AndroidTool is a firmware upgrade tool for Windows. You can find it in [Linux SDK root]/ tools/windows/.&nbsp; Or you can donwload it from [https://github.com/rockchip-linux/tools/blob/rk3399/windows/AndroidTool_Release_v2.52.zip here]. To use AndroidTool, You have to install windows driver first. Please use DriverAssitant to install window driver. The DriverAssitant is under&nbsp;[Linux SDK root]/ tools/windows/ directory.&nbsp; &nbsp; c9c2d74e7ab00169cf721bccbe71e61923790e1a Upgradetool 0 195 1857 2018-04-18T08:32:57Z Admin 1 Created page with " &nbsp;" wikitext text/x-wiki &nbsp; 9012a5db0e48f472dc89e97fa239cc9970681b37 1874 1857 2018-04-18T10:41:44Z Admin 1 wikitext text/x-wiki upgradetool is a firmware upgrade tool for Linux. You can find it in [Linux SDK root]/ tools/linux/Linux_Upgrade_Tool.&nbsp; Or you can donwload it from [https://github.com/rockchip-linux/tools/tree/rk3399/linux/Linux_Upgrade_Tool here].&nbsp; To use upgradetool&nbsp; flash image. Please make sure your device is in [[Rockusb|maskrom rockusb mode]].&nbsp; Go to the rockimg directory <pre>cd rockimg </pre> Use below command to flash image. Let's use RK3399 as an example. You only need change rk3399_loader_v1.09.112.bin to the one you are using.&nbsp; <pre>sudo ../ tools/linux/Linux_Upgrade_Tool/upgrade_tool ul rk3399_loader_v1.09.112.bin sudo ../ tools/linux/Linux_Upgrade_Tool/upgrade_tool di -p parameter.txt sudo ../ tools/linux/Linux_Upgrade_Tool/upgrade_tool di -u uboot.img sudo ../ tools/linux/Linux_Upgrade_Tool/upgrade_tool di -t trust.img sudo ../ tools/linux/Linux_Upgrade_Tool/upgrade_tool di -re resource.img sudo ../ tools/linux/Linux_Upgrade_Tool/upgrade_tool di -k kernel.img sudo ../ tools/linux/Linux_Upgrade_Tool/upgrade_tool di -rootfs linaro-rootfs.img sudo ../ tools/linux/Linux_Upgrade_Tool/upgrade_tool rd </pre> &nbsp; 8d0bfa84db9aec3c65a7a99344d11c60abff9a97 1881 1874 2018-04-19T01:14:07Z Admin 1 wikitext text/x-wiki upgrade_tool is a firmware upgrade tool for Linux. You can find it in [Linux SDK root]/ tools/linux/Linux_Upgrade_Tool.&nbsp; Or you can donwload it from [https://github.com/rockchip-linux/tools/tree/rk3399/linux/Linux_Upgrade_Tool here].&nbsp; To use&nbsp;upgrade_tool, make sure you can execute it first.&nbsp;&nbsp; <pre>chmod 777 ./tools/linux/Linux_Upgrade_Tool/upgrade_tool </pre> To use upgradetool&nbsp; flash image. Please make sure your device is in [[Rockusb|maskrom rockusb mode]].&nbsp; Go to the rockimg directory <pre>cd rockimg </pre> Use below command to flash image. Let's use RK3399 as an example. You only need change rk3399_loader_v1.09.112.bin to the one you are using.&nbsp; <pre>sudo ../tools/linux/Linux_Upgrade_Tool/upgrade_tool ul rk3399_loader_v1.09.112.bin sudo ../tools/linux/Linux_Upgrade_Tool/upgrade_tool di -p parameter.txt sudo ../tools/linux/Linux_Upgrade_Tool/upgrade_tool di -u uboot.img sudo ../tools/linux/Linux_Upgrade_Tool/upgrade_tool di -t trust.img sudo ../tools/linux/Linux_Upgrade_Tool/upgrade_tool di -re resource.img sudo ../tools/linux/Linux_Upgrade_Tool/upgrade_tool di -k kernel.img sudo ../tools/linux/Linux_Upgrade_Tool/upgrade_tool di -rootfs rootfs.img sudo ../tools/linux/Linux_Upgrade_Tool/upgrade_tool rd </pre> &nbsp; e2a3e20d761356859926eb5542ca81af8e5c0f46 Status Matrix 0 154 1895 1570 2018-04-23T03:11:11Z Admin 1 wikitext text/x-wiki &nbsp; &nbsp; == Rockchip 4.4 Kernel Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! RK3288 ! RK3328 ! RK3399 |- | rowspan="2" style="text-align: left;" | ADC | style="text-align: left;" | SARADC | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | TSADC | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | Clocks | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | CPUFreq | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | Crypto | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | Mipi-CSI | style="background: lightgreen;" | SUPPORT | N/A | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | ISP | style="background: orange;" | SUPPORT | style="background: orange;" | <span style="background-color:#FFF0F5;">N/A</span> | style="background: orange;" | SUPPORT |- | colspan="2" style="text-align: left;" | DVP/CIF | style="background: orange;" | WIP | style="background: orange;" | WIP | style="background: orange;" | N/A |- | rowspan="8" style="text-align: left;" | Display (DRM) | style="text-align: left;" | RGB | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | EDP | style="background: lightgreen;" | SUPPORT | N/A | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | LVDS | style="background: lightgreen;" | SUPPORT | N/A | style="background: grey; color: white;" | &nbsp;? |- | style="text-align: left;" | MIPI DSI | style="background: lightgreen;" | SUPPORT | N/A | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | CVBS | N/A | style="background: lightgreen;" | SUPPORT | N/A |- | style="text-align: left;" | VGA | N/A | N/A | N/A |- | style="text-align: left;" | HDMI | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | CEC | style="background: red;" | NO | style="background: orange;" | WIP | style="background: red;" | NO |- | colspan="2" style="text-align: left;" | DMA | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | DDR DVFS | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |- | rowspan="2" style="text-align: left;" | Ethernet | style="text-align: left;" | GMAC | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | EMAC | N/A | style="background: lightgreen;" | SUPPORT | N/A |- | colspan="2" style="text-align: left;" | I2S | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left" | I2C | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | MsgBox | N/A | N/A | N/A |- | colspan="2" style="text-align: left;" | Pinctrl | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | PWM | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | Power Domain | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | PCIE | N/A | N/A | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | SD / SDIO / MMC | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | SPDIF | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | SPI | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | SUSPEND / RESUME | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | USB | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | USB OTG | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | TYPEC | N/A | N/A | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | Watchdog | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | GPU | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | VPU | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | RGA | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | IEP | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |} &nbsp; &nbsp; &nbsp; == Mainline Kernel Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! RK3288 ! RK3328 ! RK3399 |- | rowspan="2" style="text-align: left;" | ADC | style="text-align: left;" | SARADC | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.14 |- | style="text-align: left;" | TSADC1 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | Clocks | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | CPUFreq | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | Crypto | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | CSI/ISP | style="background: orange;" | WIP | N/A | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | CIF | style="background: orange;" | WIP | style="background: orange;" | WIP | style="background: orange;" | WIP |- | rowspan="8" style="text-align: left;" | Display (DRM) | style="text-align: left;" | RGB | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |- | style="text-align: left;" | EDP | style="background: lightgreen;" | 4.4 | N/A | style="background: lightgreen;" | 4.14 |- | style="text-align: left;" | LVDS | style="background: red;" | NO | N/A | style="background: red;" | NO |- | style="text-align: left;" | MIPI DSI | style="background: lightgreen;" | 4.4 | N/A | style="background: lightgreen;" | 4.14 |- | style="text-align: left;" | CVBS | N/A | style="background: darkgreen;" | INCOMPLETE | N/A |- | style="text-align: left;" | VGA | N/A | N/A | N/A |- | style="text-align: left;" | HDMI | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE |- | style="text-align: left;" | CEC | style="background: red;" | NO | style="background: darkgreen;" | INCOMPLETE | style="background: red;" | NO |- | colspan="2" style="text-align: left;" | DMA | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | DDR DVFS | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |- | rowspan="2" style="text-align: left;" | Ethernet | style="text-align: left;" | GMAC | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.14 |- | style="text-align: left;" | EMAC | N/A | style="background: lightgreen;" | 4.14 | N/A |- | colspan="2" style="text-align: left;" | I2S | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left" | I2C | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | MsgBox | N/A | N/A | N/A |- | colspan="2" style="text-align: left;" | Pinctrl | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | PWM | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | Power Domain | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | PCIE | N/A | N/A | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | SD / SDIO / MMC | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | SPDIF | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | SPI | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | SUSPEND / RESUME | style="background: darkgreen;" | INCOMPLETE | style="background: lightgreen;" | 4.14 | style="background: darkgreen;" | INCOMPLETE |- | colspan="2" style="text-align: left;" | USB | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | USB OTG | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | TYPEC | N/A | N/A | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | Watchdog | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | GPU | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |- | colspan="2" style="text-align: left;" | VPU | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |- | colspan="2" style="text-align: left;" | RGA | style="background: lightgreen;" | 4.15 | style="background: orange;" | WIP | style="background: lightgreen;" | 4.15 |- | colspan="2" style="text-align: left;" | IEP | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |} &nbsp; &nbsp; &nbsp; == Linux SDK CHIP Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! RK3288 ! RK3328 ! RK3399 |- | colspan="2" style="text-align: left;" | Debian | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | rowspan="3" style="text-align: left;" | Yocto | style="text-align: left;" | X11 | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | QT EGLFS | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | WESTON | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE |- | colspan="2" style="text-align: left;" | Buildroot | N/A | N/A | style="background: lightgreen;" | SUPPORT |- | rowspan="5" style="text-align: left;" | Decode | style="text-align: left;" | H264 | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | H265 | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | VP8 | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | VP9 | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | JPEG | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE |- | rowspan="3" style="text-align: left;" | Encode | style="text-align: left;" | H264 | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | H265 | N/A | style="background: lightgreen;" | SUPPORT | N/A |- | style="text-align: left;" | JPEG | style="background: darkgreen;" | MPP | style="background: darkgreen;" | MPP | style="background: darkgreen;" | MPP |- | colspan="2" style="text-align: left;" | ISP(3A) | style="background: orange;" | WIP | N/A | style="background: orange;" | WIP |} <br/> &nbsp; == Linux&nbsp;Funciton Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! Status |- | rowspan="5" style="text-align: left;" | Gstreamer | style="text-align: left;" | Display | style="background: lightgreen;" | kmssink(qt eglfs),rkximagesink(x11), waylandsink(wayland) |- | style="text-align: left;" | Decode&nbsp; | style="background: lightgreen;" | h264, h265, vp8, vp9, jpeg |- | style="text-align: left;" | Encode | style="background: lightgreen;" | h264 |- | style="text-align: left;" | Camera | style="background: orange;" | Without 3A |- | style="text-align: left;" | Transform | style="background: orange;" | WIP |- | rowspan="2" style="text-align: left;" | GPU | style="text-align: left;" | GLES | style="background: lightgreen;" | libmali |- | style="text-align: left;" | OPENCL | style="background: lightgreen;" | libmali |- | colspan="2" rowspan="1" style="text-align: left;" | QT | style="background: lightgreen;" | QT 5.x |- | colspan="2" style="text-align: left;" | Browser(HTML5 Accelerate) | style="background: orange;" | WIP |- | colspan="2" style="text-align: left;" | IOT(Third part Could Service) | style="background: orange;" | WIP |- | colspan="2" style="text-align: left;" | FFmpeg | style="background: yellow;" | Community |- | colspan="2" style="text-align: left;" | MPV | style="background: yellow;" | Community |- | colspan="2" style="text-align: left;" | KODI | style="background: yellow;" | Community |} 7ae0d4dac0ecba99c4a50df561cc5e807f66172d 1896 1895 2018-04-23T03:31:20Z Admin 1 wikitext text/x-wiki &nbsp; &nbsp; == Rockchip 4.4 Kernel Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! RK3399 ! RK3288 ! RK3328 |- | rowspan="2" style="text-align: left;" | ADC | style="text-align: left;" | SARADC | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | TSADC | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | Clocks | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | CPUFreq | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | Crypto | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | Mipi-CSI | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | N/A |- | colspan="2" style="text-align: left;" | ISP | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: rgb(255, 255, 255);" | N/A |- | colspan="2" style="text-align: left;" | DVP/CIF | style="background: rgb(255, 255, 255);" | N/A | style="background: orange;" | WIP | style="background: orange;" | WIP |- | rowspan="8" style="text-align: left;" | Display (DRM) | style="text-align: left;" | RGB | style="background: grey;" | &nbsp;? | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | EDP | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | N/A |- | style="text-align: left;" | LVDS | style="background: grey;" | &nbsp;? | style="background: lightgreen;" | SUPPORT | N/A |- | style="text-align: left;" | MIPI DSI | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | N/A |- | style="text-align: left;" | CVBS | N/A | N/A | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | VGA | N/A | N/A | N/A |- | style="text-align: left;" | HDMI | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | CEC | style="background: red;" | NO | style="background: red;" | NO | style="background: orange;" | WIP |- | colspan="2" style="text-align: left;" | DMA | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | DDR DVFS | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |- | rowspan="2" style="text-align: left;" | Ethernet | style="text-align: left;" | GMAC | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | EMAC | N/A | N/A | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | I2S | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left" | I2C | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | MsgBox | N/A | N/A | N/A |- | colspan="2" style="text-align: left;" | Pinctrl | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | PWM | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | Power Domain | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | PCIE | style="background-color: lightgreen;" | SUPPORT | N/A | N/A |- | colspan="2" style="text-align: left;" | SD / SDIO / MMC | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | SPDIF | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | SPI | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | SUSPEND / RESUME | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | USB | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | USB OTG | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | TYPEC | style="background-color: lightgreen;" | SUPPORT | N/A | N/A |- | colspan="2" style="text-align: left;" | Watchdog | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | GPU | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | VPU | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | RGA | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | IEP | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |} &nbsp; &nbsp; &nbsp; == Mainline Kernel Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! RK3288 ! RK3328 ! RK3399 |- | rowspan="2" style="text-align: left;" | ADC | style="text-align: left;" | SARADC | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.14 |- | style="text-align: left;" | TSADC1 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | Clocks | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | CPUFreq | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | Crypto | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | CSI/ISP | style="background: orange;" | WIP | N/A | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | CIF | style="background: orange;" | WIP | style="background: orange;" | WIP | style="background: orange;" | WIP |- | rowspan="8" style="text-align: left;" | Display (DRM) | style="text-align: left;" | RGB | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |- | style="text-align: left;" | EDP | style="background: lightgreen;" | 4.4 | N/A | style="background: lightgreen;" | 4.14 |- | style="text-align: left;" | LVDS | style="background: red;" | NO | N/A | style="background: red;" | NO |- | style="text-align: left;" | MIPI DSI | style="background: lightgreen;" | 4.4 | N/A | style="background: lightgreen;" | 4.14 |- | style="text-align: left;" | CVBS | N/A | style="background: darkgreen;" | INCOMPLETE | N/A |- | style="text-align: left;" | VGA | N/A | N/A | N/A |- | style="text-align: left;" | HDMI | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE |- | style="text-align: left;" | CEC | style="background: red;" | NO | style="background: darkgreen;" | INCOMPLETE | style="background: red;" | NO |- | colspan="2" style="text-align: left;" | DMA | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | DDR DVFS | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |- | rowspan="2" style="text-align: left;" | Ethernet | style="text-align: left;" | GMAC | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.14 |- | style="text-align: left;" | EMAC | N/A | style="background: lightgreen;" | 4.14 | N/A |- | colspan="2" style="text-align: left;" | I2S | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left" | I2C | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | MsgBox | N/A | N/A | N/A |- | colspan="2" style="text-align: left;" | Pinctrl | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | PWM | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | Power Domain | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | PCIE | N/A | N/A | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | SD / SDIO / MMC | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | SPDIF | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | SPI | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | SUSPEND / RESUME | style="background: darkgreen;" | INCOMPLETE | style="background: lightgreen;" | 4.14 | style="background: darkgreen;" | INCOMPLETE |- | colspan="2" style="text-align: left;" | USB | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | USB OTG | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | TYPEC | N/A | N/A | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | Watchdog | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | GPU | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |- | colspan="2" style="text-align: left;" | VPU | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |- | colspan="2" style="text-align: left;" | RGA | style="background: lightgreen;" | 4.15 | style="background: orange;" | WIP | style="background: lightgreen;" | 4.15 |- | colspan="2" style="text-align: left;" | IEP | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |} &nbsp; &nbsp; &nbsp; == Linux SDK CHIP Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! RK3288 ! RK3328 ! RK3399 |- | colspan="2" style="text-align: left;" | Debian | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | rowspan="3" style="text-align: left;" | Yocto | style="text-align: left;" | X11 | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | QT EGLFS | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | WESTON | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE |- | colspan="2" style="text-align: left;" | Buildroot | N/A | N/A | style="background: lightgreen;" | SUPPORT |- | rowspan="5" style="text-align: left;" | Decode | style="text-align: left;" | H264 | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | H265 | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | VP8 | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | VP9 | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | JPEG | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE |- | rowspan="3" style="text-align: left;" | Encode | style="text-align: left;" | H264 | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | H265 | N/A | style="background: lightgreen;" | SUPPORT | N/A |- | style="text-align: left;" | JPEG | style="background: darkgreen;" | MPP | style="background: darkgreen;" | MPP | style="background: darkgreen;" | MPP |- | colspan="2" style="text-align: left;" | ISP(3A) | style="background: orange;" | WIP | N/A | style="background: orange;" | WIP |} <br/> &nbsp; == Linux&nbsp;Funciton Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! Status |- | rowspan="5" style="text-align: left;" | Gstreamer | style="text-align: left;" | Display | style="background: lightgreen;" | kmssink(qt eglfs),rkximagesink(x11), waylandsink(wayland) |- | style="text-align: left;" | Decode&nbsp; | style="background: lightgreen;" | h264, h265, vp8, vp9, jpeg |- | style="text-align: left;" | Encode | style="background: lightgreen;" | h264 |- | style="text-align: left;" | Camera | style="background: orange;" | Without 3A |- | style="text-align: left;" | Transform | style="background: orange;" | WIP |- | rowspan="2" style="text-align: left;" | GPU | style="text-align: left;" | GLES | style="background: lightgreen;" | libmali |- | style="text-align: left;" | OPENCL | style="background: lightgreen;" | libmali |- | colspan="2" rowspan="1" style="text-align: left;" | QT | style="background: lightgreen;" | QT 5.x |- | colspan="2" style="text-align: left;" | Browser(HTML5 Accelerate) | style="background: orange;" | WIP |- | colspan="2" style="text-align: left;" | IOT(Third part Could Service) | style="background: orange;" | WIP |- | colspan="2" style="text-align: left;" | FFmpeg | style="background: yellow;" | Community |- | colspan="2" style="text-align: left;" | MPV | style="background: yellow;" | Community |- | colspan="2" style="text-align: left;" | KODI | style="background: yellow;" | Community |} e9ed27684819f3fd2a47a93dbbb6ffd0e6737f46 1897 1896 2018-04-23T03:32:12Z Admin 1 wikitext text/x-wiki &nbsp; &nbsp; == Rockchip 4.4 Kernel Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! RK3399 ! RK3288 ! RK3328 |- | rowspan="2" style="text-align: left;" | ADC | style="text-align: left;" | SARADC | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | TSADC | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | Clocks | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | CPUFreq | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | Crypto | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | Mipi-CSI | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | N/A |- | colspan="2" style="text-align: left;" | ISP | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: rgb(255, 255, 255);" | N/A |- | colspan="2" style="text-align: left;" | DVP/CIF | style="background: rgb(255, 255, 255);" | N/A | style="background: orange;" | WIP | style="background: orange;" | WIP |- | rowspan="8" style="text-align: left;" | Display (DRM) | style="text-align: left;" | RGB | style="background: rgb(255, 255, 255);" | N/A | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | EDP | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | N/A |- | style="text-align: left;" | LVDS | style="background: rgb(255, 255, 255);" | &nbsp;N/A | style="background: lightgreen;" | SUPPORT | N/A |- | style="text-align: left;" | MIPI DSI | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | N/A |- | style="text-align: left;" | CVBS | N/A | N/A | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | VGA | N/A | N/A | N/A |- | style="text-align: left;" | HDMI | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | CEC | style="background: red;" | NO | style="background: red;" | NO | style="background: orange;" | WIP |- | colspan="2" style="text-align: left;" | DMA | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | DDR DVFS | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |- | rowspan="2" style="text-align: left;" | Ethernet | style="text-align: left;" | GMAC | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | EMAC | N/A | N/A | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | I2S | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left" | I2C | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | MsgBox | N/A | N/A | N/A |- | colspan="2" style="text-align: left;" | Pinctrl | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | PWM | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | Power Domain | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | PCIE | style="background-color: lightgreen;" | SUPPORT | N/A | N/A |- | colspan="2" style="text-align: left;" | SD / SDIO / MMC | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | SPDIF | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | SPI | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | SUSPEND / RESUME | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | USB | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | USB OTG | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | TYPEC | style="background-color: lightgreen;" | SUPPORT | N/A | N/A |- | colspan="2" style="text-align: left;" | Watchdog | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | GPU | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | VPU | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | RGA | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | IEP | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |} &nbsp; &nbsp; &nbsp; == Mainline Kernel Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! RK3288 ! RK3328 ! RK3399 |- | rowspan="2" style="text-align: left;" | ADC | style="text-align: left;" | SARADC | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.14 |- | style="text-align: left;" | TSADC1 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | Clocks | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | CPUFreq | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | Crypto | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | CSI/ISP | style="background: orange;" | WIP | N/A | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | CIF | style="background: orange;" | WIP | style="background: orange;" | WIP | style="background: orange;" | WIP |- | rowspan="8" style="text-align: left;" | Display (DRM) | style="text-align: left;" | RGB | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |- | style="text-align: left;" | EDP | style="background: lightgreen;" | 4.4 | N/A | style="background: lightgreen;" | 4.14 |- | style="text-align: left;" | LVDS | style="background: red;" | NO | N/A | style="background: red;" | NO |- | style="text-align: left;" | MIPI DSI | style="background: lightgreen;" | 4.4 | N/A | style="background: lightgreen;" | 4.14 |- | style="text-align: left;" | CVBS | N/A | style="background: darkgreen;" | INCOMPLETE | N/A |- | style="text-align: left;" | VGA | N/A | N/A | N/A |- | style="text-align: left;" | HDMI | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE |- | style="text-align: left;" | CEC | style="background: red;" | NO | style="background: darkgreen;" | INCOMPLETE | style="background: red;" | NO |- | colspan="2" style="text-align: left;" | DMA | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | DDR DVFS | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |- | rowspan="2" style="text-align: left;" | Ethernet | style="text-align: left;" | GMAC | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.14 |- | style="text-align: left;" | EMAC | N/A | style="background: lightgreen;" | 4.14 | N/A |- | colspan="2" style="text-align: left;" | I2S | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left" | I2C | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | MsgBox | N/A | N/A | N/A |- | colspan="2" style="text-align: left;" | Pinctrl | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | PWM | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | Power Domain | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | PCIE | N/A | N/A | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | SD / SDIO / MMC | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | SPDIF | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | SPI | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | SUSPEND / RESUME | style="background: darkgreen;" | INCOMPLETE | style="background: lightgreen;" | 4.14 | style="background: darkgreen;" | INCOMPLETE |- | colspan="2" style="text-align: left;" | USB | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | USB OTG | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | TYPEC | N/A | N/A | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | Watchdog | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | GPU | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |- | colspan="2" style="text-align: left;" | VPU | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |- | colspan="2" style="text-align: left;" | RGA | style="background: lightgreen;" | 4.15 | style="background: orange;" | WIP | style="background: lightgreen;" | 4.15 |- | colspan="2" style="text-align: left;" | IEP | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |} &nbsp; &nbsp; &nbsp; == Linux SDK CHIP Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! RK3288 ! RK3328 ! RK3399 |- | colspan="2" style="text-align: left;" | Debian | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | rowspan="3" style="text-align: left;" | Yocto | style="text-align: left;" | X11 | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | QT EGLFS | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | WESTON | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE |- | colspan="2" style="text-align: left;" | Buildroot | N/A | N/A | style="background: lightgreen;" | SUPPORT |- | rowspan="5" style="text-align: left;" | Decode | style="text-align: left;" | H264 | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | H265 | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | VP8 | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | VP9 | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | JPEG | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE |- | rowspan="3" style="text-align: left;" | Encode | style="text-align: left;" | H264 | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | H265 | N/A | style="background: lightgreen;" | SUPPORT | N/A |- | style="text-align: left;" | JPEG | style="background: darkgreen;" | MPP | style="background: darkgreen;" | MPP | style="background: darkgreen;" | MPP |- | colspan="2" style="text-align: left;" | ISP(3A) | style="background: orange;" | WIP | N/A | style="background: orange;" | WIP |} <br/> &nbsp; == Linux&nbsp;Funciton Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! Status |- | rowspan="5" style="text-align: left;" | Gstreamer | style="text-align: left;" | Display | style="background: lightgreen;" | kmssink(qt eglfs),rkximagesink(x11), waylandsink(wayland) |- | style="text-align: left;" | Decode&nbsp; | style="background: lightgreen;" | h264, h265, vp8, vp9, jpeg |- | style="text-align: left;" | Encode | style="background: lightgreen;" | h264 |- | style="text-align: left;" | Camera | style="background: orange;" | Without 3A |- | style="text-align: left;" | Transform | style="background: orange;" | WIP |- | rowspan="2" style="text-align: left;" | GPU | style="text-align: left;" | GLES | style="background: lightgreen;" | libmali |- | style="text-align: left;" | OPENCL | style="background: lightgreen;" | libmali |- | colspan="2" rowspan="1" style="text-align: left;" | QT | style="background: lightgreen;" | QT 5.x |- | colspan="2" style="text-align: left;" | Browser(HTML5 Accelerate) | style="background: orange;" | WIP |- | colspan="2" style="text-align: left;" | IOT(Third part Could Service) | style="background: orange;" | WIP |- | colspan="2" style="text-align: left;" | FFmpeg | style="background: yellow;" | Community |- | colspan="2" style="text-align: left;" | MPV | style="background: yellow;" | Community |- | colspan="2" style="text-align: left;" | KODI | style="background: yellow;" | Community |} f1b91b9d7e7f032d6a8ac13b7ab87d4a2fef5043 1898 1897 2018-04-23T03:36:25Z Admin 1 wikitext text/x-wiki &nbsp; &nbsp; == Rockchip 4.4 Kernel Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! RK3399 ! RK3288 ! RK3328 |- | rowspan="2" style="text-align: left;" | ADC | style="text-align: left;" | SARADC | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | TSADC | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | Clocks | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | CPUFreq | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | Crypto | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | Mipi-CSI | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | N/A |- | colspan="2" style="text-align: left;" | ISP | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: rgb(255, 255, 255);" | N/A |- | colspan="2" style="text-align: left;" | DVP/CIF | style="background: rgb(255, 255, 255);" | N/A | style="background: orange;" | WIP | style="background: orange;" | WIP |- | rowspan="8" style="text-align: left;" | Display (DRM) | style="text-align: left;" | RGB | style="background: rgb(255, 255, 255);" | N/A | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | EDP | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | N/A |- | style="text-align: left;" | LVDS | style="background: rgb(255, 255, 255);" | &nbsp;N/A | style="background: lightgreen;" | SUPPORT | N/A |- | style="text-align: left;" | MIPI DSI | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | N/A |- | style="text-align: left;" | CVBS | N/A | N/A | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | VGA | N/A | N/A | N/A |- | style="text-align: left;" | HDMI | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | CEC | style="background: red;" | NO | style="background: red;" | NO | style="background: orange;" | WIP |- | colspan="2" style="text-align: left;" | DMA | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | DDR DVFS | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |- | rowspan="2" style="text-align: left;" | Ethernet | style="text-align: left;" | GMAC | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | EMAC | N/A | N/A | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | I2S | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left" | I2C | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | MsgBox | N/A | N/A | N/A |- | colspan="2" style="text-align: left;" | Pinctrl | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | PWM | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | Power Domain | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | PCIE | style="background-color: lightgreen;" | SUPPORT | N/A | N/A |- | colspan="2" style="text-align: left;" | SD / SDIO / MMC | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | SPDIF | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | SPI | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | SUSPEND / RESUME | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | USB | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | USB OTG | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | TYPEC | style="background-color: lightgreen;" | SUPPORT | N/A | N/A |- | colspan="2" style="text-align: left;" | Watchdog | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | GPU | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | VPU | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | RGA | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | IEP | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |} &nbsp; &nbsp; &nbsp; == Mainline Kernel Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! RK3399 ! RK3288 ! RK3328 |- | rowspan="2" style="text-align: left;" | ADC | style="text-align: left;" | SARADC | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 |- | style="text-align: left;" | TSADC1 | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | Clocks | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | CPUFreq | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | Crypto | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | CSI/ISP | style="background: lightgreen;" | 4.14 | style="background: orange;" | WIP | N/A |- | colspan="2" style="text-align: left;" | CIF | style="background: orange;" | WIP | style="background: orange;" | WIP | style="background: orange;" | WIP |- | rowspan="8" style="text-align: left;" | Display (DRM) | style="text-align: left;" | RGB | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |- | style="text-align: left;" | EDP | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.4 | N/A |- | style="text-align: left;" | LVDS | style="background: red;" | NO | style="background: red;" | NO | N/A |- | style="text-align: left;" | MIPI DSI | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.4 | N/A |- | style="text-align: left;" | CVBS | N/A | N/A | style="background: darkgreen;" | INCOMPLETE |- | style="text-align: left;" | VGA | N/A | N/A | N/A |- | style="text-align: left;" | HDMI | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE |- | style="text-align: left;" | CEC | style="background: red;" | NO | style="background: red;" | NO | style="background: darkgreen;" | INCOMPLETE |- | colspan="2" style="text-align: left;" | DMA | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | DDR DVFS | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |- | rowspan="2" style="text-align: left;" | Ethernet | style="text-align: left;" | GMAC | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 |- | style="text-align: left;" | EMAC | N/A | N/A | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | I2S | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left" | I2C | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | MsgBox | N/A | N/A | N/A |- | colspan="2" style="text-align: left;" | Pinctrl | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | PWM | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | Power Domain | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | PCIE | style="background-color: lightgreen;" | 4.14 | N/A | N/A |- | colspan="2" style="text-align: left;" | SD / SDIO / MMC | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | SPDIF | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | SPI | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | SUSPEND / RESUME | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | USB | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | USB OTG | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | TYPEC | style="background-color: lightgreen;" | 4.14 | N/A | N/A |- | colspan="2" style="text-align: left;" | Watchdog | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | GPU | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |- | colspan="2" style="text-align: left;" | VPU | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |- | colspan="2" style="text-align: left;" | RGA | style="background: lightgreen;" | 4.15 | style="background: lightgreen;" | 4.15 | style="background: orange;" | WIP |- | colspan="2" style="text-align: left;" | IEP | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |} &nbsp; &nbsp; &nbsp; == Linux SDK CHIP Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! RK3288 ! RK3328 ! RK3399 |- | colspan="2" style="text-align: left;" | Debian | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | rowspan="3" style="text-align: left;" | Yocto | style="text-align: left;" | X11 | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | QT EGLFS | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | WESTON | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE |- | colspan="2" style="text-align: left;" | Buildroot | N/A | N/A | style="background: lightgreen;" | SUPPORT |- | rowspan="5" style="text-align: left;" | Decode | style="text-align: left;" | H264 | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | H265 | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | VP8 | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | VP9 | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | JPEG | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE |- | rowspan="3" style="text-align: left;" | Encode | style="text-align: left;" | H264 | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | H265 | N/A | style="background: lightgreen;" | SUPPORT | N/A |- | style="text-align: left;" | JPEG | style="background: darkgreen;" | MPP | style="background: darkgreen;" | MPP | style="background: darkgreen;" | MPP |- | colspan="2" style="text-align: left;" | ISP(3A) | style="background: orange;" | WIP | N/A | style="background: orange;" | WIP |} <br/> &nbsp; == Linux&nbsp;Funciton Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! Status |- | rowspan="5" style="text-align: left;" | Gstreamer | style="text-align: left;" | Display | style="background: lightgreen;" | kmssink(qt eglfs),rkximagesink(x11), waylandsink(wayland) |- | style="text-align: left;" | Decode&nbsp; | style="background: lightgreen;" | h264, h265, vp8, vp9, jpeg |- | style="text-align: left;" | Encode | style="background: lightgreen;" | h264 |- | style="text-align: left;" | Camera | style="background: orange;" | Without 3A |- | style="text-align: left;" | Transform | style="background: orange;" | WIP |- | rowspan="2" style="text-align: left;" | GPU | style="text-align: left;" | GLES | style="background: lightgreen;" | libmali |- | style="text-align: left;" | OPENCL | style="background: lightgreen;" | libmali |- | colspan="2" rowspan="1" style="text-align: left;" | QT | style="background: lightgreen;" | QT 5.x |- | colspan="2" style="text-align: left;" | Browser(HTML5 Accelerate) | style="background: orange;" | WIP |- | colspan="2" style="text-align: left;" | IOT(Third part Could Service) | style="background: orange;" | WIP |- | colspan="2" style="text-align: left;" | FFmpeg | style="background: yellow;" | Community |- | colspan="2" style="text-align: left;" | MPV | style="background: yellow;" | Community |- | colspan="2" style="text-align: left;" | KODI | style="background: yellow;" | Community |} 54140f96c4503f2e42278b8ecbfc7f6111b93993 1899 1898 2018-04-23T03:41:23Z Admin 1 wikitext text/x-wiki &nbsp; &nbsp; == Rockchip 4.4 Kernel Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! RK3399 ! RK3288 ! RK3328 |- | rowspan="2" style="text-align: left;" | ADC | style="text-align: left;" | SARADC | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | TSADC | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | Clocks | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | CPUFreq | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | Crypto | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | Mipi-CSI | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | N/A |- | colspan="2" style="text-align: left;" | ISP | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: rgb(255, 255, 255);" | N/A |- | colspan="2" style="text-align: left;" | DVP/CIF | style="background: rgb(255, 255, 255);" | N/A | style="background: orange;" | WIP | style="background: orange;" | WIP |- | rowspan="8" style="text-align: left;" | Display (DRM) | style="text-align: left;" | RGB | style="background: rgb(255, 255, 255);" | N/A | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | EDP | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | N/A |- | style="text-align: left;" | LVDS | style="background: rgb(255, 255, 255);" | &nbsp;N/A | style="background: lightgreen;" | SUPPORT | N/A |- | style="text-align: left;" | MIPI DSI | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | N/A |- | style="text-align: left;" | CVBS | N/A | N/A | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | VGA | N/A | N/A | N/A |- | style="text-align: left;" | HDMI | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | CEC | style="background: red;" | NO | style="background: red;" | NO | style="background: orange;" | WIP |- | colspan="2" style="text-align: left;" | DMA | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | DDR DVFS | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |- | rowspan="2" style="text-align: left;" | Ethernet | style="text-align: left;" | GMAC | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | EMAC | N/A | N/A | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | I2S | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left" | I2C | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | MsgBox | N/A | N/A | N/A |- | colspan="2" style="text-align: left;" | Pinctrl | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | PWM | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | Power Domain | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | PCIE | style="background-color: lightgreen;" | SUPPORT | N/A | N/A |- | colspan="2" style="text-align: left;" | SD / SDIO / MMC | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | SPDIF | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | SPI | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | SUSPEND / RESUME | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | USB | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | USB OTG | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | TYPEC | style="background-color: lightgreen;" | SUPPORT | N/A | N/A |- | colspan="2" style="text-align: left;" | Watchdog | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | GPU | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | VPU | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | RGA | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | IEP | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |} &nbsp; &nbsp; &nbsp; == Mainline Kernel Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! RK3399 ! RK3288 ! RK3328 |- | rowspan="2" style="text-align: left;" | ADC | style="text-align: left;" | SARADC | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 |- | style="text-align: left;" | TSADC1 | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | Clocks | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | CPUFreq | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | Crypto | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | CSI/ISP | style="background: lightgreen;" | 4.14 | style="background: orange;" | WIP | N/A |- | colspan="2" style="text-align: left;" | CIF | style="background: orange;" | WIP | style="background: orange;" | WIP | style="background: orange;" | WIP |- | rowspan="8" style="text-align: left;" | Display (DRM) | style="text-align: left;" | RGB | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |- | style="text-align: left;" | EDP | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.4 | N/A |- | style="text-align: left;" | LVDS | style="background: red;" | NO | style="background: red;" | NO | N/A |- | style="text-align: left;" | MIPI DSI | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.4 | N/A |- | style="text-align: left;" | CVBS | N/A | N/A | style="background: darkgreen;" | INCOMPLETE |- | style="text-align: left;" | VGA | N/A | N/A | N/A |- | style="text-align: left;" | HDMI | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE |- | style="text-align: left;" | CEC | style="background: red;" | NO | style="background: red;" | NO | style="background: darkgreen;" | INCOMPLETE |- | colspan="2" style="text-align: left;" | DMA | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | DDR DVFS | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |- | rowspan="2" style="text-align: left;" | Ethernet | style="text-align: left;" | GMAC | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 |- | style="text-align: left;" | EMAC | N/A | N/A | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | I2S | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left" | I2C | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | MsgBox | N/A | N/A | N/A |- | colspan="2" style="text-align: left;" | Pinctrl | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | PWM | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | Power Domain | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | PCIE | style="background-color: lightgreen;" | 4.14 | N/A | N/A |- | colspan="2" style="text-align: left;" | SD / SDIO / MMC | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | SPDIF | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | SPI | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | SUSPEND / RESUME | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | USB | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | USB OTG | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | TYPEC | style="background-color: lightgreen;" | 4.14 | N/A | N/A |- | colspan="2" style="text-align: left;" | Watchdog | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | GPU | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |- | colspan="2" style="text-align: left;" | VPU | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |- | colspan="2" style="text-align: left;" | RGA | style="background: lightgreen;" | 4.15 | style="background: lightgreen;" | 4.15 | style="background: orange;" | WIP |- | colspan="2" style="text-align: left;" | IEP | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |} &nbsp; &nbsp; &nbsp; == Linux SDK CHIP Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! RK3399 ! RK3288 ! RK3328 |- | colspan="2" style="text-align: left;" | Debian | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | Buildroot | style="background-color: lightgreen;" | SUPPORT | style="background-color: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | rowspan="5" style="text-align: left;" | Decode | style="text-align: left;" | H264 | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | H265 | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | VP8 | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | VP9 | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | JPEG | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | rowspan="3" style="text-align: left;" | Encode | style="text-align: left;" | H264 | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | H265 | style="background-color: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background-color: lightgreen;" | SUPPORT |- | style="text-align: left;" | JPEG | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | ISP(3A) | style="background: orange;" | WIP | style="background-color: orange;" | WIP | style="background: white;" | N/A |} <br/> &nbsp; == Linux&nbsp;Funciton Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! Status |- | rowspan="5" style="text-align: left;" | Gstreamer | style="text-align: left;" | Display | style="background: lightgreen;" | kmssink(qt eglfs),rkximagesink(x11), waylandsink(wayland) |- | style="text-align: left;" | Decode&nbsp; | style="background: lightgreen;" | h264, h265, vp8, vp9, jpeg |- | style="text-align: left;" | Encode | style="background: lightgreen;" | h264 |- | style="text-align: left;" | Camera | style="background: orange;" | Without 3A |- | style="text-align: left;" | Transform | style="background: orange;" | WIP |- | rowspan="2" style="text-align: left;" | GPU | style="text-align: left;" | GLES | style="background: lightgreen;" | libmali |- | style="text-align: left;" | OPENCL | style="background: lightgreen;" | libmali |- | colspan="2" rowspan="1" style="text-align: left;" | QT | style="background: lightgreen;" | QT 5.x |- | colspan="2" style="text-align: left;" | Browser(HTML5 Accelerate) | style="background: orange;" | WIP |- | colspan="2" style="text-align: left;" | IOT(Third part Could Service) | style="background: orange;" | WIP |- | colspan="2" style="text-align: left;" | FFmpeg | style="background: yellow;" | Community |- | colspan="2" style="text-align: left;" | MPV | style="background: yellow;" | Community |- | colspan="2" style="text-align: left;" | KODI | style="background: yellow;" | Community |} 02acd30787eb00e58a48fefff5dcceea3dc9609d RK3399 0 21 1901 1825 2018-04-25T01:52:16Z Admin 1 wikitext text/x-wiki Rockchip RK3399 SoC integrates&nbsp;dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor, and with&nbsp;ARM Mali-T864 GPU. {| border="0" cellpadding="1" cellspacing="1" class="infobox" style="width: 300px;" |- | [[File:RK3399 Soc.png|RTENOTITLE]] |} = Overview = RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications. &nbsp; = SoC Features = {| border="0" cellpadding="1" cellspacing="1" style="width: 972px;" |- | style="width: 530px;" | *CPU: **Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU **Frequency is over 1.8GHz (Big cluster) **L1 cache ***48KB Icache and 32KB Dcache for each A72 ***32KB Icache and 32KB Dcache for each A53 **L2 cache ***1024KB for big cluster ***512KB for little cluster *Internal SRAM **192KB total **4KB used by bootrom when bootup *GPU: **&nbsp;Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11 **Supports AFBC (ARM Frame Buffer Compression) *Display: **Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600 **Dual channel MIPI-DSI (4 lanes per channel) **eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR **HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2 **DisplayPort 1.2 (4 lanes, up to 4K 60Hz) **Supports Rec.2020 and conversion to Rec.709 *Camera: **&nbsp;Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels *Memory: **Dual channels 64-bit DRAM controller **Support DDR3/DDR3L, LPDDR3, LPDDR4 *Connectivity: **PCIe 2.1 (4 full-duplex lanes with 20Gbps) **Embedded low power MCU for other application **8 channels I2S supports 8 channels RX or 8 channels TX | style="width: 429px;" | [[File:RK3399 Block Diagram.png|RTENOTITLE]] |} &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; = Documentation = #[http://opensource.rock-chips.com/images/6/60/Rockchip_RK3399_Datasheet_V1.6-20170301.pdf Rockchip_RK3399_Datasheet_V1.6-20170301.pdf] #[[Media:Rockchip_RK3399TRM_V1.4_Part1-20170408.pdf|Rockchip RK3399TRM V1.4 Part1-20170408.pdf]] #[http://opensource.rock-chips.com/images/f/f9/RK3399_Linux_Debain_V1.1_Development_Guide170620.pdf RK3399_Linux_Debain_V1.1_Development_Guide170620.pdf] #[http://opensource.rock-chips.com/images/5/5d/RK3399_Linux_Debian_v1.1开发说明170620.pdf RK3399 Linux Debian v1.1开发说明170620.pdf] #[http://opensource.rock-chips.com/images/9/92/RK3399_Linux_Buildroot_V1.2_Development_Guide170619.pdf RK3399_Linux_Buildroot_V1.2_Development_Guide170619.pdf] #[http://opensource.rock-chips.com/images/0/05/RK3399_Linux_Buildroot_V1.2开发说明170619.pdf RK3399_Linux_Buildroot_V1.2开发说明170619.pdf] #[http://opensource.rock-chips.com/images/2/20/RK3399_Multimedia_Codec_Benchmark_v1.0.pdf RK3399_Multimedia_Codec_Benchmark_v1.0.pdf] #[[Media:RK3399_Design_Guide_V1.0_20170420.pdf|RK3399 Design Guide_V1.0_20170420.pdf]] = Software = See&nbsp;[[Linux_user_guide|Linux_user_guide]]&nbsp;setup LInux OS generally; See&nbsp;[[U-Boot|U-Boot]]&nbsp;guide to develop U-Boot; See&nbsp;[[Rockchip_Kernel|Rockchip kernel]]&nbsp;or&nbsp;[[Upstream_Kernel|Upstream kernel]]&nbsp;to develop kernel; See&nbsp;[[Distribution|Distribution]]&nbsp;to develop and custimize OS. &nbsp; == Borad configuration == {| border="1" cellpadding="1" cellspacing="1" class="table_style" style="line-height: 1.6; width: 768px;" |- ! style="width: 119px; text-align: center;" | '''board''' ! style="width: 172px; text-align: center;" | '''kernel''' ! style="width: 170px; text-align: center;" | '''uboot''' ! style="width: 277px; text-align: center;" | '''dts''' |- | style="width: 119px; text-align: center;" | rk3399-excavator | style="width: 172px; text-align: center;" | rockchip_linux_defconfig | style="width: 170px; text-align: center;" | evb-rk3399_defconfig | style="width: 277px; text-align: center;" | rk3399-sapphire-excavator-linux.dts |- | style="width: 119px; text-align: center;" | rk3399-firefly | style="width: 172px; text-align: center;" | rockchip_linux_defconfig | style="width: 170px; text-align: center;" | firefly-rk3399_defconfig | style="width: 277px; text-align: center;" | rk3399-firefly-linux.dts |} &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" class="table_style" style="width: 859px;" |- ! style="width: 68px; text-align: center;" | '''chip''' ! style="width: 181px; text-align: center;" | '''Kernel eMMC index''' ! style="width: 142px; text-align: center;" | '''Kernel SD index''' ! style="width: 158px; text-align: center;" | '''Uboot eMMC index''' ! style="width: 146px; text-align: center;" | '''Uboot SD index''' ! style="width: 132px; text-align: center;" | '''Baud speed''' |- | style="width: 68px; text-align: center;" | RK3399 | style="width: 181px; text-align: center;" | 1 | style="width: 142px; text-align: center;" | 0 | style="width: 158px; text-align: center;" | 0 | style="width: 146px; text-align: center;" | 1 | style="width: 132px; text-align: center;" | 1500000 |} &nbsp; = Devices = Rockchip: [[Excavator_sapphire_board|Excavator_sapphire_board]] Firefly: [http://wiki.t-firefly.com/index.php/Firefly-RK3399 rk3399-firefly] Theobroma Systems:&nbsp;[[RK3399-Q7|RK3399-Q7]] If you need the rk3399-excavator&nbsp;board, please communicate through&nbsp;the following&nbsp;contact information: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">Telephone: 4007700590 &nbsp; &nbsp; &nbsp; &nbsp;Email: service@rock-chips.com</div> If you need the Firefly-RK3399 board,you can browse the following url&nbsp;for more details: <div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">[http://www.t-firefly.com/zh/firenow/Firefly-rk3399/ http://www.t-firefly.com/zh/firenow/Firefly-rk3399/]</div> = See also = [[RK3288|RK3288]] [[RK3328|RK3328]] &nbsp; = References = [https://en.wikipedia.org/wiki/ARM_Cortex-A72 https://en.wikipedia.org/wiki/ARM_Cortex-A72] [http://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html http://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html] [https://www.arm.com/zh/products/multimedia/mali-gpu/high-performance/mali-t860-t880.php https://www.arm.com/zh/products/multimedia/mali-gpu/high-performance/mali-t860-t880.php] 0c22d25e6948c93cf175bc68377a4bf0b56fc74b 1914 1901 2018-04-25T02:37:04Z Admin 1 wikitext text/x-wiki Rockchip RK3399 SoC integrates&nbsp;dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor, and with&nbsp;ARM Mali-T864 GPU. {| border="0" cellpadding="1" cellspacing="1" class="infobox" style="width: 300px;" |- | [[File:RK3399 Soc.png|RTENOTITLE]] |} = Overview = RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications. &nbsp; = SoC Features = {| border="0" cellpadding="1" cellspacing="1" style="width: 972px;" |- | style="width: 530px;" | *CPU: **Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU **Frequency is over 1.8GHz (Big cluster) **L1 cache ***48KB Icache and 32KB Dcache for each A72 ***32KB Icache and 32KB Dcache for each A53 **L2 cache ***1024KB for big cluster ***512KB for little cluster *Internal SRAM **192KB total **4KB used by bootrom when bootup *GPU: **&nbsp;Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11 **Supports AFBC (ARM Frame Buffer Compression) *Display: **Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600 **Dual channel MIPI-DSI (4 lanes per channel) **eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR **HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2 **DisplayPort 1.2 (4 lanes, up to 4K 60Hz) **Supports Rec.2020 and conversion to Rec.709 *Camera: **&nbsp;Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels *Memory: **Dual channels 64-bit DRAM controller **Support DDR3/DDR3L, LPDDR3, LPDDR4 *Connectivity: **PCIe 2.1 (4 full-duplex lanes with 20Gbps) **Embedded low power MCU for other application **8 channels I2S supports 8 channels RX or 8 channels TX | style="width: 429px;" | [[File:RK3399 Block Diagram.png|RTENOTITLE]] |} &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; = Documentation = #[http://opensource.rock-chips.com/images/6/60/Rockchip_RK3399_Datasheet_V1.6-20170301.pdf Rockchip_RK3399_Datasheet_V1.6-20170301.pdf] #[[Media:Rockchip_RK3399TRM_V1.4_Part1-20170408.pdf|Rockchip RK3399TRM V1.4 Part1-20170408.pdf]] #[http://opensource.rock-chips.com/images/f/f9/RK3399_Linux_Debain_V1.1_Development_Guide170620.pdf RK3399_Linux_Debain_V1.1_Development_Guide170620.pdf] #[http://opensource.rock-chips.com/images/5/5d/RK3399_Linux_Debian_v1.1开发说明170620.pdf RK3399 Linux Debian v1.1开发说明170620.pdf] #[http://opensource.rock-chips.com/images/9/92/RK3399_Linux_Buildroot_V1.2_Development_Guide170619.pdf RK3399_Linux_Buildroot_V1.2_Development_Guide170619.pdf] #[http://opensource.rock-chips.com/images/0/05/RK3399_Linux_Buildroot_V1.2开发说明170619.pdf RK3399_Linux_Buildroot_V1.2开发说明170619.pdf] #[http://opensource.rock-chips.com/images/2/20/RK3399_Multimedia_Codec_Benchmark_v1.0.pdf RK3399_Multimedia_Codec_Benchmark_v1.0.pdf] #[[Media:RK3399_Design_Guide_V1.0_20170420.pdf|RK3399 Design Guide_V1.0_20170420.pdf]] = Software = See [[Linux_user_guide|Linux User Guide]]&nbsp;setup LInux OS generally; See&nbsp;[[U-Boot|U-Boot]]&nbsp;guide to develop U-Boot; See&nbsp;[[Rockchip_Kernel|Rockchip kernel]]&nbsp;to develop kernel; See [[Buildroot|buildroot ]]and [[Debian|debian&nbsp;]]to develop and rootfs. &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" class="table_style" style="width: 859px;" |- ! style="width: 68px; text-align: center;" | '''chip''' ! style="width: 181px; text-align: center;" | '''Kernel eMMC index''' ! style="width: 142px; text-align: center;" | '''Kernel SD index''' ! style="width: 158px; text-align: center;" | '''Uboot eMMC index''' ! style="width: 146px; text-align: center;" | '''Uboot SD index''' ! style="width: 132px; text-align: center;" | '''Baud speed''' |- | style="width: 68px; text-align: center;" | RK3399 | style="width: 181px; text-align: center;" | 1 | style="width: 142px; text-align: center;" | 0 | style="width: 158px; text-align: center;" | 0 | style="width: 146px; text-align: center;" | 1 | style="width: 132px; text-align: center;" | 1500000 |} &nbsp; = References = [https://en.wikipedia.org/wiki/ARM_Cortex-A72 https://en.wikipedia.org/wiki/ARM_Cortex-A72] [http://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html http://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html] [https://www.arm.com/zh/products/multimedia/mali-gpu/high-performance/mali-t860-t880.php https://www.arm.com/zh/products/multimedia/mali-gpu/high-performance/mali-t860-t880.php] e529cf9e580594cb7b3a17ad703f073960c3de89 1915 1914 2018-04-25T02:37:38Z Admin 1 wikitext text/x-wiki Rockchip RK3399 SoC integrates&nbsp;dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor, and with&nbsp;ARM Mali-T864 GPU. {| border="0" cellpadding="1" cellspacing="1" class="infobox" style="width: 300px;" |- | [[File:RK3399 Soc.png|RTENOTITLE]] |} = Overview = RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications. &nbsp; = SoC Features = {| border="0" cellpadding="1" cellspacing="1" style="width: 972px;" |- | style="width: 530px;" | *CPU: **Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU **Frequency is over 1.8GHz (Big cluster) **L1 cache ***48KB Icache and 32KB Dcache for each A72 ***32KB Icache and 32KB Dcache for each A53 **L2 cache ***1024KB for big cluster ***512KB for little cluster *Internal SRAM **192KB total **4KB used by bootrom when bootup *GPU: **&nbsp;Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11 **Supports AFBC (ARM Frame Buffer Compression) *Display: **Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600 **Dual channel MIPI-DSI (4 lanes per channel) **eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR **HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2 **DisplayPort 1.2 (4 lanes, up to 4K 60Hz) **Supports Rec.2020 and conversion to Rec.709 *Camera: **&nbsp;Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels *Memory: **Dual channels 64-bit DRAM controller **Support DDR3/DDR3L, LPDDR3, LPDDR4 *Connectivity: **PCIe 2.1 (4 full-duplex lanes with 20Gbps) **Embedded low power MCU for other application **8 channels I2S supports 8 channels RX or 8 channels TX | style="width: 429px;" | [[File:RK3399 Block Diagram.png|RTENOTITLE]] |} &nbsp; = Documentation = #[http://opensource.rock-chips.com/images/6/60/Rockchip_RK3399_Datasheet_V1.6-20170301.pdf Rockchip_RK3399_Datasheet_V1.6-20170301.pdf] #[[Media:Rockchip_RK3399TRM_V1.4_Part1-20170408.pdf|Rockchip RK3399TRM V1.4 Part1-20170408.pdf]] #[http://opensource.rock-chips.com/images/f/f9/RK3399_Linux_Debain_V1.1_Development_Guide170620.pdf RK3399_Linux_Debain_V1.1_Development_Guide170620.pdf] #[http://opensource.rock-chips.com/images/5/5d/RK3399_Linux_Debian_v1.1开发说明170620.pdf RK3399 Linux Debian v1.1开发说明170620.pdf] #[http://opensource.rock-chips.com/images/9/92/RK3399_Linux_Buildroot_V1.2_Development_Guide170619.pdf RK3399_Linux_Buildroot_V1.2_Development_Guide170619.pdf] #[http://opensource.rock-chips.com/images/0/05/RK3399_Linux_Buildroot_V1.2开发说明170619.pdf RK3399_Linux_Buildroot_V1.2开发说明170619.pdf] #[http://opensource.rock-chips.com/images/2/20/RK3399_Multimedia_Codec_Benchmark_v1.0.pdf RK3399_Multimedia_Codec_Benchmark_v1.0.pdf] #[[Media:RK3399_Design_Guide_V1.0_20170420.pdf|RK3399 Design Guide_V1.0_20170420.pdf]] = Software = See [[Linux_user_guide|Linux User Guide]]&nbsp;setup LInux OS generally; See&nbsp;[[U-Boot|U-Boot]]&nbsp;guide to develop U-Boot; See&nbsp;[[Rockchip_Kernel|Rockchip kernel]]&nbsp;to develop kernel; See [[Buildroot|buildroot and]] [[Debian|debian&nbsp;to]] develop and rootfs. &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" class="table_style" style="width: 859px;" |- ! style="width: 68px; text-align: center;" | '''chip''' ! style="width: 181px; text-align: center;" | '''Kernel eMMC index''' ! style="width: 142px; text-align: center;" | '''Kernel SD index''' ! style="width: 158px; text-align: center;" | '''Uboot eMMC index''' ! style="width: 146px; text-align: center;" | '''Uboot SD index''' ! style="width: 132px; text-align: center;" | '''Baud speed''' |- | style="width: 68px; text-align: center;" | RK3399 | style="width: 181px; text-align: center;" | 1 | style="width: 142px; text-align: center;" | 0 | style="width: 158px; text-align: center;" | 0 | style="width: 146px; text-align: center;" | 1 | style="width: 132px; text-align: center;" | 1500000 |} &nbsp; = References = [https://en.wikipedia.org/wiki/ARM_Cortex-A72 https://en.wikipedia.org/wiki/ARM_Cortex-A72] [http://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html http://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html] [https://www.arm.com/zh/products/multimedia/mali-gpu/high-performance/mali-t860-t880.php https://www.arm.com/zh/products/multimedia/mali-gpu/high-performance/mali-t860-t880.php] 1ce7cf448d7617d09c6e1884fdf54ee628627376 File:Firefly-RK3288.png 6 196 1903 2018-04-25T01:56:50Z Admin 1 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 File:Firefly-RK3399.png 6 197 1904 2018-04-25T01:57:12Z Admin 1 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 File:ROC-RK3328-CC.png 6 198 1905 2018-04-25T01:57:27Z Admin 1 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 Excavator sapphire board 0 59 1913 1169 2018-04-25T02:34:53Z Admin 1 wikitext text/x-wiki {{Infobox | image = [[File:RK3399 Excavator Board.jpg |500px]] }} = Rockchip github = You can download code from github,See&nbsp;[[Linux_user_guide|Linux_user_guide]]&nbsp;setup Linux OS generally. = Upstream&nbsp; &nbsp; = WIP... = Documentation = [[Media:RK3399_EVB_User_Guide-20160920.pdf|RK3399 EVB User Guide]] [[Media:Design_documents.rar|Design documents]] [[Media:Component_datasheet.rar|Component datasheet]] == RK3399 Excavator EVB == [[Media:RK_Excavator_MainBoard.rar|RK_Excavator_MainBoard]] [[Media:RK_Excavator_ExtBoard_MipiDisplay.rar|RK_Excavator_ExtBoard_MipiDisplay]] [[Media:RK_Sapphire_RK3399.rar|RK_Sapphire_RK3399]] = Image = &nbsp;You can download image directly from below link if available. &nbsp; = See also = Firefly: [http://wiki.t-firefly.com/index.php/Firefly-RK3399 Firefly-RK3399] = References = &nbsp;&nbsp;[http://www.rock-chips.com/a/en/News/Press_Releases/2017/0224/832.html http://www.rock-chips.com/a/en/News/Press_Releases/2017/0224/832.html] To buy this board call: 4007700590 &nbsp; &nbsp; &nbsp; &nbsp;Email: service@rock-chips.com db8d5cf7589be362253392a8899d663959d91726 RK3288 0 20 1916 1826 2018-04-25T02:39:21Z Admin 1 wikitext text/x-wiki {{Infobox SoC | title = RK3288 | image = [[File:rk3288_soc.png|200px]] | manufacturer = Rockcihp | process = 28nm | cpu = Quad-Core ARM Cortex-A17 | ltwo = | extensions = | memory = 2-channel LPDDR3/LPDDR2/DDR3/DDR3L | gpu = ARM Mali-T764 | vpu = | apu = | video = HDMI 1.4, MIPI DSI, LVDS, RGB LCD | audio = I2S, PCM | network = | storage = 4x SD Card, eMMC, NAND | usb = OTG, 2x Host | other = | release_date = June 2014 | website = http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html }} &nbsp; &nbsp; &nbsp; Integrated with a Quad-Core [https://en.wikipedia.org/wiki/ARM_Cortex-A17 Cortex-A17]&nbsp;which up to 1.8GHz and ARMMali-T764&nbsp;which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant&nbsp;interfaces provide&nbsp;a friendly solution for product&nbsp;development. Futhermore &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; = Overview = The RK3288 offers<big><var>&nbsp;</var></big>an extensible, <big><small><tt>leading&nbsp;performance</tt></small></big>, long-standing heritage platform,ideally suited for &nbsp;set-top box solution, tablet and chromebook.The platform is integrated with a Quad-Core Cortex-A17 which up to 1.8GHz and ARM Mali-T764&nbsp;which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant&nbsp;interfaces provide&nbsp;a friendly solution for product&nbsp;development. Futhermore, the power consumption is&nbsp;optimal for applications such as imaging/video, communication and broadband infrastructure,and performance audio applications. &nbsp; &nbsp; = RK3288 SoC Features = {| border="0" cellpadding="1" cellspacing="1" style="width: 972px;" |- | style="width: 530px;" | *CPU: **Quad Core Cortex-A17&nbsp;up to 1.8GHz **32KB L1-Cache **1MB L2-Cache *Internal SRAM **96KB total **First 16KB used by Bootrom when bootup *GPU: **ARM Mali-T764 GPU, with TE, ASTC, AFBC technology **Quad core 3D Graphics engine **Dual core 2D Graphics engine **Comply with&nbsp;OpenGL ES1.1/2.0/3.0, OpenVG1.1, OpenCL, DirectX11 *Display: **4Kx2K@60fpsHDMI2.0 **Up to 3840X2160 display resolution **Support dual-channel LVDS/dual-channel MIPI-DSI/eDP1.1 *Camera: **Support up to 5M pixels **8bits/10bits/12bits raw data interface&nbsp; *Memory: **Dual channels 64-bit DRAM controller **Support DDR3/DDR3L, LPDDR2, LPDDR3 *Connectivity: **Embedded 13M ISP and MIPI-CSI2 interface *Audio: **I2S/PCM with 8 channels | style="width: 429px;" | [[File:3288.png|RTENOTITLE]] |} &nbsp; &nbsp; = Documentation = #[[Media:Rockchip_RK3288_Datasheet_V2.2-20170301.pdf|Media:Rockchip RK3288 Datasheet V2.2-20170301.pdf]] #[[Media:Rockchip_RK3288_TRM_V1.2_Part1-20170321.pdf|Rockchip RK3288 TRM V1.2 Part1-20170321.pdf]] #[http://opensource.rock-chips.com/images/a/ae/Rk3288_hardware_reference.zip Rk3288_hardware_reference.zip] &nbsp; = Software = See&nbsp;[http://opensource.rock-chips.com/wiki_Linux_user_guide Linux User Guide]&nbsp;setup LInux OS generally; See&nbsp;[http://opensource.rock-chips.com/wiki_U-Boot U-Boot]&nbsp;guide to develop U-Boot; See&nbsp;[http://opensource.rock-chips.com/wiki_Rockchip_Kernel Rockchip kernel]&nbsp;to develop kernel; See&nbsp;[http://opensource.rock-chips.com/wiki_Buildroot buildroot and]&nbsp;[http://opensource.rock-chips.com/wiki_Debian debian&nbsp;to]&nbsp;develop and rootfs. &nbsp; &nbsp; == Board configuration == {| border="1" cellpadding="1" cellspacing="1" class="table_style" |- ! '''board''' ! '''kernel''' ! '''uboot''' ! '''dts''' |- | RK3288_MAINBOARD_V3.0 | rockchip_linux_defconfig | rk3288_linux_defconfig | rk3288-evb-act8846.dts |} &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" class="table_style" |- ! '''chip''' ! '''Kernel eMMC index''' ! '''Kernel SD index''' ! '''Uboot eMMC index''' ! '''Uboot SD index''' ! '''Baud speed''' |- | RK3288 | 1 | 0 | 0 | 1 | 115200 |} = &nbsp; = = References = #[https://en.wikipedia.org/wiki/ARM_Cortex-A17 https://en.wikipedia.org/wiki/ARM_Cortex-A17] #[http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html] 10ffa3ea1331d4709dfcab3737a1b7ae6cacab7e 1917 1916 2018-04-25T02:40:10Z Admin 1 wikitext text/x-wiki {{Infobox SoC | title = RK3288 | image = [[File:rk3288_soc.png|200px]] | manufacturer = Rockcihp | process = 28nm | cpu = Quad-Core ARM Cortex-A17 | ltwo = | extensions = | memory = 2-channel LPDDR3/LPDDR2/DDR3/DDR3L | gpu = ARM Mali-T764 | vpu = | apu = | video = HDMI 1.4, MIPI DSI, LVDS, RGB LCD | audio = I2S, PCM | network = | storage = 4x SD Card, eMMC, NAND | usb = OTG, 2x Host | other = | release_date = June 2014 | website = http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html }} &nbsp; &nbsp; &nbsp; Integrated with a Quad-Core [https://en.wikipedia.org/wiki/ARM_Cortex-A17 Cortex-A17]&nbsp;which up to 1.8GHz and ARMMali-T764&nbsp;which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant&nbsp;interfaces provide&nbsp;a friendly solution for product&nbsp;development. Futhermore &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; = Overview = The RK3288 offers<big><var>&nbsp;</var></big>an extensible, <big><small><tt>leading&nbsp;performance</tt></small></big>, long-standing heritage platform,ideally suited for &nbsp;set-top box solution, tablet and chromebook.The platform is integrated with a Quad-Core Cortex-A17 which up to 1.8GHz and ARM Mali-T764&nbsp;which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant&nbsp;interfaces provide&nbsp;a friendly solution for product&nbsp;development. Futhermore, the power consumption is&nbsp;optimal for applications such as imaging/video, communication and broadband infrastructure,and performance audio applications. &nbsp; &nbsp; = RK3288 SoC Features = {| border="0" cellpadding="1" cellspacing="1" style="width: 972px;" |- | style="width: 530px;" | *CPU: **Quad Core Cortex-A17&nbsp;up to 1.8GHz **32KB L1-Cache **1MB L2-Cache *Internal SRAM **96KB total **First 16KB used by Bootrom when bootup *GPU: **ARM Mali-T764 GPU, with TE, ASTC, AFBC technology **Quad core 3D Graphics engine **Dual core 2D Graphics engine **Comply with&nbsp;OpenGL ES1.1/2.0/3.0, OpenVG1.1, OpenCL, DirectX11 *Display: **4Kx2K@60fpsHDMI2.0 **Up to 3840X2160 display resolution **Support dual-channel LVDS/dual-channel MIPI-DSI/eDP1.1 *Camera: **Support up to 5M pixels **8bits/10bits/12bits raw data interface&nbsp; *Memory: **Dual channels 64-bit DRAM controller **Support DDR3/DDR3L, LPDDR2, LPDDR3 *Connectivity: **Embedded 13M ISP and MIPI-CSI2 interface *Audio: **I2S/PCM with 8 channels | style="width: 429px;" | [[File:3288.png|RTENOTITLE]] |} &nbsp; &nbsp; = Documentation = #[[Media:Rockchip_RK3288_Datasheet_V2.2-20170301.pdf|Media:Rockchip RK3288 Datasheet V2.2-20170301.pdf]] #[[Media:Rockchip_RK3288_TRM_V1.2_Part1-20170321.pdf|Rockchip RK3288 TRM V1.2 Part1-20170321.pdf]] #[http://opensource.rock-chips.com/images/a/ae/Rk3288_hardware_reference.zip Rk3288_hardware_reference.zip] &nbsp; = Software = See&nbsp;[http://opensource.rock-chips.com/wiki_Linux_user_guide Linux User Guide]&nbsp;setup LInux OS generally; See&nbsp;[http://opensource.rock-chips.com/wiki_U-Boot U-Boot]&nbsp;guide to develop U-Boot; See&nbsp;[http://opensource.rock-chips.com/wiki_Rockchip_Kernel Rockchip kernel]&nbsp;to develop kernel; See&nbsp;[http://opensource.rock-chips.com/wiki_Buildroot buildroot and]&nbsp;[http://opensource.rock-chips.com/wiki_Debian debian&nbsp;to]&nbsp;develop and rootfs. &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" class="table_style" |- ! '''chip''' ! '''Kernel eMMC index''' ! '''Kernel SD index''' ! '''Uboot eMMC index''' ! '''Uboot SD index''' ! '''Baud speed''' |- | RK3288 | 1 | 0 | 0 | 1 | 115200 |} = &nbsp; = = References = #[https://en.wikipedia.org/wiki/ARM_Cortex-A17 https://en.wikipedia.org/wiki/ARM_Cortex-A17] #[http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html] 2fb910391098a635f11b774f70ee8b5f91c7e641 RK3328 0 24 1918 1824 2018-04-25T02:40:57Z Admin 1 wikitext text/x-wiki {{Infobox SoC | title = RK3328 | image = [[File:rk3328_soc.png|250px]] | manufacturer = Rockcihp | process = 28nm | cpu = Quad-Core ARM Cortex-A53 | ltwo = | extensions = | memory = DDR3/DDR3L/LPDDR3/DDR4 | gpu = Mali-450MP4 | vpu = 4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps | apu = | video = HDMI 2.0a, | audio = 8 channels I2S/PDM | storage = 4x SD Card, eMMC | usb = 1* USB2.0 otg, 1* USB 2.0 Host, 1* USB 3.0 Host | other = | release_date = December 2016 | website = http://www.rock-chips.com/a/en/products/RK33_Series/2017/0118/829.html | Product Page }} &nbsp; &nbsp; &nbsp; = Overview = RK3328 offers a high-integration and power efficiency&nbsp;SOC for 4K HDR OTT/IPTV. It support HDR10 ,HLG HDR ,&nbsp;4K 10bits 30fps H.264 video decoder and 4K 10bits 60fps H265 video decoder.Comply with lots of high-performance interface,such as multi-channel display with HDMI2.0a, TV Encoder, the Quad-core GPU can acheive&nbsp;high-resolution display and game. == Cortex-A53 == Quad-core Cortex-A53 is integrated with separate Neon and FPU coprocessor, also with shared L2 Cache.&nbsp; &nbsp; = RK3328 SoC Features = {| border="0" cellpadding="1" cellspacing="1" style="width: 972px;" |- | style="width: 530px;" | *CPU: **ARM Cortex-A53&nbsp;Quad-Core&nbsp; **32KB L1&nbsp;I cache and D cache for each CPU **256KB L2 cache *Internal SRAM **32KB total *GPU **&nbsp;Mali-450MP4 **Comply with Open GL ES1.1/2.0 *Multi-Media: **4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps **1080P other video decoders (VC-1, MPEG-1/2/4, VP8) **1080P video encoder for H.264 and H.265 **Support HDR10 ,HLG HDR , Support conversion between SDR and HDR *Display: **HDMI 2.0a for 4K@60Hz with HDCP 1.4/2.2 **Support conversion between Rec.2020 and Rec.709 *Memory: **LPDDR3/DDR3/DDR3L/DDR4 **eMMC 4.51,SDCard, SPI Flash *External interface **USB 2.0 x2 and USB 3.0 x1 **100M Ethernet w/ built-in PHY **Built-in CVBS and audio DAC **8 channels I2S IO and 8 chanel digital PDM input (for MIC array) | style="width: 429px;" | [[File:3328.png|RTENOTITLE]] |} &nbsp; = Documentation = #[http://opensource.rock-chips.com/images/d/d7/Rockchip_RK3328_Datasheet_V1.1-20170309.pdf Rockchip_RK3328_Datasheet_V1.1-20170309.pdf] #[http://opensource.rock-chips.com/images/d/d5/RK3328_Linux-Debian_V1.1_Development_Guide-20170711.pdf RK3328_Linux-Debian_V1.1_Development_Guide-20170711.pdf] #[[Media:Rockchip_RK3328TRM_V1.1-Part1-20170321.pdf|Rockchip RK3328TRM V1.1-Part1-20170321.pdf]] #[[Media:Rk3328_hardware_reference.zip|Rk3328 hardware reference.zip]] &nbsp; = Software = See&nbsp;[http://opensource.rock-chips.com/wiki_Linux_user_guide Linux User Guide]&nbsp;setup LInux OS generally; See&nbsp;[http://opensource.rock-chips.com/wiki_U-Boot U-Boot]&nbsp;guide to develop U-Boot; See&nbsp;[http://opensource.rock-chips.com/wiki_Rockchip_Kernel Rockchip kernel]&nbsp;to develop kernel; See&nbsp;[http://opensource.rock-chips.com/wiki_Buildroot buildroot and]&nbsp;[http://opensource.rock-chips.com/wiki_Debian debian&nbsp;to]&nbsp;develop and rootfs. &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" class="table_style" |- ! '''chip''' ! '''Kernel eMMC index''' ! '''Kernel SD index''' ! '''Uboot eMMC index''' ! '''Uboot SD index''' ! '''Baud speed''' |- | RK3328 | 2 | 0 | 0 | 1 | 1500000 |} &nbsp; = References = 1.[https://en.wikipedia.org/wiki/ARM_Cortex-A53 https://en.wikipedia.org/wiki/ARM_Cortex-A53] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; e53c615a31ff7d0fb35e961530192424adbd23c5 RK3328 0 24 1919 1918 2018-04-25T02:41:56Z Admin 1 wikitext text/x-wiki {{Infobox SoC | title = RK3328 | image = [[File:rk3328_soc.png|250px]] | manufacturer = Rockcihp | process = 28nm | cpu = Quad-Core ARM Cortex-A53 | ltwo = | extensions = | memory = DDR3/DDR3L/LPDDR3/DDR4 | gpu = Mali-450MP4 | vpu = 4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps | apu = | video = HDMI 2.0a, | audio = 8 channels I2S/PDM | storage = 4x SD Card, eMMC | usb = 1* USB2.0 otg, 1* USB 2.0 Host, 1* USB 3.0 Host | other = | release_date = December 2016 | website = http://www.rock-chips.com/a/en/products/RK33_Series/2017/0118/829.html | Product Page }} &nbsp; &nbsp; &nbsp; = Overview = RK3328 offers a high-integration and power efficiency&nbsp;SOC for 4K HDR OTT/IPTV. It support HDR10 ,HLG HDR ,&nbsp;4K 10bits 30fps H.264 video decoder and 4K 10bits 60fps H265 video decoder.Comply with lots of high-performance interface,such as multi-channel display with HDMI2.0a, TV Encoder, the Quad-core GPU can acheive&nbsp;high-resolution display and game. == Cortex-A53 == Quad-core Cortex-A53 is integrated with separate Neon and FPU coprocessor, also with shared L2 Cache.&nbsp; [[File:3328.png|RTENOTITLE]] = RK3328 SoC Features = {| border="0" cellpadding="1" cellspacing="1" style="width: 972px;" |- | style="width: 530px;" | *CPU: **ARM Cortex-A53&nbsp;Quad-Core&nbsp; **32KB L1&nbsp;I cache and D cache for each CPU **256KB L2 cache *Internal SRAM **32KB total *GPU **&nbsp;Mali-450MP4 **Comply with Open GL ES1.1/2.0 *Multi-Media: **4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps **1080P other video decoders (VC-1, MPEG-1/2/4, VP8) **1080P video encoder for H.264 and H.265 **Support HDR10 ,HLG HDR , Support conversion between SDR and HDR *Display: **HDMI 2.0a for 4K@60Hz with HDCP 1.4/2.2 **Support conversion between Rec.2020 and Rec.709 *Memory: **LPDDR3/DDR3/DDR3L/DDR4 **eMMC 4.51,SDCard, SPI Flash *External interface **USB 2.0 x2 and USB 3.0 x1 **100M Ethernet w/ built-in PHY **Built-in CVBS and audio DAC **8 channels I2S IO and 8 chanel digital PDM input (for MIC array) | style="width: 429px;" | &nbsp; |} &nbsp; = Documentation = #[http://opensource.rock-chips.com/images/d/d7/Rockchip_RK3328_Datasheet_V1.1-20170309.pdf Rockchip_RK3328_Datasheet_V1.1-20170309.pdf] #[http://opensource.rock-chips.com/images/d/d5/RK3328_Linux-Debian_V1.1_Development_Guide-20170711.pdf RK3328_Linux-Debian_V1.1_Development_Guide-20170711.pdf] #[[Media:Rockchip_RK3328TRM_V1.1-Part1-20170321.pdf|Rockchip RK3328TRM V1.1-Part1-20170321.pdf]] #[[Media:Rk3328_hardware_reference.zip|Rk3328 hardware reference.zip]] &nbsp; = Software = See&nbsp;[http://opensource.rock-chips.com/wiki_Linux_user_guide Linux User Guide]&nbsp;setup LInux OS generally; See&nbsp;[http://opensource.rock-chips.com/wiki_U-Boot U-Boot]&nbsp;guide to develop U-Boot; See&nbsp;[http://opensource.rock-chips.com/wiki_Rockchip_Kernel Rockchip kernel]&nbsp;to develop kernel; See&nbsp;[http://opensource.rock-chips.com/wiki_Buildroot buildroot and]&nbsp;[http://opensource.rock-chips.com/wiki_Debian debian&nbsp;to]&nbsp;develop and rootfs. &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" class="table_style" |- ! '''chip''' ! '''Kernel eMMC index''' ! '''Kernel SD index''' ! '''Uboot eMMC index''' ! '''Uboot SD index''' ! '''Baud speed''' |- | RK3328 | 2 | 0 | 0 | 1 | 1500000 |} &nbsp; = References = 1.[https://en.wikipedia.org/wiki/ARM_Cortex-A53 https://en.wikipedia.org/wiki/ARM_Cortex-A53] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <audio controls="controls" style="display: none;">&nbsp;</audio> 53b99acb7ad4a20fe798a3cb0d3cb5d94926ddfa 1920 1919 2018-04-25T02:42:22Z Admin 1 wikitext text/x-wiki {{Infobox SoC | title = RK3328 | image = [[File:rk3328_soc.png|250px]] | manufacturer = Rockcihp | process = 28nm | cpu = Quad-Core ARM Cortex-A53 | ltwo = | extensions = | memory = DDR3/DDR3L/LPDDR3/DDR4 | gpu = Mali-450MP4 | vpu = 4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps | apu = | video = HDMI 2.0a, | audio = 8 channels I2S/PDM | storage = 4x SD Card, eMMC | usb = 1* USB2.0 otg, 1* USB 2.0 Host, 1* USB 3.0 Host | other = | release_date = December 2016 | website = http://www.rock-chips.com/a/en/products/RK33_Series/2017/0118/829.html | Product Page }} &nbsp; &nbsp; &nbsp; = Overview = RK3328 offers a high-integration and power efficiency&nbsp;SOC for 4K HDR OTT/IPTV. It support HDR10 ,HLG HDR ,&nbsp;4K 10bits 30fps H.264 video decoder and 4K 10bits 60fps H265 video decoder.Comply with lots of high-performance interface,such as multi-channel display with HDMI2.0a, TV Encoder, the Quad-core GPU can acheive&nbsp;high-resolution display and game. == Cortex-A53 == Quad-core Cortex-A53 is integrated with separate Neon and FPU coprocessor, also with shared L2 Cache.&nbsp; [[File:3328.png|RTENOTITLE]] = RK3328 SoC Features = {| border="0" cellpadding="1" cellspacing="1" style="width: 972px;" |- | style="width: 530px;" | *CPU: **ARM Cortex-A53&nbsp;Quad-Core&nbsp; **32KB L1&nbsp;I cache and D cache for each CPU **256KB L2 cache *Internal SRAM **32KB total *GPU **&nbsp;Mali-450MP4 **Comply with Open GL ES1.1/2.0 *Multi-Media: **4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps **1080P other video decoders (VC-1, MPEG-1/2/4, VP8) **1080P video encoder for H.264 and H.265 **Support HDR10 ,HLG HDR , Support conversion between SDR and HDR *Display: **HDMI 2.0a for 4K@60Hz with HDCP 1.4/2.2 **Support conversion between Rec.2020 and Rec.709 *Memory: **LPDDR3/DDR3/DDR3L/DDR4 **eMMC 4.51,SDCard, SPI Flash *External interface **USB 2.0 x2 and USB 3.0 x1 **100M Ethernet w/ built-in PHY **Built-in CVBS and audio DAC **8 channels I2S IO and 8 chanel digital PDM input (for MIC array) | style="width: 429px;" | &nbsp; |} &nbsp; = Documentation = #[http://opensource.rock-chips.com/images/d/d7/Rockchip_RK3328_Datasheet_V1.1-20170309.pdf Rockchip_RK3328_Datasheet_V1.1-20170309.pdf] #[http://opensource.rock-chips.com/images/d/d5/RK3328_Linux-Debian_V1.1_Development_Guide-20170711.pdf RK3328_Linux-Debian_V1.1_Development_Guide-20170711.pdf] #[[Media:Rockchip_RK3328TRM_V1.1-Part1-20170321.pdf|Rockchip RK3328TRM V1.1-Part1-20170321.pdf]] #[[Media:Rk3328_hardware_reference.zip|Rk3328 hardware reference.zip]] &nbsp; = Software = See&nbsp;[http://opensource.rock-chips.com/wiki_Linux_user_guide Linux User Guide]&nbsp;setup LInux OS generally; See&nbsp;[http://opensource.rock-chips.com/wiki_U-Boot U-Boot]&nbsp;guide to develop U-Boot; See&nbsp;[http://opensource.rock-chips.com/wiki_Rockchip_Kernel Rockchip kernel]&nbsp;to develop kernel; See&nbsp;[http://opensource.rock-chips.com/wiki_Buildroot buildroot and]&nbsp;[http://opensource.rock-chips.com/wiki_Debian debian&nbsp;to]&nbsp;develop and rootfs. &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" class="table_style" |- ! '''chip''' ! '''Kernel eMMC index''' ! '''Kernel SD index''' ! '''Uboot eMMC index''' ! '''Uboot SD index''' ! '''Baud speed''' |- | RK3328 | 2 | 0 | 0 | 1 | 1500000 |} &nbsp; = References = 1.[https://en.wikipedia.org/wiki/ARM_Cortex-A53 https://en.wikipedia.org/wiki/ARM_Cortex-A53] &nbsp; 5144f8a07b458664c097be78169fae2de162e172 Uboot 0 200 1924 2018-05-11T06:12:32Z Admin 1 Created page with " In your linux SDK root directory. enter to U-Boot directory.&nbsp; <pre>cd u-boot </pre> For RK3399&nbsp;sapphire-excavator board, VS-RK3399 board,&nbsp;Rock960 board. Use b..." wikitext text/x-wiki In your linux SDK root directory. enter to U-Boot directory.&nbsp; <pre>cd u-boot </pre> For RK3399&nbsp;sapphire-excavator board, VS-RK3399 board,&nbsp;Rock960 board. Use below command to build the U-Boot:&nbsp; <pre>./make.sh evb-rk3399 </pre> For firefly-rk3399&nbsp;board. Use below command to build the U-Boot:&nbsp; <pre>./make.sh firefly-rk3399 </pre> For firefly-rk3288 board. Use below command to build the U-Boot:&nbsp; <pre>./make.sh firefly-rk3288 </pre> For rk3288-evb-act8846&nbsp;board. Use below command to build the U-Boot:&nbsp; <pre>./make.sh evb-rk3288 </pre> For rk3288-evb-rk808&nbsp;board. Use below command to build the U-Boot:&nbsp; <pre>./make.sh fennec-rk3288 </pre> For rk3288 tinker&nbsp;board. Use below command to build the U-Boot:&nbsp; <pre>./make.sh tinker-rk3288 </pre> For phytec-rk3288&nbsp;board. Use below command to build the U-Boot:&nbsp; <pre>./make.sh phycore-rk3288 </pre> For rk3288 miqi&nbsp;board. Use below command to build the U-Boot:&nbsp; <pre>./make.sh miqi-rk3288 </pre> It will generate 3 binary image: rk3xxx_loader_vx.xx.xxx.bin, trust.img, uboot.img.&nbsp; rk3xxx_loader_vx.xx.xxx.bin: Rockchip miniloader. rk3xxx is the part number of the chip. vx.xx.xxx is the version number. Please flash this binary to miniloader partition.&nbsp; trust.img:&nbsp;ARM Trusted Firmware, Please flash this binary to trust partition uboot.img: The U-Boot image, Please flash this binary to uboot partition <pre>u-boot/ ├── rk3399_loader_v1.09.112.bin ├── trust.img └── uboot.img </pre> Rockchip now only offically support miniloader+U-Boot boot to simplify the customer product design.&nbsp; You can refer to&nbsp;[http://opensource.rock-chips.com/wiki_Boot_option boot option]&nbsp;page for more boot path. But do remember that you should do it all by your own. Rockchip won't provide technical support for these boot option.&nbsp; 954f6f1225375f3a2cc24c773056a6cd12bd95ad 1932 1924 2018-05-25T09:47:28Z Admin 1 wikitext text/x-wiki In your linux SDK root directory. enter to U-Boot directory.&nbsp; <pre>cd u-boot </pre> For RK3399&nbsp;sapphire-excavator board, VS-RK3399 board,&nbsp;Rock960 board. Use below command to build the U-Boot:&nbsp; <pre>./make.sh evb-rk3399 </pre> For firefly-rk3399&nbsp;board. Use below command to build the U-Boot:&nbsp; <pre>./make.sh firefly-rk3399 </pre> For firefly-rk3288 board. Use below command to build the U-Boot:&nbsp; <pre>./make.sh firefly-rk3288 </pre> For rk3288-evb-act8846&nbsp;board. Use below command to build the U-Boot:&nbsp; <pre>./make.sh evb-rk3288 </pre> For rk3288-evb-rk808&nbsp;board. Use below command to build the U-Boot:&nbsp; <pre>./make.sh fennec-rk3288 </pre> For rk3288 tinker&nbsp;board. Use below command to build the U-Boot:&nbsp; <pre>./make.sh tinker-rk3288 </pre> For phytec-rk3288&nbsp;board. Use below command to build the U-Boot:&nbsp; <pre>./make.sh phycore-rk3288 </pre> For rk3288 miqi&nbsp;board. Use below command to build the U-Boot:&nbsp; <pre>./make.sh miqi-rk3288 </pre> For rk3288-evb-rk1608 board. Use below command to build the U-Boot:&nbsp; <pre>./make.sh evb-rk3288-rk1608</pre> It will generate 3 binary image: rk3xxx_loader_vx.xx.xxx.bin, trust.img, uboot.img.&nbsp; rk3xxx_loader_vx.xx.xxx.bin: Rockchip miniloader. rk3xxx is the part number of the chip. vx.xx.xxx is the version number. Please flash this binary to miniloader partition.&nbsp; trust.img:&nbsp;ARM Trusted Firmware, Please flash this binary to trust partition uboot.img: The U-Boot image, Please flash this binary to uboot partition <pre>u-boot/ ├── rk3399_loader_v1.09.112.bin ├── trust.img └── uboot.img </pre> Rockchip now only offically support miniloader+U-Boot boot to simplify the customer product design.&nbsp; You can refer to&nbsp;[http://opensource.rock-chips.com/wiki_Boot_option boot option]&nbsp;page for more boot path. But do remember that you should do it all by your own. Rockchip won't provide technical support for these boot option.&nbsp; d25be6e09558c497510ce76ec85724baae520e74 Kernel 0 201 1925 2018-05-11T06:13:49Z Admin 1 Created page with " In your linux SDK root directory. enter to kernel directory.&nbsp; <pre>cd kernel </pre> Config your kernel. For ARM v7: RK3288 <pre>make ARCH=arm rockchip_linux_defconfig..." wikitext text/x-wiki In your linux SDK root directory. enter to kernel directory.&nbsp; <pre>cd kernel </pre> Config your kernel. For ARM v7: RK3288 <pre>make ARCH=arm rockchip_linux_defconfig </pre> For ARM V8: RK3399, RK3328 <pre>make ARCH=arm64 rockchip_linux_defconfig </pre> For RK3399&nbsp;sapphire-excavator board, VS-RK3399 board,&nbsp;Rock960 board. Use below command to build the kernel:&nbsp; <pre>make ARCH=arm64 rk3399-sapphire-excavator-linux.img -j8 </pre> For firefly-rk3399&nbsp;board. Use below command to build the kernel:&nbsp; <pre>make ARCH=arm64 rk3399-firefly-linux.img -j8 </pre> For firefly-rk3288 board. Use below command to build the kernel:&nbsp; <pre>make ARCH=arm rk3288-firefly.img -j8 </pre> For rk3288-evb-act8846&nbsp;board. Use below command to build the kernel:&nbsp; <pre>make ARCH=arm rk3288-evb-act8846.img -j8 </pre> For rk3288-evb-rk808&nbsp;board. Use below command to build the kernel:&nbsp; <pre>make ARCH=arm rk3288-evb-rk808-linux.img -j8 </pre> For rk3288 tinker&nbsp;board. Use below command to build the kernel:&nbsp; <pre>make ARCH=arm rk3288-miniarm.img -j8 </pre> For phytec-rk3288&nbsp;board. Use below command to build the kernel:&nbsp; <pre>make ARCH=arm rk3288-phycore-rdk.img -j8 </pre> For rk3288 miqi&nbsp;board. Use below command to build the kernel:&nbsp; <pre>make ARCH=arm rk3288-miqi.img -j8 </pre> It will generate 2 binary image: kernel.img, resource.img.&nbsp; kernel image: Please flash this binary to kernel partition resource image: it contain kernel dtb. Please flash this binary to resource partition e4a60c0d73b24eb7ff523a3bc47975806c4eed06 1933 1925 2018-05-25T09:48:48Z Admin 1 wikitext text/x-wiki In your linux SDK root directory. enter to kernel directory.&nbsp; <pre>cd kernel </pre> Config your kernel. For ARM v7: RK3288 <pre>make ARCH=arm rockchip_linux_defconfig </pre> For ARM V8: RK3399, RK3328 <pre>make ARCH=arm64 rockchip_linux_defconfig </pre> For RK3399&nbsp;sapphire-excavator board, VS-RK3399 board,&nbsp;Rock960 board. Use below command to build the kernel:&nbsp; <pre>make ARCH=arm64 rk3399-sapphire-excavator-linux.img -j8 </pre> For firefly-rk3399&nbsp;board. Use below command to build the kernel:&nbsp; <pre>make ARCH=arm64 rk3399-firefly-linux.img -j8 </pre> For firefly-rk3288 board. Use below command to build the kernel:&nbsp; <pre>make ARCH=arm rk3288-firefly.img -j8 </pre> For rk3288-evb-act8846&nbsp;board. Use below command to build the kernel:&nbsp; <pre>make ARCH=arm rk3288-evb-act8846.img -j8 </pre> For rk3288-evb-rk808&nbsp;board. Use below command to build the kernel:&nbsp; <pre>make ARCH=arm rk3288-evb-rk808-linux.img -j8 </pre> For rk3288 tinker&nbsp;board. Use below command to build the kernel:&nbsp; <pre>make ARCH=arm rk3288-miniarm.img -j8 </pre> For phytec-rk3288&nbsp;board. Use below command to build the kernel:&nbsp; <pre>make ARCH=arm rk3288-phycore-rdk.img -j8 </pre> For rk3288 miqi&nbsp;board. Use below command to build the kernel:&nbsp; <pre>make ARCH=arm rk3288-miqi.img -j8 </pre> For rk3288-evb-rk1608 board. Use below command to build the kernel:&nbsp; <pre>make ARCH=arm rk3288-evb-rk1608.img -j8</pre> It will generate 2 binary image: boot.img, kernel.img, resource.img.&nbsp; kernel image: Please flash this binary to kernel partition resource image: it contain kernel dtb. Please flash this binary to resource partition bb53eb736ff8038028a8b18f9bbf531a0f29ebca 1934 1933 2018-05-25T09:51:32Z Admin 1 wikitext text/x-wiki In your linux SDK root directory. enter to kernel directory.&nbsp; <pre>cd kernel </pre> Config your kernel. For ARM v7: RK3288 <pre>make ARCH=arm rockchip_linux_defconfig </pre> For ARM V8: RK3399, RK3328 <pre>make ARCH=arm64 rockchip_linux_defconfig </pre> For RK3399&nbsp;sapphire-excavator board, VS-RK3399 board,&nbsp;Rock960 board. Use below command to build the kernel:&nbsp; <pre>make ARCH=arm64 rk3399-sapphire-excavator-linux.img -j8 </pre> For firefly-rk3399&nbsp;board. Use below command to build the kernel:&nbsp; <pre>make ARCH=arm64 rk3399-firefly-linux.img -j8 </pre> For firefly-rk3288 board. Use below command to build the kernel:&nbsp; <pre>make ARCH=arm rk3288-firefly.img -j8 </pre> For rk3288-evb-act8846&nbsp;board. Use below command to build the kernel:&nbsp; <pre>make ARCH=arm rk3288-evb-act8846.img -j8 </pre> For rk3288-evb-rk808&nbsp;board. Use below command to build the kernel:&nbsp; <pre>make ARCH=arm rk3288-evb-rk808-linux.img -j8 </pre> For rk3288 tinker&nbsp;board. Use below command to build the kernel:&nbsp; <pre>make ARCH=arm rk3288-miniarm.img -j8 </pre> For phytec-rk3288&nbsp;board. Use below command to build the kernel:&nbsp; <pre>make ARCH=arm rk3288-phycore-rdk.img -j8 </pre> For rk3288 miqi&nbsp;board. Use below command to build the kernel:&nbsp; <pre>make ARCH=arm rk3288-miqi.img -j8 </pre> For rk3288-evb-rk1608 board. Use below command to build the kernel:&nbsp; <pre>make ARCH=arm rk3288-evb-rk1608.img -j8</pre> It will generate 2 binary image: boot.img, kernel.img, resource.img.&nbsp; kernel image: Please flash this binary to kernel partition resource image: it contain kernel dtb. Please flash this binary to resource partition bootimage: it pack kernel image and&nbsp;resource image into Android boot image format. Please flash this binary to boot partition b1e5c16960a8da11d663f43d29ebf50a2ca3d6e3 1943 1934 2018-06-19T08:13:20Z Admin 1 wikitext text/x-wiki In your linux SDK root directory. enter to kernel directory.&nbsp; <pre>cd kernel </pre> Config your kernel. For ARM v7: RK3288 <pre>make ARCH=arm rockchip_linux_defconfig </pre> For ARM V8: RK3399, RK3328 <pre>make ARCH=arm64 rockchip_linux_defconfig </pre> For RK3399&nbsp;sapphire-excavator board, VS-RK3399 board,&nbsp;Rock960 board. Use below command to build the kernel:&nbsp; <pre>make ARCH=arm64 rk3399-sapphire-excavator-linux.img -j8 </pre> For firefly-rk3399&nbsp;board. Use below command to build the kernel:&nbsp; <pre>make ARCH=arm64 rk3399-firefly-linux.img -j8 </pre> For firefly-rk3288 board. Use below command to build the kernel:&nbsp; <pre>make ARCH=arm rk3288-firefly.img -j8 </pre> For rk3288-evb-act8846&nbsp;board. Use below command to build the kernel:&nbsp; <pre>make ARCH=arm rk3288-evb-act8846.img -j8 </pre> For rk3288-evb-rk808&nbsp;board. Use below command to build the kernel:&nbsp; <pre>make ARCH=arm rk3288-evb-rk808-linux.img -j8 </pre> For rk3288 tinker&nbsp;board. Use below command to build the kernel:&nbsp; <pre>make ARCH=arm rk3288-miniarm.img -j8 </pre> For phytec-rk3288&nbsp;board. Use below command to build the kernel:&nbsp; <pre>make ARCH=arm rk3288-phycore-rdk.img -j8 </pre> For rk3288 miqi&nbsp;board. Use below command to build the kernel:&nbsp; <pre>make ARCH=arm rk3288-miqi.img -j8 </pre> For rk3288-evb-rk1608 board. Use below command to build the kernel:&nbsp; <pre>make ARCH=arm rk3288-evb-rk1608.img -j8</pre> It will generate boot.img(ARM v8) or zboot.img(ARM v7):&nbsp;&nbsp;it pack kernel image and&nbsp;resource image into Android boot image format. Please flash this binary to boot partition 63f77c8617c142152980a9918301f31c6683a3d9 Main Page 0 16 1926 1912 2018-05-11T06:17:45Z Admin 1 wikitext text/x-wiki = '''Source code''' = Rockchip provide open source software on Github including fully support for Linux Based OS: *Github: [https://github.com/rockchip-linux rockchip-linux] You can also find software for Rockchip SoCs from Upstream: *[https://www.kernel.org/ Linux kernel] *[http://www.denx.de/wiki/U-Boot/WebHome U-Boot] *[https://github.com/ARM-software/arm-trusted-firmware ARM Trusted Firmware] If you are using a Chrombook with Rockchip SoC, you can use: *[https://chromium.googlesource.com/chromiumos/third_party/coreboot Chromium OS&nbsp;Coreboot] *[https://chromium.googlesource.com/chromiumos/third_party/kernel Chromium OS kernel] = '''Hardware Document''' = {| border="1" cellpadding="0" cellspacing="0" class="table_style" |- ! style="width:92px;" | <p style="text-align: center;">SoC</p> ! style="width:286px;" | <p style="text-align: center;">Description</p> ! style="width:189px;" | <p style="text-align: center;">Download</p> ! style="width:189px;" | <p style="text-align: center;">Boards</p> |- | style="width: 92px; text-align: center;" | [[RK3399|RK3399]] | style="width:286px;" | Dual-core Cortex-A72 Quad-core Cortex-A53 CPU MALI-T860 MP4 GPU | style="width:189px;" | [[Media:Rockchip_RK3399TRM_V1.4_Part1-20170408.pdf|TRM]] [[Media:Rockchip_RK3399_Datasheet_V1.6-20170301.pdf|Datasheet]] [[Media:Rk3399_hardware_reference.zip|Schematic&Layout Guide]] | style="width:189px;" | [[Firefly-RK3399|Firefly-RK3399]] [[Excavator_sapphire_board|Excavator]] [https://item.taobao.com/item.htm?spm=a1z10.5-c.w4002-8080654418.15.3f3c7130yr225K&id=563534665516 VS-RK3399] [http://www.aaeon.com/en/p/pico-itx-boards-rico-3399 Rico-rk3399] [http://www.orangepi.org/Orange%20Pi%20RK3399/ Orange Pi RK3399] |- | style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p> | style="width:286px;" | Quad-core Cortex-A17 CPU MALI-T760 MP4 GPU | style="width:189px;" | [[Media:Rockchip_RK3288_TRM_V1.2_Part1-20170321.pdf|TRM]] [[Media:Rockchip_RK3288_Datasheet_V2.2-20170301.pdf|Datasheet]] [[Media:Rk3288_hardware_reference.zip|Schematic&Layout Guide]] | style="width:189px;" | [[Firefly-RK3288|Firefly-RK3288]] RK3288-evb [https://www.asus.com/us/Single-Board-Computer/Tinker-Board/ Tinker] [http://www.aaeon.com/en/p/pico-itx-boards-rico-3288 Rico-3288] [https://mqmaker.com/miqi/ Miqi] [http://www.phytec.eu/product/system-on-modules/phycore-rk3288/ Phytec-rk3288] |- | style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p> | style="width:286px;" | Quad-core Cortex-A53 CPU MALI-450 MP2 GPU | style="width:189px;" | [[Media:Rockchip_RK3328TRM_V1.1-Part1-20170321.pdf|TRM]] [[Media:Rockchip_RK3328_Datasheet_V1.1-20170309.pdf|Datasheet]] [[Media:Rk3328_hardware_reference.zip|Schematic&Layout Guide]] | style="width:189px;" | [[ROC-RK3328-CC|ROC-RK3328-CC]] [https://www.pine64.org/?product=rock64-media-board-computer ROCK64] |} &nbsp; = '''Software development&nbsp;''' = '''&nbsp; &nbsp; &nbsp; &nbsp;Software Feature Supoort [[Status_Matrix|Status_Matrix]]''' *'''BSP for Rockchip Linux SDK''' **[[Linux_user_guide|Linux SDK User Guide]] **[[Uboot|U-Boot]]&nbsp; **[[Kernel|Kernel]] **[[Atf|ARM Trusted&nbsp;Firmware]] **[[Debian|Debian]] **[[Buildroot|Buildroot]] *'''BSP for Distro''' **[[U-Boot|U-Boot]]&nbsp; **[[Rockchip_Kernel|Rockchip Kernel]] **[[Atf|ARM Trusted&nbsp;Firmware]] *'''Graphics and Multimedia&nbsp;user guide''' **[[Graphics|Graphics and display]] **[[Mpp|Multimedia--Video Codec]] **[[Rockchip-isp1|Multimedia--Camera]] *'''Tool and Firmware Upgrade''' **[[Rockusb|Rockusb]] **[[Upgradetool|Rockchip&nbsp;Upgrade Tool]] **[[AndroidTool|Android Tool]] **[[Rkdeveloptool|rkdeveloptool]] **[[Boot_option|Boot Option]] '''<span style="font-size:xx-large;">Feedback</span>''' Any question about software module on github, please ask&nbsp;at issue page of github project. If you have any other questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website, Email-to: opensource@rock-chips.com e06dd4129f3036081fe541392fee76e3723dab7d 1929 1926 2018-05-11T06:25:58Z Admin 1 wikitext text/x-wiki = '''Source code''' = Rockchip provide open source software on Github including fully support for Linux Based OS: *Github: [https://github.com/rockchip-linux rockchip-linux] You can also find software for Rockchip SoCs from Upstream: *[https://www.kernel.org/ Linux kernel] *[http://www.denx.de/wiki/U-Boot/WebHome U-Boot] *[https://github.com/ARM-software/arm-trusted-firmware ARM Trusted Firmware] If you are using a Chrombook with Rockchip SoC, you can use: *[https://chromium.googlesource.com/chromiumos/third_party/coreboot Chromium OS&nbsp;Coreboot] *[https://chromium.googlesource.com/chromiumos/third_party/kernel Chromium OS kernel] = '''Hardware Document''' = {| border="1" cellpadding="0" cellspacing="0" class="table_style" |- ! style="width:92px;" | <p style="text-align: center;">SoC</p> ! style="width:286px;" | <p style="text-align: center;">Description</p> ! style="width:189px;" | <p style="text-align: center;">Download</p> ! style="width:189px;" | <p style="text-align: center;">Boards</p> |- | style="width: 92px; text-align: center;" | [[RK3399|RK3399]] | style="width:286px;" | Dual-core Cortex-A72 Quad-core Cortex-A53 CPU MALI-T860 MP4 GPU | style="width:189px;" | [[Media:Rockchip_RK3399TRM_V1.4_Part1-20170408.pdf|TRM]] [[Media:Rockchip_RK3399_Datasheet_V1.6-20170301.pdf|Datasheet]] [[Media:Rk3399_hardware_reference.zip|Schematic&Layout Guide]] | style="width:189px;" | [[Firefly-RK3399|Firefly-RK3399]] [[Excavator_sapphire_board|Excavator]] [https://item.taobao.com/item.htm?spm=a1z10.5-c.w4002-8080654418.15.3f3c7130yr225K&id=563534665516 VS-RK3399] [http://www.aaeon.com/en/p/pico-itx-boards-rico-3399 Rico-rk3399] [http://www.orangepi.org/Orange%20Pi%20RK3399/ Orange Pi RK3399] |- | style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p> | style="width:286px;" | Quad-core Cortex-A17 CPU MALI-T760 MP4 GPU | style="width:189px;" | [[Media:Rockchip_RK3288_TRM_V1.2_Part1-20170321.pdf|TRM]] [[Media:Rockchip_RK3288_Datasheet_V2.2-20170301.pdf|Datasheet]] [[Media:Rk3288_hardware_reference.zip|Schematic&Layout Guide]] | style="width:189px;" | [[Firefly-RK3288|Firefly-RK3288]] RK3288-evb [https://www.asus.com/us/Single-Board-Computer/Tinker-Board/ Tinker] [http://www.aaeon.com/en/p/pico-itx-boards-rico-3288 Rico-3288] [https://mqmaker.com/miqi/ Miqi] [http://www.phytec.eu/product/system-on-modules/phycore-rk3288/ Phytec-rk3288] |- | style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p> | style="width:286px;" | Quad-core Cortex-A53 CPU MALI-450 MP2 GPU | style="width:189px;" | [[Media:Rockchip_RK3328TRM_V1.1-Part1-20170321.pdf|TRM]] [[Media:Rockchip_RK3328_Datasheet_V1.1-20170309.pdf|Datasheet]] [[Media:Rk3328_hardware_reference.zip|Schematic&Layout Guide]] | style="width:189px;" | [[ROC-RK3328-CC|ROC-RK3328-CC]] [https://www.pine64.org/?product=rock64-media-board-computer ROCK64] |} &nbsp; = '''Software development&nbsp;''' = '''&nbsp; &nbsp; &nbsp; &nbsp;Software Feature Supoort [[Status_Matrix|Status_Matrix]]''' *'''BSP for Rockchip Linux SDK''' **[[Linux_user_guide|Linux SDK User Guide]] **[[Uboot|U-Boot]]&nbsp; **[[Kernel|Kernel]] **[[Atf|ARM Trusted&nbsp;Firmware]] **[[Debian|Debian]] **[[Buildroot|Buildroot]] *'''BSP for Distro''' **[[U-Boot|U-Boot]]&nbsp; **[[Rockchip_Kernel|Kernel]] **[[Atf|ARM Trusted&nbsp;Firmware]] **[[Distribution|Distro]] *'''Graphics and Multimedia&nbsp;user guide''' **[[Graphics|Graphics and display]] **[[Mpp|Multimedia--Video Codec]] **[[Rockchip-isp1|Multimedia--Camera]] *'''Tool and Firmware Upgrade''' **[[Rockusb|Rockusb]] **[[Upgradetool|Rockchip&nbsp;Upgrade Tool]] **[[AndroidTool|Android Tool]] **[[Rkdeveloptool|rkdeveloptool]] **[[Boot_option|Boot Option]] '''<span style="font-size:xx-large;">Feedback</span>''' Any question about software module on github, please ask&nbsp;at issue page of github project. If you have any other questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website, Email-to: opensource@rock-chips.com b17ceafb039bf01bb2874e7d5f7b125c1d0ef308 1957 1929 2018-06-28T08:07:25Z Admin 1 wikitext text/x-wiki = '''Source code''' = Rockchip provide open source software on Github including fully support for Linux Based OS: *Github: [https://github.com/rockchip-linux rockchip-linux] You can also find software for Rockchip SoCs from Upstream: *[https://www.kernel.org/ Linux kernel] *[http://www.denx.de/wiki/U-Boot/WebHome U-Boot] *[https://github.com/ARM-software/arm-trusted-firmware ARM Trusted Firmware] If you are using a Chrombook with Rockchip SoC, you can use: *[https://chromium.googlesource.com/chromiumos/third_party/coreboot Chromium OS&nbsp;Coreboot] *[https://chromium.googlesource.com/chromiumos/third_party/kernel Chromium OS kernel] = '''Hardware Document''' = {| border="1" cellpadding="0" cellspacing="0" class="table_style" |- ! style="width:92px;" | <p style="text-align: center;">SoC</p> ! style="width:286px;" | <p style="text-align: center;">Description</p> ! style="width:189px;" | <p style="text-align: center;">Download</p> ! style="width:189px;" | <p style="text-align: center;">Boards</p> |- | style="width: 92px; text-align: center;" | [[RK3399|RK3399]] | style="width:286px;" | Dual-core Cortex-A72 Quad-core Cortex-A53 CPU MALI-T860 MP4 GPU | style="width:189px;" | [[Media:Rockchip_RK3399TRM_V1.4_Part1-20170408.pdf|TRM]] [[Media:Rockchip_RK3399_Datasheet_V1.8-20180529.pdf|Datasheet]] [[Media:Rk3399_hardware_reference.zip|Schematic&Layout Guide]] | style="width:189px;" | [[Firefly-RK3399|Firefly-RK3399]] [[Excavator_sapphire_board|Excavator]] [https://item.taobao.com/item.htm?spm=a1z10.5-c.w4002-8080654418.15.3f3c7130yr225K&id=563534665516 VS-RK3399] [http://www.aaeon.com/en/p/pico-itx-boards-rico-3399 Rico-rk3399] [http://www.orangepi.org/Orange%20Pi%20RK3399/ Orange Pi RK3399] |- | style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p> | style="width:286px;" | Quad-core Cortex-A17 CPU MALI-T760 MP4 GPU | style="width:189px;" | [[Media:Rockchip_RK3288_TRM_V1.2_Part1-20170321.pdf|TRM]] [[Media:Rockchip_RK3288_Datasheet_V2.4-20180530.pdf|Datasheet]] [[Media:Rk3288_hardware_reference.zip|Schematic&Layout Guide]] | style="width:189px;" | [[Firefly-RK3288|Firefly-RK3288]] RK3288-evb [https://www.asus.com/us/Single-Board-Computer/Tinker-Board/ Tinker] [http://www.aaeon.com/en/p/pico-itx-boards-rico-3288 Rico-3288] [https://mqmaker.com/miqi/ Miqi] [http://www.phytec.eu/product/system-on-modules/phycore-rk3288/ Phytec-rk3288] |- | style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p> | style="width:286px;" | Quad-core Cortex-A53 CPU MALI-450 MP2 GPU | style="width:189px;" | [[Media:Rockchip_RK3328TRM_V1.1-Part1-20170321.pdf|TRM]] [[Media:Rockchip_RK3328_Datasheet_V1.1-20170309.pdf|Datasheet]] [[Media:Rk3328_hardware_reference.zip|Schematic&Layout Guide]] | style="width:189px;" | [[ROC-RK3328-CC|ROC-RK3328-CC]] [https://www.pine64.org/?product=rock64-media-board-computer ROCK64] |} &nbsp; = '''Software development&nbsp;''' = '''&nbsp; &nbsp; &nbsp; &nbsp;Software Feature Supoort [[Status_Matrix|Status_Matrix]]''' *'''BSP for Rockchip Linux SDK''' **[[Linux_user_guide|Linux SDK User Guide]] **[[Uboot|U-Boot]]&nbsp; **[[Kernel|Kernel]] **[[Atf|ARM Trusted&nbsp;Firmware]] **[[Debian|Debian]] **[[Buildroot|Buildroot]] *'''BSP for Distro''' **[[U-Boot|U-Boot]]&nbsp; **[[Rockchip_Kernel|Kernel]] **[[Atf|ARM Trusted&nbsp;Firmware]] **[[Distribution|Distro]] *'''Graphics and Multimedia&nbsp;user guide''' **[[Graphics|Graphics and display]] **[[Mpp|Multimedia--Video Codec]] **[[Rockchip-isp1|Multimedia--Camera]] *'''Tool and Firmware Upgrade''' **[[Rockusb|Rockusb]] **[[Upgradetool|Rockchip&nbsp;Upgrade Tool]] **[[AndroidTool|Android Tool]] **[[Rkdeveloptool|rkdeveloptool]] **[[Boot_option|Boot Option]] '''<span style="font-size:xx-large;">Feedback</span>''' Any question about software module on github, please ask&nbsp;at issue page of github project. If you have any other questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website, Email-to: opensource@rock-chips.com c43b267fbcd0d6bde0fdb6985c226df6cc6fc872 1959 1957 2018-07-10T07:26:14Z Admin 1 wikitext text/x-wiki = '''Source code''' = Rockchip provide open source software on Github including fully support for Linux Based OS: *Github: [https://github.com/rockchip-linux rockchip-linux] You can also find software for Rockchip SoCs from Upstream: *[https://www.kernel.org/ Linux kernel] *[http://www.denx.de/wiki/U-Boot/WebHome U-Boot] *[https://github.com/ARM-software/arm-trusted-firmware ARM Trusted Firmware] If you are using a Chrombook with Rockchip SoC, you can use: *[https://chromium.googlesource.com/chromiumos/third_party/coreboot Chromium OS&nbsp;Coreboot] *[https://chromium.googlesource.com/chromiumos/third_party/kernel Chromium OS kernel] = '''Hardware Document''' = {| border="1" cellpadding="0" cellspacing="0" class="table_style" |- ! style="width:92px;" | <p style="text-align: center;">SoC</p> ! style="width:286px;" | <p style="text-align: center;">Description</p> ! style="width:189px;" | <p style="text-align: center;">Download</p> ! style="width:189px;" | <p style="text-align: center;">Boards</p> |- | style="width: 92px; text-align: center;" | [[RK3399|RK3399]] | style="width:286px;" | Dual-core Cortex-A72 Quad-core Cortex-A53 CPU MALI-T860 MP4 GPU | style="width:189px;" | [[Media:Rockchip_RK3399TRM_V1.4_Part1-20170408.pdf|TRM]] [[Media:Rockchip_RK3399_Datasheet_V1.8-20180529.pdf|Datasheet]] [[Media:Rk3399_hardware_reference.zip|Schematic&Layout Guide]] | style="width:189px;" | [[Firefly-RK3399|Firefly-RK3399]] [[Excavator_sapphire_board|Excavator]] [https://item.taobao.com/item.htm?spm=a1z10.5-c.w4002-8080654418.15.3f3c7130yr225K&id=563534665516 VS-RK3399] [http://www.aaeon.com/en/p/pico-itx-boards-rico-3399 Rico-rk3399] [http://www.orangepi.org/Orange%20Pi%20RK3399/ Orange Pi RK3399] |- | style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p> | style="width:286px;" | Quad-core Cortex-A17 CPU MALI-T760 MP4 GPU | style="width:189px;" | [[Media:Rockchip_RK3288_TRM_V1.2_Part1-20170321.pdf|TRM]] [[Media:Rockchip_RK3288_Datasheet_V2.4-20180530.pdf|Datasheet]] [[Media:Rk3288_hardware_reference.zip|Schematic&Layout Guide]] | style="width:189px;" | [[Firefly-RK3288|Firefly-RK3288]] RK3288-evb [https://www.asus.com/us/Single-Board-Computer/Tinker-Board/ Tinker] [http://www.aaeon.com/en/p/pico-itx-boards-rico-3288 Rico-3288] [https://mqmaker.com/miqi/ Miqi] [http://www.phytec.eu/product/system-on-modules/phycore-rk3288/ Phytec-rk3288] |- | style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p> | style="width:286px;" | Quad-core Cortex-A53 CPU MALI-450 MP2 GPU | style="width:189px;" | [[Media:Rockchip_RK3328TRM_V1.1-Part1-20170321.pdf|TRM]] [[Media:Rockchip_RK3328_Datasheet_V1.1-20170309.pdf|Datasheet]] [[Media:Rk3328_hardware_reference.zip|Schematic&Layout Guide]] | style="width:189px;" | [[ROC-RK3328-CC|ROC-RK3328-CC]] [https://www.pine64.org/?product=rock64-media-board-computer ROCK64] |} &nbsp; = '''Software development&nbsp;''' = '''&nbsp; &nbsp; &nbsp; &nbsp;Software Feature Supoort [[Status_Matrix|Status_Matrix]]''' *'''BSP for Rockchip Linux SDK''' **[[Linux_user_guide|Linux SDK User Guide]] **[[Uboot|U-Boot]]&nbsp; **[[Kernel|Kernel]] **[[Atf|ARM Trusted&nbsp;Firmware]] **[[Debian|Debian]] **[[Buildroot|Buildroot]] **[[Roadmap]] *'''BSP for Distro''' **[[U-Boot|U-Boot]]&nbsp; **[[Rockchip_Kernel|Kernel]] **[[Atf|ARM Trusted&nbsp;Firmware]] **[[Distribution|Distro]] *'''Graphics and Multimedia&nbsp;user guide''' **[[Graphics|Graphics and display]] **[[Mpp|Multimedia--Video Codec]] **[[Rockchip-isp1|Multimedia--Camera]] *'''Tool and Firmware Upgrade''' **[[Rockusb|Rockusb]] **[[Upgradetool|Rockchip&nbsp;Upgrade Tool]] **[[AndroidTool|Android Tool]] **[[Rkdeveloptool|rkdeveloptool]] **[[Boot_option|Boot Option]] '''<span style="font-size:xx-large;">Feedback</span>''' Any question about software module on github, please ask&nbsp;at issue page of github project. If you have any other questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website, Email-to: opensource@rock-chips.com a79983d7fed5bba65c0c0fc1cf0fcc81654be1fa 1970 1959 2018-07-13T02:53:04Z Admin 1 wikitext text/x-wiki &nbsp; <span style="font-size:xx-large;">'''[[Linux_SDK|Rockchip Linux SDK]]'''</span><span style="font-size:small;">(click to enter)</span> <span style="font-size:large;">Rockchip Linux SDK is an&nbsp;official Linux release.&nbsp; Please contact&nbsp;service@rock-chips.com if you need business support.&nbsp;This page is for open source community. Please go to [[Linux_SDK|here]]&nbsp;if you want to use&nbsp;Rockchip Linux SDK</span> *[[Download|<span style="font-size:large;">Firmware Download</span>]] **<span style="font-size:large;">Please go to [[Download|here]] if you want to download prebuilt Image for Rockchip Linux SDK</span> = '''Source code''' = Rockchip provide open source software on Github including fully support for Linux Based OS: *Github: [https://github.com/rockchip-linux rockchip-linux] You can also find software for Rockchip SoCs from Upstream: *[https://www.kernel.org/ Linux kernel] *[http://www.denx.de/wiki/U-Boot/WebHome U-Boot] *[https://github.com/ARM-software/arm-trusted-firmware ARM Trusted Firmware] If you are using a Chrombook with Rockchip SoC, you can use: *[https://chromium.googlesource.com/chromiumos/third_party/coreboot Chromium OS&nbsp;Coreboot] *[https://chromium.googlesource.com/chromiumos/third_party/kernel Chromium OS kernel] &nbsp; &nbsp; &nbsp; = '''Hardware Document''' = {| border="1" cellpadding="0" cellspacing="0" class="table_style" |- ! style="width:92px;" | <p style="text-align: center;">SoC</p> ! style="width:286px;" | <p style="text-align: center;">Description</p> ! style="width:189px;" | <p style="text-align: center;">Download</p> ! style="width:189px;" | <p style="text-align: center;">Boards</p> |- | style="width: 92px; text-align: center;" | [[RK3399|RK3399]] | style="width:286px;" | Dual-core Cortex-A72 Quad-core Cortex-A53 CPU MALI-T860 MP4 GPU | style="width:189px;" | [[Media:Rockchip_RK3399TRM_V1.4_Part1-20170408.pdf|TRM]] [[Media:Rockchip_RK3399_Datasheet_V1.8-20180529.pdf|Datasheet]] [[Media:Rk3399_hardware_reference.zip|Schematic&Layout Guide]] | style="width:189px;" | [[Firefly-RK3399|Firefly-RK3399]] [[Excavator_sapphire_board|Excavator]] [https://item.taobao.com/item.htm?spm=a1z10.5-c.w4002-8080654418.15.3f3c7130yr225K&id=563534665516 VS-RK3399] [http://www.aaeon.com/en/p/pico-itx-boards-rico-3399 Rico-rk3399] [http://www.orangepi.org/Orange%20Pi%20RK3399/ Orange Pi RK3399] |- | style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p> | style="width:286px;" | Quad-core Cortex-A17 CPU MALI-T760 MP4 GPU | style="width:189px;" | [[Media:Rockchip_RK3288_TRM_V1.2_Part1-20170321.pdf|TRM]] [[Media:Rockchip_RK3288_Datasheet_V2.4-20180530.pdf|Datasheet]] [[Media:Rk3288_hardware_reference.zip|Schematic&Layout Guide]] | style="width:189px;" | [[Firefly-RK3288|Firefly-RK3288]] RK3288-evb [https://www.asus.com/us/Single-Board-Computer/Tinker-Board/ Tinker] [http://www.aaeon.com/en/p/pico-itx-boards-rico-3288 Rico-3288] [https://mqmaker.com/miqi/ Miqi] [http://www.phytec.eu/product/system-on-modules/phycore-rk3288/ Phytec-rk3288] |- | style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p> | style="width:286px;" | Quad-core Cortex-A53 CPU MALI-450 MP2 GPU | style="width:189px;" | [[Media:Rockchip_RK3328TRM_V1.1-Part1-20170321.pdf|TRM]] [[Media:Rockchip_RK3328_Datasheet_V1.1-20170309.pdf|Datasheet]] [[Media:Rk3328_hardware_reference.zip|Schematic&Layout Guide]] | style="width:189px;" | [[ROC-RK3328-CC|ROC-RK3328-CC]] [https://www.pine64.org/?product=rock64-media-board-computer ROCK64] |} &nbsp; &nbsp; = '''Software development&nbsp;''' = '''&nbsp; &nbsp; &nbsp; &nbsp;Software Feature Supoort [[Status_Matrix|Status_Matrix]]''' *'''BSP''' **[[U-Boot|U-Boot]]&nbsp; **[[Rockchip_Kernel|Kernel]] **[[Atf|ARM Trusted&nbsp;Firmware]] **[[Distribution|Distro]] *'''Graphics and Multimedia&nbsp;user guide''' **[[Graphics|Graphics and display]] **[[Mpp|Multimedia--Video Codec]] **[[Rockchip-isp1|Multimedia--Camera]] *'''Tool and Firmware Upgrade''' **[[Rockusb|Rockusb]] **[[Upgradetool|Rockchip&nbsp;Upgrade Tool]] **[[AndroidTool|Android Tool]] **[[Rkdeveloptool|rkdeveloptool]] **[[Boot_option|Boot Option]] '''<span style="font-size:xx-large;">Feedback</span>''' Any question about software module on github, please ask&nbsp;at issue page of github project. If you have any other questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website, Email-to: opensource@rock-chips.com 6c4dc240512084e88399b12f30d1fa16a0fb2c14 1980 1970 2018-07-13T03:29:08Z Admin 1 wikitext text/x-wiki &nbsp; <span style="font-size:xx-large;">'''[[Linux_SDK|Rockchip Linux SDK]]'''</span><span style="font-size:small;">(click to enter)</span> <span style="font-size:large;">Rockchip Linux SDK is an&nbsp;official Linux release.&nbsp; Please contact&nbsp;service@rock-chips.com if you need business support.&nbsp;This page is for open source community. Please go to [[Linux_SDK|here]]&nbsp;if you want to use&nbsp;Rockchip Linux SDK</span> *[[Download|<span style="font-size:large;">Firmware Download</span>]] **<span style="font-size:large;">Please go to [[Download|here]] if you want to download prebuilt Image for Rockchip Linux SDK</span> = '''Source code''' = Rockchip provide open source software on Github including fully support for Linux Based OS: *Github: [https://github.com/rockchip-linux rockchip-linux] You can also find software for Rockchip SoCs from Upstream: *[https://www.kernel.org/ Linux kernel] *[http://www.denx.de/wiki/U-Boot/WebHome U-Boot] *[https://github.com/ARM-software/arm-trusted-firmware ARM Trusted Firmware] *[https://github.com/OP-TEE/optee_os OP-TEE OS] If you are using a Chrombook with Rockchip SoC, you can use: *[https://chromium.googlesource.com/chromiumos/third_party/coreboot Chromium OS&nbsp;Coreboot] *[https://chromium.googlesource.com/chromiumos/third_party/kernel Chromium OS kernel] &nbsp; &nbsp; &nbsp; = '''Hardware Document''' = {| border="1" cellpadding="0" cellspacing="0" class="table_style" |- ! style="width:92px;" | <p style="text-align: center;">SoC</p> ! style="width:286px;" | <p style="text-align: center;">Description</p> ! style="width:189px;" | <p style="text-align: center;">Download</p> ! style="width:189px;" | <p style="text-align: center;">Boards</p> |- | style="width: 92px; text-align: center;" | [[RK3399|RK3399]] | style="width:286px;" | Dual-core Cortex-A72 Quad-core Cortex-A53 CPU MALI-T860 MP4 GPU | style="width:189px;" | [[Media:Rockchip_RK3399TRM_V1.4_Part1-20170408.pdf|TRM]] [[Media:Rockchip_RK3399_Datasheet_V1.8-20180529.pdf|Datasheet]] [[Media:Rk3399_hardware_reference.zip|Schematic&Layout Guide]] | style="width:189px;" | [[Firefly-RK3399|Firefly-RK3399]] [[Excavator_sapphire_board|Excavator]] [https://item.taobao.com/item.htm?spm=a1z10.5-c.w4002-8080654418.15.3f3c7130yr225K&id=563534665516 VS-RK3399] [http://www.aaeon.com/en/p/pico-itx-boards-rico-3399 Rico-rk3399] [http://www.orangepi.org/Orange%20Pi%20RK3399/ Orange Pi RK3399] |- | style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p> | style="width:286px;" | Quad-core Cortex-A17 CPU MALI-T760 MP4 GPU | style="width:189px;" | [[Media:Rockchip_RK3288_TRM_V1.2_Part1-20170321.pdf|TRM]] [[Media:Rockchip_RK3288_Datasheet_V2.4-20180530.pdf|Datasheet]] [[Media:Rk3288_hardware_reference.zip|Schematic&Layout Guide]] | style="width:189px;" | [[Firefly-RK3288|Firefly-RK3288]] RK3288-evb [https://www.asus.com/us/Single-Board-Computer/Tinker-Board/ Tinker] [http://www.aaeon.com/en/p/pico-itx-boards-rico-3288 Rico-3288] [https://mqmaker.com/miqi/ Miqi] [http://www.phytec.eu/product/system-on-modules/phycore-rk3288/ Phytec-rk3288] |- | style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p> | style="width:286px;" | Quad-core Cortex-A53 CPU MALI-450 MP2 GPU | style="width:189px;" | [[Media:Rockchip_RK3328TRM_V1.1-Part1-20170321.pdf|TRM]] [[Media:Rockchip_RK3328_Datasheet_V1.1-20170309.pdf|Datasheet]] [[Media:Rk3328_hardware_reference.zip|Schematic&Layout Guide]] | style="width:189px;" | [[ROC-RK3328-CC|ROC-RK3328-CC]] [https://www.pine64.org/?product=rock64-media-board-computer ROCK64] |} &nbsp; &nbsp; = '''Software development&nbsp;''' = '''&nbsp; &nbsp; &nbsp; &nbsp;Software Feature Supoort [[Status_Matrix|Status_Matrix]]''' *'''BSP''' **[[U-Boot|U-Boot]]&nbsp; **[[Rockchip_Kernel|Kernel]] **[[Atf|ARM Trusted&nbsp;Firmware]] **[[Distribution|Distro]] *'''Graphics and Multimedia&nbsp;user guide''' **[[Graphics|Graphics and display]] **[[Mpp|Multimedia--Video Codec]] **[[Rockchip-isp1|Multimedia--Camera]] *'''Tool and Firmware Upgrade''' **[[Rockusb|Rockusb]] **[[Upgradetool|Rockchip&nbsp;Upgrade Tool]] **[[AndroidTool|Android Tool]] **[[Rkdeveloptool|rkdeveloptool]] **[[Boot_option|Boot Option]] '''<span style="font-size:xx-large;">Feedback</span>''' Any question about software module on github, please ask&nbsp;at issue page of github project. If you have any other questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website, Email-to: opensource@rock-chips.com 58986d703a40bb0ed3c969a15dd26a48948f6d38 1981 1980 2018-07-13T03:29:21Z Admin 1 wikitext text/x-wiki &nbsp; <span style="font-size:xx-large;">'''[[Linux_SDK|Rockchip Linux SDK]]'''</span><span style="font-size:small;">(click to enter)</span> <span style="font-size:large;">Rockchip Linux SDK is an&nbsp;official Linux release.&nbsp; Please contact&nbsp;service@rock-chips.com if you need business support.&nbsp;This page is for open source community. Please go to [[Linux_SDK|here]]&nbsp;if you want to use&nbsp;Rockchip Linux SDK</span> *[[Download|<span style="font-size:large;">Firmware Download</span>]] **<span style="font-size:large;">Please go to [[Download|here]] if you want to download prebuilt Image for Rockchip Linux SDK</span> = '''Source code''' = Rockchip provide open source software on Github including fully support for Linux Based OS: *Github: [https://github.com/rockchip-linux rockchip-linux] You can also find software for Rockchip SoCs from Upstream: *[https://www.kernel.org/ Linux kernel] *[http://www.denx.de/wiki/U-Boot/WebHome U-Boot] *[https://github.com/ARM-software/arm-trusted-firmware ARM Trusted Firmware] *[https://github.com/OP-TEE/optee_os OP-TEE OS] If you are using a Chrombook with Rockchip SoC, you can use: *[https://chromium.googlesource.com/chromiumos/third_party/coreboot Chromium OS&nbsp;Coreboot] *[https://chromium.googlesource.com/chromiumos/third_party/kernel Chromium OS kernel] = '''Hardware Document''' = {| border="1" cellpadding="0" cellspacing="0" class="table_style" |- ! style="width:92px;" | <p style="text-align: center;">SoC</p> ! style="width:286px;" | <p style="text-align: center;">Description</p> ! style="width:189px;" | <p style="text-align: center;">Download</p> ! style="width:189px;" | <p style="text-align: center;">Boards</p> |- | style="width: 92px; text-align: center;" | [[RK3399|RK3399]] | style="width:286px;" | Dual-core Cortex-A72 Quad-core Cortex-A53 CPU MALI-T860 MP4 GPU | style="width:189px;" | [[Media:Rockchip_RK3399TRM_V1.4_Part1-20170408.pdf|TRM]] [[Media:Rockchip_RK3399_Datasheet_V1.8-20180529.pdf|Datasheet]] [[Media:Rk3399_hardware_reference.zip|Schematic&Layout Guide]] | style="width:189px;" | [[Firefly-RK3399|Firefly-RK3399]] [[Excavator_sapphire_board|Excavator]] [https://item.taobao.com/item.htm?spm=a1z10.5-c.w4002-8080654418.15.3f3c7130yr225K&id=563534665516 VS-RK3399] [http://www.aaeon.com/en/p/pico-itx-boards-rico-3399 Rico-rk3399] [http://www.orangepi.org/Orange%20Pi%20RK3399/ Orange Pi RK3399] |- | style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p> | style="width:286px;" | Quad-core Cortex-A17 CPU MALI-T760 MP4 GPU | style="width:189px;" | [[Media:Rockchip_RK3288_TRM_V1.2_Part1-20170321.pdf|TRM]] [[Media:Rockchip_RK3288_Datasheet_V2.4-20180530.pdf|Datasheet]] [[Media:Rk3288_hardware_reference.zip|Schematic&Layout Guide]] | style="width:189px;" | [[Firefly-RK3288|Firefly-RK3288]] RK3288-evb [https://www.asus.com/us/Single-Board-Computer/Tinker-Board/ Tinker] [http://www.aaeon.com/en/p/pico-itx-boards-rico-3288 Rico-3288] [https://mqmaker.com/miqi/ Miqi] [http://www.phytec.eu/product/system-on-modules/phycore-rk3288/ Phytec-rk3288] |- | style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p> | style="width:286px;" | Quad-core Cortex-A53 CPU MALI-450 MP2 GPU | style="width:189px;" | [[Media:Rockchip_RK3328TRM_V1.1-Part1-20170321.pdf|TRM]] [[Media:Rockchip_RK3328_Datasheet_V1.1-20170309.pdf|Datasheet]] [[Media:Rk3328_hardware_reference.zip|Schematic&Layout Guide]] | style="width:189px;" | [[ROC-RK3328-CC|ROC-RK3328-CC]] [https://www.pine64.org/?product=rock64-media-board-computer ROCK64] |} &nbsp; &nbsp; = '''Software development&nbsp;''' = '''&nbsp; &nbsp; &nbsp; &nbsp;Software Feature Supoort [[Status_Matrix|Status_Matrix]]''' *'''BSP''' **[[U-Boot|U-Boot]]&nbsp; **[[Rockchip_Kernel|Kernel]] **[[Atf|ARM Trusted&nbsp;Firmware]] **[[Distribution|Distro]] *'''Graphics and Multimedia&nbsp;user guide''' **[[Graphics|Graphics and display]] **[[Mpp|Multimedia--Video Codec]] **[[Rockchip-isp1|Multimedia--Camera]] *'''Tool and Firmware Upgrade''' **[[Rockusb|Rockusb]] **[[Upgradetool|Rockchip&nbsp;Upgrade Tool]] **[[AndroidTool|Android Tool]] **[[Rkdeveloptool|rkdeveloptool]] **[[Boot_option|Boot Option]] '''<span style="font-size:xx-large;">Feedback</span>''' Any question about software module on github, please ask&nbsp;at issue page of github project. If you have any other questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website, Email-to: opensource@rock-chips.com e2c4e2e9a68e6ac6e0c8fc9d8a006fbd94d48260 1982 1981 2018-07-13T03:34:01Z Admin 1 wikitext text/x-wiki &nbsp; <span style="font-size:xx-large;">'''[[Linux_SDK|Rockchip Linux SDK]]'''</span><span style="font-size:small;">(click to enter)</span> <span style="font-size:large;">Rockchip Linux SDK is an&nbsp;official Linux release.&nbsp; Please contact&nbsp;service@rock-chips.com if you need business support.&nbsp;This page is for open source community. Please go to [[Linux_SDK|here]]&nbsp;if you want to use&nbsp;Rockchip Linux SDK</span> *[[Download|<span style="font-size:large;">Firmware Download</span>]] **<span style="font-size:large;">Please go to [[Download|here]] if you want to download prebuilt Image for Rockchip Linux SDK</span> = '''Source code''' = Rockchip provide open source software on Github including fully support for Linux Based OS: *Github: [https://github.com/rockchip-linux rockchip-linux] You can also find software for Rockchip SoCs from Upstream: *[https://www.kernel.org/ Linux kernel] *[http://www.denx.de/wiki/U-Boot/WebHome U-Boot] *[https://github.com/ARM-software/arm-trusted-firmware ARM Trusted Firmware] *[https://github.com/OP-TEE/optee_os OP-TEE OS] If you are using a Chrombook with Rockchip SoC, you can use: *[https://chromium.googlesource.com/chromiumos/third_party/coreboot Chromium OS&nbsp;Coreboot] *[https://chromium.googlesource.com/chromiumos/third_party/kernel Chromium OS kernel] = '''Hardware Document''' = {| border="1" cellpadding="0" cellspacing="0" class="table_style" |- ! style="width:92px;" | <p style="text-align: center;">SoC</p> ! style="width:286px;" | <p style="text-align: center;">Description</p> ! style="width:189px;" | <p style="text-align: center;">Download</p> ! style="width:189px;" | <p style="text-align: center;">&nbsp;</p> |- | style="width: 92px; text-align: center;" | [[RK3399|RK3399]] | style="width:286px;" | Dual-core Cortex-A72 Quad-core Cortex-A53 CPU MALI-T860 MP4 GPU | style="width:189px;" | [[Media:Rockchip_RK3399TRM_V1.4_Part1-20170408.pdf|TRM]] [[Media:Rockchip_RK3399_Datasheet_V1.8-20180529.pdf|Datasheet]] [[Media:Rk3399_hardware_reference.zip|Schematic&Layout Guide]] |- | style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p> | style="width:286px;" | Quad-core Cortex-A17 CPU MALI-T760 MP4 GPU | style="width:189px;" | [[Media:Rockchip_RK3288_TRM_V1.2_Part1-20170321.pdf|TRM]] [[Media:Rockchip_RK3288_Datasheet_V2.4-20180530.pdf|Datasheet]] [[Media:Rk3288_hardware_reference.zip|Schematic&Layout Guide]] |- | style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p> | style="width:286px;" | Quad-core Cortex-A53 CPU MALI-450 MP2 GPU | style="width:189px;" | [[Media:Rockchip_RK3328TRM_V1.1-Part1-20170321.pdf|TRM]] [[Media:Rockchip_RK3328_Datasheet_V1.1-20170309.pdf|Datasheet]] [[Media:Rk3328_hardware_reference.zip|Schematic&Layout Guide]] |} &nbsp; &nbsp; = '''Software development&nbsp;''' = '''&nbsp; &nbsp; &nbsp; &nbsp;Software Feature Supoort [[Status_Matrix|Status_Matrix]]''' *'''BSP''' **[[U-Boot|U-Boot]]&nbsp; **[[Rockchip_Kernel|Kernel]] **[[Atf|ARM Trusted&nbsp;Firmware]] **[[Distribution|Distro]] *'''Graphics and Multimedia&nbsp;user guide''' **[[Graphics|Graphics and display]] **[[Mpp|Multimedia--Video Codec]] **[[Rockchip-isp1|Multimedia--Camera]] *'''Tool and Firmware Upgrade''' **[[Rockusb|Rockusb]] **[[Upgradetool|Rockchip&nbsp;Upgrade Tool]] **[[AndroidTool|Android Tool]] **[[Rkdeveloptool|rkdeveloptool]] **[[Boot_option|Boot Option]] '''<span style="font-size:xx-large;">Feedback</span>''' Any question about software module on github, please ask&nbsp;at issue page of github project. If you have any other questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website, Email-to: opensource@rock-chips.com d7ba93e92282a72deefc91eef99f9fbbb8264396 1983 1982 2018-07-13T03:34:36Z Admin 1 wikitext text/x-wiki &nbsp; <span style="font-size:xx-large;">'''[[Linux_SDK|Rockchip Linux SDK]]'''</span><span style="font-size:small;">(click to enter)</span> <span style="font-size:large;">Rockchip Linux SDK is an&nbsp;official Linux release.&nbsp; Please contact&nbsp;service@rock-chips.com if you need business support.&nbsp;This page is for open source community. Please go to [[Linux_SDK|here]]&nbsp;if you want to use&nbsp;Rockchip Linux SDK</span> *[[Download|<span style="font-size:large;">Firmware Download</span>]] **<span style="font-size:large;">Please go to [[Download|here]] if you want to download prebuilt Image for Rockchip Linux SDK</span> = '''Source code''' = Rockchip provide open source software on Github including fully support for Linux Based OS: *Github: [https://github.com/rockchip-linux rockchip-linux] You can also find software for Rockchip SoCs from Upstream: *[https://www.kernel.org/ Linux kernel] *[http://www.denx.de/wiki/U-Boot/WebHome U-Boot] *[https://github.com/ARM-software/arm-trusted-firmware ARM Trusted Firmware] *[https://github.com/OP-TEE/optee_os OP-TEE OS] If you are using a Chrombook with Rockchip SoC, you can use: *[https://chromium.googlesource.com/chromiumos/third_party/coreboot Chromium OS&nbsp;Coreboot] *[https://chromium.googlesource.com/chromiumos/third_party/kernel Chromium OS kernel] = '''Hardware Document''' = {| border="1" cellpadding="0" cellspacing="0" class="table_style" |- ! style="width:92px;" | <p style="text-align: center;">SoC</p> ! style="width:286px;" | <p style="text-align: center;">Description</p> ! style="width:189px;" | <p style="text-align: center;">Download</p> |- | style="width: 92px; text-align: center;" | [[RK3399|RK3399]] | style="width:286px;" | Dual-core Cortex-A72 Quad-core Cortex-A53 CPU MALI-T860 MP4 GPU | style="width:189px;" | [[Media:Rockchip_RK3399TRM_V1.4_Part1-20170408.pdf|TRM]] [[Media:Rockchip_RK3399_Datasheet_V1.8-20180529.pdf|Datasheet]] [[Media:Rk3399_hardware_reference.zip|Schematic&Layout Guide]] |- | style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p> | style="width:286px;" | Quad-core Cortex-A17 CPU MALI-T760 MP4 GPU | style="width:189px;" | [[Media:Rockchip_RK3288_TRM_V1.2_Part1-20170321.pdf|TRM]] [[Media:Rockchip_RK3288_Datasheet_V2.4-20180530.pdf|Datasheet]] [[Media:Rk3288_hardware_reference.zip|Schematic&Layout Guide]] |- | style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p> | style="width:286px;" | Quad-core Cortex-A53 CPU MALI-450 MP2 GPU | style="width:189px;" | [[Media:Rockchip_RK3328TRM_V1.1-Part1-20170321.pdf|TRM]] [[Media:Rockchip_RK3328_Datasheet_V1.1-20170309.pdf|Datasheet]] [[Media:Rk3328_hardware_reference.zip|Schematic&Layout Guide]] &nbsp; |} &nbsp; &nbsp; = '''Software development&nbsp;''' = '''&nbsp; &nbsp; &nbsp; &nbsp;Software Feature Supoort [[Status_Matrix|Status_Matrix]]''' *'''BSP''' **[[U-Boot|U-Boot]]&nbsp; **[[Rockchip_Kernel|Kernel]] **[[Atf|ARM Trusted&nbsp;Firmware]] **[[Distribution|Distro]] *'''Graphics and Multimedia&nbsp;user guide''' **[[Graphics|Graphics and display]] **[[Mpp|Multimedia--Video Codec]] **[[Rockchip-isp1|Multimedia--Camera]] *'''Tool and Firmware Upgrade''' **[[Rockusb|Rockusb]] **[[Upgradetool|Rockchip&nbsp;Upgrade Tool]] **[[AndroidTool|Android Tool]] **[[Rkdeveloptool|rkdeveloptool]] **[[Boot_option|Boot Option]] '''<span style="font-size:xx-large;">Feedback</span>''' Any question about software module on github, please ask&nbsp;at issue page of github project. If you have any other questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website, Email-to: opensource@rock-chips.com ab1e43cdb5935a967e332816270b48225935f4da 1985 1983 2018-07-13T03:39:07Z Admin 1 wikitext text/x-wiki &nbsp; <span style="font-size:xx-large;">'''[[Linux_SDK|Rockchip Linux SDK]]'''</span><span style="font-size:small;">(click to enter)</span> <span style="font-size:large;">Rockchip Linux SDK is an&nbsp;official Linux release.&nbsp; Please contact&nbsp;service@rock-chips.com if you need business support.&nbsp;This page is for open source community. Please go to [[Linux_SDK|here]]&nbsp;if you want to use&nbsp;Rockchip Linux SDK</span> *[[Download|<span style="font-size:large;">Firmware Download</span>]] **<span style="font-size:large;">Please go to [[Download|here]] if you want to download prebuilt Image for Rockchip Linux SDK</span> = '''Source code''' = Rockchip provide open source software on Github including fully support for Linux Based OS: *Github: [https://github.com/rockchip-linux rockchip-linux] You can also find software for Rockchip SoCs from Upstream: *[https://www.kernel.org/ Linux kernel] *[http://www.denx.de/wiki/U-Boot/WebHome U-Boot] *[https://github.com/ARM-software/arm-trusted-firmware ARM Trusted Firmware] *[https://github.com/OP-TEE/optee_os OP-TEE OS] If you are using a Chrombook with Rockchip SoC, you can use: *[https://chromium.googlesource.com/chromiumos/third_party/coreboot Chromium OS&nbsp;Coreboot] *[https://chromium.googlesource.com/chromiumos/third_party/kernel Chromium OS kernel] = '''Hardware Document''' = {| border="1" cellpadding="0" cellspacing="0" class="table_style" |- ! style="width:92px;" | <p style="text-align: center;">SoC</p> ! style="width:286px;" | <p style="text-align: center;">Description</p> ! style="width:189px;" | <p style="text-align: center;">Download</p> |- | style="width: 92px; text-align: center;" | [[RK3399|RK3399]] | style="width:286px;" | Dual-core Cortex-A72 Quad-core Cortex-A53 CPU MALI-T860 MP4 GPU | style="width:189px;" | [[Media:Rockchip_RK3399TRM_V1.4_Part1-20170408.pdf|TRM]] [[Media:Rockchip_RK3399_Datasheet_V1.8-20180529.pdf|Datasheet]] [[Media:Rk3399_hardware_reference.zip|Schematic&Layout Guide]] |- | style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p> | style="width:286px;" | Quad-core Cortex-A17 CPU MALI-T760 MP4 GPU | style="width:189px;" | [[Media:Rockchip_RK3288_TRM_V1.2_Part1-20170321.pdf|TRM]] [[Media:Rockchip_RK3288_Datasheet_V2.4-20180530.pdf|Datasheet]] [[Media:Rk3288_hardware_reference.zip|Schematic&Layout Guide]] |- | style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p> | style="width:286px;" | Quad-core Cortex-A53 CPU MALI-450 MP2 GPU | style="width:189px;" | [[Media:Rockchip_RK3328TRM_V1.1-Part1-20170321.pdf|TRM]] [[Media:Rockchip_RK3328_Datasheet_V1.1-20170309.pdf|Datasheet]] [[Media:Rk3328_hardware_reference.zip|Schematic&Layout Guide]] &nbsp; |} &nbsp; &nbsp; = '''Software development&nbsp;''' = *'''Software Feature Supoort status''' **'''[[Status_Matrix|Status_Matrix]]''' *'''BSP''' **[[U-Boot|U-Boot]]&nbsp; **[[Rockchip_Kernel|Kernel]] **[[Atf|ARM Trusted&nbsp;Firmware]] **[[Distribution|Distro]] *'''Graphics and Multimedia&nbsp;user guide''' **[[Graphics|Graphics and display]] **[[Mpp|Multimedia--Video Codec]] **[[Rockchip-isp1|Multimedia--Camera]] *'''Tool and Firmware Upgrade''' **[[Boot_option|Boot Option]] **[[Rockusb|Rockusb]] **[[Upgradetool|Rockchip&nbsp;Upgrade Tool]] **[[AndroidTool|Android Tool]] **[[Rkdeveloptool|rkdeveloptool]] '''<span style="font-size:xx-large;">Feedback</span>''' Any question about software module on github, please ask&nbsp;at issue page of github project. If you have any other questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website, Email-to: opensource@rock-chips.com 0561293c4ecc55030f1bf21994ab48ebad58fa1d 1986 1985 2018-07-13T03:43:36Z Admin 1 wikitext text/x-wiki &nbsp; <span style="font-size:xx-large;">'''[[Linux_SDK|Rockchip Linux SDK]]'''</span><span style="font-size:small;">(click to enter)</span> <span style="font-size:medium;">Rockchip Linux SDK is an&nbsp;official Linux release.&nbsp; Please contact&nbsp;service@rock-chips.com if you need business support.&nbsp;This page is for open source community. Please go to [[Linux_SDK|here]]&nbsp;if you want to use&nbsp;Rockchip Linux SDK</span> *[[Download|<span style="font-size:large;">Firmware Download</span>]] **<span style="font-size:medium;">Please go to [[Download|here]] if you want to download prebuilt Image for Rockchip Linux SDK</span> &nbsp; = '''Source code''' = Rockchip provide open source software on Github including fully support for Linux Based OS: *Github: [https://github.com/rockchip-linux rockchip-linux] You can also find software for Rockchip SoCs from Upstream: *[https://www.kernel.org/ Linux kernel] *[http://www.denx.de/wiki/U-Boot/WebHome U-Boot] *[https://github.com/ARM-software/arm-trusted-firmware ARM Trusted Firmware] *[https://github.com/OP-TEE/optee_os OP-TEE OS] If you are using a Chrombook with Rockchip SoC, you can use: *[https://chromium.googlesource.com/chromiumos/third_party/coreboot Chromium OS&nbsp;Coreboot] *[https://chromium.googlesource.com/chromiumos/third_party/kernel Chromium OS kernel] &nbsp; = '''Hardware Document''' = {| border="1" cellpadding="0" cellspacing="0" class="table_style" |- ! style="width:92px;" | <p style="text-align: center;">SoC</p> ! style="width:286px;" | <p style="text-align: center;">Description</p> ! style="width:189px;" | <p style="text-align: center;">Download</p> |- | style="width: 92px; text-align: center;" | [[RK3399|RK3399]] | style="width:286px;" | Dual-core Cortex-A72 Quad-core Cortex-A53 CPU MALI-T860 MP4 GPU | style="width:189px;" | [[Media:Rockchip_RK3399TRM_V1.4_Part1-20170408.pdf|TRM]] [[Media:Rockchip_RK3399_Datasheet_V1.8-20180529.pdf|Datasheet]] [[Media:Rk3399_hardware_reference.zip|Schematic&Layout Guide]] |- | style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p> | style="width:286px;" | Quad-core Cortex-A17 CPU MALI-T760 MP4 GPU | style="width:189px;" | [[Media:Rockchip_RK3288_TRM_V1.2_Part1-20170321.pdf|TRM]] [[Media:Rockchip_RK3288_Datasheet_V2.4-20180530.pdf|Datasheet]] [[Media:Rk3288_hardware_reference.zip|Schematic&Layout Guide]] |- | style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p> | style="width:286px;" | Quad-core Cortex-A53 CPU MALI-450 MP2 GPU | style="width:189px;" | [[Media:Rockchip_RK3328TRM_V1.1-Part1-20170321.pdf|TRM]] [[Media:Rockchip_RK3328_Datasheet_V1.1-20170309.pdf|Datasheet]] [[Media:Rk3328_hardware_reference.zip|Schematic&Layout Guide]] |} (please click to enter or download) &nbsp; &nbsp; = '''Software development&nbsp;''' = *'''Software Feature Supoort status''' **'''[[Status_Matrix|Status_Matrix]]''' *'''BSP''' **[[U-Boot|U-Boot]]&nbsp; **[[Rockchip_Kernel|Kernel]] **[[Atf|ARM Trusted&nbsp;Firmware]] **[[Distribution|Distro]] *'''Graphics and Multimedia&nbsp;user guide''' **[[Graphics|Graphics and display]] **[[Mpp|Multimedia--Video Codec]] **[[Rockchip-isp1|Multimedia--Camera]] *'''Tool and Firmware Upgrade''' **[[Boot_option|Boot Option]] **[[Rockusb|Rockusb]] **[[Upgradetool|Rockchip&nbsp;Upgrade Tool]] **[[AndroidTool|Android Tool]] **[[Rkdeveloptool|rkdeveloptool]] '''<span style="font-size:xx-large;">Feedback</span>''' Any question about software module on github, please ask&nbsp;at issue page of github project. If you have any other questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website, Email-to: opensource@rock-chips.com 96607d935de4b53ed00eab78c9de1ba0e4aa393b 1988 1986 2018-07-13T03:53:37Z Admin 1 wikitext text/x-wiki &nbsp; <span style="font-size:xx-large;">'''[[Linux_SDK|Rockchip Linux SDK]]'''</span><span style="font-size:small;">(click to enter)</span> <span style="font-size:medium;">Rockchip Linux SDK is an&nbsp;official Linux release.&nbsp; Please contact&nbsp;service@rock-chips.com if you need business support.&nbsp;This page is for open source community. Please go to [[Linux_SDK|here]]&nbsp;if you want to use&nbsp;Rockchip Linux SDK</span> *[[Download|<span style="font-size:large;">Firmware Download</span>]] **<span style="font-size:medium;">Please go to [[Download|here]] if you want to download prebuilt Image for Rockchip Linux SDK</span> &nbsp; = '''Source code''' = Rockchip provide open source software on Github including fully support for Linux Based OS: *Github: [https://github.com/rockchip-linux rockchip-linux] You can also find software for Rockchip SoCs from Upstream: *[https://www.kernel.org/ Linux kernel] *[http://www.denx.de/wiki/U-Boot/WebHome U-Boot] *[https://github.com/ARM-software/arm-trusted-firmware ARM Trusted Firmware] *[https://github.com/OP-TEE/optee_os OP-TEE OS] If you are using a Chrombook with Rockchip SoC, you can use: *[https://chromium.googlesource.com/chromiumos/third_party/coreboot Chromium OS&nbsp;Coreboot] *[https://chromium.googlesource.com/chromiumos/third_party/kernel Chromium OS kernel] &nbsp; = '''Hardware Support''' = Rockchip official hardware document release: {| border="1" cellpadding="0" cellspacing="0" class="table_style" |- ! style="width:92px;" | <p style="text-align: center;">SoC</p> ! style="width:286px;" | <p style="text-align: center;">Description</p> ! style="width:189px;" | <p style="text-align: center;">Download</p> |- | style="width: 92px; text-align: center;" | [[RK3399|RK3399]] | style="width:286px;" | Dual-core Cortex-A72 Quad-core Cortex-A53 CPU MALI-T860 MP4 GPU | style="width:189px;" | [[Media:Rockchip_RK3399TRM_V1.4_Part1-20170408.pdf|TRM]] [[Media:Rockchip_RK3399_Datasheet_V1.8-20180529.pdf|Datasheet]] [[Media:Rk3399_hardware_reference.zip|Schematic&Layout Guide]] |- | style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p> | style="width:286px;" | Quad-core Cortex-A17 CPU MALI-T760 MP4 GPU | style="width:189px;" | [[Media:Rockchip_RK3288_TRM_V1.2_Part1-20170321.pdf|TRM]] [[Media:Rockchip_RK3288_Datasheet_V2.4-20180530.pdf|Datasheet]] [[Media:Rk3288_hardware_reference.zip|Schematic&Layout Guide]] |- | style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p> | style="width:286px;" | Quad-core Cortex-A53 CPU MALI-450 MP2 GPU | style="width:189px;" | [[Media:Rockchip_RK3328TRM_V1.1-Part1-20170321.pdf|TRM]] [[Media:Rockchip_RK3328_Datasheet_V1.1-20170309.pdf|Datasheet]] [[Media:Rk3328_hardware_reference.zip|Schematic&Layout Guide]] |} (please click to enter soc detail or download) Hardware dev board on market: [[Devices|Device List]] &nbsp; = '''Software development&nbsp;''' = *'''Software Feature Supoort status''' **'''[[Status_Matrix|Status_Matrix]]''' *'''BSP''' **[[U-Boot|U-Boot]]&nbsp; **[[Rockchip_Kernel|Kernel]] **[[Atf|ARM Trusted&nbsp;Firmware]] **[[Distribution|Distro]] *'''Graphics and Multimedia&nbsp;user guide''' **[[Graphics|Graphics and display]] **[[Mpp|Multimedia--Video Codec]] **[[Rockchip-isp1|Multimedia--Camera]] *'''Tool and Firmware Upgrade''' **[[Boot_option|Boot Option]] **[[Rockusb|Rockusb]] **[[Upgradetool|Rockchip&nbsp;Upgrade Tool]] **[[AndroidTool|Android Tool]] **[[Rkdeveloptool|rkdeveloptool]] '''<span style="font-size:xx-large;">Feedback</span>''' Any question about software module on github, please ask&nbsp;at issue page of github project. If you have any other questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website, Email-to: opensource@rock-chips.com 2e71c049e3c4c829cac9a7ac6feddcf91ac87c6c 1989 1988 2018-07-13T03:54:39Z Admin 1 wikitext text/x-wiki &nbsp; <span style="font-size:xx-large;">'''[[Linux_SDK|Rockchip Linux SDK]]'''</span><span style="font-size:small;">(click to enter)</span> <span style="font-size:medium;">Rockchip Linux SDK is an&nbsp;official Linux release.&nbsp; Please contact&nbsp;service@rock-chips.com if you need business support.&nbsp;This page is for open source community. Please go to [[Linux_SDK|here]]&nbsp;if you want to use&nbsp;Rockchip Linux SDK</span> *[[Download|<span style="font-size:large;">Firmware Download</span>]] **<span style="font-size:medium;">Please go to [[Download|here]] if you want to download prebuilt Image for Rockchip Linux SDK</span> &nbsp; = '''Source code''' = Rockchip provide open source software on Github including fully support for Linux Based OS: *Github: [https://github.com/rockchip-linux rockchip-linux] You can also find software for Rockchip SoCs from Upstream: *[https://www.kernel.org/ Linux kernel] *[http://www.denx.de/wiki/U-Boot/WebHome U-Boot] *[https://github.com/ARM-software/arm-trusted-firmware ARM Trusted Firmware] *[https://github.com/OP-TEE/optee_os OP-TEE OS] If you are using a Chrombook with Rockchip SoC, you can use: *[https://chromium.googlesource.com/chromiumos/third_party/coreboot Chromium OS&nbsp;Coreboot] *[https://chromium.googlesource.com/chromiumos/third_party/kernel Chromium OS kernel] &nbsp; = '''Hardware Support''' = Rockchip official hardware document release(please click to enter soc detail or download): {| border="1" cellpadding="0" cellspacing="0" class="table_style" |- ! style="width:92px;" | <p style="text-align: center;">SoC</p> ! style="width:286px;" | <p style="text-align: center;">Description</p> ! style="width:189px;" | <p style="text-align: center;">Download</p> |- | style="width: 92px; text-align: center;" | [[RK3399|RK3399]] | style="width:286px;" | Dual-core Cortex-A72 Quad-core Cortex-A53 CPU MALI-T860 MP4 GPU | style="width:189px;" | [[Media:Rockchip_RK3399TRM_V1.4_Part1-20170408.pdf|TRM]] [[Media:Rockchip_RK3399_Datasheet_V1.8-20180529.pdf|Datasheet]] [[Media:Rk3399_hardware_reference.zip|Schematic&Layout Guide]] |- | style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p> | style="width:286px;" | Quad-core Cortex-A17 CPU MALI-T760 MP4 GPU | style="width:189px;" | [[Media:Rockchip_RK3288_TRM_V1.2_Part1-20170321.pdf|TRM]] [[Media:Rockchip_RK3288_Datasheet_V2.4-20180530.pdf|Datasheet]] [[Media:Rk3288_hardware_reference.zip|Schematic&Layout Guide]] |- | style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p> | style="width:286px;" | Quad-core Cortex-A53 CPU MALI-450 MP2 GPU | style="width:189px;" | [[Media:Rockchip_RK3328TRM_V1.1-Part1-20170321.pdf|TRM]] [[Media:Rockchip_RK3328_Datasheet_V1.1-20170309.pdf|Datasheet]] [[Media:Rk3328_hardware_reference.zip|Schematic&Layout Guide]] |} &nbsp; <span style="font-size:medium;">'''Hardware dev board on market:'''</span> [[Devices|Device List]] &nbsp; = '''Software development&nbsp;''' = *'''Software Feature Supoort status''' **'''[[Status_Matrix|Status_Matrix]]''' *'''BSP''' **[[U-Boot|U-Boot]]&nbsp; **[[Rockchip_Kernel|Kernel]] **[[Atf|ARM Trusted&nbsp;Firmware]] **[[Distribution|Distro]] *'''Graphics and Multimedia&nbsp;user guide''' **[[Graphics|Graphics and display]] **[[Mpp|Multimedia--Video Codec]] **[[Rockchip-isp1|Multimedia--Camera]] *'''Tool and Firmware Upgrade''' **[[Boot_option|Boot Option]] **[[Rockusb|Rockusb]] **[[Upgradetool|Rockchip&nbsp;Upgrade Tool]] **[[AndroidTool|Android Tool]] **[[Rkdeveloptool|rkdeveloptool]] '''<span style="font-size:xx-large;">Feedback</span>''' Any question about software module on github, please ask&nbsp;at issue page of github project. If you have any other questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website, Email-to: opensource@rock-chips.com 33a865ba7122739b223bd66cc5d3fc2bae05ecc7 U-Boot 0 11 1927 1851 2018-05-11T06:23:25Z Admin 1 wikitext text/x-wiki U-Boot Guide == Contents == &nbsp;[[[hide]]]&nbsp; *[http://opensource.rock-chips.com/index.php?title=U-Boot&oldid=1551#Download_U-Boot 1Download U-Boot] **[http://opensource.rock-chips.com/index.php?title=U-Boot&oldid=1551#Upstream_U-Boot 1.1Upstream U-Boot] **[http://opensource.rock-chips.com/index.php?title=U-Boot&oldid=1551#Rockchip_U-Boot 1.2Rockchip U-Boot] *[http://opensource.rock-chips.com/index.php?title=U-Boot&oldid=1551#Supported_Devices 2Supported Devices] *[http://opensource.rock-chips.com/index.php?title=U-Boot&oldid=1551#Configure_U-Boot 3Configure U-Boot] *[http://opensource.rock-chips.com/index.php?title=U-Boot&oldid=1551#Build_U-Boot 4Build U-Boot] **[http://opensource.rock-chips.com/index.php?title=U-Boot&oldid=1551#Get_a_toolchain 4.1Get a toolchain] **[http://opensource.rock-chips.com/index.php?title=U-Boot&oldid=1551#Build 4.2Build] *[http://opensource.rock-chips.com/index.php?title=U-Boot&oldid=1551#Install_U-Boot 5Install U-Boot] **[http://opensource.rock-chips.com/index.php?title=U-Boot&oldid=1551#Using_U-Boot_SPL 5.1Using U-Boot SPL] **[http://opensource.rock-chips.com/index.php?title=U-Boot&oldid=1551#Support_ATF_with_SPL_FIT_image 5.2Support ATF with SPL FIT image] **[http://opensource.rock-chips.com/index.php?title=U-Boot&oldid=1551#Using_Rockchip_miniloader 5.3Using Rockchip miniloader] **[http://opensource.rock-chips.com/index.php?title=U-Boot&oldid=1551#Boot_up 5.4Boot up] *[http://opensource.rock-chips.com/index.php?title=U-Boot&oldid=1551#Boot_cmd 6Boot cmd] **[http://opensource.rock-chips.com/index.php?title=U-Boot&oldid=1551#Distro_boot 6.1Distro boot] **[http://opensource.rock-chips.com/index.php?title=U-Boot&oldid=1551#EFI_boot 6.2EFI boot] *[http://opensource.rock-chips.com/index.php?title=U-Boot&oldid=1551#Firmware_download_in_U-Boot 7Firmware download in U-Boot] **[http://opensource.rock-chips.com/index.php?title=U-Boot&oldid=1551#fastboot 7.1fastboot] **[http://opensource.rock-chips.com/index.php?title=U-Boot&oldid=1551#ums 7.2ums] **[http://opensource.rock-chips.com/index.php?title=U-Boot&oldid=1551#rockusb 7.3rockusb] = Download U-Boot = == Upstream U-Boot == You can clone the u-boot repository by running: <pre>git clone git://git.denx.de/u-boot.git</pre> Alternatively you can use u-boot-rockchip instead which may with some patches not get in mainline: <pre>git clone git://git.denx.de/u-boot-rockchip.git</pre> &nbsp; == Rockchip U-Boot == You can clone the u-boot repository by running: <pre>git clone https://github.com/rockchip-linux/u-boot.git </pre> = Supported Devices = Upstream U-Boot support Rockchip SoCs: RK3036, RK3188,&nbsp;[http://opensource.rock-chips.com/wiki_RK3288 RK3288],&nbsp;[http://opensource.rock-chips.com/wiki_RK3328 RK3328],&nbsp;[http://opensource.rock-chips.com/wiki_RK3399 RK3399] &nbsp; *RK3036 boards supported: #EVB RK3036 - use evb-rk3036 configuration #Kylin - use kylin_rk3036 configuration *RK3288 boards supported: #EVB RK3288 - use evb-rk3288 configuration #Fennec RK3288 - use fennec-rk3288 configuration #Firefly RK3288 - use firefly-rk3288 configuration #Hisense Chromebook - use chromebook_jerry configuration #Miniarm RK3288 - use miniarm-rk3288 configuration #PopMetal RK3288 - use popmetal-rk3288 configuration #Radxa Rock 2 - use rock2 configuration #ASUS Tinker *RK3188 boards&nbsp;supported: #Radxa Rock - use rock&nbsp;configuration *RK3328 boards&nbsp;supported: #EVB RK3328 - use evb-rk3328 configuration *RK3399 boards&nbsp;supported: #EVB RK3399 - use evb-rk3399 configuration &nbsp; &nbsp; = Configure U-Boot = First you need to choose a correct defconfig for your board; When you have determined what <board_name> you want to build, configure: <pre>make CROSS_COMPILE=arm-linux-gnueabi-&nbsp;<board_name>_defconfig</pre> You may need to change the U-Boot function/feature support by modify the defconfig file or, there is also menuconfig to play with settings if you feel like it: <pre>make CROSS_COMPILE=arm-linux-gnueabi- menuconfig</pre> &nbsp; &nbsp; = Build U-Boot = == Get a toolchain == If you haven't done so before, get a suitable&nbsp;toolchain&nbsp;installed and add it&nbsp;to your PATH. In Ubuntu 14.04, you can use below command to install cross compiler for armv7: <pre>sudo apt-get install gcc-arm-linux-gnueabi</pre> Or for ARM64 <pre>sudo apt-get install gcc-aarch64-linux-gnu </pre> &nbsp; &nbsp; == Build == For armv7: <pre>make CROSS_COMPILE=arm-linux-gnueabi-</pre> or for ARM64: <pre>make ARCH=arm CROSS_COMPILE=aarch64-linux-gnu-</pre> In order to support debug in ARM DS-5, you may need add ctags in make command: <pre>CFLAGS='-gdwarf-3'</pre> For trust support, we are using FIT image with 'mkimage' cmd in Makefile and its script defined in defconfig: <pre>make u-boot.itb</pre> Note: please copy the trust binary() to u-boot root directory and rename it to tee.bin(armv7) or bl31.elf(armv8). The u-boot.itb including u-boot-nodtb.bin, board.dtb, and trust binaries. = Install U-Boot = Rockchip SoCs's bootrom need special format named IDBlock at special offset 0x40&nbsp;block for boot, so we need to package&nbsp;SPL(or Rockchip miniloader) &nbsp;in IDB format. Rockchip bootrom supports SPL back to bootrom and bootrom load the U-Boot, so the SPL for Rockchip SoCs can option to back to bootrom, usually decided by if the IRAM is enough&nbsp;for driver to load U-Boot. &nbsp; &nbsp; == Using U-Boot SPL == After build&nbsp;complete, U-Boot with SPL support will generate a spl folder with&nbsp;<var>u-boot-spl.bin</var>&nbsp;inside <pre>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl.bin rk3288_idb.img</pre> '''This image is supposed to flash to offset 0x40.''' For&nbsp;<var>u-boot.bin</var>, it's different for SPL back to bootrom or not, if enable&nbsp;CONFIG_ROCKCHIP_SPL_BACK_TO_BROM, we can append the U-Boot to IDB data: <pre>cat u-boot.bin >> rk3288_idb.img</pre> <code>If&nbsp;</code>CONFIG_ROCKCHIP_SPL_BACK_TO_BROM&nbsp;not enabled, no more package operation is need for u-boot-dtb.bin, and it need to flalsh to 0x200 which is decide by&nbsp;CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR. == Support ATF with SPL FIT image == &nbsp; &nbsp; == Using Rockchip miniloader == Alternatively, you can use Rockchip miniloader and U-Boot instead which do not need SPL. The miniloader is package as IDBlock, and the u-boot.bin need to package with rockchip tool: <pre>loaderimage --pack --uboot u-boot.bin uboot.img</pre> According to the&nbsp;[http://opensource.rock-chips.com/wiki_Partitions partitions]&nbsp;definition, the miniloader should write to offset 0x40 and &nbsp;this uboot.img should write to offset 0x4000. &nbsp; &nbsp; &nbsp; == Boot up == See&nbsp;[http://opensource.rock-chips.com/wiki_Boot_option boot option]&nbsp;about how to boot from eMMC/SD card. = Boot cmd = == Distro boot == == EFI boot == = Firmware download in U-Boot = In U-Boot, there are multi way to update image for system, you can chose any of one easy use for you. == fastboot == See&nbsp;[http://opensource.rock-chips.com/wiki_Fastboot fastboot] == ums == == rockusb == 216fc7cc53ad23f66eb973e529048d91cff56c0b Rockchip Kernel 0 104 1928 1876 2018-05-11T06:24:17Z Admin 1 wikitext text/x-wiki == Contents == &nbsp;[[[hide]]]&nbsp; *[http://opensource.rock-chips.com/index.php?title=Rockchip_Kernel&oldid=1742#Download_Kernel 1Download Kernel] *[http://opensource.rock-chips.com/index.php?title=Rockchip_Kernel&oldid=1742#Supported_SoCs_and_Devices 2Supported SoCs and Devices] *[http://opensource.rock-chips.com/index.php?title=Rockchip_Kernel&oldid=1742#Configure_and_Build 3Configure and Build] *[http://opensource.rock-chips.com/index.php?title=Rockchip_Kernel&oldid=1742#Install_Boot.2Fkernel 4Install Boot/kernel] **[http://opensource.rock-chips.com/index.php?title=Rockchip_Kernel&oldid=1742#Generate_ext2fs.C2.A0boot_partition 4.1Generate ext2fs&nbsp;boot partition] **[http://opensource.rock-chips.com/index.php?title=Rockchip_Kernel&oldid=1742#Generate_fatfs_boot_partition 4.2Generate fatfs boot partition] ***[http://opensource.rock-chips.com/index.php?title=Rockchip_Kernel&oldid=1742#Generate_boot.img_in_fatfs 4.2.1Generate boot.img in fatfs] ***[http://opensource.rock-chips.com/index.php?title=Rockchip_Kernel&oldid=1742#Update_boot.img_via_U-Boot_in_target 4.2.2Update boot.img via U-Boot in target] **[http://opensource.rock-chips.com/index.php?title=Rockchip_Kernel&oldid=1742#Boot_from_U-Boot 4.3Boot from U-Boot] = Download Kernel = You can clone the rockchip kernel repository from github which is kernel 4.4 based: <pre>git clone https://github.com/rockchip-linux/kernel.git</pre> &nbsp; = Supported SoCs and Devices = Rockchip kernel 4.4 supports: RK3036, RK3066, RK312X, RK3188, RK322X,[http://opensource.rock-chips.com/wiki_RK3288 RK3288],&nbsp;[http://opensource.rock-chips.com/wiki_RK3328 RK3328], RK3368,&nbsp;[http://opensource.rock-chips.com/wiki_RK3399 RK3399] &nbsp; = Configure and Build = You will need to use rockchip_linux_defconfig for Linux OS For ARM v7 <pre>make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- rockchip_linux_defconfig make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- -j4 </pre> For ARM V8 <pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- -j4</pre> Then you can get Image/zImage and dtb file. &nbsp; &nbsp; &nbsp; &nbsp; = Install Boot/kernel = We use distro boot in U-Boot, so we need to make a boot partition for U-Boot with kernel image and dtb inside. <pre>mkdir boot cp arch/arm64/boot/dts/rockchip/rk3399-evb.dtb boot/rk3399.dtb cp arch/arm64/boot/Image boot/</pre> Add&nbsp;[http://opensource.rock-chips.com/images/6/60/Boot_extlinux.zip extlinux/extlinux.conf]&nbsp;for distro boot. <pre>mkdir boot/extlinux vi boot/extlinux/extlinux.conf</pre> &nbsp; <pre>label rockchip-kernel-4.4 kernel /Image fdt /rk3399.dtb append earlycon=uart8250,mmio32,0xff1a0000 root=PARTUUID=B921B045-1D rootwait rootfstype=ext4 init=/sbin/init</pre> For armv7 <pre>label rockchip-kernel-4.4 kernel /zImage fdt /rk3288.dtb append earlyprintk console=ttyS2,1500000n8 rw root=PARTUUID=69dad710-2c rootwait rootfstype=ext4 init=/sbin/init</pre> You need to change the base address of debug UART, root partition for your board. Pls reference to&nbsp;[http://opensource.rock-chips.com/wiki_Partitions rockchip Linux parttion definition]&nbsp;for rootfs partition and where boot to flash. After all these files prepare completely, we write the file to the boot partition &nbsp; == Generate ext2fs&nbsp;boot partition == by genext2fs: <pre>genext2fs -b 32768 -B $((32*1024*1024/32768)) -d boot/ -i 8192 -U boot_rk3399.img</pre> According to Rockchip partition definition, you need to flash this image to boot partiton which offset is 0x8000. &nbsp; == Generate fatfs boot partition == === Generate boot.img in fatfs === Below commands can generate a fatfs boot.img <pre>dd if=/dev/zero of=boot.img bs=1M count=32 sudo mkfs.fat boot.img mkdir tmp sudo mount boot.img tmp/ cp -r boot/* tmp/ umount tmp</pre> Done! Flash this boot.img to boot partition, which is offset 0x8000 in Rockchip partition definition. === Update boot.img via U-Boot in target === After flash and&nbsp;boot the U-Boot, write the gpt table from default partition table <pre>gpt write mmc 1 $partitions gpt verify mmc 1 $partitions</pre> connect target to PC and start the ums in command line: <pre>ums 0 mmc 1:6</pre> We should able to see a device connect to PC, formate and copy data into the partition(dev/sdb6 for example). <pre>sudo mkfs.fat /dev/sdb6 cp -r boot/* /media/machine/9F35-9565/ </pre> Done! &nbsp; &nbsp; == Boot from U-Boot == If you are using genext2fs to genarate the boot.img, you need write the gpt table in U-Boot command line: <pre>gpt write mmc 0 $partitions</pre> Then boot from eMMC or reset: <pre>boot</pre> If everything is OK, you should able to see the U-Boot log like this: <pre>switch to partitions #0, OK mmc0(part 0) is current device Scanning mmc 0:6... Found /extlinux/extlinux.conf Retrieving file: /extlinux/extlinux.conf 205 bytes read in 82 ms (2 KiB/s) 1: upstream-4.10 Retrieving file: /Image 13484040 bytes read in 1833 ms (7 MiB/s) append: earlycon=uart8250,mmio32,0xff1a0000 console=ttyS2,1500000n8 rw root=/dev/mmcblk0p7 rootwait rootfstype=ext4 init=/sbin/init Retrieving file: /rk3399.dtb 61714 bytes read in 54 ms (1.1 MiB/s) ## Flattened Device Tree blob at 01f00000 Booting using the fdt blob at 0x1f00000 Loading Device Tree to 000000007df14000, end 000000007df26111 ... OK Starting kernel ...</pre> f4257f39e1efb7c31d6e1cd31aac6a7aacb05c6f File:MPP 开发参考 v0.3.pdf 6 202 1935 2018-05-29T06:36:45Z Rkvideo 14 MPP development guide(CN) wikitext text/x-wiki MPP development guide(CN) de2692333f995243db0bafda78dd0bc900ba16b7 Recovery 0 203 1945 2018-06-19T08:28:19Z Admin 1 Created page with " &nbsp;" wikitext text/x-wiki &nbsp; 9012a5db0e48f472dc89e97fa239cc9970681b37 1948 1945 2018-06-19T08:43:48Z Admin 1 wikitext text/x-wiki We use buildroot to create recovery ramdisk. recovery image pack kernel, dtb, ramdisk into a Android boot image format. Please make sure you have built&nbsp;kernel first. Please refer to [[Rockchip_Kernel|build kernel]] page for how to build kernel. In your linux SDK root directory. Use beclow command to build recovery image <pre>./mk-recovery </pre> It will generate the recovery image&nbsp;in buildroot/out/{config name}/images directory. For example, when you using&nbsp;rockchip_rk3399_recovery. image will be in&nbsp;buildroot/output/rockchip_rk3399_recovery/images/ <pre>buildroot/output/rockchip_rk3399_recovery/images/ ├── recovery.img ├── rootfs.cpio └── rootfs.cpio.gz </pre> Please refer to&nbsp;[https://buildroot.org/downloads/manual/manual.html Buildroot user manual]&nbsp;for more detail about Buildroot 7b7451ce0bd580640f180d8ea29aee444fcb20a1 Status Matrix 0 154 1949 1899 2018-06-19T10:08:57Z Admin 1 wikitext text/x-wiki &nbsp; &nbsp; &nbsp; &nbsp; == Rockchip 4.4 Kernel Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! RK3399 ! RK3288 ! RK3328 |- | rowspan="2" style="text-align: left;" | ADC | style="text-align: left;" | SARADC | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | TSADC | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | Clocks | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | CPUFreq | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | Crypto | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | Mipi-CSI | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | N/A |- | colspan="2" style="text-align: left;" | ISP | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: rgb(255, 255, 255);" | N/A |- | colspan="2" style="text-align: left;" | DVP/CIF | style="background: rgb(255, 255, 255);" | N/A | style="background: orange;" | WIP | style="background: orange;" | WIP |- | rowspan="8" style="text-align: left;" | Display (DRM) | style="text-align: left;" | RGB | style="background: rgb(255, 255, 255);" | N/A | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | EDP | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | N/A |- | style="text-align: left;" | LVDS | style="background: rgb(255, 255, 255);" | &nbsp;N/A | style="background: lightgreen;" | SUPPORT | N/A |- | style="text-align: left;" | MIPI DSI | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | N/A |- | style="text-align: left;" | CVBS | N/A | N/A | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | VGA | N/A | N/A | N/A |- | style="text-align: left;" | HDMI | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | CEC | style="background: red;" | NO | style="background: red;" | NO | style="background: orange;" | WIP |- | colspan="2" style="text-align: left;" | DMA | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | DDR DVFS | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: red;" | NO |- | rowspan="2" style="text-align: left;" | Ethernet | style="text-align: left;" | GMAC | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | EMAC | N/A | N/A | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | I2S | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left" | I2C | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | MsgBox | N/A | N/A | N/A |- | colspan="2" style="text-align: left;" | Pinctrl | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | PWM | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | Power Domain | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | PCIE | style="background-color: lightgreen;" | SUPPORT | N/A | N/A |- | colspan="2" style="text-align: left;" | SD / SDIO / MMC | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | SPDIF | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | SPI | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | SUSPEND / RESUME | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | USB | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | USB OTG | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | TYPEC | style="background-color: lightgreen;" | SUPPORT | N/A | N/A |- | colspan="2" style="text-align: left;" | Watchdog | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | GPU | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | VPU | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | RGA | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | IEP | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |} &nbsp; &nbsp; &nbsp; &nbsp; == Mainline Kernel Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! RK3399 ! RK3288 ! RK3328 |- | rowspan="2" style="text-align: left;" | ADC | style="text-align: left;" | SARADC | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 |- | style="text-align: left;" | TSADC1 | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | Clocks | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | CPUFreq | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | Crypto | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | CSI/ISP | style="background: lightgreen;" | 4.14 | style="background: orange;" | WIP | N/A |- | colspan="2" style="text-align: left;" | CIF | style="background: orange;" | WIP | style="background: orange;" | WIP | style="background: orange;" | WIP |- | rowspan="8" style="text-align: left;" | Display (DRM) | style="text-align: left;" | RGB | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |- | style="text-align: left;" | EDP | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.4 | N/A |- | style="text-align: left;" | LVDS | style="background: red;" | NO | style="background: red;" | NO | N/A |- | style="text-align: left;" | MIPI DSI | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.4 | N/A |- | style="text-align: left;" | CVBS | N/A | N/A | style="background: darkgreen;" | INCOMPLETE |- | style="text-align: left;" | VGA | N/A | N/A | N/A |- | style="text-align: left;" | HDMI | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE |- | style="text-align: left;" | CEC | style="background: red;" | NO | style="background: red;" | NO | style="background: darkgreen;" | INCOMPLETE |- | colspan="2" style="text-align: left;" | DMA | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | DDR DVFS | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |- | rowspan="2" style="text-align: left;" | Ethernet | style="text-align: left;" | GMAC | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 |- | style="text-align: left;" | EMAC | N/A | N/A | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | I2S | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left" | I2C | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | MsgBox | N/A | N/A | N/A |- | colspan="2" style="text-align: left;" | Pinctrl | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | PWM | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | Power Domain | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | PCIE | style="background-color: lightgreen;" | 4.14 | N/A | N/A |- | colspan="2" style="text-align: left;" | SD / SDIO / MMC | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | SPDIF | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | SPI | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | SUSPEND / RESUME | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | USB | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | USB OTG | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | TYPEC | style="background-color: lightgreen;" | 4.14 | N/A | N/A |- | colspan="2" style="text-align: left;" | Watchdog | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | GPU | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |- | colspan="2" style="text-align: left;" | VPU | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |- | colspan="2" style="text-align: left;" | RGA | style="background: lightgreen;" | 4.15 | style="background: lightgreen;" | 4.15 | style="background: orange;" | WIP |- | colspan="2" style="text-align: left;" | IEP | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |} &nbsp; &nbsp; &nbsp; &nbsp; == Linux SDK CHIP Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! RK3399 ! RK3288 ! RK3328 |- | colspan="2" style="text-align: left;" | Debian | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | Buildroot | style="background-color: lightgreen;" | SUPPORT | style="background-color: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | rowspan="5" style="text-align: left;" | Decode | style="text-align: left;" | H264 | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | H265 | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | VP8 | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | VP9 | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | JPEG | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | rowspan="3" style="text-align: left;" | Encode | style="text-align: left;" | H264 | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | H265 | style="background-color: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background-color: lightgreen;" | SUPPORT |- | style="text-align: left;" | JPEG | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | ISP(3A) | style="background: orange;" | WIP | style="background-color: orange;" | WIP | style="background: white;" | N/A |} <br/> &nbsp; == Linux&nbsp;Funciton Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! Status |- | rowspan="5" style="text-align: left;" | Gstreamer | style="text-align: left;" | Display | style="background: lightgreen;" | kmssink(qt eglfs),rkximagesink(x11), waylandsink(wayland) |- | style="text-align: left;" | Decode&nbsp; | style="background: lightgreen;" | h264, h265, vp8, vp9, jpeg |- | style="text-align: left;" | Encode | style="background: lightgreen;" | h264 |- | style="text-align: left;" | Camera | style="background: orange;" | Without 3A |- | style="text-align: left;" | Transform | style="background: orange;" | WIP |- | rowspan="2" style="text-align: left;" | GPU | style="text-align: left;" | GLES | style="background: lightgreen;" | libmali |- | style="text-align: left;" | OPENCL | style="background: lightgreen;" | libmali |- | colspan="2" rowspan="1" style="text-align: left;" | QT | style="background: lightgreen;" | QT 5.x |- | colspan="2" style="text-align: left;" | Browser(HTML5 Accelerate) | style="background: orange;" | WIP |- | colspan="2" style="text-align: left;" | IOT(Third part Could Service) | style="background: orange;" | WIP |- | colspan="2" style="text-align: left;" | FFmpeg | style="background: yellow;" | Community |- | colspan="2" style="text-align: left;" | MPV | style="background: yellow;" | Community |- | colspan="2" style="text-align: left;" | KODI | style="background: yellow;" | Community |} f9a8607ce02d0e7664d254d292522db65b811674 1950 1949 2018-06-22T09:32:28Z Kever 2 wikitext text/x-wiki &nbsp; &nbsp; &nbsp; &nbsp; == Rockchip 4.4 Kernel Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! RK3399 ! RK3288 ! RK3328 |- | rowspan="2" style="text-align: left;" | ADC | style="text-align: left;" | SARADC | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | TSADC | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | Clocks | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | CPUFreq | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | Crypto | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | Mipi-CSI | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | N/A |- | colspan="2" style="text-align: left;" | ISP | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: rgb(255, 255, 255);" | N/A |- | colspan="2" style="text-align: left;" | DVP/CIF | style="background: rgb(255, 255, 255);" | N/A | style="background: orange;" | WIP | style="background: orange;" | WIP |- | rowspan="8" style="text-align: left;" | Display (DRM) | style="text-align: left;" | RGB | style="background: rgb(255, 255, 255);" | N/A | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | EDP | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | N/A |- | style="text-align: left;" | LVDS | style="background: rgb(255, 255, 255);" | &nbsp;N/A | style="background: lightgreen;" | SUPPORT | N/A |- | style="text-align: left;" | MIPI DSI | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | N/A |- | style="text-align: left;" | CVBS | N/A | N/A | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | VGA | N/A | N/A | N/A |- | style="text-align: left;" | HDMI | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | CEC | style="background: red;" | NO | style="background: red;" | NO | style="background: orange;" | WIP |- | colspan="2" style="text-align: left;" | DMA | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | DDR DVFS | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: red;" | NO |- | rowspan="2" style="text-align: left;" | Ethernet | style="text-align: left;" | GMAC | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | EMAC | N/A | N/A | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | I2S | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left" | I2C | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | MsgBox | N/A | N/A | N/A |- | colspan="2" style="text-align: left;" | Pinctrl | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | PWM | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | Power Domain | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | PCIE | style="background-color: lightgreen;" | SUPPORT | N/A | N/A |- | colspan="2" style="text-align: left;" | SD / SDIO / MMC | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | SPDIF | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | SPI | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | SUSPEND / RESUME | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | USB | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | USB OTG | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | TYPEC | style="background-color: lightgreen;" | SUPPORT | N/A | N/A |- | colspan="2" style="text-align: left;" | Watchdog | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | GPU | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | VPU | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | RGA | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | IEP | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |} &nbsp; &nbsp; &nbsp; &nbsp; == Mainline Kernel Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! RK3399 ! RK3288 ! RK3328 |- | rowspan="2" style="text-align: left;" | ADC | style="text-align: left;" | SARADC | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 |- | style="text-align: left;" | TSADC1 | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | Clocks | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | CPUFreq | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | Crypto | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | CSI/ISP | style="background: lightgreen;" | 4.14 | style="background: orange;" | WIP | N/A |- | colspan="2" style="text-align: left;" | CIF | style="background: orange;" | WIP | style="background: orange;" | WIP | style="background: orange;" | WIP |- | rowspan="8" style="text-align: left;" | Display (DRM) | style="text-align: left;" | RGB | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |- | style="text-align: left;" | EDP | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.4 | N/A |- | style="text-align: left;" | LVDS | style="background: red;" | NO | style="background: red;" | NO | N/A |- | style="text-align: left;" | MIPI DSI | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.4 | N/A |- | style="text-align: left;" | CVBS | N/A | N/A | style="background: darkgreen;" | INCOMPLETE |- | style="text-align: left;" | VGA | N/A | N/A | N/A |- | style="text-align: left;" | HDMI | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE |- | style="text-align: left;" | CEC | style="background: red;" | NO | style="background: red;" | NO | style="background: darkgreen;" | INCOMPLETE |- | colspan="2" style="text-align: left;" | DMA | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | DDR DVFS | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |- | rowspan="2" style="text-align: left;" | Ethernet | style="text-align: left;" | GMAC | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 |- | style="text-align: left;" | EMAC | N/A | N/A | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | I2S | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left" | I2C | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | MsgBox | N/A | N/A | N/A |- | colspan="2" style="text-align: left;" | Pinctrl | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | PWM | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | Power Domain | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | PCIE | style="background-color: lightgreen;" | 4.14 | N/A | N/A |- | colspan="2" style="text-align: left;" | SD / SDIO / MMC | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | SPDIF | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | SPI | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | SUSPEND / RESUME | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | USB | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | USB OTG | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | TYPEC | style="background-color: lightgreen;" | 4.14 | N/A | N/A |- | colspan="2" style="text-align: left;" | Watchdog | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | GPU | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |- | colspan="2" style="text-align: left;" | VPU | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |- | colspan="2" style="text-align: left;" | RGA | style="background: lightgreen;" | 4.15 | style="background: lightgreen;" | 4.15 | style="background: orange;" | WIP |- | colspan="2" style="text-align: left;" | IEP | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |} &nbsp; &nbsp; &nbsp; &nbsp; == Linux SDK CHIP Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! RK3399 ! RK3288 ! RK3328 |- | colspan="2" style="text-align: left;" | Debian | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | Buildroot | style="background-color: lightgreen;" | SUPPORT | style="background-color: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | rowspan="5" style="text-align: left;" | Decode | style="text-align: left;" | H264 | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | H265 | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | VP8 | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | VP9 | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | JPEG | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | rowspan="3" style="text-align: left;" | Encode | style="text-align: left;" | H264 | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | H265 | style="background-color: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background-color: lightgreen;" | SUPPORT |- | style="text-align: left;" | JPEG | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | ISP(3A) | style="background: orange;" | WIP | style="background-color: orange;" | WIP | style="background: white;" | N/A |} <br/> &nbsp; == Linux&nbsp;Function Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! Status |- | rowspan="5" style="text-align: left;" | Gstreamer | style="text-align: left;" | Display | style="background: lightgreen;" | kmssink(qt eglfs),rkximagesink(x11), waylandsink(wayland) |- | style="text-align: left;" | Decode&nbsp; | style="background: lightgreen;" | h264, h265, vp8, vp9, jpeg |- | style="text-align: left;" | Encode | style="background: lightgreen;" | h264 |- | style="text-align: left;" | Camera | style="background: orange;" | Without 3A |- | style="text-align: left;" | Transform | style="background: orange;" | WIP |- | rowspan="2" style="text-align: left;" | GPU | style="text-align: left;" | GLES | style="background: lightgreen;" | libmali |- | style="text-align: left;" | OPENCL | style="background: lightgreen;" | libmali |- | colspan="2" rowspan="1" style="text-align: left;" | QT | style="background: lightgreen;" | QT 5.x |- | colspan="2" style="text-align: left;" | Browser(HTML5 Accelerate) | style="background: orange;" | WIP |- | colspan="2" style="text-align: left;" | IOT(Third part Could Service) | style="background: orange;" | WIP |- | colspan="2" style="text-align: left;" | FFmpeg | style="background: yellow;" | Community |- | colspan="2" style="text-align: left;" | MPV | style="background: yellow;" | Community |- | colspan="2" style="text-align: left;" | KODI | style="background: yellow;" | Community |} 8309872a829ec4877f19467784d06011d1566443 2002 1950 2018-07-13T06:10:28Z Admin 1 wikitext text/x-wiki &nbsp; &nbsp; &nbsp; &nbsp; == Rockchip 4.4 Kernel Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! RK3399 ! RK3288 ! RK3328 |- | rowspan="2" style="text-align: left;" | ADC | style="text-align: left;" | SARADC | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | TSADC | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | Clocks | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | CPUFreq | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | Crypto | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | Mipi-CSI | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | N/A |- | colspan="2" style="text-align: left;" | ISP | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: rgb(255, 255, 255);" | N/A |- | colspan="2" style="text-align: left;" | DVP/CIF | style="background: rgb(255, 255, 255);" | N/A | style="background: orange;" | WIP | style="background: orange;" | WIP |- | rowspan="8" style="text-align: left;" | Display (DRM) | style="text-align: left;" | RGB | style="background: rgb(255, 255, 255);" | N/A | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | EDP | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | N/A |- | style="text-align: left;" | LVDS | style="background: rgb(255, 255, 255);" | &nbsp;N/A | style="background: lightgreen;" | SUPPORT | N/A |- | style="text-align: left;" | MIPI DSI | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | N/A |- | style="text-align: left;" | CVBS | N/A | N/A | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | VGA | N/A | N/A | N/A |- | style="text-align: left;" | HDMI | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | CEC | style="background: red;" | NO | style="background: red;" | NO | style="background: orange;" | WIP |- | colspan="2" style="text-align: left;" | DMA | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | DDR DVFS | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: red;" | NO |- | rowspan="2" style="text-align: left;" | Ethernet | style="text-align: left;" | GMAC | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | EMAC | N/A | N/A | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | I2S | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left" | I2C | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | MsgBox | N/A | N/A | N/A |- | colspan="2" style="text-align: left;" | Pinctrl | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | PWM | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | Power Domain | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | PCIE | style="background-color: lightgreen;" | SUPPORT | N/A | N/A |- | colspan="2" style="text-align: left;" | SD / SDIO / MMC | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | SPDIF | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | SPI | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | SUSPEND / RESUME | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | USB | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | USB OTG | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | TYPEC | style="background-color: lightgreen;" | SUPPORT | N/A | N/A |- | colspan="2" style="text-align: left;" | Watchdog | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | GPU | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | VPU | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | RGA | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | IEP | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |} &nbsp; &nbsp; &nbsp; &nbsp; == Mainline Kernel Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! RK3399 ! RK3288 ! RK3328 |- | rowspan="2" style="text-align: left;" | ADC | style="text-align: left;" | SARADC | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 |- | style="text-align: left;" | TSADC1 | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | Clocks | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | CPUFreq | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | Crypto | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | CSI/ISP | style="background: lightgreen;" | 4.14 | style="background: orange;" | WIP | N/A |- | colspan="2" style="text-align: left;" | CIF | style="background: orange;" | WIP | style="background: orange;" | WIP | style="background: orange;" | WIP |- | rowspan="8" style="text-align: left;" | Display (DRM) | style="text-align: left;" | RGB | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |- | style="text-align: left;" | EDP | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.4 | N/A |- | style="text-align: left;" | LVDS | style="background: red;" | NO | style="background: red;" | NO | N/A |- | style="text-align: left;" | MIPI DSI | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.4 | N/A |- | style="text-align: left;" | CVBS | N/A | N/A | style="background: darkgreen;" | INCOMPLETE |- | style="text-align: left;" | VGA | N/A | N/A | N/A |- | style="text-align: left;" | HDMI | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE |- | style="text-align: left;" | CEC | style="background: red;" | NO | style="background: red;" | NO | style="background: darkgreen;" | INCOMPLETE |- | colspan="2" style="text-align: left;" | DMA | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | DDR DVFS | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |- | rowspan="2" style="text-align: left;" | Ethernet | style="text-align: left;" | GMAC | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 |- | style="text-align: left;" | EMAC | N/A | N/A | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | I2S | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left" | I2C | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | MsgBox | N/A | N/A | N/A |- | colspan="2" style="text-align: left;" | Pinctrl | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | PWM | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | Power Domain | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | PCIE | style="background-color: lightgreen;" | 4.14 | N/A | N/A |- | colspan="2" style="text-align: left;" | SD / SDIO / MMC | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | SPDIF | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | SPI | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | SUSPEND / RESUME | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | USB | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | USB OTG | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | TYPEC | style="background-color: lightgreen;" | 4.14 | N/A | N/A |- | colspan="2" style="text-align: left;" | Watchdog | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | GPU | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |- | colspan="2" style="text-align: left;" | VPU | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |- | colspan="2" style="text-align: left;" | RGA | style="background: lightgreen;" | 4.15 | style="background: lightgreen;" | 4.15 | style="background: orange;" | WIP |- | colspan="2" style="text-align: left;" | IEP | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |} &nbsp; &nbsp; &nbsp; &nbsp; == Linux SDK CHIP Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! RK3399 ! RK3288 ! RK3328 |- | colspan="2" style="text-align: left;" | Debian | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | Buildroot | style="background-color: lightgreen;" | SUPPORT | style="background-color: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | rowspan="5" style="text-align: left;" | Decode | style="text-align: left;" | H264 | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | H265 | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | VP8 | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | VP9 | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | JPEG | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | rowspan="3" style="text-align: left;" | Encode | style="text-align: left;" | H264 | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | H265 | style="background-color: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background-color: lightgreen;" | SUPPORT |- | style="text-align: left;" | JPEG | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | ISP(3A) | style="background: lightgreen;" | SUPPORT | style="background-color: lightgreen;" | SUPPORT | style="background: white;" | N/A |} <br/> &nbsp; == Linux&nbsp;Function Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! Status |- | rowspan="5" style="text-align: left;" | Gstreamer | style="text-align: left;" | Display | style="background: lightgreen;" | kmssink(qt eglfs),rkximagesink(x11), waylandsink(wayland) |- | style="text-align: left;" | Decode&nbsp; | style="background: lightgreen;" | h264, h265, vp8, vp9, jpeg |- | style="text-align: left;" | Encode | style="background: lightgreen;" | h264 |- | style="text-align: left;" | Camera | style="background: orange;" | Without 3A |- | style="text-align: left;" | Transform | style="background: orange;" | WIP |- | rowspan="2" style="text-align: left;" | GPU | style="text-align: left;" | GLES | style="background: lightgreen;" | libmali |- | style="text-align: left;" | OPENCL | style="background: lightgreen;" | libmali |- | colspan="2" rowspan="1" style="text-align: left;" | QT | style="background: lightgreen;" | QT 5.x |- | colspan="2" style="text-align: left;" | Browser(HTML5 Accelerate) | style="background: orange;" | WIP |- | colspan="2" style="text-align: left;" | IOT(Third part Could Service) | style="background: orange;" | WIP |- | colspan="2" style="text-align: left;" | FFmpeg | style="background: yellow;" | Community |- | colspan="2" style="text-align: left;" | MPV | style="background: yellow;" | Community |- | colspan="2" style="text-align: left;" | KODI | style="background: yellow;" | Community |} 7a69ab20e42888f1d66c207398ad3b5bdffcebf2 2003 2002 2018-07-13T06:11:19Z Admin 1 wikitext text/x-wiki &nbsp; &nbsp; &nbsp; &nbsp; == Rockchip 4.4 Kernel Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! RK3399 ! RK3288 ! RK3328 |- | rowspan="2" style="text-align: left;" | ADC | style="text-align: left;" | SARADC | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | TSADC | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | Clocks | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | CPUFreq | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | Crypto | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | Mipi-CSI | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | N/A |- | colspan="2" style="text-align: left;" | ISP | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: rgb(255, 255, 255);" | N/A |- | colspan="2" style="text-align: left;" | DVP/CIF | style="background: rgb(255, 255, 255);" | N/A | style="background: lightgreen;" | SUPPORT | style="background: orange;" | WIP |- | rowspan="8" style="text-align: left;" | Display (DRM) | style="text-align: left;" | RGB | style="background: rgb(255, 255, 255);" | N/A | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | EDP | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | N/A |- | style="text-align: left;" | LVDS | style="background: rgb(255, 255, 255);" | &nbsp;N/A | style="background: lightgreen;" | SUPPORT | N/A |- | style="text-align: left;" | MIPI DSI | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | N/A |- | style="text-align: left;" | CVBS | N/A | N/A | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | VGA | N/A | N/A | N/A |- | style="text-align: left;" | HDMI | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | CEC | style="background: red;" | NO | style="background: red;" | NO | style="background: orange;" | WIP |- | colspan="2" style="text-align: left;" | DMA | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | DDR DVFS | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: red;" | NO |- | rowspan="2" style="text-align: left;" | Ethernet | style="text-align: left;" | GMAC | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | EMAC | N/A | N/A | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | I2S | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left" | I2C | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | MsgBox | N/A | N/A | N/A |- | colspan="2" style="text-align: left;" | Pinctrl | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | PWM | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | Power Domain | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | PCIE | style="background-color: lightgreen;" | SUPPORT | N/A | N/A |- | colspan="2" style="text-align: left;" | SD / SDIO / MMC | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | SPDIF | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | SPI | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | SUSPEND / RESUME | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | USB | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | USB OTG | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | TYPEC | style="background-color: lightgreen;" | SUPPORT | N/A | N/A |- | colspan="2" style="text-align: left;" | Watchdog | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | GPU | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | VPU | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | RGA | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | IEP | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |} &nbsp; &nbsp; &nbsp; &nbsp; == Mainline Kernel Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! RK3399 ! RK3288 ! RK3328 |- | rowspan="2" style="text-align: left;" | ADC | style="text-align: left;" | SARADC | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 |- | style="text-align: left;" | TSADC1 | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | Clocks | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | CPUFreq | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | Crypto | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | CSI/ISP | style="background: lightgreen;" | 4.14 | style="background: orange;" | WIP | N/A |- | colspan="2" style="text-align: left;" | CIF | style="background: orange;" | WIP | style="background: orange;" | WIP | style="background: orange;" | WIP |- | rowspan="8" style="text-align: left;" | Display (DRM) | style="text-align: left;" | RGB | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |- | style="text-align: left;" | EDP | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.4 | N/A |- | style="text-align: left;" | LVDS | style="background: red;" | NO | style="background: red;" | NO | N/A |- | style="text-align: left;" | MIPI DSI | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.4 | N/A |- | style="text-align: left;" | CVBS | N/A | N/A | style="background: darkgreen;" | INCOMPLETE |- | style="text-align: left;" | VGA | N/A | N/A | N/A |- | style="text-align: left;" | HDMI | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE |- | style="text-align: left;" | CEC | style="background: red;" | NO | style="background: red;" | NO | style="background: darkgreen;" | INCOMPLETE |- | colspan="2" style="text-align: left;" | DMA | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | DDR DVFS | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |- | rowspan="2" style="text-align: left;" | Ethernet | style="text-align: left;" | GMAC | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 |- | style="text-align: left;" | EMAC | N/A | N/A | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | I2S | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left" | I2C | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | MsgBox | N/A | N/A | N/A |- | colspan="2" style="text-align: left;" | Pinctrl | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | PWM | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | Power Domain | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | PCIE | style="background-color: lightgreen;" | 4.14 | N/A | N/A |- | colspan="2" style="text-align: left;" | SD / SDIO / MMC | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | SPDIF | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | SPI | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | SUSPEND / RESUME | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | USB | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | USB OTG | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | TYPEC | style="background-color: lightgreen;" | 4.14 | N/A | N/A |- | colspan="2" style="text-align: left;" | Watchdog | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | GPU | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |- | colspan="2" style="text-align: left;" | VPU | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |- | colspan="2" style="text-align: left;" | RGA | style="background: lightgreen;" | 4.15 | style="background: lightgreen;" | 4.15 | style="background: orange;" | WIP |- | colspan="2" style="text-align: left;" | IEP | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |} &nbsp; &nbsp; &nbsp; &nbsp; == Linux SDK CHIP Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! RK3399 ! RK3288 ! RK3328 |- | colspan="2" style="text-align: left;" | Debian | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | Buildroot | style="background-color: lightgreen;" | SUPPORT | style="background-color: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | rowspan="5" style="text-align: left;" | Decode | style="text-align: left;" | H264 | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | H265 | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | VP8 | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | VP9 | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | JPEG | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | rowspan="3" style="text-align: left;" | Encode | style="text-align: left;" | H264 | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | H265 | style="background-color: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background-color: lightgreen;" | SUPPORT |- | style="text-align: left;" | JPEG | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | ISP(3A) | style="background: lightgreen;" | SUPPORT | style="background-color: lightgreen;" | SUPPORT | style="background: white;" | N/A |} <br/> &nbsp; == Linux&nbsp;Function Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! Status |- | rowspan="5" style="text-align: left;" | Gstreamer | style="text-align: left;" | Display | style="background: lightgreen;" | kmssink(qt eglfs),rkximagesink(x11), waylandsink(wayland) |- | style="text-align: left;" | Decode&nbsp; | style="background: lightgreen;" | h264, h265, vp8, vp9, jpeg |- | style="text-align: left;" | Encode | style="background: lightgreen;" | h264 |- | style="text-align: left;" | Camera | style="background: orange;" | Without 3A |- | style="text-align: left;" | Transform | style="background: orange;" | WIP |- | rowspan="2" style="text-align: left;" | GPU | style="text-align: left;" | GLES | style="background: lightgreen;" | libmali |- | style="text-align: left;" | OPENCL | style="background: lightgreen;" | libmali |- | colspan="2" rowspan="1" style="text-align: left;" | QT | style="background: lightgreen;" | QT 5.x |- | colspan="2" style="text-align: left;" | Browser(HTML5 Accelerate) | style="background: orange;" | WIP |- | colspan="2" style="text-align: left;" | IOT(Third part Could Service) | style="background: orange;" | WIP |- | colspan="2" style="text-align: left;" | FFmpeg | style="background: yellow;" | Community |- | colspan="2" style="text-align: left;" | MPV | style="background: yellow;" | Community |- | colspan="2" style="text-align: left;" | KODI | style="background: yellow;" | Community |} e45ab0494b326b3d08baeda18578febd9c97fa60 Boot option 0 116 1951 1833 2018-06-26T03:37:49Z Kever 2 wikitext text/x-wiki = Boot introduce = First, let's make the concept clear, there are many boot stages when we boot up a Linux OS; Then we need to know about how the image should packaged, where&nbsp;the image locate; At last, we will explain how to write to different&nbsp;media and boot from there. Here is Rockchip pre-released binaries which may be mentioned later: [https://github.com/rockchip-linux/rkbin https://github.com/rockchip-linux/rkbin] And [http://opensource.rock-chips.com/wiki_Partitions Rockcip Linux GPT partition] here. == Boot flow == Here is a table show the detail what we may use in Rockchip platform, for 2 boot stage: - use U-Boot SPL; - use Rockchp idbLoader which is combinded by Rockchip ddr init bin and miniloader bin; <pre>+--------+----------------+----------+-------------+---------+ | Boot | Terminology #1 | Actual | Rockchip | | | stage | | program | Image | | | number | | name | Name | | +--------+----------------+----------+-------------+---------+ | 1 | Primary | ROM code | BootRom | | | | Program | | | | | | Loader | | | | | | | | | | | 2 | Secondary | U-Boot |idbloader.img| 0x40 |including u-boot if not use miniloader | | Program | SPL |idbspl.img | | | | Loader (SPL) | | | | | | | | | | | 3 | - | U-Boot | u-boot.itb | 0x4000 | including u-boot and atf | | | | u-boot.bin | 0x4000 | | | | | uboot.img | 0x4000 | only used with miniloader | | | | | | | | | ATF | trust.img | 0x6000 | only used with miniloader for armv8 | | | | | | | 4 | - | kernel | boot.img | 0x8000 | | | | | | | | 5 | - | rootfs | rootfs.img | 0x40000 | +--------+----------------+----------+-------------+---------+ </pre> Then when we talking about boot from eMMC/SD/U-Disk/net, they are in different concept: *Stage 1 is always in boot rom, it loads stage 2 and may load stage 3(when SPL_BACK_TO_BROM option enabled). *Boot from SPI flash means firmware for stage 2 and 3(SPL and U-Boot only) in SPI flash and stage 4/5 in other place; *Boot from eMMC means all the firmware(including stage 2, 3, 4, 5) in eMMC; *Boot from SD card means all the firmware(including stage 2, 3, 4, 5) in SD card; *Boot from U-Disk means firmware for stage 4 and 5(not including SPL and U-Boot) in Disk, optionally only including stage 5; *Boot from net/tftp means firmeware for stage 4 and 5(not including SPL and U-Boot) on the network; &nbsp; [[File:Rockchip bootflow.jpg|1000x1000px|Rockchip bootflow.jpg]] Boot Flow 1 is typical Rockchip boot flow with Rockchip miniloader;<br/> Boot Flow 2 is used for most SoCs with U-Boot TPL for ddr init and SPL for trust(ATF/OP-TEE) load and run into next stage;<br/> Boot Flow 3 is use only for RK3399 with SPL ATF support;<br/> Boot Flow 4 is used for armv7 SoCs which do not support trust;<br/> <br/> Note 1. If loader1 have more than 1 stage, program will back to bootrom and bootrom load and run into next stage. eg. If loader1 is tpl and spl, the bootrom will run into tpl first, tpl init ddr and back to bootrom, bootrom then load and run into spl.<br/> Note 2. If trust is enabled, loader1 need to load both trust and u-boot, and then run into trust in secure mode(EL3 in armv8), trust do the initialize and run into U-Boot in non-secure mode(EL2 in armv8).<br/> Note 3. For trust(in trust.img or u-boot.itb), armv7 has only one tee.bin with or without ta, armv8 has bl31.elf and option with bl32.<br/> Note 4. In boot.img, content can be zImage and its dtb for Linux, and can optionally be grub.efi, and can be AOSP boot.img, ramdisk is option; == Package option == After we know about the boot stages, Here are the file list before package for stage 2~4: *From source code: **From U-Boot: '''u-boot-spl.bin''', '''u-boot.bin'''(may use u-boot-nodtb.bin and u-boot.dtb instead), **From kernel: kernel '''Image/zImage''' file, kernel dtb, **From ATF: '''bl31.elf'''; *From Rockchip binary: **ddr, usbplug, miniloader, bl31/op-tee, (all with&nbsp;chip 'rkxx_'&nbsp; prefix and with version '_x.xx.bin' postfix); We offer two different boot-loader methods for different solutions, the steps and request files are also complete different. But not all the platforms supports the both boot-loader methods. Here are the types to&nbsp;package image from those files: === The Pre-bootloader === ==== Rockchip Miniloader ==== Package the image from Rockchip binary: No need to package a idbloader for eMMC because you can use below command to write idbloader from loader: <pre>rkdeveloptool db rkxx_ddr_vx.xx.bin rkdeveloptool ul rkxx_ddr_vx.xx.bin</pre> For SD boot, you need a idbloader(combinded with ddr and miniloader) to write to SD card. <pre>tools/mkimage -n rkxxxx -T rksd -d rkxx_ddr_vx.xx.bin idbloader.img cat rkxx_miniloader_vx.xx.bin >> idbloader.img </pre> ==== idbloader.img with tpl/spl ==== <pre>tools/mkimage -n rkxxxx -T rksd -d tpl/u-boot-tpl.bin idbloader.img cat spl/u-boot-spl.bin >> idbloader.img </pre> ==== idbspl.img ==== U-Boot SPL support ddr init and load data for next stage, only available in rk3399 now. <pre>mkimage -n rkxxxx -T rksd -d spl/u-boot-spl.bin idbspl.img </pre> Flash the idbloader.img/idbspl.img&nbsp;to offset 0x40 which including stage 2, and you will need a uboot.img for boot stage 3. === U-Boot === ==== uboot.img ==== When using idbLoader from&nbsp;Rockchip miniloader, need package u-boot.bin into miniloader loadable format by Rockchip tool loaderimage. <pre>tools/loaderimage --pack --uboot u-boot.bin uboot.img</pre> &nbsp; ==== u-boot.itb ==== When using SPL to load the ATF/OP-TEE, package the bl31.bin, u-boot-nodtb.bin and uboot.dtb into one FIT image. You can skip the step to package the Trust image and flash that image in the next section. <pre>make u-boot.itb </pre> Note: please copy the trust binary() to u-boot root directory and rename it to tee.bin(armv7) or bl31.elf(armv8). === Trust === ==== trust.img ==== When using idbLoader from&nbsp;Rockchip miniloader, need package bl31.bin into miniloader loadable format by Rockchip tool trustmerge. <pre>tools/trustmerge tools/rk_tools/RKTRUST_RKXXXXTRUST.ini</pre> Flash the trust.img to offset 0x6000 which is for using Rockchip miniloader === boot.img === This image is package the kernel Image and dtb file into a know filesystem(FAT or EXT2) image for distro boot. See [[Rockchip_Kernel#Install_Boot.2Fkernel|Install kernel]] for detail about generate boot.img from kernel zImage/Image, dtb. Flash the boot.img to offset 0x8000 which is stage 4. === rootfs.img === Flash the rootfs.img to offset 0x40000 which is stage 5. As long as the kernel you chosen can support that filesystem, there is not limit in the format of the image. === rkxx_loader_vx.xx.xxx.bin === This is provide by Rockchip in binary mode, which is used for firmware upgrade to eMMC with [[Rkdeveloptool|rkdeveloptool]], can not be wirte to media device directly. This is a package from ddr.bin, usbplug.bin, miniloader.bin, Rockchip tool ''DB ''command will make usbplug.bin running in target which perform as a Rockusb device. You can skip to package this image, Rockchip will offer this image at the most of time. = Flash and boot from Media device = Here we introduce how to write image to different Medeia device. Get image Ready: *For armv7 with SPL with SPL_BACK_TO_BROM option enabled: **idbLoader.img **boot.img or boot folder with zImage, dtb and exitlinulx inside **rootfs.img *For armv7 with SPL with SPL_BACK_TO_BROM option disabled: **idbspl.img **u-boot.bin **boot.img or boot folder with zImage, dtb and exitlinulx inside **rootfs.img *For armv7 with miniloader **idbLoader.img **uboot.img **boot.img or&nbsp;boot folder with zImage, dtb and exitlinulx inside **rootfs.img *For armv8 with SPL: **idbspl.img **bl3.itb **boot.img or&nbsp;boot folder with Image, dtb and exitlinulx inside **rootfs.img *For armv8 with miniloader **idbLoader.img **uboot.img **trust.img **boot.img or&nbsp;boot folder with Image, dtb and exitlinulx inside **rootfs.img == Boot from eMMC == The eMMC is on the hardware board, so we need: *Get the board into [[Rockusb#Maskrom_mode|maskrom mode]]; *Connect the target to PC with USB cable; *Flash the image to eMMC with [[Rkdeveloptool|rkdeveloptool]] Example commands for flash image to target. Flash the gpt partition to target: <pre style="margin-left: 40px;">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool gpt parameter_gpt.txt</pre> *For armv7 with SPL with SPL_BACK_TO_BROM option enabled(rk3036, rk3188, rk3288): <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbloader.img rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> *For armv7 with SPL with SPL_BACK_TO_BROM option disabled(rk3288): <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbspl.img rkdeveloptool wl 0x4000 u-boot.bin rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> *For armv7 with miniloader(rk3036, rk3188, rk3288) <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool ul rkxx_loader_vx.xx.bin rkdeveloptool wl 0x4000 uboot.img rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> *For armv8 with SPL(rk3399): <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbspl.img rkdeveloptool wl 0x4000 bl3.itb rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> *For armv8 with miniloader(rk3399, rk3328) <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool ul rkxx_loader_vx.xx.bin rkdeveloptool wl 0x4000 uboot.img rkdeveloptool wl 0x6000 trust.img rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> == Boot from SD/TF Card == We can write SD/TF card with Linux PC ''dd'' command very easily. Insert SD card to PC and we assume the /dev/sdb is the SD card device. *For armv7 with SPL with SPL_BACK_TO_BROM option enabled(rk3036, rk3188, rk3288): <pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64 dd if=boot.img of=sdb seek=32768 dd if=rootfs.img of=sdb seek=262144 </pre> *For armv7 with SPL with SPL_BACK_TO_BROM option disabled(rk3288): <pre style="margin-left: 40px">dd if=idbspl.img of=sdb seek=64 dd if=u-boot.bin of=sdb seek=512 dd if=boot.img of=sdb seek=32768 dd if=rootfs.img of=sdb seek=262144 </pre> *For armv7 with miniloader(rk3036, rk3188, rk3288) <pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64 dd if=uboot.img of=sdb seek=16384 dd if=boot.img of=sdb seek=32768 dd if=rootfs.img of=sdb seek=262144 </pre> *For armv8 with SPL(rk3399): <pre style="margin-left: 40px">dd if=idbspl.img of=sdb seek=64 dd if=bl3.itb of=sdb seek=512 dd if=boot.img of=sdb seek=32768 dd if=rootfs.img of=sdb seek=262144 </pre> *For armv8 with miniloader(rk3399, rk3328) <pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64 dd if=uboot.img of=sdb seek=16384 dd if=trust.img of=sdb seek=24576 dd if=boot.img of=sdb seek=32768 dd if=rootfs.img of=sdb seek=262144</pre> In order to make sure everything has write to SD card before unpluged, recommand to run below command: <pre>sync</pre> Note, when using boot from SD card, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value. <pre>append earlyprintk console=ttyS2,115200n8 rw root=/dev/mmcblk1p7 rootwait rootfstype=ext4 init=/sbin/init </pre> Write GPT partition table to SD card&nbsp;in U-Boot, and then U-Boot can find the boot partition and run into kernel. <pre>gpt write mmc 0 $partitions </pre> == Boot from U-Disk == Same as&nbsp;[[#Boot_from_SD.2FTF_Card|boot-from-sdcard]], but please note that U-Disk&nbsp;only support stage 4 and 5, see [[#Boot_Stage|Boot Stage]] for detail. If U-Disk used for stage 4 and 5, format the U-Disk in gpt format and at least 2 partitions, write ''boot.img'' and ''rootfs.img'' in those partitions; if U-Dist is only used for stage 5, we can ''dd ''the ''rootfs.img'' to U-Disk device directly. Note, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value. <pre> append earlyprintk console=ttyS2,115200n8 rw root=/dev/sda1 rootwait rootfstype=ext4 init=/sbin/init </pre> == Boot from Network == To be continued. = See also = [[Rkdeveloptool|rkdeveloptool]] [[Rockusb|rockusb]] [[Partitions|Rockchip Linux partition definition]] 65915b8b7824918e986b009e008a66841def2ec4 1952 1951 2018-06-26T03:39:48Z Kever 2 wikitext text/x-wiki = Boot introduce = First, let's make the concept clear, there are many boot stages when we boot up a Linux OS; Then we need to know about how the image should packaged, where&nbsp;the image locate; At last, we will explain how to write to different&nbsp;media and boot from there. Here is Rockchip pre-released binaries which may be mentioned later: [https://github.com/rockchip-linux/rkbin https://github.com/rockchip-linux/rkbin] And [http://opensource.rock-chips.com/wiki_Partitions Rockcip Linux GPT partition] here. == Boot flow == Here is a table show the detail what we may use in Rockchip platform, for 2 boot stage: - use U-Boot SPL; - use Rockchp idbLoader which is combinded by Rockchip ddr init bin and miniloader bin; <pre>+--------+----------------+----------+-------------+---------+ | Boot | Terminology #1 | Actual | Rockchip | | | stage | | program | Image | | | number | | name | Name | | +--------+----------------+----------+-------------+---------+ | 1 | Primary | ROM code | BootRom | | | | Program | | | | | | Loader | | | | | | | | | | | 2 | Secondary | U-Boot |idbloader.img| 0x40 |including u-boot if not use miniloader | | Program | SPL |idbspl.img | | | | Loader (SPL) | | | | | | | | | | | 3 | - | U-Boot | u-boot.itb | 0x4000 | including u-boot and atf | | | | u-boot.bin | 0x4000 | | | | | uboot.img | 0x4000 | only used with miniloader | | | | | | | | | ATF | trust.img | 0x6000 | only used with miniloader for armv8 | | | | | | | 4 | - | kernel | boot.img | 0x8000 | | | | | | | | 5 | - | rootfs | rootfs.img | 0x40000 | +--------+----------------+----------+-------------+---------+ </pre> Then when we talking about boot from eMMC/SD/U-Disk/net, they are in different concept: *Stage 1 is always in boot rom, it loads stage 2 and may load stage 3(when SPL_BACK_TO_BROM option enabled). *Boot from SPI flash means firmware for stage 2 and 3(SPL and U-Boot only) in SPI flash and stage 4/5 in other place; *Boot from eMMC means all the firmware(including stage 2, 3, 4, 5) in eMMC; *Boot from SD card means all the firmware(including stage 2, 3, 4, 5) in SD card; *Boot from U-Disk means firmware for stage 4 and 5(not including SPL and U-Boot) in Disk, optionally only including stage 5; *Boot from net/tftp means firmeware for stage 4 and 5(not including SPL and U-Boot) on the network; &nbsp; [[File:Rockchip bootflow.jpg|1000x1000px|Rockchip bootflow.jpg]] Boot Flow 1 is typical Rockchip boot flow with Rockchip miniloader;<br/> Boot Flow 2 is used for most SoCs with U-Boot TPL for ddr init and SPL for trust(ATF/OP-TEE) load and run into next stage;<br/> Boot Flow 3 is use only for RK3399 with SPL ATF support;<br/> Boot Flow 4 is used for armv7 SoCs which do not support trust;<br/> <br/> Note 1. If loader1 have more than 1 stage, program will back to bootrom and bootrom load and run into next stage. eg. If loader1 is tpl and spl, the bootrom will run into tpl first, tpl init ddr and back to bootrom, bootrom then load and run into spl.<br/> Note 2. If trust is enabled, loader1 need to load both trust and u-boot, and then run into trust in secure mode(EL3 in armv8), trust do the initialize and run into U-Boot in non-secure mode(EL2 in armv8).<br/> Note 3. For trust(in trust.img or u-boot.itb), armv7 has only one tee.bin with or without ta, armv8 has bl31.elf and option with bl32.<br/> Note 4. In boot.img, content can be zImage and its dtb for Linux, and can optionally be grub.efi, and can be AOSP boot.img, ramdisk is option; == Package option == After we know about the boot stages, Here are the file list before package for stage 2~4: *From source code: **From U-Boot: '''u-boot-spl.bin''', '''u-boot.bin'''(may use u-boot-nodtb.bin and u-boot.dtb instead), **From kernel: kernel '''Image/zImage''' file, kernel dtb, **From ATF: '''bl31.elf'''; *From Rockchip binary: **ddr, usbplug, miniloader, bl31/op-tee, (all with&nbsp;chip 'rkxx_'&nbsp; prefix and with version '_x.xx.bin' postfix); We offer two different boot-loader methods for different solutions, the steps and request files are also complete different. But not all the platforms supports the both boot-loader methods. Here are the types to&nbsp;package image from those files: === The Pre-bootloader === ==== Rockchip Miniloader ==== Package the image from Rockchip binary: No need to package a idbloader for eMMC because you can use below command to write idbloader from loader: <pre>rkdeveloptool db rkxx_ddr_vx.xx.bin rkdeveloptool ul rkxx_ddr_vx.xx.bin</pre> For SD boot, you need a idbloader(combinded with ddr and miniloader) to write to SD card. <pre>tools/mkimage -n rkxxxx -T rksd -d rkxx_ddr_vx.xx.bin idbloader.img cat rkxx_miniloader_vx.xx.bin >> idbloader.img </pre> ==== idbloader.img with tpl/spl ==== <pre>tools/mkimage -n rkxxxx -T rksd -d tpl/u-boot-tpl.bin idbloader.img cat spl/u-boot-spl.bin >> idbloader.img </pre> ==== idbspl.img ==== U-Boot SPL support ddr init and load data for next stage, only available in rk3399 now. <pre>mkimage -n rkxxxx -T rksd -d spl/u-boot-spl.bin idbspl.img </pre> Flash the idbloader.img/idbspl.img&nbsp;to offset 0x40 which including stage 2, and you will need a uboot.img for boot stage 3. === U-Boot === ==== uboot.img ==== When using idbLoader from&nbsp;Rockchip miniloader, need package u-boot.bin into miniloader loadable format by Rockchip tool loaderimage. <pre>tools/loaderimage --pack --uboot u-boot.bin uboot.img</pre> &nbsp; ==== u-boot.itb ==== When using SPL to load the ATF/OP-TEE, package the bl31.bin, u-boot-nodtb.bin and uboot.dtb into one FIT image. You can skip the step to package the Trust image and flash that image in the next section. <pre>make u-boot.itb </pre> Note: please copy the trust binary() to u-boot root directory and rename it to tee.bin(armv7) or bl31.elf(armv8). === Trust === ==== trust.img ==== When using idbLoader from&nbsp;Rockchip miniloader, need package bl31.bin into miniloader loadable format by Rockchip tool trustmerge. <pre>tools/trustmerge tools/rk_tools/RKTRUST_RKXXXXTRUST.ini</pre> Flash the trust.img to offset 0x6000 which is for using Rockchip miniloader === boot.img === This image is package the kernel Image and dtb file into a know filesystem(FAT or EXT2) image for distro boot. See [[Rockchip_Kernel#Install_Boot.2Fkernel|Install kernel]] for detail about generate boot.img from kernel zImage/Image, dtb. Flash the boot.img to offset 0x8000 which is stage 4. === rootfs.img === Flash the rootfs.img to offset 0x40000 which is stage 5. As long as the kernel you chosen can support that filesystem, there is not limit in the format of the image. === rkxx_loader_vx.xx.xxx.bin === This is provide by Rockchip in binary mode, which is used for firmware upgrade to eMMC with [[Rkdeveloptool|rkdeveloptool]], can not be wirte to media device directly. This is a package from ddr.bin, usbplug.bin, miniloader.bin, Rockchip tool ''DB ''command will make usbplug.bin running in target which perform as a Rockusb device. You can skip to package this image, Rockchip will offer this image at the most of time. = Flash and boot from Media device = Here we introduce how to write image to different Medeia device. Get image Ready: *For armv7 with SPL with SPL_BACK_TO_BROM option enabled: **idbLoader.img **boot.img or boot folder with zImage, dtb and exitlinulx inside **rootfs.img *For armv7 with SPL with SPL_BACK_TO_BROM option disabled: **idbspl.img **u-boot.bin **boot.img or boot folder with zImage, dtb and exitlinulx inside **rootfs.img *For armv7 with miniloader **idbLoader.img **uboot.img **boot.img or&nbsp;boot folder with zImage, dtb and exitlinulx inside **rootfs.img *For armv8 with SPL: **idbspl.img **bl3.itb **boot.img or&nbsp;boot folder with Image, dtb and exitlinulx inside **rootfs.img *For armv8 with miniloader **idbLoader.img **uboot.img **trust.img **boot.img or&nbsp;boot folder with Image, dtb and exitlinulx inside **rootfs.img == Boot from eMMC == The eMMC is on the hardware board, so we need: *Get the board into [[Rockusb#Maskrom_mode|maskrom mode]]; *Connect the target to PC with USB cable; *Flash the image to eMMC with [[Rkdeveloptool|rkdeveloptool]] Example commands for flash image to target. Flash the gpt partition to target: <pre style="margin-left: 40px;">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool gpt parameter_gpt.txt</pre> *For armv7 with SPL with SPL_BACK_TO_BROM option enabled(rk3036, rk3188, rk3288): <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbloader.img rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> *For armv7 with SPL with SPL_BACK_TO_BROM option disabled(rk3288): <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbspl.img rkdeveloptool wl 0x4000 u-boot.bin rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> *For armv7 with miniloader(rk3036, rk3188, rk3288) <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool ul rkxx_loader_vx.xx.bin rkdeveloptool wl 0x4000 uboot.img rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> *For armv8 with SPL(rk3399): <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbspl.img rkdeveloptool wl 0x4000 bl3.itb rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> *For armv8 with miniloader(rk3399, rk3328) <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool ul rkxx_loader_vx.xx.bin rkdeveloptool wl 0x4000 uboot.img rkdeveloptool wl 0x6000 trust.img rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> == Boot from SD/TF Card == We can write SD/TF card with Linux PC ''dd'' command very easily. Insert SD card to PC and we assume the /dev/sdb is the SD card device. *For armv7 with SPL with SPL_BACK_TO_BROM option enabled(rk3036, rk3188, rk3288): <pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64 dd if=boot.img of=sdb seek=32768 dd if=rootfs.img of=sdb seek=262144 </pre> *For armv7 with SPL with SPL_BACK_TO_BROM option disabled(rk3288): <pre style="margin-left: 40px">dd if=idbspl.img of=sdb seek=64 dd if=u-boot.bin of=sdb seek=16384 dd if=boot.img of=sdb seek=32768 dd if=rootfs.img of=sdb seek=262144 </pre> *For armv7 with miniloader(rk3036, rk3188, rk3288) <pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64 dd if=uboot.img of=sdb seek=16384 dd if=boot.img of=sdb seek=32768 dd if=rootfs.img of=sdb seek=262144 </pre> *For armv8 with SPL(rk3399): <pre style="margin-left: 40px">dd if=idbspl.img of=sdb seek=64 dd if=bl3.itb of=sdb seek=16384 dd if=boot.img of=sdb seek=32768 dd if=rootfs.img of=sdb seek=262144 </pre> *For armv8 with miniloader(rk3399, rk3328) <pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64 dd if=uboot.img of=sdb seek=16384 dd if=trust.img of=sdb seek=24576 dd if=boot.img of=sdb seek=32768 dd if=rootfs.img of=sdb seek=262144</pre> In order to make sure everything has write to SD card before unpluged, recommand to run below command: <pre>sync</pre> Note, when using boot from SD card, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value. <pre>append earlyprintk console=ttyS2,115200n8 rw root=/dev/mmcblk1p7 rootwait rootfstype=ext4 init=/sbin/init </pre> Write GPT partition table to SD card&nbsp;in U-Boot, and then U-Boot can find the boot partition and run into kernel. <pre>gpt write mmc 0 $partitions </pre> == Boot from U-Disk == Same as&nbsp;[[#Boot_from_SD.2FTF_Card|boot-from-sdcard]], but please note that U-Disk&nbsp;only support stage 4 and 5, see [[#Boot_Stage|Boot Stage]] for detail. If U-Disk used for stage 4 and 5, format the U-Disk in gpt format and at least 2 partitions, write ''boot.img'' and ''rootfs.img'' in those partitions; if U-Dist is only used for stage 5, we can ''dd ''the ''rootfs.img'' to U-Disk device directly. Note, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value. <pre> append earlyprintk console=ttyS2,115200n8 rw root=/dev/sda1 rootwait rootfstype=ext4 init=/sbin/init </pre> == Boot from Network == To be continued. = See also = [[Rkdeveloptool|rkdeveloptool]] [[Rockusb|rockusb]] [[Partitions|Rockchip Linux partition definition]] 1c45a070e4c1b53e02f7703c862fb65c37286ec9 1953 1952 2018-06-26T03:44:50Z Kever 2 wikitext text/x-wiki = Boot introduce = First, let's make the concept clear, there are many boot stages when we boot up a Linux OS; Then we need to know about how the image should packaged, where&nbsp;the image locate; At last, we will explain how to write to different&nbsp;media and boot from there. Here is Rockchip pre-released binaries which may be mentioned later: [https://github.com/rockchip-linux/rkbin https://github.com/rockchip-linux/rkbin] And [http://opensource.rock-chips.com/wiki_Partitions Rockcip Linux GPT partition] here. == Boot flow == Here is a table show the detail what we may use in Rockchip platform, for 2 boot stage: - use U-Boot SPL; - use Rockchp idbLoader which is combinded by Rockchip ddr init bin and miniloader bin; <pre>+--------+----------------+----------+-------------+---------+ | Boot | Terminology #1 | Actual | Rockchip | | | stage | | program | Image | | | number | | name | Name | | +--------+----------------+----------+-------------+---------+ | 1 | Primary | ROM code | BootRom | | | | Program | | | | | | Loader | | | | | | | | | | | 2 | Secondary | U-Boot |idbloader.img| 0x40 |including u-boot if not use miniloader | | Program | SPL |idbspl.img | | | | Loader (SPL) | | | | | | | | | | | 3 | - | U-Boot | u-boot.itb | 0x4000 | including u-boot and atf | | | | u-boot.bin | | | | | | uboot.img | | only used with miniloader | | | | | | | | | ATF | trust.img | 0x6000 | only used with miniloader for armv8 | | | | | | | 4 | - | kernel | boot.img | 0x8000 | | | | | | | | 5 | - | rootfs | rootfs.img | 0x40000 | +--------+----------------+----------+-------------+---------+ </pre> Then when we talking about boot from eMMC/SD/U-Disk/net, they are in different concept: *Stage 1 is always in boot rom, it loads stage 2 and may load stage 3(when SPL_BACK_TO_BROM option enabled). *Boot from SPI flash means firmware for stage 2 and 3(SPL and U-Boot only) in SPI flash and stage 4/5 in other place; *Boot from eMMC means all the firmware(including stage 2, 3, 4, 5) in eMMC; *Boot from SD card means all the firmware(including stage 2, 3, 4, 5) in SD card; *Boot from U-Disk means firmware for stage 4 and 5(not including SPL and U-Boot) in Disk, optionally only including stage 5; *Boot from net/tftp means firmeware for stage 4 and 5(not including SPL and U-Boot) on the network; &nbsp; [[File:Rockchip bootflow.jpg|1000x1000px|Rockchip bootflow.jpg]] Boot Flow 1 is typical Rockchip boot flow with Rockchip miniloader;<br/> Boot Flow 2 is used for most SoCs with U-Boot TPL for ddr init and SPL for trust(ATF/OP-TEE) load and run into next stage;<br/> Boot Flow 3 is use only for RK3399 with SPL ATF support;<br/> Boot Flow 4 is used for armv7 SoCs which do not support trust;<br/> <br/> Note 1. If loader1 have more than 1 stage, program will back to bootrom and bootrom load and run into next stage. eg. If loader1 is tpl and spl, the bootrom will run into tpl first, tpl init ddr and back to bootrom, bootrom then load and run into spl.<br/> Note 2. If trust is enabled, loader1 need to load both trust and u-boot, and then run into trust in secure mode(EL3 in armv8), trust do the initialize and run into U-Boot in non-secure mode(EL2 in armv8).<br/> Note 3. For trust(in trust.img or u-boot.itb), armv7 has only one tee.bin with or without ta, armv8 has bl31.elf and option with bl32.<br/> Note 4. In boot.img, content can be zImage and its dtb for Linux, and can optionally be grub.efi, and can be AOSP boot.img, ramdisk is option; == Package option == After we know about the boot stages, Here are the file list before package for stage 2~4: *From source code: **From U-Boot: '''u-boot-spl.bin''', '''u-boot.bin'''(may use u-boot-nodtb.bin and u-boot.dtb instead), **From kernel: kernel '''Image/zImage''' file, kernel dtb, **From ATF: '''bl31.elf'''; *From Rockchip binary: **ddr, usbplug, miniloader, bl31/op-tee, (all with&nbsp;chip 'rkxx_'&nbsp; prefix and with version '_x.xx.bin' postfix); We offer two different boot-loader methods for different solutions, the steps and request files are also complete different. But not all the platforms supports the both boot-loader methods. Here are the types to&nbsp;package image from those files: === The Pre-bootloader === ==== Rockchip Miniloader ==== Package the image from Rockchip binary: No need to package a idbloader for eMMC because you can use below command to write idbloader from loader: <pre>rkdeveloptool db rkxx_ddr_vx.xx.bin rkdeveloptool ul rkxx_ddr_vx.xx.bin</pre> For SD boot, you need a idbloader(combinded with ddr and miniloader) to write to SD card. <pre>tools/mkimage -n rkxxxx -T rksd -d rkxx_ddr_vx.xx.bin idbloader.img cat rkxx_miniloader_vx.xx.bin >> idbloader.img </pre> ==== idbloader.img with tpl/spl ==== <pre>tools/mkimage -n rkxxxx -T rksd -d tpl/u-boot-tpl.bin idbloader.img cat spl/u-boot-spl.bin >> idbloader.img </pre> ==== idbspl.img ==== U-Boot SPL support ddr init and load data for next stage, only available in rk3399 now. <pre>mkimage -n rkxxxx -T rksd -d spl/u-boot-spl.bin idbspl.img </pre> Flash the idbloader.img/idbspl.img&nbsp;to offset 0x40 which including stage 2, and you will need a uboot.img for boot stage 3. === U-Boot === ==== uboot.img ==== When using idbLoader from&nbsp;Rockchip miniloader, need package u-boot.bin into miniloader loadable format by Rockchip tool loaderimage. <pre>tools/loaderimage --pack --uboot u-boot.bin uboot.img</pre> &nbsp; ==== u-boot.itb ==== When using SPL to load the ATF/OP-TEE, package the bl31.bin, u-boot-nodtb.bin and uboot.dtb into one FIT image. You can skip the step to package the Trust image and flash that image in the next section. <pre>make u-boot.itb </pre> Note: please copy the trust binary() to u-boot root directory and rename it to tee.bin(armv7) or bl31.elf(armv8). === Trust === ==== trust.img ==== When using idbLoader from&nbsp;Rockchip miniloader, need package bl31.bin into miniloader loadable format by Rockchip tool trustmerge. <pre>tools/trustmerge tools/rk_tools/RKTRUST_RKXXXXTRUST.ini</pre> Flash the trust.img to offset 0x6000 which is for using Rockchip miniloader === boot.img === This image is package the kernel Image and dtb file into a know filesystem(FAT or EXT2) image for distro boot. See [[Rockchip_Kernel#Install_Boot.2Fkernel|Install kernel]] for detail about generate boot.img from kernel zImage/Image, dtb. Flash the boot.img to offset 0x8000 which is stage 4. === rootfs.img === Flash the rootfs.img to offset 0x40000 which is stage 5. As long as the kernel you chosen can support that filesystem, there is not limit in the format of the image. === rkxx_loader_vx.xx.xxx.bin === This is provide by Rockchip in binary mode, which is used for firmware upgrade to eMMC with [[Rkdeveloptool|rkdeveloptool]], can not be wirte to media device directly. This is a package from ddr.bin, usbplug.bin, miniloader.bin, Rockchip tool ''DB ''command will make usbplug.bin running in target which perform as a Rockusb device. You can skip to package this image, Rockchip will offer this image at the most of time. = Flash and boot from Media device = Here we introduce how to write image to different Medeia device. Get image Ready: *For armv7 with SPL with SPL_BACK_TO_BROM option enabled: **idbLoader.img **boot.img or boot folder with zImage, dtb and exitlinulx inside **rootfs.img *For armv7 with SPL with SPL_BACK_TO_BROM option disabled: **idbspl.img **u-boot.bin **boot.img or boot folder with zImage, dtb and exitlinulx inside **rootfs.img *For armv7 with miniloader **idbLoader.img **uboot.img **boot.img or&nbsp;boot folder with zImage, dtb and exitlinulx inside **rootfs.img *For armv8 with SPL: **idbspl.img **bl3.itb **boot.img or&nbsp;boot folder with Image, dtb and exitlinulx inside **rootfs.img *For armv8 with miniloader **idbLoader.img **uboot.img **trust.img **boot.img or&nbsp;boot folder with Image, dtb and exitlinulx inside **rootfs.img == Boot from eMMC == The eMMC is on the hardware board, so we need: *Get the board into [[Rockusb#Maskrom_mode|maskrom mode]]; *Connect the target to PC with USB cable; *Flash the image to eMMC with [[Rkdeveloptool|rkdeveloptool]] Example commands for flash image to target. Flash the gpt partition to target: <pre style="margin-left: 40px;">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool gpt parameter_gpt.txt</pre> *For armv7 with SPL with SPL_BACK_TO_BROM option enabled(rk3036, rk3188, rk3288): <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbloader.img rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> *For armv7 with SPL with SPL_BACK_TO_BROM option disabled(rk3288): <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbspl.img rkdeveloptool wl 0x4000 u-boot.bin rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> *For armv7 with miniloader(rk3036, rk3188, rk3288) <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool ul rkxx_loader_vx.xx.bin rkdeveloptool wl 0x4000 uboot.img rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> *For armv8 with SPL(rk3399): <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbspl.img rkdeveloptool wl 0x4000 bl3.itb rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> *For armv8 with miniloader(rk3399, rk3328) <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool ul rkxx_loader_vx.xx.bin rkdeveloptool wl 0x4000 uboot.img rkdeveloptool wl 0x6000 trust.img rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> == Boot from SD/TF Card == We can write SD/TF card with Linux PC ''dd'' command very easily. Insert SD card to PC and we assume the /dev/sdb is the SD card device. *For armv7 with SPL with SPL_BACK_TO_BROM option enabled(rk3036, rk3188, rk3288): <pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64 dd if=boot.img of=sdb seek=32768 dd if=rootfs.img of=sdb seek=262144 </pre> *For armv7 with SPL with SPL_BACK_TO_BROM option disabled(rk3288): <pre style="margin-left: 40px">dd if=idbspl.img of=sdb seek=64 dd if=u-boot.bin of=sdb seek=16384 dd if=boot.img of=sdb seek=32768 dd if=rootfs.img of=sdb seek=262144 </pre> *For armv7 with miniloader(rk3036, rk3188, rk3288) <pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64 dd if=uboot.img of=sdb seek=16384 dd if=boot.img of=sdb seek=32768 dd if=rootfs.img of=sdb seek=262144 </pre> *For armv8 with SPL(rk3399): <pre style="margin-left: 40px">dd if=idbspl.img of=sdb seek=64 dd if=bl3.itb of=sdb seek=16384 dd if=boot.img of=sdb seek=32768 dd if=rootfs.img of=sdb seek=262144 </pre> *For armv8 with miniloader(rk3399, rk3328) <pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64 dd if=uboot.img of=sdb seek=16384 dd if=trust.img of=sdb seek=24576 dd if=boot.img of=sdb seek=32768 dd if=rootfs.img of=sdb seek=262144</pre> In order to make sure everything has write to SD card before unpluged, recommand to run below command: <pre>sync</pre> Note, when using boot from SD card, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value. <pre>append earlyprintk console=ttyS2,115200n8 rw root=/dev/mmcblk1p7 rootwait rootfstype=ext4 init=/sbin/init </pre> Write GPT partition table to SD card&nbsp;in U-Boot, and then U-Boot can find the boot partition and run into kernel. <pre>gpt write mmc 0 $partitions </pre> == Boot from U-Disk == Same as&nbsp;[[#Boot_from_SD.2FTF_Card|boot-from-sdcard]], but please note that U-Disk&nbsp;only support stage 4 and 5, see [[#Boot_Stage|Boot Stage]] for detail. If U-Disk used for stage 4 and 5, format the U-Disk in gpt format and at least 2 partitions, write ''boot.img'' and ''rootfs.img'' in those partitions; if U-Dist is only used for stage 5, we can ''dd ''the ''rootfs.img'' to U-Disk device directly. Note, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value. <pre> append earlyprintk console=ttyS2,115200n8 rw root=/dev/sda1 rootwait rootfstype=ext4 init=/sbin/init </pre> == Boot from Network == To be continued. = See also = [[Rkdeveloptool|rkdeveloptool]] [[Rockusb|rockusb]] [[Partitions|Rockchip Linux partition definition]] 4f39ac317ac44893a34bd127b1312c18b7818ef9 1954 1953 2018-06-26T03:47:23Z Kever 2 wikitext text/x-wiki = Boot introduce = First, let's make the concept clear, there are many boot stages when we boot up a Linux OS; Then we need to know about how the image should packaged, where&nbsp;the image locate; At last, we will explain how to write to different&nbsp;media and boot from there. Here is Rockchip pre-released binaries which may be mentioned later: [https://github.com/rockchip-linux/rkbin https://github.com/rockchip-linux/rkbin] And [http://opensource.rock-chips.com/wiki_Partitions Rockcip Linux GPT partition] here. == Boot flow == Here is a table show the detail what we may use in Rockchip platform, for 2 boot stage: - use U-Boot SPL; - use Rockchp idbLoader which is combinded by Rockchip ddr init bin and miniloader bin; <pre>+--------+----------------+----------+-------------+---------+ | Boot | Terminology #1 | Actual | Rockchip | Image | | stage | | program | Image | Location| | number | | name | Name | (sector)| +--------+----------------+----------+-------------+---------+ | 1 | Primary | ROM code | BootRom | | | | Program | | | | | | Loader | | | | | | | | | | | 2 | Secondary | U-Boot |idbloader.img| 0x40 |including u-boot if not use miniloader | | Program | SPL |idbspl.img | | | | Loader (SPL) | | | | | | | | | | | 3 | - | U-Boot | u-boot.itb | 0x4000 | including u-boot and atf | | | | u-boot.bin | | | | | | uboot.img | | only used with miniloader | | | | | | | | | ATF | trust.img | 0x6000 | only used with miniloader for armv8 | | | | | | | 4 | - | kernel | boot.img | 0x8000 | | | | | | | | 5 | - | rootfs | rootfs.img | 0x40000 | +--------+----------------+----------+-------------+---------+ </pre> Then when we talking about boot from eMMC/SD/U-Disk/net, they are in different concept: *Stage 1 is always in boot rom, it loads stage 2 and may load stage 3(when SPL_BACK_TO_BROM option enabled). *Boot from SPI flash means firmware for stage 2 and 3(SPL and U-Boot only) in SPI flash and stage 4/5 in other place; *Boot from eMMC means all the firmware(including stage 2, 3, 4, 5) in eMMC; *Boot from SD card means all the firmware(including stage 2, 3, 4, 5) in SD card; *Boot from U-Disk means firmware for stage 4 and 5(not including SPL and U-Boot) in Disk, optionally only including stage 5; *Boot from net/tftp means firmeware for stage 4 and 5(not including SPL and U-Boot) on the network; &nbsp; [[File:Rockchip bootflow.jpg|1000x1000px|Rockchip bootflow.jpg]] Boot Flow 1 is typical Rockchip boot flow with Rockchip miniloader;<br/> Boot Flow 2 is used for most SoCs with U-Boot TPL for ddr init and SPL for trust(ATF/OP-TEE) load and run into next stage;<br/> Boot Flow 3 is use only for RK3399 with SPL ATF support;<br/> Boot Flow 4 is used for armv7 SoCs which do not support trust;<br/> <br/> Note 1. If loader1 have more than 1 stage, program will back to bootrom and bootrom load and run into next stage. eg. If loader1 is tpl and spl, the bootrom will run into tpl first, tpl init ddr and back to bootrom, bootrom then load and run into spl.<br/> Note 2. If trust is enabled, loader1 need to load both trust and u-boot, and then run into trust in secure mode(EL3 in armv8), trust do the initialize and run into U-Boot in non-secure mode(EL2 in armv8).<br/> Note 3. For trust(in trust.img or u-boot.itb), armv7 has only one tee.bin with or without ta, armv8 has bl31.elf and option with bl32.<br/> Note 4. In boot.img, content can be zImage and its dtb for Linux, and can optionally be grub.efi, and can be AOSP boot.img, ramdisk is option; == Package option == After we know about the boot stages, Here are the file list before package for stage 2~4: *From source code: **From U-Boot: '''u-boot-spl.bin''', '''u-boot.bin'''(may use u-boot-nodtb.bin and u-boot.dtb instead), **From kernel: kernel '''Image/zImage''' file, kernel dtb, **From ATF: '''bl31.elf'''; *From Rockchip binary: **ddr, usbplug, miniloader, bl31/op-tee, (all with&nbsp;chip 'rkxx_'&nbsp; prefix and with version '_x.xx.bin' postfix); We offer two different boot-loader methods for different solutions, the steps and request files are also complete different. But not all the platforms supports the both boot-loader methods. Here are the types to&nbsp;package image from those files: === The Pre-bootloader === ==== Rockchip Miniloader ==== Package the image from Rockchip binary: No need to package a idbloader for eMMC because you can use below command to write idbloader from loader: <pre>rkdeveloptool db rkxx_ddr_vx.xx.bin rkdeveloptool ul rkxx_ddr_vx.xx.bin</pre> For SD boot, you need a idbloader(combinded with ddr and miniloader) to write to SD card. <pre>tools/mkimage -n rkxxxx -T rksd -d rkxx_ddr_vx.xx.bin idbloader.img cat rkxx_miniloader_vx.xx.bin >> idbloader.img </pre> ==== idbloader.img with tpl/spl ==== <pre>tools/mkimage -n rkxxxx -T rksd -d tpl/u-boot-tpl.bin idbloader.img cat spl/u-boot-spl.bin >> idbloader.img </pre> ==== idbspl.img ==== U-Boot SPL support ddr init and load data for next stage, only available in rk3399 now. <pre>mkimage -n rkxxxx -T rksd -d spl/u-boot-spl.bin idbspl.img </pre> Flash the idbloader.img/idbspl.img&nbsp;to offset 0x40 which including stage 2, and you will need a uboot.img for boot stage 3. === U-Boot === ==== uboot.img ==== When using idbLoader from&nbsp;Rockchip miniloader, need package u-boot.bin into miniloader loadable format by Rockchip tool loaderimage. <pre>tools/loaderimage --pack --uboot u-boot.bin uboot.img</pre> &nbsp; ==== u-boot.itb ==== When using SPL to load the ATF/OP-TEE, package the bl31.bin, u-boot-nodtb.bin and uboot.dtb into one FIT image. You can skip the step to package the Trust image and flash that image in the next section. <pre>make u-boot.itb </pre> Note: please copy the trust binary() to u-boot root directory and rename it to tee.bin(armv7) or bl31.elf(armv8). === Trust === ==== trust.img ==== When using idbLoader from&nbsp;Rockchip miniloader, need package bl31.bin into miniloader loadable format by Rockchip tool trustmerge. <pre>tools/trustmerge tools/rk_tools/RKTRUST_RKXXXXTRUST.ini</pre> Flash the trust.img to offset 0x6000 which is for using Rockchip miniloader === boot.img === This image is package the kernel Image and dtb file into a know filesystem(FAT or EXT2) image for distro boot. See [[Rockchip_Kernel#Install_Boot.2Fkernel|Install kernel]] for detail about generate boot.img from kernel zImage/Image, dtb. Flash the boot.img to offset 0x8000 which is stage 4. === rootfs.img === Flash the rootfs.img to offset 0x40000 which is stage 5. As long as the kernel you chosen can support that filesystem, there is not limit in the format of the image. === rkxx_loader_vx.xx.xxx.bin === This is provide by Rockchip in binary mode, which is used for firmware upgrade to eMMC with [[Rkdeveloptool|rkdeveloptool]], can not be wirte to media device directly. This is a package from ddr.bin, usbplug.bin, miniloader.bin, Rockchip tool ''DB ''command will make usbplug.bin running in target which perform as a Rockusb device. You can skip to package this image, Rockchip will offer this image at the most of time. = Flash and boot from Media device = Here we introduce how to write image to different Medeia device. Get image Ready: *For armv7 with SPL with SPL_BACK_TO_BROM option enabled: **idbLoader.img **boot.img or boot folder with zImage, dtb and exitlinulx inside **rootfs.img *For armv7 with SPL with SPL_BACK_TO_BROM option disabled: **idbspl.img **u-boot.bin **boot.img or boot folder with zImage, dtb and exitlinulx inside **rootfs.img *For armv7 with miniloader **idbLoader.img **uboot.img **boot.img or&nbsp;boot folder with zImage, dtb and exitlinulx inside **rootfs.img *For armv8 with SPL: **idbspl.img **bl3.itb **boot.img or&nbsp;boot folder with Image, dtb and exitlinulx inside **rootfs.img *For armv8 with miniloader **idbLoader.img **uboot.img **trust.img **boot.img or&nbsp;boot folder with Image, dtb and exitlinulx inside **rootfs.img == Boot from eMMC == The eMMC is on the hardware board, so we need: *Get the board into [[Rockusb#Maskrom_mode|maskrom mode]]; *Connect the target to PC with USB cable; *Flash the image to eMMC with [[Rkdeveloptool|rkdeveloptool]] Example commands for flash image to target. Flash the gpt partition to target: <pre style="margin-left: 40px;">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool gpt parameter_gpt.txt</pre> *For armv7 with SPL with SPL_BACK_TO_BROM option enabled(rk3036, rk3188, rk3288): <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbloader.img rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> *For armv7 with SPL with SPL_BACK_TO_BROM option disabled(rk3288): <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbspl.img rkdeveloptool wl 0x4000 u-boot.bin rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> *For armv7 with miniloader(rk3036, rk3188, rk3288) <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool ul rkxx_loader_vx.xx.bin rkdeveloptool wl 0x4000 uboot.img rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> *For armv8 with SPL(rk3399): <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbspl.img rkdeveloptool wl 0x4000 bl3.itb rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> *For armv8 with miniloader(rk3399, rk3328) <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool ul rkxx_loader_vx.xx.bin rkdeveloptool wl 0x4000 uboot.img rkdeveloptool wl 0x6000 trust.img rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> == Boot from SD/TF Card == We can write SD/TF card with Linux PC ''dd'' command very easily. Insert SD card to PC and we assume the /dev/sdb is the SD card device. *For armv7 with SPL with SPL_BACK_TO_BROM option enabled(rk3036, rk3188, rk3288): <pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64 dd if=boot.img of=sdb seek=32768 dd if=rootfs.img of=sdb seek=262144 </pre> *For armv7 with SPL with SPL_BACK_TO_BROM option disabled(rk3288): <pre style="margin-left: 40px">dd if=idbspl.img of=sdb seek=64 dd if=u-boot.bin of=sdb seek=16384 dd if=boot.img of=sdb seek=32768 dd if=rootfs.img of=sdb seek=262144 </pre> *For armv7 with miniloader(rk3036, rk3188, rk3288) <pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64 dd if=uboot.img of=sdb seek=16384 dd if=boot.img of=sdb seek=32768 dd if=rootfs.img of=sdb seek=262144 </pre> *For armv8 with SPL(rk3399): <pre style="margin-left: 40px">dd if=idbspl.img of=sdb seek=64 dd if=bl3.itb of=sdb seek=16384 dd if=boot.img of=sdb seek=32768 dd if=rootfs.img of=sdb seek=262144 </pre> *For armv8 with miniloader(rk3399, rk3328) <pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64 dd if=uboot.img of=sdb seek=16384 dd if=trust.img of=sdb seek=24576 dd if=boot.img of=sdb seek=32768 dd if=rootfs.img of=sdb seek=262144</pre> In order to make sure everything has write to SD card before unpluged, recommand to run below command: <pre>sync</pre> Note, when using boot from SD card, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value. <pre>append earlyprintk console=ttyS2,115200n8 rw root=/dev/mmcblk1p7 rootwait rootfstype=ext4 init=/sbin/init </pre> Write GPT partition table to SD card&nbsp;in U-Boot, and then U-Boot can find the boot partition and run into kernel. <pre>gpt write mmc 0 $partitions </pre> == Boot from U-Disk == Same as&nbsp;[[#Boot_from_SD.2FTF_Card|boot-from-sdcard]], but please note that U-Disk&nbsp;only support stage 4 and 5, see [[#Boot_Stage|Boot Stage]] for detail. If U-Disk used for stage 4 and 5, format the U-Disk in gpt format and at least 2 partitions, write ''boot.img'' and ''rootfs.img'' in those partitions; if U-Dist is only used for stage 5, we can ''dd ''the ''rootfs.img'' to U-Disk device directly. Note, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value. <pre> append earlyprintk console=ttyS2,115200n8 rw root=/dev/sda1 rootwait rootfstype=ext4 init=/sbin/init </pre> == Boot from Network == To be continued. = See also = [[Rkdeveloptool|rkdeveloptool]] [[Rockusb|rockusb]] [[Partitions|Rockchip Linux partition definition]] e45e344492044f6575ca946bfe831772f8c3a9ff Roadmap 0 206 1958 2018-07-10T07:25:03Z Admin 1 Created page with " &nbsp;" wikitext text/x-wiki &nbsp; 9012a5db0e48f472dc89e97fa239cc9970681b37 1960 1958 2018-07-10T07:40:20Z Admin 1 wikitext text/x-wiki This page discribe the road map of Rockchip Linux SDK. It is just let people know&nbsp;our plan&nbsp;in advance. not promise. It may change without inform you. Please understand. = 2018 Q3 = support AB partition support silent update support ROS in buildroot SDK support extern mode and mirror modr in buildroot SDK support 64bit Debian = 2018 Q4 = support&nbsp;incremental update support ffmpeg decode H264, H265, VP8, VP9, Jpeg support ffmpeg encode H264, Jpeg, VP8 support ffmepg camera capture &nbsp; 998a922efa5f08951960e66c3fa6b8c2c0480ef8 1961 1960 2018-07-10T07:52:03Z Admin 1 wikitext text/x-wiki This page discribe the road map of Rockchip Linux SDK. It is just let people know&nbsp;our plan&nbsp;in advance. not promise. It may change without inform you. Please understand. = 2018 Q3 = support AB partition support silent update support ROS in buildroot SDK support extern mode and mirror modr in buildroot SDK support 64bit Debian 9&nbsp;stretch = 2018 Q4 = support&nbsp;incremental update support ffmpeg decode H264, H265, VP8, VP9, Jpeg support ffmpeg encode H264, Jpeg, VP8 support ffmepg camera capture = 2019 Q1 = support&nbsp;Debian 10 buster 73482c7db83fe3556031d73e6c1cf417bf5c1b9a 1962 1961 2018-07-10T07:53:20Z Admin 1 wikitext text/x-wiki This page discribe the road map of Rockchip Linux SDK. It is just let people know&nbsp;our plan&nbsp;in advance. not promise. It may change without inform you. Please understand. = 2018 Q3 = support AB partition&nbsp;in buildroot SDK support silent update&nbsp;in buildroot SDK support ROS in buildroot SDK support extend mode and mirror modr in buildroot SDK support 64bit Debian 9&nbsp;stretch = 2018 Q4 = support&nbsp;incremental update support ffmpeg decode H264, H265, VP8, VP9, Jpeg support ffmpeg encode H264, Jpeg, VP8 support ffmepg camera capture = 2019 Q1 = support&nbsp;Debian 10 buster fbbd9f0171a326360d0f0ef2f04e586be399aebd 1963 1962 2018-07-10T07:55:59Z Admin 1 wikitext text/x-wiki This page discribe the road map of Rockchip Linux SDK. It is just let people know&nbsp;our plan&nbsp;in advance. not promise. It may change without inform you. Please understand. = 2018 Q3 = support AB partition&nbsp;in buildroot SDK support silent update&nbsp;in buildroot SDK support ROS in buildroot SDK support extend mode and mirror modr in buildroot SDK support 64bit Debian 9&nbsp;stretch = 2018 Q4 = support&nbsp;incremental update support ffmpeg hardware decode H264, H265, VP8, VP9, Jpeg support ffmpeg hardware encode H264, Jpeg, VP8 support ffmepg camera capture = 2019 Q1 = support&nbsp;Debian 10 buster 1278523d0280f41c2ab6bffdbd4f7f466826d3cd 1964 1963 2018-07-10T08:11:43Z Admin 1 wikitext text/x-wiki This page discribe the road map of Rockchip Linux SDK. It is just let people know&nbsp;our plan&nbsp;in advance. not promise. It may change without inform you. Please understand. = 2018 Q3 = support uboot logo display support AB partition&nbsp;in buildroot SDK support silent update&nbsp;in buildroot SDK support ROS in buildroot SDK support extend mode and mirror modr in buildroot SDK support 64bit Debian 9&nbsp;stretch = 2018 Q4 = support&nbsp;incremental update support ffmpeg hardware decode H264, H265, VP8, VP9, Jpeg support ffmpeg hardware encode H264, Jpeg, VP8 support ffmepg camera capture = 2019 Q1 = support&nbsp;Debian 10 buster 3fac148d4d2f93da43ea8c6c967f8524b7890b24 1965 1964 2018-07-10T08:19:02Z Admin 1 wikitext text/x-wiki This page discribe the road map of Rockchip Linux SDK. It is just let people know&nbsp;our plan&nbsp;in advance. not promise. It may change without inform you. Please understand. = 2018 Q3 = support uboot logo display support AB partition&nbsp;in buildroot SDK support silent update&nbsp;in buildroot SDK support key event in QT app support ROS in buildroot SDK support extend mode and mirror modr in buildroot SDK support screen rotation in buildroot SDK support 64bit Debian 9&nbsp;stretch = 2018 Q4 = support&nbsp;incremental update support ffmpeg hardware decode H264, H265, VP8, VP9, Jpeg support ffmpeg hardware encode H264, Jpeg, VP8 support ffmepg camera capture = 2019 Q1 = support&nbsp;Debian 10 buster 66bcf17cf1f30b932a7adfe1562cd40c90b54cc9 1966 1965 2018-07-10T08:21:52Z Admin 1 wikitext text/x-wiki This page discribe the road map of Rockchip Linux SDK. It is just let people know&nbsp;our plan&nbsp;in advance. not promise. It may change without inform you. Please understand. = 2018 Q3 = support uboot logo display support AB partition&nbsp;in buildroot SDK support silent update&nbsp;in buildroot SDK support key event in QT app support ROS in buildroot SDK support extend mode and mirror modr in buildroot SDK support screen rotation in buildroot SDK support 64bit Debian 9&nbsp;stretch support rkisp1+camera_engine_rkisp camera framework = 2018 Q4 = support&nbsp;incremental update support ffmpeg hardware decode H264, H265, VP8, VP9, Jpeg support ffmpeg hardware encode H264, Jpeg, VP8 support ffmepg camera capture = 2019 Q1 = support&nbsp;Debian 10 buster 1146205dfc12dc43b9eb90376c5d49d797d6ca87 1967 1966 2018-07-10T08:25:05Z Admin 1 wikitext text/x-wiki This page discribe the road map of Rockchip Linux SDK. It is just let people know&nbsp;our plan&nbsp;in advance. not promise. It may change without inform you. Please understand. = 2018 Q3 = support uboot logo display support AB partition&nbsp;in buildroot SDK support silent update&nbsp;in buildroot SDK support key event in QT app support ROS in buildroot SDK support extend mode and mirror modr in buildroot SDK support screen rotation in buildroot SDK support 64bit Debian 9&nbsp;stretch support rkisp1+camera_engine_rkisp camera framework support pcba test in buildroot SDK = 2018 Q4 = support&nbsp;incremental update support ffmpeg hardware decode H264, H265, VP8, VP9, Jpeg support ffmpeg hardware encode H264, Jpeg, VP8 support ffmepg camera capture = 2019 Q1 = support&nbsp;Debian 10 buster 9be239a6690c35a97a24cd1cd37571d697f19734 Download 0 208 1969 2018-07-13T02:45:20Z Admin 1 Created page with " &nbsp;" wikitext text/x-wiki &nbsp; 9012a5db0e48f472dc89e97fa239cc9970681b37 1987 1969 2018-07-13T03:45:13Z Admin 1 wikitext text/x-wiki We provide prebuilt for all the board we support. RK3399:&nbsp;[https://pan.baidu.com/s/1u-BM6U-vNpnmbAciOYvkzQ https://pan.baidu.com/s/1u-BM6U-vNpnmbAciOYvkzQ] RK3288:&nbsp;[https://pan.baidu.com/s/1zdp1vfBYCDO707rawF19QA https://pan.baidu.com/s/1zdp1vfBYCDO707rawF19QA] RK3328:&nbsp;[https://pan.baidu.com/s/1-FZRWaf-aZ-8N4GFDsJumw https://pan.baidu.com/s/1-FZRWaf-aZ-8N4GFDsJumw] 6297e2ddb39774cc155f546d54983210c7526315 Devices 0 49 1990 1688 2018-07-13T03:56:42Z Admin 1 wikitext text/x-wiki Here list the boards that appear&nbsp;at upstream or Rockchip github&nbsp;source code. = RK3036 Boards = Rockchip:&nbsp;[http://rockchip.wikidot.com/kylin Kylin-RK3036] &nbsp; = RK3288 Boards = Firefly:&nbsp;[[Firefly-RK3288|Firefly-RK3288]] ASUS:&nbsp;[[ASUS_Tinker|Tinker Board]] Mqmaker: [[MiQi|MiQi]] PHYTEC: [[PhyCORE-RK3288|phyCore-RK3288]] Linksprite:&nbsp;[[Fennec|PcDuino9 Fennec]] &nbsp; = RK3399 Boards = Rockchip: RK3399&nbsp;[[Excavator_sapphire_board|Excavator sapphire]] Firefly: [[Firefly-RK3399|Firefly-RK3399]] [https://www.theobroma-systems.com/ Theobroma Systems]: [[RK3399-Q7|RK3399-Q7]] = RK3328 Boards = Pine64:&nbsp;[[ROCK64|ROCK64]] Firefly: [[ROC-RK3328-CC]] 15fc2a1b5a6fd6ff9c6edf57b8c2fee8bb337a4e 1991 1990 2018-07-13T03:59:38Z Admin 1 wikitext text/x-wiki Here list the boards that appear&nbsp;at upstream or Rockchip github&nbsp;source code. = RK3036 Boards = Rockchip:&nbsp;[http://rockchip.wikidot.com/kylin Kylin-RK3036] &nbsp; = RK3288 Boards = Firefly:&nbsp;[[Firefly-RK3288|Firefly-RK3288]] ASUS:&nbsp;[[ASUS_Tinker|Tinker Board]] Mqmaker: [[MiQi|MiQi]] PHYTEC: [[PhyCORE-RK3288|phyCore-RK3288]] Linksprite:&nbsp;[[Fennec|PcDuino9 Fennec]] &nbsp; = RK3399 Boards = Rockchip: RK3399&nbsp;[[Excavator_sapphire_board|Excavator sapphire]] Firefly: [[Firefly-RK3399|Firefly-RK3399]] [https://www.theobroma-systems.com/ Theobroma Systems]: [[RK3399-Q7|RK3399-Q7]] Pine64: ROCK64pro Vmars: ROCK960 = RK3328 Boards = Pine64:&nbsp;[[ROCK64|ROCK64]] Firefly: [[ROC-RK3328-CC]] b9cc71221d914394163c27581cf4709902a224cc 1992 1991 2018-07-13T04:14:39Z Admin 1 wikitext text/x-wiki Here list the sbc boards that purchase available on market. &nbsp; = RK3036 Boards = Rockchip:&nbsp;[http://rockchip.wikidot.com/kylin Kylin-RK3036] = RK3288 Boards = Firefly:&nbsp;[[Firefly-RK3288|Firefly-RK3288]] ASUS:&nbsp;[[ASUS_Tinker|Tinker Board]] Mqmaker: [[MiQi|MiQi]] PHYTEC: [[PhyCORE-RK3288|phyCore-RK3288]] Linksprite:&nbsp;[[Fennec|PcDuino9 Fennec]] Pico-ITX: [http://www.aaeon.com/en/p/pico-itx-boards-rico-3288 RICO-3288] = RK3399 Boards = Rockchip: RK3399&nbsp;[[Excavator_sapphire_board|Excavator sapphire]] Firefly: [[Firefly-RK3399|Firefly-RK3399]] [https://www.theobroma-systems.com/ Theobroma Systems]: [[RK3399-Q7|RK3399-Q7]] Pine64: [https://www.pine64.org/?page_id=61454 ROCK64pro] Vmars: [https://www.96rocks.com/ ROCK960] Pico-ITX: [http://www.aaeon.com/en/p/pico-itx-boards-rico-3399 RICO-3399] Orange Pi: [http://www.orangepi.org/Orange%20Pi%20RK3399/ Orangepi-rk3399] FriendlyARM: [http://wiki.friendlyarm.com/wiki/index.php/NanoPC-T4 Nano PC T4] = RK3328 Boards = Pine64:&nbsp;[[ROCK64|ROCK64]] Firefly: [[ROC-RK3328-CC|ROC-RK3328-CC]] 937cc3347edc1fca663f81d841fb0afa35bcca5f Changelog 0 209 1993 2018-07-13T04:58:15Z Admin 1 Created page with " &nbsp;" wikitext text/x-wiki &nbsp; 9012a5db0e48f472dc89e97fa239cc9970681b37 Cif 0 210 1999 2018-07-13T05:12:01Z Admin 1 Created page with " &nbsp;" wikitext text/x-wiki &nbsp; 9012a5db0e48f472dc89e97fa239cc9970681b37 Status Matrix 0 154 2004 2003 2018-07-13T06:13:43Z Admin 1 wikitext text/x-wiki &nbsp; &nbsp; &nbsp; &nbsp; == Rockchip 4.4 Kernel Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! RK3399 ! RK3288 ! RK3328 |- | rowspan="2" style="text-align: left;" | ADC | style="text-align: left;" | SARADC | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | TSADC | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | Clocks | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | CPUFreq | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | Crypto | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | Mipi-CSI | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | N/A |- | colspan="2" style="text-align: left;" | ISP | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: rgb(255, 255, 255);" | N/A |- | colspan="2" style="text-align: left;" | DVP/CIF | style="background: rgb(255, 255, 255);" | N/A | style="background: lightgreen;" | SUPPORT | style="background: orange;" | WIP |- | rowspan="8" style="text-align: left;" | Display (DRM) | style="text-align: left;" | RGB | style="background: rgb(255, 255, 255);" | N/A | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | EDP | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | N/A |- | style="text-align: left;" | LVDS | style="background: rgb(255, 255, 255);" | &nbsp;N/A | style="background: lightgreen;" | SUPPORT | N/A |- | style="text-align: left;" | MIPI DSI | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | N/A |- | style="text-align: left;" | CVBS | N/A | N/A | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | VGA | N/A | N/A | N/A |- | style="text-align: left;" | HDMI | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | CEC | style="background: red;" | NO | style="background: red;" | NO | style="background: orange;" | WIP |- | colspan="2" style="text-align: left;" | DMA | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | DDR DVFS | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: red;" | NO |- | rowspan="2" style="text-align: left;" | Ethernet | style="text-align: left;" | GMAC | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | EMAC | N/A | N/A | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | I2S | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left" | I2C | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | MsgBox | N/A | N/A | N/A |- | colspan="2" style="text-align: left;" | Pinctrl | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | PWM | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | Power Domain | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | PCIE | style="background-color: lightgreen;" | SUPPORT | N/A | N/A |- | colspan="2" style="text-align: left;" | SD / SDIO / MMC | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | SPDIF | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | SPI | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | SUSPEND / RESUME | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | USB | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | USB OTG | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | TYPEC | style="background-color: lightgreen;" | SUPPORT | N/A | N/A |- | colspan="2" style="text-align: left;" | Watchdog | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | GPU | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | VPU | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | RGA | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | IEP | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |} &nbsp; &nbsp; &nbsp; &nbsp; == Mainline Kernel Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! RK3399 ! RK3288 ! RK3328 |- | rowspan="2" style="text-align: left;" | ADC | style="text-align: left;" | SARADC | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 |- | style="text-align: left;" | TSADC1 | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | Clocks | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | CPUFreq | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | Crypto | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | CSI/ISP | style="background: lightgreen;" | 4.14 | style="background: orange;" | WIP | N/A |- | colspan="2" style="text-align: left;" | CIF | style="background: orange;" | WIP | style="background: orange;" | WIP | style="background: orange;" | WIP |- | rowspan="8" style="text-align: left;" | Display (DRM) | style="text-align: left;" | RGB | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |- | style="text-align: left;" | EDP | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.4 | N/A |- | style="text-align: left;" | LVDS | style="background: red;" | NO | style="background: red;" | NO | N/A |- | style="text-align: left;" | MIPI DSI | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.4 | N/A |- | style="text-align: left;" | CVBS | N/A | N/A | style="background: darkgreen;" | INCOMPLETE |- | style="text-align: left;" | VGA | N/A | N/A | N/A |- | style="text-align: left;" | HDMI | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE |- | style="text-align: left;" | CEC | style="background: red;" | NO | style="background: red;" | NO | style="background: darkgreen;" | INCOMPLETE |- | colspan="2" style="text-align: left;" | DMA | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | DDR DVFS | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |- | rowspan="2" style="text-align: left;" | Ethernet | style="text-align: left;" | GMAC | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 |- | style="text-align: left;" | EMAC | N/A | N/A | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | I2S | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left" | I2C | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | MsgBox | N/A | N/A | N/A |- | colspan="2" style="text-align: left;" | Pinctrl | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | PWM | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | Power Domain | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | PCIE | style="background-color: lightgreen;" | 4.14 | N/A | N/A |- | colspan="2" style="text-align: left;" | SD / SDIO / MMC | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | SPDIF | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | SPI | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | SUSPEND / RESUME | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | USB | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | USB OTG | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | TYPEC | style="background-color: lightgreen;" | 4.14 | N/A | N/A |- | colspan="2" style="text-align: left;" | Watchdog | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | GPU | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |- | colspan="2" style="text-align: left;" | VPU | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |- | colspan="2" style="text-align: left;" | RGA | style="background: lightgreen;" | 4.15 | style="background: lightgreen;" | 4.15 | style="background: orange;" | WIP |- | colspan="2" style="text-align: left;" | IEP | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |} &nbsp; &nbsp; &nbsp; &nbsp; == Linux SDK CHIP Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! RK3399 ! RK3288 ! RK3328 |- | colspan="2" style="text-align: left;" | Debian | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | Buildroot | style="background-color: lightgreen;" | SUPPORT | style="background-color: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | rowspan="5" style="text-align: left;" | Decode | style="text-align: left;" | H264 | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | H265 | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | VP8 | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | VP9 | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | JPEG | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | rowspan="3" style="text-align: left;" | Encode | style="text-align: left;" | H264 | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | H265 | style="background-color: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background-color: lightgreen;" | SUPPORT |- | style="text-align: left;" | JPEG | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | ISP(3A) | style="background: lightgreen;" | SUPPORT | style="background-color: lightgreen;" | SUPPORT | style="background: white;" | N/A |} <br/> &nbsp; == Linux&nbsp;Function Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! Status |- | rowspan="5" style="text-align: left;" | Gstreamer | style="text-align: left;" | Display | style="background: lightgreen;" | kmssink(qt eglfs),rkximagesink(x11), waylandsink(wayland) |- | style="text-align: left;" | Decode&nbsp; | style="background: lightgreen;" | h264, h265, vp8, vp9, jpeg |- | style="text-align: left;" | Encode | style="background: lightgreen;" | h264 |- | style="text-align: left;" | Camera | style="background: lightgreen;" | support 3A |- | style="text-align: left;" | Transform | style="background: lightgreen;" | RGA |- | rowspan="2" style="text-align: left;" | GPU | style="text-align: left;" | GLES | style="background: lightgreen;" | libmali |- | style="text-align: left;" | OPENCL | style="background: lightgreen;" | libmali |- | colspan="2" rowspan="1" style="text-align: left;" | QT | style="background: lightgreen;" | QT 5.x |- | colspan="2" style="text-align: left;" | Browser(HTML5 Accelerate) | style="background: yellow;" | Community |- | colspan="2" style="text-align: left;" | IOT(Third part Could Service) | style="background: lightgreen;" | ROS |- | colspan="2" style="text-align: left;" | FFmpeg | style="background: yellow;" | Community |- | colspan="2" style="text-align: left;" | MPV | style="background: yellow;" | Community |- | colspan="2" style="text-align: left;" | KODI | style="background: yellow;" | Community |} 3a05eedf6ccbf46e35f5831f9c6faff49e89491e Changelog 0 209 2012 1993 2018-07-13T07:16:24Z Admin 1 wikitext text/x-wiki = release-20171213 = new Boards: *add rk3288-evb-rk808 board *add rk3288-evb-rk1608 board Bugs: *fix ehci usb audio suspend issue *dwc2/dwc3 bug fixs *some v4l2 framework bug fixs(dmabuf import.....) *fix gcc6/gcc7 compile warning Features: *v4l2 cif driver in Linux *improve rk3036 support *improve rk-isp10 driver *update midgard GPU driver to r14p0 Trivial: *enable CMA for Linux *enable PSCI/SMC for Linux = Tested = *rk3288-evb *rk3399-excavator *rk3328-evb *rk3036-kylin 259b6059f7ad8228ae37f6f5e97345c7f82a94db 2013 2012 2018-07-13T07:16:55Z Admin 1 wikitext text/x-wiki = release-20171213 = new Boards: *add rk3288-evb-rk808 board *add rk3288-evb-rk1608 board Bugs: *fix ehci usb audio suspend issue *dwc2/dwc3 bug fixs *some v4l2 framework bug fixs(dmabuf import.....) *fix gcc6/gcc7 compile warning Features: *v4l2 cif driver in Linux *improve rk3036 support *improve rk-isp10 driver *update midgard GPU driver to r14p0 Trivial: *enable CMA for Linux *enable PSCI/SMC for Linux Tested *rk3288-evb *rk3399-excavator *rk3328-evb *rk3036-kylin ef697b89fb83dc46ee9510f9efcff27f4c2510b3 Camera Engine 0 212 2014 2018-07-13T07:19:16Z Admin 1 Created page with " &nbsp;" wikitext text/x-wiki &nbsp; 9012a5db0e48f472dc89e97fa239cc9970681b37 U-Boot 0 11 2015 1927 2018-07-13T07:38:11Z Kever 2 wikitext text/x-wiki = Download U-Boot = == Upstream U-Boot == You can clone the u-boot repository by running: <pre>git clone git://git.denx.de/u-boot.git</pre> Alternatively you can use u-boot-rockchip instead which may with some patches not get in mainline: <pre>git clone git://git.denx.de/u-boot-rockchip.git</pre> &nbsp; == Rockchip U-Boot == You can clone the u-boot repository by running: <pre>git clone https://github.com/rockchip-linux/u-boot.git </pre> = Supported Devices = Upstream U-Boot support Rockchip SoCs: RK3036, RK3188,&nbsp;[http://opensource.rock-chips.com/wiki_RK3288 RK3288],&nbsp;[http://opensource.rock-chips.com/wiki_RK3328 RK3328],&nbsp;[http://opensource.rock-chips.com/wiki_RK3399 RK3399] *RK3036 boards supported: #EVB RK3036 - use evb-rk3036 configuration #Kylin - use kylin_rk3036 configuration *RK3288 boards supported: #EVB RK3288 - use evb-rk3288 configuration #Fennec RK3288 - use fennec-rk3288 configuration #Firefly RK3288 - use firefly-rk3288 configuration #Hisense Chromebook - use chromebook_jerry configuration #Miniarm RK3288 - use miniarm-rk3288 configuration #PopMetal RK3288 - use popmetal-rk3288 configuration #Radxa Rock 2 - use rock2 configuration #ASUS Tinker *RK3188 boards&nbsp;supported: #Radxa Rock - use rock&nbsp;configuration *RK3328 boards&nbsp;supported: #EVB RK3328 - use evb-rk3328 configuration *RK3399 boards&nbsp;supported: #EVB RK3399 - use evb-rk3399 configuration = Get a toolchain = If you haven't done so before, get a suitable&nbsp;toolchain&nbsp;installed and add it&nbsp;to your PATH. In Ubuntu 14.04, you can use below command to install cross compiler for armv7: <pre>sudo apt-get install gcc-arm-linux-gnueabi</pre> Or for ARM64 <pre>sudo apt-get install gcc-aarch64-linux-gnu </pre> Note that the latest U-Boot require version gcc-5.0 and later, we recommand to use linaro 6.3.1. <pre>https://github.com/rockchip-linux/gcc-linaro-6.3.1-2017.05-x86_64_arm-linux-gnueabihf.git</pre> <pre>https://github.com/rockchip-linux/gcc-linaro-6.3.1-2017.05-x86_64_aarch64-linux-gnu.git</pre> = Configure U-Boot = First you need to choose a correct defconfig for your board; When you have determined what <board_name> you want to build, configure: <pre>make CROSS_COMPILE=arm-linux-gnueabi- <board_name>_defconfig</pre> You may need to change the U-Boot function/feature support by modify the defconfig file or, there is also menuconfig to play with settings if you feel like it: <pre>make CROSS_COMPILE=arm-linux-gnueabi- menuconfig </pre> &nbsp; = Build U-Boot = == Buid Rockchip U-Boot == For&nbsp;convenience, Rockchip provide a &nbsp;script 'make.sh' to make it easy to get everything before kernel, this script need toolchain and [[rkbin]] support. <pre>├── prebuilts │ └── gcc │ └── linux-x86 │ ├── aarch64 │ └── arm ├── rkbin ├── u-boot</pre> expample for build rk3399: <pre>./make.sh rk3399</pre> and&nbsp;use './make.sh -h' for more option. The output will including pre-loader, trust and u-boot,&nbsp; <pre>u-boot/ ├── rk3399_loader_v1.09.112.bin ├── trust.img └── uboot.img</pre> == Common Build Steps == This is common and available for both Upstream U-Boot and Rockchip U-Boot. For armv7: <pre>make CROSS_COMPILE=arm-linux-gnueabi-</pre> or for ARM64: <pre>make ARCH=arm CROSS_COMPILE=aarch64-linux-gnu-</pre> In order to support debug symbol in ARM DS-5, you may need add ctags in make command: <pre>CFLAGS='-gdwarf-3'</pre> You can get available u-boot.bin, spl/u-boot-spl.bin, tpl/u-boot-tpl.bin at this step, and you can use it later as describe at&nbsp;[http://opensource.rock-chips.com/wiki_Boot_option boot option]. '''Support ATF with SPL FIT image''' For trust support, we are using FIT image with 'mkimage' cmd in Makefile and its script defined in defconfig: <pre>make u-boot.itb</pre> Note: please copy the trust binary() to u-boot root directory and rename it to tee.bin(armv7) or bl31.elf(armv8). The u-boot.itb including u-boot-nodtb.bin, board.dtb, and trust binaries. = Install U-Boot = Rockchip SoCs's bootrom need special format named IDBlock at special offset 0x40&nbsp;block for boot, so we need to package&nbsp;SPL(or Rockchip miniloader) &nbsp;in IDB format. Rockchip bootrom supports SPL back to bootrom and bootrom load the U-Boot, so the SPL for Rockchip SoCs can option to back to bootrom, usually decided by if the IRAM is enough&nbsp;for driver to load U-Boot. &nbsp; == Using U-Boot SPL == After build&nbsp;complete, U-Boot with SPL support will generate a spl folder with&nbsp;<var>u-boot-spl.bin</var>&nbsp;inside <pre>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl.bin idbloader.img</pre> '''This image is supposed to flash to offset 0x40.''' For&nbsp;<var>u-boot.bin</var>, it's different for SPL back to bootrom or not, if enable&nbsp;CONFIG_ROCKCHIP_SPL_BACK_TO_BROM, we can append the U-Boot to IDB data: <pre>cat u-boot.bin >> idbloader.img</pre> <code>If&nbsp;</code>CONFIG_ROCKCHIP_SPL_BACK_TO_BROM&nbsp;not enabled, no more package operation is need for u-boot-dtb.bin, and it need to flalsh to 0x200 which is decide by&nbsp;CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR. == Using Rockchip miniloader == Alternatively, you can use Rockchip miniloader and U-Boot instead which do not need SPL. The miniloader is package as IDBlock, and the u-boot.bin need to package with rockchip tool: <pre>loaderimage --pack --uboot u-boot.bin uboot.img</pre> According to the&nbsp;[http://opensource.rock-chips.com/wiki_Partitions partitions]&nbsp;definition, the miniloader should write to offset 0x40 and &nbsp;this uboot.img should write to offset 0x4000. &nbsp; == Boot up == See&nbsp;[http://opensource.rock-chips.com/wiki_Boot_option boot option]&nbsp;about how to boot from eMMC/SD card. = Boot cmd = Rockchip U-Boot Android boot, Rockchip RKIMG boot and Distro boot. Upstream U-Boot suppot distro boot. = Firmware download in U-Boot = In U-Boot, there are multi way to update image for system, you can chose any of one easy use for you. == fastboot == See&nbsp;[http://opensource.rock-chips.com/wiki_Fastboot fastboot] == rockusb == 784eee7e8357879b9465bb6cc1a6a0411c8b34e4 2016 2015 2018-07-13T07:39:37Z Kever 2 wikitext text/x-wiki = Download U-Boot = == Upstream U-Boot == You can clone the u-boot repository by running: <pre>git clone git://git.denx.de/u-boot.git</pre> Alternatively you can use u-boot-rockchip instead which may with some patches not get in mainline: <pre>git clone git://git.denx.de/u-boot-rockchip.git</pre> &nbsp; == Rockchip U-Boot == You can clone the u-boot repository by running: <pre>git clone https://github.com/rockchip-linux/u-boot.git </pre> = Supported Devices = Upstream U-Boot support Rockchip SoCs: RK3036, RK3188,&nbsp;[http://opensource.rock-chips.com/wiki_RK3288 RK3288],&nbsp;[http://opensource.rock-chips.com/wiki_RK3328 RK3328],&nbsp;[http://opensource.rock-chips.com/wiki_RK3399 RK3399] *RK3036 boards supported: #EVB RK3036 - use evb-rk3036 configuration #Kylin - use kylin_rk3036 configuration *RK3288 boards supported: #EVB RK3288 - use evb-rk3288 configuration #Fennec RK3288 - use fennec-rk3288 configuration #Firefly RK3288 - use firefly-rk3288 configuration #Hisense Chromebook - use chromebook_jerry configuration #Miniarm RK3288 - use miniarm-rk3288 configuration #PopMetal RK3288 - use popmetal-rk3288 configuration #Radxa Rock 2 - use rock2 configuration #ASUS Tinker *RK3188 boards&nbsp;supported: #Radxa Rock - use rock&nbsp;configuration *RK3328 boards&nbsp;supported: #EVB RK3328 - use evb-rk3328 configuration *RK3399 boards&nbsp;supported: #EVB RK3399 - use evb-rk3399 configuration = Get a toolchain = If you haven't done so before, get a suitable&nbsp;toolchain&nbsp;installed and add it&nbsp;to your PATH. In Ubuntu 14.04, you can use below command to install cross compiler for armv7: <pre>sudo apt-get install gcc-arm-linux-gnueabi</pre> Or for ARM64 <pre>sudo apt-get install gcc-aarch64-linux-gnu </pre> Note that the latest U-Boot require version gcc-5.0 and later, we recommand to use linaro 6.3.1. <pre>https://github.com/rockchip-linux/gcc-linaro-6.3.1-2017.05-x86_64_arm-linux-gnueabihf.git</pre> <pre>https://github.com/rockchip-linux/gcc-linaro-6.3.1-2017.05-x86_64_aarch64-linux-gnu.git</pre> = Configure U-Boot = First you need to choose a correct defconfig for your board; When you have determined what <board_name> you want to build, configure: <pre>make CROSS_COMPILE=arm-linux-gnueabi- <board_name>_defconfig</pre> You may need to change the U-Boot function/feature support by modify the defconfig file or, there is also menuconfig to play with settings if you feel like it: <pre>make CROSS_COMPILE=arm-linux-gnueabi- menuconfig </pre> &nbsp; = Build U-Boot = == Buid Rockchip U-Boot == For&nbsp;convenience, Rockchip provide a &nbsp;script 'make.sh' to make it easy to get everything before kernel, this script need toolchain and [[Rkbin|rkbin]] support. <pre>├── prebuilts │ └── gcc │ └── linux-x86 │ ├── aarch64 │ └── arm ├── rkbin ├── u-boot</pre> expample for build rk3399: <pre>./make.sh rk3399</pre> and&nbsp;use './make.sh -h' for more option. The output will including pre-loader, trust and u-boot image which is ready to use with rockchip upgrade tool,&nbsp; <pre>u-boot/ ├── rk3399_loader_v1.09.112.bin ├── trust.img └── uboot.img</pre> == Common Build Steps == This is common and available for both Upstream U-Boot and Rockchip U-Boot. For armv7: <pre>make CROSS_COMPILE=arm-linux-gnueabi-</pre> or for ARM64: <pre>make ARCH=arm CROSS_COMPILE=aarch64-linux-gnu-</pre> In order to support debug symbol in ARM DS-5, you may need add ctags in make command: <pre>CFLAGS='-gdwarf-3'</pre> You can get available u-boot.bin, spl/u-boot-spl.bin, tpl/u-boot-tpl.bin at this step, and you can use it later as describe at&nbsp;[http://opensource.rock-chips.com/wiki_Boot_option boot option]. '''Support ATF with SPL FIT image''' For trust support, we are using FIT image with 'mkimage' cmd in Makefile and its script defined in defconfig: <pre>make u-boot.itb</pre> Note: please copy the trust binary() to u-boot root directory and rename it to tee.bin(armv7) or bl31.elf(armv8). The u-boot.itb including u-boot-nodtb.bin, board.dtb, and trust binaries. = Install U-Boot = Rockchip SoCs's bootrom need special format named IDBlock at special offset 0x40&nbsp;block for boot, so we need to package&nbsp;SPL(or Rockchip miniloader) &nbsp;in IDB format. Rockchip bootrom supports SPL back to bootrom and bootrom load the U-Boot, so the SPL for Rockchip SoCs can option to back to bootrom, usually decided by if the IRAM is enough&nbsp;for driver to load U-Boot. &nbsp; == Using U-Boot SPL == After build&nbsp;complete, U-Boot with SPL support will generate a spl folder with&nbsp;<var>u-boot-spl.bin</var>&nbsp;inside <pre>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl.bin idbloader.img</pre> '''This image is supposed to flash to offset 0x40.''' For&nbsp;<var>u-boot.bin</var>, it's different for SPL back to bootrom or not, if enable&nbsp;CONFIG_ROCKCHIP_SPL_BACK_TO_BROM, we can append the U-Boot to IDB data: <pre>cat u-boot.bin >> idbloader.img</pre> <code>If&nbsp;</code>CONFIG_ROCKCHIP_SPL_BACK_TO_BROM&nbsp;not enabled, no more package operation is need for u-boot-dtb.bin, and it need to flalsh to 0x200 which is decide by&nbsp;CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR. == Using Rockchip miniloader == Alternatively, you can use Rockchip miniloader and U-Boot instead which do not need SPL. The miniloader is package as IDBlock, and the u-boot.bin need to package with rockchip tool: <pre>loaderimage --pack --uboot u-boot.bin uboot.img</pre> According to the&nbsp;[http://opensource.rock-chips.com/wiki_Partitions partitions]&nbsp;definition, the miniloader should write to offset 0x40 and &nbsp;this uboot.img should write to offset 0x4000. &nbsp; == Boot up == See&nbsp;[http://opensource.rock-chips.com/wiki_Boot_option boot option]&nbsp;about how to boot from eMMC/SD card. = Boot cmd = Rockchip U-Boot Android boot, Rockchip RKIMG boot and Distro boot. Upstream U-Boot suppot distro boot. = Firmware download in U-Boot = In U-Boot, there are multi way to update image for system, you can chose any of one easy use for you. == fastboot == See&nbsp;[http://opensource.rock-chips.com/wiki_Fastboot fastboot] == rockusb == e2f8d29f73cfaccfa47421751e7ea2bcdb2962c3 2019 2016 2018-07-13T07:47:08Z Kever 2 wikitext text/x-wiki = Download U-Boot = == Upstream U-Boot == You can clone the u-boot repository by running: <pre>git clone git://git.denx.de/u-boot.git</pre> Alternatively you can use u-boot-rockchip instead which may with some patches not get in mainline: <pre>git clone git://git.denx.de/u-boot-rockchip.git</pre> &nbsp; == Rockchip U-Boot == You can clone the u-boot repository by running: <pre>git clone https://github.com/rockchip-linux/u-boot.git </pre> = Supported Devices = Upstream U-Boot support Rockchip SoCs: RK3036, RK3188,&nbsp;[http://opensource.rock-chips.com/wiki_RK3288 RK3288],&nbsp;[http://opensource.rock-chips.com/wiki_RK3328 RK3328],&nbsp;[http://opensource.rock-chips.com/wiki_RK3399 RK3399] *RK3036 boards supported: #EVB RK3036 - use evb-rk3036 configuration #Kylin - use kylin_rk3036 configuration *RK3288 boards supported: #EVB RK3288 - use evb-rk3288 configuration #Fennec RK3288 - use fennec-rk3288 configuration #Firefly RK3288 - use firefly-rk3288 configuration #Hisense Chromebook - use chromebook_jerry configuration #Miniarm RK3288 - use miniarm-rk3288 configuration #PopMetal RK3288 - use popmetal-rk3288 configuration #Radxa Rock 2 - use rock2 configuration #ASUS Tinker *RK3188 boards&nbsp;supported: #Radxa Rock - use rock&nbsp;configuration *RK3328 boards&nbsp;supported: #EVB RK3328 - use evb-rk3328 configuration *RK3399 boards&nbsp;supported: #EVB RK3399 - use evb-rk3399 configuration = Get a toolchain = If you haven't done so before, get a suitable&nbsp;toolchain&nbsp;installed and add it&nbsp;to your PATH. In Ubuntu 14.04, you can use below command to install cross compiler for armv7: <pre>sudo apt-get install gcc-arm-linux-gnueabi</pre> Or for ARM64 <pre>sudo apt-get install gcc-aarch64-linux-gnu </pre> Note that the latest U-Boot require version gcc-5.0 and later, we recommand to use linaro 6.3.1. <pre>https://github.com/rockchip-linux/gcc-linaro-6.3.1-2017.05-x86_64_arm-linux-gnueabihf.git</pre> <pre>https://github.com/rockchip-linux/gcc-linaro-6.3.1-2017.05-x86_64_aarch64-linux-gnu.git</pre> = Configure U-Boot = First you need to choose a correct defconfig for your board; When you have determined what <board_name> you want to build, configure: <pre>make CROSS_COMPILE=arm-linux-gnueabi- <board_name>_defconfig</pre> You may need to change the U-Boot function/feature support by modify the defconfig file or, there is also menuconfig to play with settings if you feel like it: <pre>make CROSS_COMPILE=arm-linux-gnueabi- menuconfig </pre> &nbsp; = Build U-Boot = == Buid Rockchip U-Boot == For&nbsp;convenience, Rockchip provide a &nbsp;script 'make.sh' to make it easy to get everything before kernel, this script need toolchain and [[Rkbin|rkbin]] support. <pre>├── prebuilts │ └── gcc │ └── linux-x86 │ ├── aarch64 │ └── arm ├── rkbin ├── u-boot</pre> expample for build rk3399: <pre>./make.sh rk3399</pre> and&nbsp;use './make.sh -h' for more option. The output will including pre-loader, trust and u-boot image which is ready to use with rockchip upgrade tool,&nbsp; <pre>u-boot/ ├── rk3399_loader_v1.09.112.bin ├── trust.img └── uboot.img</pre> == Common Build Steps == This is common and available for both Upstream U-Boot and Rockchip U-Boot. For armv7: <pre>make CROSS_COMPILE=arm-linux-gnueabi-</pre> or for ARM64: <pre>make ARCH=arm CROSS_COMPILE=aarch64-linux-gnu-</pre> In order to support debug symbol in ARM DS-5, you may need add ctags in make command: <pre>CFLAGS='-gdwarf-3'</pre> You can get available u-boot.bin, spl/u-boot-spl.bin, tpl/u-boot-tpl.bin at this step, and you need to package it with tool before use with rockchip upagrade tool. Get detail at&nbsp;[http://opensource.rock-chips.com/wiki_Boot_option boot option]. '''Support ATF with SPL FIT image''' For trust support, we are using FIT image with 'mkimage' cmd in Makefile and its script defined in defconfig: <pre>make u-boot.itb</pre> Note: please copy the trust binary() to u-boot root directory and rename it to tee.bin(armv7) or bl31.elf(armv8). The u-boot.itb is a its based package including u-boot-nodtb.bin, board.dtb, and trust binaries which can be used directly with upgrade tool. <pre>├── u-boot │ ├── u-boot.bin │ ├── u-boot.itb │ ├── spl │ │ └── u-boot-spl.bin │ └── tpl │ └── u-boot-tpl.bin</pre> = Install U-Boot = Rockchip SoCs's bootrom need special format named IDBlock at special offset 0x40&nbsp;block for boot, so we need to package&nbsp;SPL(or Rockchip miniloader) &nbsp;in IDB format. Rockchip bootrom supports SPL back to bootrom and bootrom load the U-Boot, so the SPL for Rockchip SoCs can option to back to bootrom, usually decided by if the IRAM is enough&nbsp;for driver to load U-Boot. &nbsp; == Using U-Boot SPL == After build&nbsp;complete, U-Boot with SPL support will generate a spl folder with&nbsp;<var>u-boot-spl.bin</var>&nbsp;inside <pre>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl.bin idbloader.img</pre> '''This image is supposed to flash to offset 0x40.''' For&nbsp;<var>u-boot.bin</var>, it's different for SPL back to bootrom or not, if enable&nbsp;CONFIG_ROCKCHIP_SPL_BACK_TO_BROM, we can append the U-Boot to IDB data: <pre>cat u-boot.bin >> idbloader.img</pre> <code>If&nbsp;</code>CONFIG_ROCKCHIP_SPL_BACK_TO_BROM&nbsp;not enabled, no more package operation is need for u-boot-dtb.bin, and it need to flalsh to 0x200 which is decide by&nbsp;CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR. == Using Rockchip miniloader == Alternatively, you can use Rockchip miniloader and U-Boot instead which do not need SPL. The miniloader is package as IDBlock, and the u-boot.bin need to package with rockchip tool: <pre>loaderimage --pack --uboot u-boot.bin uboot.img</pre> According to the&nbsp;[http://opensource.rock-chips.com/wiki_Partitions partitions]&nbsp;definition, the miniloader should write to offset 0x40 and &nbsp;this uboot.img should write to offset 0x4000. &nbsp; == Boot up == See&nbsp;[http://opensource.rock-chips.com/wiki_Boot_option boot option]&nbsp;about how to boot from eMMC/SD card. = Boot cmd = Rockchip U-Boot Android boot, Rockchip RKIMG boot and Distro boot. Upstream U-Boot suppot distro boot. = Firmware download in U-Boot = In U-Boot, there are multi way to update image for system, you can chose any of one easy use for you. == fastboot == See&nbsp;[http://opensource.rock-chips.com/wiki_Fastboot fastboot] == rockusb == d995faf0a673632d2cce96516fa609db57ad44e1 2020 2019 2018-07-13T07:50:35Z Kever 2 wikitext text/x-wiki = Download U-Boot = == Upstream U-Boot == You can clone the u-boot repository by running: <pre>git clone git://git.denx.de/u-boot.git</pre> Alternatively you can use u-boot-rockchip instead which may with some patches not get in mainline: <pre>git clone git://git.denx.de/u-boot-rockchip.git</pre> &nbsp; == Rockchip U-Boot == You can clone the u-boot repository by running: <pre>git clone https://github.com/rockchip-linux/u-boot.git </pre> = Supported Devices = Upstream U-Boot support Rockchip SoCs: RK3036, RK3188,&nbsp;[http://opensource.rock-chips.com/wiki_RK3288 RK3288],&nbsp;[http://opensource.rock-chips.com/wiki_RK3328 RK3328],&nbsp;[http://opensource.rock-chips.com/wiki_RK3399 RK3399] *RK3036 boards supported: #EVB RK3036 - use evb-rk3036 configuration #Kylin - use kylin_rk3036 configuration *RK3288 boards supported: #EVB RK3288 - use evb-rk3288 configuration #Fennec RK3288 - use fennec-rk3288 configuration #Firefly RK3288 - use firefly-rk3288 configuration #Hisense Chromebook - use chromebook_jerry configuration #Miniarm RK3288 - use miniarm-rk3288 configuration #PopMetal RK3288 - use popmetal-rk3288 configuration #Radxa Rock 2 - use rock2 configuration #ASUS Tinker *RK3188 boards&nbsp;supported: #Radxa Rock - use rock&nbsp;configuration *RK3328 boards&nbsp;supported: #EVB RK3328 - use evb-rk3328 configuration *RK3399 boards&nbsp;supported: #EVB RK3399 - use evb-rk3399 configuration = Get a toolchain = If you haven't done so before, get a suitable&nbsp;toolchain&nbsp;installed and add it&nbsp;to your PATH. In Ubuntu 14.04, you can use below command to install cross compiler for armv7: <pre>sudo apt-get install gcc-arm-linux-gnueabi</pre> Or for ARM64 <pre>sudo apt-get install gcc-aarch64-linux-gnu </pre> Note that the latest U-Boot require version gcc-5.0 and later, we recommand to use linaro 6.3.1. <pre>https://github.com/rockchip-linux/gcc-linaro-6.3.1-2017.05-x86_64_arm-linux-gnueabihf.git</pre> <pre>https://github.com/rockchip-linux/gcc-linaro-6.3.1-2017.05-x86_64_aarch64-linux-gnu.git</pre> = Configure U-Boot = First you need to choose a correct defconfig for your board; When you have determined what <board_name> you want to build, configure: <pre>make CROSS_COMPILE=arm-linux-gnueabi- <board_name>_defconfig</pre> You may need to change the U-Boot function/feature support by modify the defconfig file or, there is also menuconfig to play with settings if you feel like it: <pre>make CROSS_COMPILE=arm-linux-gnueabi- menuconfig </pre> &nbsp; = Build U-Boot = == Buid Rockchip U-Boot == For&nbsp;convenience, Rockchip provide a &nbsp;script 'make.sh' to make it easy to get everything before kernel, this script need toolchain and [[Rkbin|rkbin]] support. <pre>├── prebuilts │ └── gcc │ └── linux-x86 │ ├── aarch64 │ └── arm ├── rkbin ├── u-boot</pre> expample for build rk3399: <pre>./make.sh rk3399</pre> and&nbsp;use './make.sh -h' for more option. The output will including pre-loader, trust and u-boot image which is ready to use with rockchip upgrade tool,&nbsp; <pre>u-boot/ ├── rk3399_loader_v1.09.112.bin ├── trust.img └── uboot.img</pre> == Common Build Steps == This is common and available for both Upstream U-Boot and Rockchip U-Boot. For armv7: <pre>make CROSS_COMPILE=arm-linux-gnueabi-</pre> or for ARM64: <pre>make ARCH=arm CROSS_COMPILE=aarch64-linux-gnu-</pre> In order to support debug symbol in ARM DS-5, you may need add ctags in make command: <pre>CFLAGS='-gdwarf-3'</pre> You can get available u-boot.bin, spl/u-boot-spl.bin, tpl/u-boot-tpl.bin at this step, and you need to package it with tool before use with rockchip upagrade tool. Get detail at&nbsp;[http://opensource.rock-chips.com/wiki_Boot_option boot option]. '''Support ATF with SPL FIT image''' For trust support, we are using FIT image with 'mkimage' cmd in Makefile and its script defined in defconfig: <pre>make u-boot.itb</pre> Note: please copy the trust binary() to u-boot root directory and rename it to tee.bin(armv7) or bl31.elf(armv8). The u-boot.itb is a its based package including u-boot-nodtb.bin, board.dtb, and trust binaries which can be used directly with upgrade tool. <pre>├── u-boot │ ├── u-boot.bin │ ├── u-boot.itb │ ├── spl │ │ └── u-boot-spl.bin │ └── tpl │ └── u-boot-tpl.bin</pre> = Install U-Boot = Rockchip SoCs's bootrom need special format named IDBlock at special offset 0x40&nbsp;block for boot, so we need to package&nbsp;SPL(or Rockchip miniloader) &nbsp;in IDB format. Rockchip bootrom supports SPL back to bootrom and bootrom load the U-Boot, so the SPL for Rockchip SoCs can option to back to bootrom, usually decided by if the IRAM is enough&nbsp;for driver to load U-Boot. &nbsp; == Using U-Boot SPL == After build&nbsp;complete, U-Boot with SPL support will generate a spl folder with&nbsp;<var>u-boot-spl.bin</var>&nbsp;inside <pre>tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl.bin idbloader.img</pre> '''This image is supposed to flash to offset 0x40.''' == Using Rockchip miniloader == Alternatively, you can use Rockchip miniloader and U-Boot instead which do not need SPL. The miniloader is package as IDBlock, and the u-boot.bin need to package with rockchip tool: <pre>loaderimage --pack --uboot u-boot.bin uboot.img</pre> According to the&nbsp;[http://opensource.rock-chips.com/wiki_Partitions partitions]&nbsp;definition, the miniloader should write to offset 0x40 and &nbsp;this uboot.img should write to offset 0x4000. &nbsp; == Boot up == See&nbsp;[http://opensource.rock-chips.com/wiki_Boot_option boot option]&nbsp;about how to boot from eMMC/SD card. = Boot cmd = Rockchip U-Boot Android boot, Rockchip RKIMG boot and Distro boot. Upstream U-Boot suppot distro boot. = Firmware download in U-Boot = In U-Boot, there are multi way to update image for system, you can chose any of one easy use for you. == fastboot == See&nbsp;[http://opensource.rock-chips.com/wiki_Fastboot fastboot] == rockusb == 4ac9de15d0ee02224db2ec00045623c3c14e01a3 2029 2020 2018-07-13T08:11:52Z Kever 2 wikitext text/x-wiki = Download U-Boot = == Upstream U-Boot == You can clone the u-boot repository by running: <pre>git clone git://git.denx.de/u-boot.git</pre> Alternatively you can use u-boot-rockchip instead which may with some patches not get in mainline: <pre>git clone git://git.denx.de/u-boot-rockchip.git</pre> &nbsp; == Rockchip U-Boot == You can clone the u-boot repository by running: <pre>git clone https://github.com/rockchip-linux/u-boot.git </pre> = Supported Devices = Upstream U-Boot support Rockchip SoCs: RK3036, RK3188,&nbsp;[http://opensource.rock-chips.com/wiki_RK3288 RK3288],&nbsp;[http://opensource.rock-chips.com/wiki_RK3328 RK3328],&nbsp;[http://opensource.rock-chips.com/wiki_RK3399 RK3399] *RK3036 boards supported: #EVB RK3036 - use evb-rk3036 configuration #Kylin - use kylin_rk3036 configuration *RK3288 boards supported: #EVB RK3288 - use evb-rk3288 configuration #Fennec RK3288 - use fennec-rk3288 configuration #Firefly RK3288 - use firefly-rk3288 configuration #Hisense Chromebook - use chromebook_jerry configuration #Miniarm RK3288 - use miniarm-rk3288 configuration #PopMetal RK3288 - use popmetal-rk3288 configuration #Radxa Rock 2 - use rock2 configuration #ASUS Tinker *RK3188 boards&nbsp;supported: #Radxa Rock - use rock&nbsp;configuration *RK3328 boards&nbsp;supported: #EVB RK3328 - use evb-rk3328 configuration *RK3399 boards&nbsp;supported: #EVB RK3399 - use evb-rk3399 configuration = Get a toolchain = If you haven't done so before, get a suitable&nbsp;toolchain&nbsp;installed and add it&nbsp;to your PATH. In Ubuntu 14.04, you can use below command to install cross compiler for armv7: <pre>sudo apt-get install gcc-arm-linux-gnueabi</pre> Or for ARM64 <pre>sudo apt-get install gcc-aarch64-linux-gnu </pre> Note that the latest U-Boot require version gcc-5.0 and later, we recommand to use linaro 6.3.1. <pre>https://github.com/rockchip-linux/gcc-linaro-6.3.1-2017.05-x86_64_arm-linux-gnueabihf.git</pre> <pre>https://github.com/rockchip-linux/gcc-linaro-6.3.1-2017.05-x86_64_aarch64-linux-gnu.git</pre> = &nbsp; = = Build U-Boot = == Configure U-Boot == First you need to choose a correct defconfig for your board; When you have determined what <board_name> you want to build, configure: <pre>make CROSS_COMPILE=arm-linux-gnueabi- <board_name>_defconfig</pre> You may need to change the U-Boot function/feature support by modify the defconfig file or, there is also menuconfig to play with settings if you feel like it: <pre>make CROSS_COMPILE=arm-linux-gnueabi- menuconfig </pre> == Buid Rockchip U-Boot == For&nbsp;convenience, Rockchip provide a &nbsp;script 'make.sh' to make it easy to get everything before kernel, this script need toolchain and [[Rkbin|rkbin]] support. <pre>├── prebuilts │ └── gcc │ └── linux-x86 │ ├── aarch64 │ └── arm ├── rkbin ├── u-boot</pre> expample for build rk3399: <pre>./make.sh rk3399</pre> and&nbsp;use './make.sh -h' for more option. The output will including pre-loader, trust and u-boot image which is ready to use with rockchip upgrade tool,&nbsp; <pre>u-boot/ ├── rk3399_loader_v1.09.112.bin ├── trust.img └── uboot.img</pre> == Build Upstream U-Boot == This is common and available for both Upstream U-Boot and Rockchip U-Boot. For armv7: <pre>make CROSS_COMPILE=arm-linux-gnueabi-</pre> or for ARM64: <pre>make ARCH=arm CROSS_COMPILE=aarch64-linux-gnu-</pre> In order to support debug symbol in ARM DS-5, you may need add ctags in make command: <pre>CFLAGS='-gdwarf-3'</pre> The output includin&nbsp;u-boot.bin, spl/u-boot-spl.bin, tpl/u-boot-tpl.bin at this step, and you need to package it with tool before use with rockchip upagrade tool. Get detail at&nbsp;[http://opensource.rock-chips.com/wiki_Boot_option boot option]. '''Support ATF with SPL FIT image''' For trust support in SPL, we are using FIT image with 'mkimage' cmd in Makefile and its script defined in defconfig: <pre>make u-boot.itb</pre> Note: please copy the trust binary(optee.bin or bl31.elf) to u-boot root directory and rename it to tee.bin(armv7) or bl31.elf(armv8). The output u-boot.itb is a its based package including u-boot-nodtb.bin, board.dtb, and trust binaries which can be used directly with upgrade tool. <pre>├── u-boot │ ├── u-boot.bin │ ├── u-boot.itb │ ├── spl │ │ └── u-boot-spl.bin │ └── tpl │ └── u-boot-tpl.bin</pre> = Install U-Boot = See&nbsp;[http://opensource.rock-chips.com/wiki_Boot_option boot option]&nbsp;about how to - package the available binaries - flash and boot from eMMC/SD card. = Boot cmd = Rockchip U-Boot Android boot, Rockchip RKIMG boot and Distro boot. Upstream U-Boot suppot distro boot. = Firmware download in U-Boot = In U-Boot, there are multi way to update image into emmc via U-Boot, you can chose any of one easy use for you. fastboot:&nbsp;See&nbsp;[http://opensource.rock-chips.com/wiki_Fastboot fastboot] rockusb: See [[Rockusb|rockusb]] 588a99467af046937c811a724e76e9d8f76c2c6f Mali 0 213 2017 2018-07-13T07:40:51Z Admin 1 Created page with " === Structure ===" wikitext text/x-wiki === Structure === e31833562bf9ef414e452bff70c4f16c828a6664 2018 2017 2018-07-13T07:41:37Z Admin 1 wikitext text/x-wiki Structure [[File:Mali gpu.png|RTENOTITLE]] 7847b0056e17321f6c98d1158ac13e2a0207c4ca 2058 2018 2018-07-30T03:39:28Z Admin 1 wikitext text/x-wiki == Get the library of mali == [https://github.com/rockchip-linux/libmali https://github.com/rockchip-linux/libmali] you can get mali library and header file from this link. (tip: if you use debian, you can build the mali deb from dockor) == Introduction == With support for 2D graphics, 3D graphics, and GPGPU computing, the GPU Series of GPUs provides a complete graphics acceleration platform based on open standards. The GPU brings graphics power to a wide range of different products, from mobile user interfaces to tablets, HDTV, and mobile gaming. One single driver stack for all graphics configurations simplifies application porting, system integration, and maintenance.Scheduling and performance scaling are fully handled within the graphics system with no special considerations required from the application developer. The GPU takes graphics instructions from software applications running on the application processor. It processes the graphics instructions and puts the results back into system memory. These results are sent to the framebuffer and on to the display device. === RK3288 === The Arm&nbsp;Mali-T760 GPU was the first High Area Efficiency graphics processor with the Midgard graphics architecture. The Mali-T760 GPU balances performance, quality, energy use, and area savings. The layout is simpler than its predecessors, the silicon area is smaller, and time to market is quicker. The GPU maintains the high quality that is needed for a compelling graphics experience. The GPU supports the following graphics standards: #OpenGL ES 1.1 Specification at Khronos #OpenGL ES 2.0 Specification at Khronos #OpenGL ES 3.0 Specification at Khronos #OpenCL 1.0 Specification at Khronos,Full Profile specification #OpenCL 1.1 Specification at Khronos,Full Profile specification #OpenCL 1.2 Specification at Khronos,Full Profile specification support&nbsp;: wayland, gbm , x11 , fbdev === RK3399 === The highest performance GPUs built on Arm Mali’s famous Midgard architecture, the Mali-T860 GPUs are designed for complex graphics use cases and provide stunning visuals for UHD content. Scalable from 1-16 cores, these GPUs implement new features and optimizations within their micro-architectures such as higher arithmetic throughput to better handle both casual and complex content. Other optimization examples include quad prioritization delivering enhanced performance for UI and casual content, and enhanced Forward Pixel Kill that improves performance for more advanced use cases by eliminating redundant work early in the pipeline.&nbsp; The GPU supports the following graphics standards: #OpenGL ES 1.1 Specification at Khronos #OpenGL ES 2.0 Specification at Khronos #OpenGL ES 3.0 Specification at Khronos #OpenCL 1.0 Specification at Khronos,Full Profile specification #OpenCL 1.1 Specification at Khronos,Full Profile specification #OpenCL 1.2 Specification at Khronos,Full Profile specification support&nbsp;: wayland, gbm , x11 , fbdev === RK3328 === The Arm Mali-450 is the second Arm Mali Ultra Low Power GPU built on the Utgard architecture and&nbsp;introduces double the scalability of the&nbsp;very popular Mali-400 GPU, to address a broader range of performance points and use cases.&nbsp;&nbsp;&nbsp; The GPU supports the following graphics standards: #OpenGL ES 2.0 #OpenGL ES 1.1 #EGL 1.5 support&nbsp;: wayland, gbm , x11 , fbdev === RK3326 === The Arm Mali-G31 (1 core - 2 EE ) GPU is the very first Ultra-Efficient GPU based on the innovative Bifrost architecture. Bringing the benefits of Bifrost to a whole new tier of device, Mali-G31 builds on the success of the previous Ultra Efficient products in the Mali-400 Utgard series. With significant energy and area savings compared to the next level of device, plus support for the very latest APIs, Mali-G31 is the GPU of choice for cost constrained devices. The GPU supports these graphics API standards: #OpenCL 2.0 Full Profile. #OpenGL ES 1.1 Specification at Khronos #OpenGL ES 2.0 Specification at Khronos #OpenGL ES 3.2&nbsp;Specification at Khronos support&nbsp;: wayland, gbm == Structure == === X11 structure in Linux OS === https://note.youdao.com/yws/public/resource/d04ad7d66eee7bf3aeea1c817da49264/xmlnote/WEBRESOURCEa90efddd27199d6ddbc42e24b93c7506/8070 === Wayland structure in Linux OS === https://note.youdao.com/yws/public/resource/d04ad7d66eee7bf3aeea1c817da49264/xmlnote/WEBRESOURCE7fa3098c6a95fcefa031fdca50e7c512/8069 == Debug == 1.Look up the load@frequency of GPU &nbsp; &nbsp; &nbsp; &nbsp; cat /sys/class/devfreq/*.gpu/load 2.Look up the supported mode or supported frquency for GPU &nbsp; &nbsp; &nbsp; &nbsp; cat /sys/class/devfreq/*.gpu/available_governors &nbsp; &nbsp; &nbsp; &nbsp; cat /sys/class/devfreq/*.gpu/available_frequencies 3.Set performance(the most high frequency) for GPU &nbsp; &nbsp; &nbsp; &nbsp; echo performance > /sys/class/devfreq/*.gpu/governor 4.Set frequency for GPU &nbsp; &nbsp; &nbsp; &nbsp; echo userspace > /sys/class/devfreq/*.gpu/governor &nbsp; &nbsp; &nbsp; &nbsp; echo * > /sys/class/devfreq/*.gpu/set_freq &nbsp; &nbsp; &nbsp; &nbsp; (ps: you should do step 2 to ensure the available_frequencies before you set) 5.Get a version &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;strings libMali.so | grep rk_so_ver 6.Set power always on &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;echo always_on > /sys/devices/*.gpu/power_policy &nbsp; == Wayland performance test == 3D preformance: &nbsp;glmark2-es2-wayland glmark2-es2 can get from&nbsp;[https://github.com/glmark2/glmark2 https://github.com/glmark2/glmark2] 81968de43b243c10ac8fc41de613b3b98e854c54 2059 2058 2018-07-30T04:53:20Z Admin 1 wikitext text/x-wiki == Get the library of mali == [https://github.com/rockchip-linux/libmali https://github.com/rockchip-linux/libmali] you can get mali library and header file from this link. (tip: if you use debian, you can build the mali deb from dockor) == Introduction == With support for 2D graphics, 3D graphics, and GPGPU computing, the GPU Series of GPUs provides a complete graphics acceleration platform based on open standards. The GPU brings graphics power to a wide range of different products, from mobile user interfaces to tablets, HDTV, and mobile gaming. One single driver stack for all graphics configurations simplifies application porting, system integration, and maintenance.Scheduling and performance scaling are fully handled within the graphics system with no special considerations required from the application developer. The GPU takes graphics instructions from software applications running on the application processor. It processes the graphics instructions and puts the results back into system memory. These results are sent to the framebuffer and on to the display device. === RK3288 === The Arm&nbsp;Mali-T760 GPU was the first High Area Efficiency graphics processor with the Midgard graphics architecture. The Mali-T760 GPU balances performance, quality, energy use, and area savings. The layout is simpler than its predecessors, the silicon area is smaller, and time to market is quicker. The GPU maintains the high quality that is needed for a compelling graphics experience. The GPU supports the following graphics standards: #OpenGL ES 1.1 Specification at Khronos #OpenGL ES 2.0 Specification at Khronos #OpenGL ES 3.0 Specification at Khronos #OpenCL 1.0 Specification at Khronos,Full Profile specification #OpenCL 1.1 Specification at Khronos,Full Profile specification #OpenCL 1.2 Specification at Khronos,Full Profile specification support&nbsp;: wayland, gbm , x11 , fbdev === RK3399 === The highest performance GPUs built on Arm Mali’s famous Midgard architecture, the Mali-T860 GPUs are designed for complex graphics use cases and provide stunning visuals for UHD content. Scalable from 1-16 cores, these GPUs implement new features and optimizations within their micro-architectures such as higher arithmetic throughput to better handle both casual and complex content. Other optimization examples include quad prioritization delivering enhanced performance for UI and casual content, and enhanced Forward Pixel Kill that improves performance for more advanced use cases by eliminating redundant work early in the pipeline.&nbsp; The GPU supports the following graphics standards: #OpenGL ES 1.1 Specification at Khronos #OpenGL ES 2.0 Specification at Khronos #OpenGL ES 3.0 Specification at Khronos #OpenCL 1.0 Specification at Khronos,Full Profile specification #OpenCL 1.1 Specification at Khronos,Full Profile specification #OpenCL 1.2 Specification at Khronos,Full Profile specification support&nbsp;: wayland, gbm , x11 , fbdev === RK3328 === The Arm Mali-450 is the second Arm Mali Ultra Low Power GPU built on the Utgard architecture and&nbsp;introduces double the scalability of the&nbsp;very popular Mali-400 GPU, to address a broader range of performance points and use cases.&nbsp;&nbsp;&nbsp; The GPU supports the following graphics standards: #OpenGL ES 2.0 #OpenGL ES 1.1 #EGL 1.5 support&nbsp;: wayland, gbm , x11 , fbdev === RK3326 === The Arm Mali-G31 (1 core - 2 EE ) GPU is the very first Ultra-Efficient GPU based on the innovative Bifrost architecture. Bringing the benefits of Bifrost to a whole new tier of device, Mali-G31 builds on the success of the previous Ultra Efficient products in the Mali-400 Utgard series. With significant energy and area savings compared to the next level of device, plus support for the very latest APIs, Mali-G31 is the GPU of choice for cost constrained devices. The GPU supports these graphics API standards: #OpenCL 2.0 Full Profile. #OpenGL ES 1.1 Specification at Khronos #OpenGL ES 2.0 Specification at Khronos #OpenGL ES 3.2&nbsp;Specification at Khronos support&nbsp;: wayland, gbm == Structure == === X11 structure in Linux OS === [[File:]] === Wayland structure in Linux OS === [https://note.youdao.com/yws/public/resource/d04ad7d66eee7bf3aeea1c817da49264/xmlnote/WEBRESOURCE7fa3098c6a95fcefa031fdca50e7c512/8069 https://note.youdao.com/yws/public/resource/d04ad7d66eee7bf3aeea1c817da49264/xmlnote/WEBRESOURCE7fa3098c6a95fcefa031fdca50e7c512/8069] == Debug == 1.Look up the load@frequency of GPU &nbsp; &nbsp; &nbsp; &nbsp; cat /sys/class/devfreq/*.gpu/load 2.Look up the supported mode or supported frquency for GPU &nbsp; &nbsp; &nbsp; &nbsp; cat /sys/class/devfreq/*.gpu/available_governors &nbsp; &nbsp; &nbsp; &nbsp; cat /sys/class/devfreq/*.gpu/available_frequencies 3.Set performance(the most high frequency) for GPU &nbsp; &nbsp; &nbsp; &nbsp; echo performance > /sys/class/devfreq/*.gpu/governor 4.Set frequency for GPU &nbsp; &nbsp; &nbsp; &nbsp; echo userspace > /sys/class/devfreq/*.gpu/governor &nbsp; &nbsp; &nbsp; &nbsp; echo * > /sys/class/devfreq/*.gpu/set_freq &nbsp; &nbsp; &nbsp; &nbsp; (ps: you should do step 2 to ensure the available_frequencies before you set) 5.Get a version &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;strings libMali.so | grep rk_so_ver 6.Set power always on &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;echo always_on > /sys/devices/*.gpu/power_policy &nbsp; == Wayland performance test == 3D preformance: &nbsp;glmark2-es2-wayland glmark2-es2 can get from&nbsp;[https://github.com/glmark2/glmark2 https://github.com/glmark2/glmark2] 48ddd3c30f984b602f321f16234c9d405232bc58 2060 2059 2018-07-30T04:54:41Z Admin 1 wikitext text/x-wiki == Get the library of mali == [https://github.com/rockchip-linux/libmali https://github.com/rockchip-linux/libmali] you can get mali library and header file from this link. (tip: if you use debian, you can build the mali deb from dockor) == Introduction == With support for 2D graphics, 3D graphics, and GPGPU computing, the GPU Series of GPUs provides a complete graphics acceleration platform based on open standards. The GPU brings graphics power to a wide range of different products, from mobile user interfaces to tablets, HDTV, and mobile gaming. One single driver stack for all graphics configurations simplifies application porting, system integration, and maintenance.Scheduling and performance scaling are fully handled within the graphics system with no special considerations required from the application developer. The GPU takes graphics instructions from software applications running on the application processor. It processes the graphics instructions and puts the results back into system memory. These results are sent to the framebuffer and on to the display device. === RK3288 === The Arm&nbsp;Mali-T760 GPU was the first High Area Efficiency graphics processor with the Midgard graphics architecture. The Mali-T760 GPU balances performance, quality, energy use, and area savings. The layout is simpler than its predecessors, the silicon area is smaller, and time to market is quicker. The GPU maintains the high quality that is needed for a compelling graphics experience. The GPU supports the following graphics standards: #OpenGL ES 1.1 Specification at Khronos #OpenGL ES 2.0 Specification at Khronos #OpenGL ES 3.0 Specification at Khronos #OpenCL 1.0 Specification at Khronos,Full Profile specification #OpenCL 1.1 Specification at Khronos,Full Profile specification #OpenCL 1.2 Specification at Khronos,Full Profile specification support&nbsp;: wayland, gbm , x11 , fbdev === RK3399 === The highest performance GPUs built on Arm Mali’s famous Midgard architecture, the Mali-T860 GPUs are designed for complex graphics use cases and provide stunning visuals for UHD content. Scalable from 1-16 cores, these GPUs implement new features and optimizations within their micro-architectures such as higher arithmetic throughput to better handle both casual and complex content. Other optimization examples include quad prioritization delivering enhanced performance for UI and casual content, and enhanced Forward Pixel Kill that improves performance for more advanced use cases by eliminating redundant work early in the pipeline.&nbsp; The GPU supports the following graphics standards: #OpenGL ES 1.1 Specification at Khronos #OpenGL ES 2.0 Specification at Khronos #OpenGL ES 3.0 Specification at Khronos #OpenCL 1.0 Specification at Khronos,Full Profile specification #OpenCL 1.1 Specification at Khronos,Full Profile specification #OpenCL 1.2 Specification at Khronos,Full Profile specification support&nbsp;: wayland, gbm , x11 , fbdev === RK3328 === The Arm Mali-450 is the second Arm Mali Ultra Low Power GPU built on the Utgard architecture and&nbsp;introduces double the scalability of the&nbsp;very popular Mali-400 GPU, to address a broader range of performance points and use cases.&nbsp;&nbsp;&nbsp; The GPU supports the following graphics standards: #OpenGL ES 2.0 #OpenGL ES 1.1 #EGL 1.5 support&nbsp;: wayland, gbm , x11 , fbdev === RK3326 === The Arm Mali-G31 (1 core - 2 EE ) GPU is the very first Ultra-Efficient GPU based on the innovative Bifrost architecture. Bringing the benefits of Bifrost to a whole new tier of device, Mali-G31 builds on the success of the previous Ultra Efficient products in the Mali-400 Utgard series. With significant energy and area savings compared to the next level of device, plus support for the very latest APIs, Mali-G31 is the GPU of choice for cost constrained devices. The GPU supports these graphics API standards: #OpenCL 2.0 Full Profile. #OpenGL ES 1.1 Specification at Khronos #OpenGL ES 2.0 Specification at Khronos #OpenGL ES 3.2&nbsp;Specification at Khronos support&nbsp;: wayland, gbm == Structure == === X11 structure in Linux OS === [[File:]] === Wayland structure in Linux OS === [[File:]] == Debug == 1.Look up the load@frequency of GPU &nbsp; &nbsp; &nbsp; &nbsp; cat /sys/class/devfreq/*.gpu/load 2.Look up the supported mode or supported frquency for GPU &nbsp; &nbsp; &nbsp; &nbsp; cat /sys/class/devfreq/*.gpu/available_governors &nbsp; &nbsp; &nbsp; &nbsp; cat /sys/class/devfreq/*.gpu/available_frequencies 3.Set performance(the most high frequency) for GPU &nbsp; &nbsp; &nbsp; &nbsp; echo performance > /sys/class/devfreq/*.gpu/governor 4.Set frequency for GPU &nbsp; &nbsp; &nbsp; &nbsp; echo userspace > /sys/class/devfreq/*.gpu/governor &nbsp; &nbsp; &nbsp; &nbsp; echo * > /sys/class/devfreq/*.gpu/set_freq &nbsp; &nbsp; &nbsp; &nbsp; (ps: you should do step 2 to ensure the available_frequencies before you set) 5.Get a version &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;strings libMali.so | grep rk_so_ver 6.Set power always on &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;echo always_on > /sys/devices/*.gpu/power_policy &nbsp; == Wayland performance test == 3D preformance: &nbsp;glmark2-es2-wayland glmark2-es2 can get from&nbsp;[https://github.com/glmark2/glmark2 https://github.com/glmark2/glmark2] b8e78b01592bb6282ad11a1eb76757bcb598bac2 2061 2060 2018-07-30T06:25:06Z Admin 1 wikitext text/x-wiki == Get the library of mali == [https://github.com/rockchip-linux/libmali https://github.com/rockchip-linux/libmali] you can get mali library and header file from this link. (tip: if you use debian, you can build the mali deb from dockor) == Introduction == With support for 2D graphics, 3D graphics, and GPGPU computing, the GPU Series of GPUs provides a complete graphics acceleration platform based on open standards. The GPU brings graphics power to a wide range of different products, from mobile user interfaces to tablets, HDTV, and mobile gaming. One single driver stack for all graphics configurations simplifies application porting, system integration, and maintenance.Scheduling and performance scaling are fully handled within the graphics system with no special considerations required from the application developer. The GPU takes graphics instructions from software applications running on the application processor. It processes the graphics instructions and puts the results back into system memory. These results are sent to the framebuffer and on to the display device. === RK3288 === The Arm&nbsp;Mali-T760 GPU was the first High Area Efficiency graphics processor with the Midgard graphics architecture. The Mali-T760 GPU balances performance, quality, energy use, and area savings. The layout is simpler than its predecessors, the silicon area is smaller, and time to market is quicker. The GPU maintains the high quality that is needed for a compelling graphics experience. The GPU supports the following graphics standards: #OpenGL ES 1.1 Specification at Khronos #OpenGL ES 2.0 Specification at Khronos #OpenGL ES 3.0 Specification at Khronos #OpenCL 1.0 Specification at Khronos,Full Profile specification #OpenCL 1.1 Specification at Khronos,Full Profile specification #OpenCL 1.2 Specification at Khronos,Full Profile specification support&nbsp;: wayland, gbm , x11 , fbdev === RK3399 === The highest performance GPUs built on Arm Mali’s famous Midgard architecture, the Mali-T860 GPUs are designed for complex graphics use cases and provide stunning visuals for UHD content. Scalable from 1-16 cores, these GPUs implement new features and optimizations within their micro-architectures such as higher arithmetic throughput to better handle both casual and complex content. Other optimization examples include quad prioritization delivering enhanced performance for UI and casual content, and enhanced Forward Pixel Kill that improves performance for more advanced use cases by eliminating redundant work early in the pipeline.&nbsp; The GPU supports the following graphics standards: #OpenGL ES 1.1 Specification at Khronos #OpenGL ES 2.0 Specification at Khronos #OpenGL ES 3.0 Specification at Khronos #OpenCL 1.0 Specification at Khronos,Full Profile specification #OpenCL 1.1 Specification at Khronos,Full Profile specification #OpenCL 1.2 Specification at Khronos,Full Profile specification support&nbsp;: wayland, gbm , x11 , fbdev === RK3328 === The Arm Mali-450 is the second Arm Mali Ultra Low Power GPU built on the Utgard architecture and&nbsp;introduces double the scalability of the&nbsp;very popular Mali-400 GPU, to address a broader range of performance points and use cases.&nbsp;&nbsp;&nbsp; The GPU supports the following graphics standards: #OpenGL ES 2.0 #OpenGL ES 1.1 #EGL 1.5 support&nbsp;: wayland, gbm , x11 , fbdev === RK3326 === The Arm Mali-G31 (1 core - 2 EE ) GPU is the very first Ultra-Efficient GPU based on the innovative Bifrost architecture. Bringing the benefits of Bifrost to a whole new tier of device, Mali-G31 builds on the success of the previous Ultra Efficient products in the Mali-400 Utgard series. With significant energy and area savings compared to the next level of device, plus support for the very latest APIs, Mali-G31 is the GPU of choice for cost constrained devices. The GPU supports these graphics API standards: #OpenCL 2.0 Full Profile. #OpenGL ES 1.1 Specification at Khronos #OpenGL ES 2.0 Specification at Khronos #OpenGL ES 3.2&nbsp;Specification at Khronos support&nbsp;: wayland, gbm == Structure == === X11 structure in Linux OS === https://note.youdao.com/yws/public/resource/d04ad7d66eee7bf3aeea1c817da49264/xmlnote/WEBRESOURCEa90efddd27199d6ddbc42e24b93c7506/8070 === Wayland structure in Linux OS === https://note.youdao.com/yws/public/resource/d04ad7d66eee7bf3aeea1c817da49264/xmlnote/WEBRESOURCE7fa3098c6a95fcefa031fdca50e7c512/8069 == Debug == 1.Look up the load@frequency of GPU &nbsp; &nbsp; &nbsp; &nbsp; cat /sys/class/devfreq/*.gpu/load 2.Look up the supported mode or supported frquency for GPU &nbsp; &nbsp; &nbsp; &nbsp; cat /sys/class/devfreq/*.gpu/available_governors &nbsp; &nbsp; &nbsp; &nbsp; cat /sys/class/devfreq/*.gpu/available_frequencies 3.Set performance(the most high frequency) for GPU &nbsp; &nbsp; &nbsp; &nbsp; echo performance > /sys/class/devfreq/*.gpu/governor 4.Set frequency for GPU &nbsp; &nbsp; &nbsp; &nbsp; echo userspace > /sys/class/devfreq/*.gpu/governor &nbsp; &nbsp; &nbsp; &nbsp; echo * > /sys/class/devfreq/*.gpu/set_freq &nbsp; &nbsp; &nbsp; &nbsp; (ps: you should do step 2 to ensure the available_frequencies before you set) 5.Get a version &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;strings libMali.so | grep rk_so_ver 6.Set power always on &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;echo always_on > /sys/devices/*.gpu/power_policy &nbsp; == Wayland performance test == 3D preformance: &nbsp;glmark2-es2-wayland glmark2-es2 can get from&nbsp;[https://github.com/glmark2/glmark2 https://github.com/glmark2/glmark2] 81968de43b243c10ac8fc41de613b3b98e854c54 2062 2061 2018-07-30T06:31:21Z Admin 1 wikitext text/x-wiki == Get the library of mali == [https://github.com/rockchip-linux/libmali https://github.com/rockchip-linux/libmali] you can get mali library and header file from this link. (tip: if you use debian, you can build the mali deb from dockor) == Introduction == With support for 2D graphics, 3D graphics, and GPGPU computing, the GPU Series of GPUs provides a complete graphics acceleration platform based on open standards. The GPU brings graphics power to a wide range of different products, from mobile user interfaces to tablets, HDTV, and mobile gaming. One single driver stack for all graphics configurations simplifies application porting, system integration, and maintenance.Scheduling and performance scaling are fully handled within the graphics system with no special considerations required from the application developer. The GPU takes graphics instructions from software applications running on the application processor. It processes the graphics instructions and puts the results back into system memory. These results are sent to the framebuffer and on to the display device. === RK3288 === The Arm&nbsp;Mali-T760 GPU was the first High Area Efficiency graphics processor with the Midgard graphics architecture. The Mali-T760 GPU balances performance, quality, energy use, and area savings. The layout is simpler than its predecessors, the silicon area is smaller, and time to market is quicker. The GPU maintains the high quality that is needed for a compelling graphics experience. The GPU supports the following graphics standards: #OpenGL ES 1.1 Specification at Khronos #OpenGL ES 2.0 Specification at Khronos #OpenGL ES 3.0 Specification at Khronos #OpenCL 1.0 Specification at Khronos,Full Profile specification #OpenCL 1.1 Specification at Khronos,Full Profile specification #OpenCL 1.2 Specification at Khronos,Full Profile specification support&nbsp;: wayland, gbm , x11 , fbdev === RK3399 === The highest performance GPUs built on Arm Mali’s famous Midgard architecture, the Mali-T860 GPUs are designed for complex graphics use cases and provide stunning visuals for UHD content. Scalable from 1-16 cores, these GPUs implement new features and optimizations within their micro-architectures such as higher arithmetic throughput to better handle both casual and complex content. Other optimization examples include quad prioritization delivering enhanced performance for UI and casual content, and enhanced Forward Pixel Kill that improves performance for more advanced use cases by eliminating redundant work early in the pipeline.&nbsp; The GPU supports the following graphics standards: #OpenGL ES 1.1 Specification at Khronos #OpenGL ES 2.0 Specification at Khronos #OpenGL ES 3.0 Specification at Khronos #OpenCL 1.0 Specification at Khronos,Full Profile specification #OpenCL 1.1 Specification at Khronos,Full Profile specification #OpenCL 1.2 Specification at Khronos,Full Profile specification support&nbsp;: wayland, gbm , x11 , fbdev === RK3328 === The Arm Mali-450 is the second Arm Mali Ultra Low Power GPU built on the Utgard architecture and&nbsp;introduces double the scalability of the&nbsp;very popular Mali-400 GPU, to address a broader range of performance points and use cases.&nbsp;&nbsp;&nbsp; The GPU supports the following graphics standards: #OpenGL ES 2.0 #OpenGL ES 1.1 #EGL 1.5 support&nbsp;: wayland, gbm , x11 , fbdev === RK3326 === The Arm Mali-G31 (1 core - 2 EE ) GPU is the very first Ultra-Efficient GPU based on the innovative Bifrost architecture. Bringing the benefits of Bifrost to a whole new tier of device, Mali-G31 builds on the success of the previous Ultra Efficient products in the Mali-400 Utgard series. With significant energy and area savings compared to the next level of device, plus support for the very latest APIs, Mali-G31 is the GPU of choice for cost constrained devices. The GPU supports these graphics API standards: #OpenCL 2.0 Full Profile. #OpenGL ES 1.1 Specification at Khronos #OpenGL ES 2.0 Specification at Khronos #OpenGL ES 3.2&nbsp;Specification at Khronos support&nbsp;: wayland, gbm == Structure == === X11 structure in Linux OS === [[File:Xserver gpu.png]] === Wayland structure in Linux OS === [[File:Wayland.png]] == Debug == 1.Look up the load@frequency of GPU &nbsp; &nbsp; &nbsp; &nbsp; cat /sys/class/devfreq/*.gpu/load 2.Look up the supported mode or supported frquency for GPU &nbsp; &nbsp; &nbsp; &nbsp; cat /sys/class/devfreq/*.gpu/available_governors &nbsp; &nbsp; &nbsp; &nbsp; cat /sys/class/devfreq/*.gpu/available_frequencies 3.Set performance(the most high frequency) for GPU &nbsp; &nbsp; &nbsp; &nbsp; echo performance > /sys/class/devfreq/*.gpu/governor 4.Set frequency for GPU &nbsp; &nbsp; &nbsp; &nbsp; echo userspace > /sys/class/devfreq/*.gpu/governor &nbsp; &nbsp; &nbsp; &nbsp; echo * > /sys/class/devfreq/*.gpu/set_freq &nbsp; &nbsp; &nbsp; &nbsp; (ps: you should do step 2 to ensure the available_frequencies before you set) 5.Get a version &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;strings libMali.so | grep rk_so_ver 6.Set power always on &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;echo always_on > /sys/devices/*.gpu/power_policy &nbsp; == Wayland performance test == 3D preformance: &nbsp;glmark2-es2-wayland glmark2-es2 can get from&nbsp;[https://github.com/glmark2/glmark2 https://github.com/glmark2/glmark2] 946ea756a596359b153ccba7697c2d11ba3e489f Wayland 0 214 2021 2018-07-13T07:50:36Z Admin 1 Created page with " == Weston == Weston is the reference implementation of a Wayland compositor, and a<br/> useful compositor in its own right. === Structure === File:Wayland.png|RTENOTITLE..." wikitext text/x-wiki == Weston == Weston is the reference implementation of a Wayland compositor, and a<br/> useful compositor in its own right. === Structure === [[File:Wayland.png|RTENOTITLE]] === Weston === The Weston reference implementation of a Wayland compositor. &nbsp; &nbsp; &nbsp;1. run wayland with drm and gpu renderer <pre>export XDG_RUNTIME_DIR=/tmp weston --backend=drm-backend.so --idle-time=100 </pre> &nbsp; &nbsp; &nbsp; 2. run wayland with drm and cpu renderer <pre>weston --backend=drm-backend.so --idle-time=100 --use-pixman</pre> <blockquote> --idle-time: how many seconds the weston got to sleep, it's usefull to test wayland&nbsp;<br/> suspend and resume.<br/> --use-pixman: it's usefull to compare gpu or non-gpu performance and behavior. </blockquote> === Wayland performance test === 3D preformance: &nbsp;''glmark2-es2-wayland''<br/> glmark2-es2 can get from [https://github.com/glmark2/glmark2 https://github.com/glmark2/glmark2] <br/> OpenVG test: ''vg_api_tests''<br/> build from mali DDK, build with make bin/vg_api_tests 17f3d0284623a0021aa919d559a3e518c9fe40f7 2022 2021 2018-07-13T07:50:58Z Admin 1 wikitext text/x-wiki == Wayland == Weston is the reference implementation of a Wayland compositor, and a<br/> useful compositor in its own right. === Structure === [[File:Wayland.png|RTENOTITLE]] === Weston === The Weston reference implementation of a Wayland compositor. &nbsp; &nbsp; &nbsp;1. run wayland with drm and gpu renderer <pre>export XDG_RUNTIME_DIR=/tmp weston --backend=drm-backend.so --idle-time=100 </pre> &nbsp; &nbsp; &nbsp; 2. run wayland with drm and cpu renderer <pre>weston --backend=drm-backend.so --idle-time=100 --use-pixman</pre> <blockquote> --idle-time: how many seconds the weston got to sleep, it's usefull to test wayland&nbsp;<br/> suspend and resume.<br/> --use-pixman: it's usefull to compare gpu or non-gpu performance and behavior. </blockquote> === Wayland performance test === 3D preformance: &nbsp;''glmark2-es2-wayland''<br/> glmark2-es2 can get from [https://github.com/glmark2/glmark2 https://github.com/glmark2/glmark2] <br/> OpenVG test: ''vg_api_tests''<br/> build from mali DDK, build with make bin/vg_api_tests f82947281aaf851d2d5cc942945c50d990983a85 Libdrm 0 215 2023 2018-07-13T07:51:44Z Admin 1 Created page with " == LibDRM == === Structure === [[File:DRM.png|RTENOTITLE]] === Source code === mainline source code: git clone [git://anongit.freedesktop.org/mesa/drm git://anongit.freed..." wikitext text/x-wiki == LibDRM == === Structure === [[File:DRM.png|RTENOTITLE]] === Source code === mainline source code: git clone [git://anongit.freedesktop.org/mesa/drm git://anongit.freedesktop.org/mesa/drm]<br/> LIBDRM is the cross-driver middleware which allows user-space applications (such&nbsp;<br/> as Mesa and 2D drivers) to communicate with the Kernel by the means of the DRI&nbsp;<br/> protocol. === Mailing list === General developers discussions occur on the dri-devel@lists.freedesktop.org&nbsp;<br/> mailing list.<br/> Subscribe to the list at [http://lists.freedesktop.org/mailman/listinfo/dri-devel http://lists.freedesktop.org/mailman/listinfo/dri-devel].<br/> Archives are found at [http://lists.freedesktop.org/archives/dri-devel/ http://lists.freedesktop.org/archives/dri-devel/]. be2531368e8f43ecf22d3d23dd4d0fa3c9415f69 Rockusb 0 122 2027 1782 2018-07-13T08:08:54Z Kever 2 wikitext text/x-wiki = Introduce = Rockusb is a vendor specific USB class from Rockchip, which is for firmware dowmload for Rockchip SoCs. &nbsp; = Get into Rockusb = There are a few cases for&nbsp;Rockchip SoCs to get into Rockusb. *maskrom mode, no firmware found on chip, target run maskrom rockusb driver; *usbplug mode,&nbsp; *miniLoader rockusb mode, target run miniloader rockusb driver. *uboot rockusb mode. &nbsp; == Maskrom mode == If&nbsp;there is no bootable&nbsp;firmware found on board, the SoC will run&nbsp;Rockusb driver&nbsp;automatically, we call it Bootrom mode or Maskrom mode. If firmware is at somewhere of the board,&nbsp;in order to get into this mode, we can do something to prevent cpu read the firmware successful: *for SD-card, unplug the SD-card; *for eMMC, short the eMMC clock to GND; *for NAND, short the data line or clock line; *for SPI, short the spi signal to GND; *By "reboot bootrom" command in U-Boot and Kernel, WIP. *erase bootable region with non-bootable data&nbsp;in eMMC or other media devices In Maskrom mode, the DRAM is not available, so the download size is limit by the internal memory size. Use db command in rkdeveloptool, system will init the DRAM and run into usbplug(with rockusb driver) mode which have no size limitation in download size. == Usbplug mode == The usbplug is a firmware used for USB download with rkdeveloptool db command, with rockusb driver inside, the DRAM already initialized in this mode. == Miniloader Rockusb&nbsp;mode == Rockchip legacy image(with U-Boot 2014.10) using miniloader as default USB firmware upgrade path,&nbsp;enter this mode with: - Press 'recovery' or 'volumn +' key pressed when power up; - &nbsp;there is no next stage firmware found. &nbsp; For example, erase bootable data in U-Boot: <pre style="margin-left: 40px;">mmc erase 0x4000 0x2000</pre> - &nbsp;run "reboot loader" command in kernel. NOTE: In this miniloader rockusb, the offset for rkdeveloptool&nbsp;is not the physical address, the physical offset 0~0x2000 is no able to write by wl command; '''The physical address of &nbsp;offset in&nbsp;''wl'' command is&nbsp;the offset plus 0x2000''', eg: "rkdeveloptool wl 0x2000 uboot.img" will write uboot.img to emmc 0x4000 address. == U-Boot&nbsp;Rockusb&nbsp;mode == enter this mode with: - Press 'recovery' or 'volumn +' key pressed when power up; -&nbsp;Run "reboot loader" command in kernel; - Start with cmd in U-Boot shell <pre>rockusb 0 mmc 0</pre> &nbsp; == &nbsp; == = USB VID/PID for rockusb = Rockchip Vendor ID is 0x2207, and the product ID for different SoCs are different. Rockusb product ID: *RK3288: 0x320a *RK3328: 0x320c *RK3399: 0x330c Please use ''lsusb ''command in Linux PC to check if there is a Rockusb device connect. &nbsp; = Firmware download = [[Rkdeveloptool|rkdeveloptool]] is the tool to do the firmware upgrade for Rockchip SoCs which is using Rockusb protocol via USB. Please follow the steps for boot from eMMC for how to use the tool. 5340c0e96e33eab2f5bae736af4399ef82e33402 2028 2027 2018-07-13T08:09:34Z Kever 2 wikitext text/x-wiki = Introduce = Rockusb is a vendor specific USB class from Rockchip, which is for firmware dowmload for Rockchip SoCs. &nbsp; = Get into Rockusb = There are a few cases for&nbsp;Rockchip SoCs to get into Rockusb. *maskrom mode, no firmware found on chip, target run maskrom rockusb driver; *usbplug mode,&nbsp; *miniLoader rockusb mode, target run miniloader rockusb driver. *uboot rockusb mode. &nbsp; == Maskrom mode == If&nbsp;there is no bootable&nbsp;firmware found on board, the SoC will run&nbsp;Rockusb driver&nbsp;automatically, we call it Bootrom mode or Maskrom mode. If firmware is at somewhere of the board,&nbsp;in order to get into this mode, we can do something to prevent cpu read the firmware successful: *for SD-card, unplug the SD-card; *for eMMC, short the eMMC clock to GND; *for NAND, short the data line or clock line; *for SPI, short the spi signal to GND; *By "reboot bootrom" command in U-Boot and Kernel, WIP. *erase bootable region with non-bootable data&nbsp;in eMMC or other media devices In Maskrom mode, the DRAM is not available, so the download size is limit by the internal memory size. Use db command in rkdeveloptool, system will init the DRAM and run into usbplug(with rockusb driver) mode which have no size limitation in download size. == Usbplug mode == The usbplug is a firmware used for USB download with rkdeveloptool db command, with rockusb driver inside, the DRAM already initialized in this mode. == Miniloader Rockusb&nbsp;mode == Rockchip legacy image(with U-Boot 2014.10) using miniloader as default USB firmware upgrade path,&nbsp;enter this mode with: - Press 'recovery' or 'volumn +' key pressed when power up; - &nbsp;there is no next stage firmware found. &nbsp; For example, erase bootable data in U-Boot: <pre style="margin-left: 40px;">mmc erase 0x4000 0x2000</pre> - &nbsp;run "reboot loader" command in kernel. NOTE: In this miniloader rockusb, the offset for rkdeveloptool&nbsp;is not the physical address, the physical offset 0~0x2000 is no able to write by wl command; '''The physical address of &nbsp;offset in&nbsp;''wl'' command is&nbsp;the offset plus 0x2000''', eg: "rkdeveloptool wl 0x2000 uboot.img" will write uboot.img to emmc 0x4000 address. == U-Boot&nbsp;Rockusb&nbsp;mode == enter this mode with: - Press 'recovery' or 'volumn +' key pressed when power up; -&nbsp;Run "reboot loader" command in kernel; - Start with cmd in U-Boot shell <pre>rockusb 0 mmc 0</pre> &nbsp; = USB VID/PID for rockusb = Rockchip Vendor ID is 0x2207, and the product ID for different SoCs are different. Rockusb product ID: *RK3288: 0x320a *RK3328: 0x320c *RK3399: 0x330c Please use ''lsusb ''command in Linux PC to check if there is a Rockusb device connect. &nbsp; = Firmware download = [[Rkdeveloptool|rkdeveloptool]] is the tool to do the firmware upgrade for Rockchip SoCs which is using Rockusb protocol via USB. Please follow the steps for boot from eMMC for how to use the tool. a4157eee7b78ab4dcb8400ffaad0f51dc9c206df Rockchip Kernel 0 104 2033 1928 2018-07-13T12:10:41Z Kever 2 wikitext text/x-wiki == Download Kernel == You can clone the rockchip kernel repository from github which is kernel 4.4 based: <pre>git clone https://github.com/rockchip-linux/kernel.git</pre> &nbsp; = Supported SoCs and Devices = Rockchip kernel 4.4 supports: RK3036, RK3066, RK312X, RK3188, RK322X,[http://opensource.rock-chips.com/wiki_RK3288 RK3288],&nbsp;[http://opensource.rock-chips.com/wiki_RK3328 RK3328], RK3368,&nbsp;[http://opensource.rock-chips.com/wiki_RK3399 RK3399], PX30 &nbsp; = Configure and Build = You will need to use rockchip_linux_defconfig for Linux OS For ARM v7 <pre>make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- rockchip_linux_defconfig make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- -j4 </pre> For ARM V8 <pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- -j4</pre> Then you can get Image/zImage and dtb file and used for LInux Distro boot. '''Rockchip RKIMG format image''' RKIMG is a format customized by Rockchip from Android boot image, usually only used by kernel developers. It's support by Rockchip&nbsp; U-Boot. For example, build for rk3399-evb with&nbsp;command: <pre>make rk3399-evb.img</pre> The output will be as below, boot.img is ramdisk with rockchip header, kernel is zImage/Image with rockchip header, resource is dtb and boot logo with rockchip header. <pre>kernel/ ├── boot.img ├── kernel.img └── resource.img</pre> = Install Boot/kernel for Distro = We use distro boot in U-Boot, so we need to make a boot partition for U-Boot with kernel image and dtb inside. <pre>mkdir boot cp arch/arm64/boot/dts/rockchip/rk3399-evb.dtb boot/rk3399.dtb cp arch/arm64/boot/Image boot/</pre> Add&nbsp;[http://opensource.rock-chips.com/images/6/60/Boot_extlinux.zip extlinux/extlinux.conf]&nbsp;for distro boot. <pre>mkdir boot/extlinux vi boot/extlinux/extlinux.conf</pre> &nbsp; <pre>label rockchip-kernel-4.4 kernel /Image fdt /rk3399.dtb append earlycon=uart8250,mmio32,0xff1a0000 root=PARTUUID=B921B045-1D rootwait rootfstype=ext4 init=/sbin/init</pre> For armv7 <pre>label rockchip-kernel-4.4 kernel /zImage fdt /rk3288.dtb append earlyprintk console=ttyS2,1500000n8 rw root=PARTUUID=69dad710-2c rootwait rootfstype=ext4 init=/sbin/init</pre> You need to change the base address of debug UART, root partition for your board. Pls reference to&nbsp;[http://opensource.rock-chips.com/wiki_Partitions rockchip Linux parttion definition]&nbsp;for rootfs partition and where boot to flash. After all these files prepare completely, we write the file to the boot partition &nbsp; == Generate ext2fs&nbsp;boot partition == by genext2fs: <pre>genext2fs -b 32768 -B $((32*1024*1024/32768)) -d boot/ -i 8192 -U boot_rk3399.img</pre> According to Rockchip partition definition, you need to flash this image to boot partiton which offset is 0x8000. &nbsp; == Generate fatfs boot partition == === Generate boot.img in fatfs === Below commands can generate a fatfs boot.img <pre>dd if=/dev/zero of=boot.img bs=1M count=32 sudo mkfs.fat boot.img mkdir tmp sudo mount boot.img tmp/ cp -r boot/* tmp/ umount tmp</pre> Done! Flash this boot.img to boot partition, which is offset 0x8000 in Rockchip partition definition. === Update boot.img via U-Boot in target === After flash and&nbsp;boot the U-Boot, write the gpt table from default partition table <pre>gpt write mmc 0 $partitions gpt verify mmc 0 $partitions</pre> connect target to PC and start the ums in command line: <pre>ums 0 mmc 1:6</pre> We should able to see a device connect to PC, formate and copy data into the partition(dev/sdb6 for example). <pre>sudo mkfs.fat /dev/sdb6 cp -r boot/* /media/machine/9F35-9565/ </pre> Done! &nbsp; == Boot from U-Boot == If you are using genext2fs to genarate the boot.img, you need write the gpt table in U-Boot command line: <pre>gpt write mmc 0 $partitions</pre> Then boot from eMMC or reset: <pre>boot</pre> If everything is OK, you should able to see the U-Boot log like this: <pre>switch to partitions #0, OK mmc0(part 0) is current device Scanning mmc 0:6... Found /extlinux/extlinux.conf Retrieving file: /extlinux/extlinux.conf 205 bytes read in 82 ms (2 KiB/s) 1: upstream-4.10 Retrieving file: /Image 13484040 bytes read in 1833 ms (7 MiB/s) append: earlycon=uart8250,mmio32,0xff1a0000 console=ttyS2,1500000n8 rw root=/dev/mmcblk0p7 rootwait rootfstype=ext4 init=/sbin/init Retrieving file: /rk3399.dtb 61714 bytes read in 54 ms (1.1 MiB/s) ## Flattened Device Tree blob at 01f00000 Booting using the fdt blob at 0x1f00000 Loading Device Tree to 000000007df14000, end 000000007df26111 ... OK Starting kernel ...</pre> 99fc560771ec2c05ef2a289f43500933476cee4d ATF 0 54 2034 1096 2018-07-13T12:13:12Z Kever 2 wikitext text/x-wiki = Download ARM Trusted Firmware = == Rockchip ATF == Rockchip do not provide the ATF source code, you can find the ATF binaries in [https://github.com/rockchip-linux/rkbin rkbin repository]. == Upstream ATF == Get the source code from github: <pre>git clone https://github.com/ARM-software/arm-trusted-firmware.git</pre> = Supported Devices = Upstream ARM Trusted Firmware support Rockchip SoCs: [[RK3399]] &nbsp; = Build ATF = Here is a ''mk-atf.sh'' script to build ATF. <pre>$ cat mk-atf.sh #!/bin/bash make realclean CFLAGS='-gdwarf-2' \ CROSS_COMPILE=aarch64-linux-gnu- \ make PLAT=rk3399 DEBUG=0 ERROR_DEPRECATED=1 bl31</pre> Because there is a blob of code for cortex-M0 in rk3399 ATF, so you need a compiler for it. Install it by: <pre>sudo apt-get install gcc-arm-none-eabi</pre> We can get bl31.elf&nbsp;<s>bl31.bin</s> when&nbsp;build completed. Note: The latest version ATF(including rockchip version and upstream version) bl31.elf instead of&nbsp;bl31.bin, the bl31.bin is not available now. = Install ATF = == Using U-Boot&nbsp;SPL FIT image == Upstream U-Boot SPL support for ATF still WIP. == Using Rockchip miniloader == Alternatively, you can use Rockchip miniloader and U-Boot instead which do not need SPL. The ATF is loaded by miniloader, so it should be package to know format for miniloader <pre>trust_merger rk_tools/RKTRUST/RK3399TRUST.ini trust.img</pre> According to the&nbsp;[[Partitions|partitions]]&nbsp;definition, write to atf.img offset 0x6000. b53cdc5a989b44da105e741b98ed968d905e2e3f 2035 2034 2018-07-13T12:16:13Z Kever 2 wikitext text/x-wiki = Download ARM Trusted Firmware = == Rockchip ATF == Rockchip do not provide the ATF source code, you can find the ATF binaries in [https://github.com/rockchip-linux/rkbin rkbin repository]. == Upstream ATF == Get the source code from github: <pre>git clone https://github.com/ARM-software/arm-trusted-firmware.git</pre> = Supported Devices = Upstream ARM Trusted Firmware support Rockchip SoCs: [[RK3399]] &nbsp; = Build ATF = Here is a ''mk-atf.sh'' script to build ATF. <pre>$ cat mk-atf.sh #!/bin/bash make realclean CFLAGS='-gdwarf-2' \ CROSS_COMPILE=aarch64-linux-gnu- \ make PLAT=rk3399 DEBUG=0 ERROR_DEPRECATED=1 bl31</pre> Because there is a blob of code for cortex-M0 in rk3399 ATF, so you need a compiler for it. Install it by: <pre>sudo apt-get install gcc-arm-none-eabi</pre> We can get bl31.elf&nbsp;<s>bl31.bin</s> when&nbsp;build completed. Note: The latest version ATF(including rockchip version and upstream version) bl31.elf instead of&nbsp;bl31.bin, the bl31.bin is not available now. = Install ATF = == Using U-Boot&nbsp;SPL FIT image == Copy the trust binary(optee.bin or bl31.elf) to u-boot root directory and rename it to tee.bin(armv7) or bl31.elf(armv8). Use below command to get u-boot.itb. <pre>make u-boot.itb </pre> The output u-boot.itb is a its based package including u-boot-nodtb.bin, board.dtb, and trust binaries which can be load by SPL. == Using Rockchip miniloader == Alternatively, you can use Rockchip miniloader and U-Boot instead which do not need SPL. The ATF is loaded by miniloader, so it should be package to know format for miniloader <pre>trust_merger rk_tools/RKTRUST/RK3399TRUST.ini trust.img</pre> According to the&nbsp;[[Partitions|partitions]]&nbsp;definition, write to atf.img offset 0x6000. d6fd96bacf47e637377eda878da5b2fc7d274b46 2046 2035 2018-07-17T07:26:19Z Kever 2 Kever moved page [[Atf]] to [[ATF]] wikitext text/x-wiki = Download ARM Trusted Firmware = == Rockchip ATF == Rockchip do not provide the ATF source code, you can find the ATF binaries in [https://github.com/rockchip-linux/rkbin rkbin repository]. == Upstream ATF == Get the source code from github: <pre>git clone https://github.com/ARM-software/arm-trusted-firmware.git</pre> = Supported Devices = Upstream ARM Trusted Firmware support Rockchip SoCs: [[RK3399]] &nbsp; = Build ATF = Here is a ''mk-atf.sh'' script to build ATF. <pre>$ cat mk-atf.sh #!/bin/bash make realclean CFLAGS='-gdwarf-2' \ CROSS_COMPILE=aarch64-linux-gnu- \ make PLAT=rk3399 DEBUG=0 ERROR_DEPRECATED=1 bl31</pre> Because there is a blob of code for cortex-M0 in rk3399 ATF, so you need a compiler for it. Install it by: <pre>sudo apt-get install gcc-arm-none-eabi</pre> We can get bl31.elf&nbsp;<s>bl31.bin</s> when&nbsp;build completed. Note: The latest version ATF(including rockchip version and upstream version) bl31.elf instead of&nbsp;bl31.bin, the bl31.bin is not available now. = Install ATF = == Using U-Boot&nbsp;SPL FIT image == Copy the trust binary(optee.bin or bl31.elf) to u-boot root directory and rename it to tee.bin(armv7) or bl31.elf(armv8). Use below command to get u-boot.itb. <pre>make u-boot.itb </pre> The output u-boot.itb is a its based package including u-boot-nodtb.bin, board.dtb, and trust binaries which can be load by SPL. == Using Rockchip miniloader == Alternatively, you can use Rockchip miniloader and U-Boot instead which do not need SPL. The ATF is loaded by miniloader, so it should be package to know format for miniloader <pre>trust_merger rk_tools/RKTRUST/RK3399TRUST.ini trust.img</pre> According to the&nbsp;[[Partitions|partitions]]&nbsp;definition, write to atf.img offset 0x6000. d6fd96bacf47e637377eda878da5b2fc7d274b46 2050 2046 2018-07-17T08:44:07Z Kever 2 wikitext text/x-wiki = Download ARM Trusted Firmware = == Rockchip ATF == Rockchip do not provide the ATF source code, you can find the ATF binaries in [https://github.com/rockchip-linux/rkbin rkbin repository]. == Upstream ATF == Get the source code from github: <pre>git clone https://github.com/ARM-software/arm-trusted-firmware.git</pre> = Supported Devices = Upstream ARM Trusted Firmware support Rockchip SoCs: [[RK3399]] &nbsp; = Build ATF = Here is a ''mk-atf.sh'' script to build ATF. <pre>$ cat mk-atf.sh #!/bin/bash make realclean CFLAGS='-gdwarf-2' \ CROSS_COMPILE=aarch64-linux-gnu- \ make PLAT=rk3399 DEBUG=0 ERROR_DEPRECATED=1 bl31</pre> Because there is a blob of code for cortex-M0 in rk3399 ATF, so you need a compiler for it. Install it by: <pre>sudo apt-get install gcc-arm-none-eabi</pre> We can get bl31.elf&nbsp;<s>bl31.bin</s> when&nbsp;build completed. Note: The latest version ATF(including rockchip version and upstream version) bl31.elf instead of&nbsp;bl31.bin, the bl31.bin is not available now. = Install ATF = == Using U-Boot&nbsp;SPL FIT image == Copy the trust binary(optee.bin or bl31.elf) to u-boot root directory and rename it to tee.bin(armv7) or bl31.elf(armv8). Use below command to get u-boot.itb. <pre>make u-boot.itb </pre> The output u-boot.itb is a its based package including u-boot-nodtb.bin, board.dtb, and trust binaries which can be load by SPL. == Using Rockchip miniloader == Alternatively, you can use Rockchip miniloader and U-Boot instead which do not need SPL. The ATF is loaded by miniloader, so it should be package to know format for miniloader <pre>trust_merger rk_tools/RKTRUST/RK3399TRUST.ini trust.img</pre> According to the&nbsp;[[Partitions|partitions]]&nbsp;definition, write to trust.img offset 0x6000. 352154e51ba25da03f8be86e299e32746da1ba65 2051 2050 2018-07-17T08:45:00Z Kever 2 wikitext text/x-wiki = Download ARM Trusted Firmware = == Rockchip ATF == Rockchip do not provide the ATF source code, you can find the ATF binaries in [https://github.com/rockchip-linux/rkbin rkbin repository]. == Upstream ATF == Get the source code from github: <pre>git clone https://github.com/ARM-software/arm-trusted-firmware.git</pre> = Supported Devices = Upstream ARM Trusted Firmware support Rockchip SoCs: [[RK3399]] &nbsp; = Build ATF = Here is a ''mk-atf.sh'' script to build ATF. <pre>$ cat mk-atf.sh #!/bin/bash make realclean CFLAGS='-gdwarf-2' \ CROSS_COMPILE=aarch64-linux-gnu- \ make PLAT=rk3399 DEBUG=0 ERROR_DEPRECATED=1 bl31</pre> Because there is a blob of code for cortex-M0 in rk3399 ATF, so you need a compiler for it. Install it by: <pre>sudo apt-get install gcc-arm-none-eabi</pre> We can get bl31.elf&nbsp;<s>bl31.bin</s> when&nbsp;build completed. Note: The latest version ATF(including rockchip version and upstream version) bl31.elf instead of&nbsp;bl31.bin, the bl31.bin is not available now. = Install ATF = == Using U-Boot&nbsp;SPL FIT image == Copy the trust binary(optee.bin or bl31.elf) to u-boot root directory and rename it to tee.bin(armv7) or bl31.elf(armv8). Use below command to get u-boot.itb. <pre>make u-boot.itb </pre> The output u-boot.itb is a its based package including u-boot-nodtb.bin, board.dtb, and trust binaries which can be load by SPL. == Using Rockchip miniloader == Alternatively, you can use Rockchip miniloader and U-Boot instead which do not need SPL. The ATF is loaded by miniloader, so it should be package to known format for miniloader <pre>trust_merger rk_tools/RKTRUST/RK3399TRUST.ini trust.img</pre> According to the&nbsp;[[Partitions|partitions]]&nbsp;definition, write&nbsp;trust.img to offset 0x6000. 2d861a44b0f80563055f1e6569e1ba6145473ce0 2052 2051 2018-07-17T08:50:12Z Kever 2 wikitext text/x-wiki = Download ARM Trusted Firmware = == Rockchip ATF == Rockchip do not provide the ATF source code, you can find the ATF binaries in [https://github.com/rockchip-linux/rkbin rkbin repository]. == Upstream ATF == Get the source code from github: <pre>git clone https://github.com/ARM-software/arm-trusted-firmware.git</pre> = Supported Devices = Upstream ARM Trusted Firmware support Rockchip SoCs: [[RK3399|RK3399]] RK3328 RK3369 = Build ATF = Here is a ''mk-atf.sh'' script to build ATF. <pre>$ cat mk-atf.sh #!/bin/bash make realclean CFLAGS='-gdwarf-2' \ CROSS_COMPILE=aarch64-linux-gnu- \ make PLAT=rk3399 DEBUG=0 ERROR_DEPRECATED=1 bl31</pre> Because there is a blob of code for cortex-M0 in rk3399 ATF, so you need a compiler for it. Install it by: <pre>sudo apt-get install gcc-arm-none-eabi</pre> We can get bl31.elf&nbsp;<s>bl31.bin</s> when&nbsp;build completed. Note: The latest version ATF(including rockchip version and upstream version) bl31.elf instead of&nbsp;bl31.bin, the bl31.bin is not available now. = Install ATF = == Using U-Boot&nbsp;SPL FIT image == Copy the trust binary(optee.bin or bl31.elf) to u-boot root directory and rename it to tee.bin(armv7) or bl31.elf(armv8). Use below command to get u-boot.itb. <pre>make u-boot.itb </pre> The output u-boot.itb is a its based package including u-boot-nodtb.bin, board.dtb, and trust binaries which can be load by SPL. == Using Rockchip miniloader == Alternatively, you can use Rockchip miniloader and U-Boot instead which do not need SPL. The ATF is loaded by miniloader, so it should be package to known format for miniloader <pre>trust_merger rk_tools/RKTRUST/RK3399TRUST.ini trust.img</pre> According to the&nbsp;[[Partitions|partitions]]&nbsp;definition, write&nbsp;trust.img to offset 0x6000. ebc04670cf8dc7a49dcc87da11415de8b984e05f 2053 2052 2018-07-17T08:50:23Z Kever 2 wikitext text/x-wiki = Download ARM Trusted Firmware = == Rockchip ATF == Rockchip do not provide the ATF source code, you can find the ATF binaries in [https://github.com/rockchip-linux/rkbin rkbin repository]. == Upstream ATF == Get the source code from github: <pre>git clone https://github.com/ARM-software/arm-trusted-firmware.git</pre> = Supported Devices = Upstream ARM Trusted Firmware support Rockchip SoCs: [[RK3399|RK3399]] RK3328 RK3368 = Build ATF = Here is a ''mk-atf.sh'' script to build ATF. <pre>$ cat mk-atf.sh #!/bin/bash make realclean CFLAGS='-gdwarf-2' \ CROSS_COMPILE=aarch64-linux-gnu- \ make PLAT=rk3399 DEBUG=0 ERROR_DEPRECATED=1 bl31</pre> Because there is a blob of code for cortex-M0 in rk3399 ATF, so you need a compiler for it. Install it by: <pre>sudo apt-get install gcc-arm-none-eabi</pre> We can get bl31.elf&nbsp;<s>bl31.bin</s> when&nbsp;build completed. Note: The latest version ATF(including rockchip version and upstream version) bl31.elf instead of&nbsp;bl31.bin, the bl31.bin is not available now. = Install ATF = == Using U-Boot&nbsp;SPL FIT image == Copy the trust binary(optee.bin or bl31.elf) to u-boot root directory and rename it to tee.bin(armv7) or bl31.elf(armv8). Use below command to get u-boot.itb. <pre>make u-boot.itb </pre> The output u-boot.itb is a its based package including u-boot-nodtb.bin, board.dtb, and trust binaries which can be load by SPL. == Using Rockchip miniloader == Alternatively, you can use Rockchip miniloader and U-Boot instead which do not need SPL. The ATF is loaded by miniloader, so it should be package to known format for miniloader <pre>trust_merger rk_tools/RKTRUST/RK3399TRUST.ini trust.img</pre> According to the&nbsp;[[Partitions|partitions]]&nbsp;definition, write&nbsp;trust.img to offset 0x6000. 87245c8403991c7ade8c739b95734b8c7f01bb34 Main Page 0 16 2038 1989 2018-07-14T02:29:08Z Admin 1 wikitext text/x-wiki &nbsp; <span style="font-size:xx-large;">'''[[Linux_SDK|Rockchip Linux SDK]]'''</span><span style="font-size:small;">(click to enter)</span> <span style="font-size:small;">Rockchip Linux SDK is an&nbsp;official Linux release.&nbsp; Please contact&nbsp;'''service@rock-chips.com''' if you need business support.&nbsp;This page is for open source community. Please go to [[Linux_SDK|here]]&nbsp;if you want to use&nbsp;Rockchip Linux SDK</span> *[[Download|<span style="font-size:large;">Firmware Download</span>]] **<span style="font-size:small;">Please go to [[Download|here]] if you want to download prebuilt Image for Rockchip Linux SDK</span> &nbsp; = '''Source code''' = Rockchip provide open source software on Github including fully support for Linux Based OS: *Github: [https://github.com/rockchip-linux rockchip-linux] You can also find software for Rockchip SoCs from Upstream: *[https://www.kernel.org/ Linux kernel] *[http://www.denx.de/wiki/U-Boot/WebHome U-Boot] *[https://github.com/ARM-software/arm-trusted-firmware ARM Trusted Firmware] *[https://github.com/OP-TEE/optee_os OP-TEE OS] If you are using a Chrombook with Rockchip SoC, you can use: *[https://chromium.googlesource.com/chromiumos/third_party/coreboot Chromium OS&nbsp;Coreboot] *[https://chromium.googlesource.com/chromiumos/third_party/kernel Chromium OS kernel] &nbsp; &nbsp; = '''Hardware Support''' = Rockchip official hardware document release(please click to enter soc detail or download): {| border="1" cellpadding="0" cellspacing="0" class="table_style" |- ! style="width:92px;" | <p style="text-align: center;">SoC</p> ! style="width:286px;" | <p style="text-align: center;">Description</p> ! style="width:189px;" | <p style="text-align: center;">Download</p> |- | style="width: 92px; text-align: center;" | [[RK3399|RK3399]] | style="width:286px;" | Dual-core Cortex-A72 Quad-core Cortex-A53 CPU MALI-T860 MP4 GPU | style="width:189px;" | [[Media:Rockchip_RK3399TRM_V1.4_Part1-20170408.pdf|TRM]] [[Media:Rockchip_RK3399_Datasheet_V1.8-20180529.pdf|Datasheet]] [[Media:Rk3399_hardware_reference.zip|Schematic&Layout Guide]] |- | style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p> | style="width:286px;" | Quad-core Cortex-A17 CPU MALI-T760 MP4 GPU | style="width:189px;" | [[Media:Rockchip_RK3288_TRM_V1.2_Part1-20170321.pdf|TRM]] [[Media:Rockchip_RK3288_Datasheet_V2.4-20180530.pdf|Datasheet]] [[Media:Rk3288_hardware_reference.zip|Schematic&Layout Guide]] |- | style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p> | style="width:286px;" | Quad-core Cortex-A53 CPU MALI-450 MP2 GPU | style="width:189px;" | [[Media:Rockchip_RK3328TRM_V1.1-Part1-20170321.pdf|TRM]] [[Media:Rockchip_RK3328_Datasheet_V1.1-20170309.pdf|Datasheet]] [[Media:Rk3328_hardware_reference.zip|Schematic&Layout Guide]] |} &nbsp; <span style="font-size:medium;">'''Hardware dev board on market:'''</span> [[Devices|Device List]] &nbsp; = '''Software development&nbsp;''' = *'''Software Feature Supoort status''' **'''[[Status_Matrix|Status_Matrix]]''' *'''BSP''' **[[U-Boot|U-Boot]]&nbsp; **[[Rockchip_Kernel|Kernel]] **[[Atf|ARM Trusted&nbsp;Firmware]] **[[Distribution|Distro]] *'''Graphics and Multimedia&nbsp;user guide''' **[[Graphics|Graphics and display]] **[[Mpp|Multimedia--Video Codec]] **[[Rockchip-isp1|Multimedia--Camera]] *'''Tool and Firmware Upgrade''' **[[Boot_option|Boot Option]] **[[Rockusb|Rockusb]] **[[Upgradetool|Rockchip&nbsp;Upgrade Tool]] **[[AndroidTool|Android Tool]] **[[Rkdeveloptool|rkdeveloptool]] '''<span style="font-size:xx-large;">Feedback</span>''' Any question about software module on github, please ask&nbsp;at issue page of github project. If you have any other questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website, Email-to: '''opensource@rock-chips.com''' 2a29961f4f0feb94c3a3b3f830774e383625a7d3 2048 2038 2018-07-17T07:27:08Z Admin 1 wikitext text/x-wiki &nbsp; <span style="font-size:xx-large;">'''[[Linux_SDK|Rockchip Linux SDK]]'''</span><span style="font-size:small;">(click to enter)</span> <span style="font-size:small;">Rockchip Linux SDK is an&nbsp;official Linux release.&nbsp; Please contact&nbsp;'''service@rock-chips.com''' if you need business support.&nbsp;This page is for open source community. Please go to [[Linux_SDK|here]]&nbsp;if you want to use&nbsp;Rockchip Linux SDK</span> *[[Download|<span style="font-size:large;">Firmware Download</span>]] **<span style="font-size:small;">Please go to [[Download|here]] if you want to download prebuilt Image for Rockchip Linux SDK</span> &nbsp; = '''Source code''' = Rockchip provide open source software on Github including fully support for Linux Based OS: *Github: [https://github.com/rockchip-linux rockchip-linux] You can also find software for Rockchip SoCs from Upstream: *[https://www.kernel.org/ Linux kernel] *[http://www.denx.de/wiki/U-Boot/WebHome U-Boot] *[https://github.com/ARM-software/arm-trusted-firmware ARM Trusted Firmware] *[https://github.com/OP-TEE/optee_os OP-TEE OS] If you are using a Chrombook with Rockchip SoC, you can use: *[https://chromium.googlesource.com/chromiumos/third_party/coreboot Chromium OS&nbsp;Coreboot] *[https://chromium.googlesource.com/chromiumos/third_party/kernel Chromium OS kernel] &nbsp; &nbsp; = '''Hardware Support''' = Rockchip official hardware document release(please click to enter soc detail or download): {| border="1" cellpadding="0" cellspacing="0" class="table_style" |- ! style="width:92px;" | <p style="text-align: center;">SoC</p> ! style="width:286px;" | <p style="text-align: center;">Description</p> ! style="width:189px;" | <p style="text-align: center;">Download</p> |- | style="width: 92px; text-align: center;" | [[RK3399|RK3399]] | style="width:286px;" | Dual-core Cortex-A72 Quad-core Cortex-A53 CPU MALI-T860 MP4 GPU | style="width:189px;" | [[Media:Rockchip_RK3399TRM_V1.4_Part1-20170408.pdf|TRM]] [[Media:Rockchip_RK3399_Datasheet_V1.8-20180529.pdf|Datasheet]] [[Media:Rk3399_hardware_reference.zip|Schematic&Layout Guide]] |- | style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p> | style="width:286px;" | Quad-core Cortex-A17 CPU MALI-T760 MP4 GPU | style="width:189px;" | [[Media:Rockchip_RK3288_TRM_V1.2_Part1-20170321.pdf|TRM]] [[Media:Rockchip_RK3288_Datasheet_V2.4-20180530.pdf|Datasheet]] [[Media:Rk3288_hardware_reference.zip|Schematic&Layout Guide]] |- | style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p> | style="width:286px;" | Quad-core Cortex-A53 CPU MALI-450 MP2 GPU | style="width:189px;" | [[Media:Rockchip_RK3328TRM_V1.1-Part1-20170321.pdf|TRM]] [[Media:Rockchip_RK3328_Datasheet_V1.1-20170309.pdf|Datasheet]] [[Media:Rk3328_hardware_reference.zip|Schematic&Layout Guide]] |} &nbsp; <span style="font-size:medium;">'''Hardware dev board on market:'''</span> [[Devices|Device List]] &nbsp; = '''Software development&nbsp;''' = *'''Software Feature Supoort status''' **'''[[Status_Matrix|Status_Matrix]]''' *'''BSP''' **[[U-Boot|U-Boot]]&nbsp; **[[Rockchip_Kernel|Kernel]] **[[ATF|ARM Trusted&nbsp;Firmware]] **[[Distribution|Distro]] *'''Graphics and Multimedia&nbsp;user guide''' **[[Graphics|Graphics and display]] **[[Mpp|Multimedia--Video Codec]] **[[Rockchip-isp1|Multimedia--Camera]] *'''Tool and Firmware Upgrade''' **[[Boot_option|Boot Option]] **[[Rockusb|Rockusb]] **[[Upgradetool|Rockchip&nbsp;Upgrade Tool]] **[[AndroidTool|Android Tool]] **[[Rkdeveloptool|rkdeveloptool]] '''<span style="font-size:xx-large;">Feedback</span>''' Any question about software module on github, please ask&nbsp;at issue page of github project. If you have any other questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website, Email-to: '''opensource@rock-chips.com''' e406783527f9cca4ab411c0dee5ad18a7d3ca930 2049 2048 2018-07-17T07:32:09Z Admin 1 wikitext text/x-wiki &nbsp; <span style="font-size:xx-large;">'''[[Linux_SDK|Rockchip Linux SDK]]'''</span><span style="font-size:small;">(click to enter)</span> <span style="font-size:small;">Rockchip Linux SDK is an&nbsp;official Linux release.&nbsp; Please contact&nbsp;'''service@rock-chips.com''' if you need business support.&nbsp;This page is for open source community. Please go to [[Linux_SDK|here]]&nbsp;if you want to use&nbsp;Rockchip Linux SDK</span> *[[Download|<span style="font-size:large;">Firmware Download</span>]] **<span style="font-size:small;">Please go to [[Download|here]] if you want to download prebuilt Image for Rockchip Linux SDK</span> &nbsp; = '''Source code''' = Rockchip provide open source software on Github including fully support for Linux Based OS: *Github: [https://github.com/rockchip-linux rockchip-linux] You can also find software for Rockchip SoCs from Upstream: *[https://www.kernel.org/ Linux kernel] *[http://www.denx.de/wiki/U-Boot/WebHome U-Boot] *[https://github.com/ARM-software/arm-trusted-firmware ARM Trusted Firmware] *[https://github.com/OP-TEE/optee_os OP-TEE OS] If you are using a Chrombook with Rockchip SoC, you can use: *[https://chromium.googlesource.com/chromiumos/third_party/coreboot Chromium OS&nbsp;Coreboot] *[https://chromium.googlesource.com/chromiumos/third_party/kernel Chromium OS kernel] &nbsp; &nbsp; = '''Hardware Support''' = Rockchip official hardware document release(please click to enter soc detail or download): {| border="1" cellpadding="0" cellspacing="0" class="table_style" |- ! style="width:92px;" | <p style="text-align: center;">SoC</p> ! style="width:286px;" | <p style="text-align: center;">Description</p> ! style="width:189px;" | <p style="text-align: center;">Download</p> |- | style="width: 92px; text-align: center;" | [[RK3399|RK3399]] | style="width:286px;" | Dual-core Cortex-A72 Quad-core Cortex-A53 CPU MALI-T860 MP4 GPU | style="width:189px;" | [[Media:Rockchip_RK3399TRM_V1.4_Part1-20170408.pdf|TRM]] [[Media:Rockchip_RK3399_Datasheet_V1.8-20180529.pdf|Datasheet]] [[Media:Rk3399_hardware_reference.zip|Schematic&Layout Guide]] |- | style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p> | style="width:286px;" | Quad-core Cortex-A17 CPU MALI-T760 MP4 GPU | style="width:189px;" | [[Media:Rockchip_RK3288_TRM_V1.2_Part1-20170321.pdf|TRM]] [[Media:Rockchip_RK3288_Datasheet_V2.4-20180530.pdf|Datasheet]] [[Media:Rk3288_hardware_reference.zip|Schematic&Layout Guide]] |- | style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p> | style="width:286px;" | Quad-core Cortex-A53 CPU MALI-450 MP2 GPU | style="width:189px;" | [[Media:Rockchip_RK3328TRM_V1.1-Part1-20170321.pdf|TRM]] [[Media:Rockchip_RK3328_Datasheet_V1.1-20170309.pdf|Datasheet]] [[Media:Rk3328_hardware_reference.zip|Schematic&Layout Guide]] |} &nbsp; <span style="font-size:medium;">'''Hardware dev board on market:'''</span> [[Devices|Device List]] &nbsp; = '''Software development&nbsp;''' = *'''Software Feature Supoort status''' **'''[[Status_Matrix|Status_Matrix]]''' *'''BSP''' **[[U-Boot|U-Boot]]&nbsp; **[[Rockchip_Kernel|Kernel]] **[[ATF|ARM Trusted&nbsp;Firmware]] **[[Distribution|Distro]] *'''Graphics and Multimedia&nbsp;user guide''' **[[Graphics|Graphics and Display]] **[[Mpp|Multimedia--Video Codec]] **[[Rockchip-isp1|Multimedia--Camera]] *'''Tool and Firmware Upgrade''' **[[Boot_option|Boot Option]] **[[Rockusb|Rockusb]] **[[Upgradetool|Rockchip&nbsp;Upgrade Tool]] **[[AndroidTool|Android Tool]] **[[Rkdeveloptool|rkdeveloptool]] '''<span style="font-size:xx-large;">Feedback</span>''' Any question about software module on github, please ask&nbsp;at issue page of github project. If you have any other questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website, Email-to: '''opensource@rock-chips.com''' a05aa4df3ce4e4c55d9f32c93e7adb1ae9d31aa9 2073 2049 2018-09-21T09:09:49Z Admin 1 wikitext text/x-wiki &nbsp; <span style="font-size:xx-large;">'''[[Linux_SDK|Rockchip Linux SDK]]'''</span><span style="font-size:small;">(click to enter)</span> <span style="font-size:small;">Rockchip Linux SDK is an&nbsp;official Linux release.&nbsp; Please contact&nbsp;'''service@rock-chips.com''' if you need business support.&nbsp;This page is for open source community. Please go to [[Linux_SDK|here]]&nbsp;if you want to use&nbsp;Rockchip Linux SDK</span> *[[Download|<span style="font-size:large;">Firmware Download</span>]] **<span style="font-size:small;">Please go to [[Download|here]] if you want to download prebuilt Image for Rockchip Linux SDK</span> &nbsp; = '''Source code''' = Rockchip provide open source software on Github including fully support for Linux Based OS: *Github: [https://github.com/rockchip-linux rockchip-linux] You can also find software for Rockchip SoCs from Upstream: *[https://www.kernel.org/ Linux kernel] *[http://www.denx.de/wiki/U-Boot/WebHome U-Boot] *[https://github.com/ARM-software/arm-trusted-firmware ARM Trusted Firmware] *[https://github.com/OP-TEE/optee_os OP-TEE OS] If you are using a Chrombook with Rockchip SoC, you can use: *[https://chromium.googlesource.com/chromiumos/third_party/coreboot Chromium OS&nbsp;Coreboot] *[https://chromium.googlesource.com/chromiumos/third_party/kernel Chromium OS kernel] &nbsp; &nbsp; = '''Hardware Support''' = Rockchip official hardware document release(please click to enter soc detail or download): {| border="1" cellpadding="0" cellspacing="0" class="table_style" |- ! style="width:92px;" | <p style="text-align: center;">SoC</p> ! style="width:286px;" | <p style="text-align: center;">Description</p> ! style="width:189px;" | <p style="text-align: center;">Download</p> |- | style="width: 92px; text-align: center;" | [[RK3399|RK3399]] | style="width:286px;" | Dual-core Cortex-A72 Quad-core Cortex-A53 CPU MALI-T860 MP4 GPU | style="width:189px;" | [[Media:Rockchip_RK3399TRM_V1.4_Part1-20170408.pdf|TRM]] [[Media:Rockchip_RK3399_Datasheet_V1.8-20180529.pdf|Datasheet]] [[Media:Rk3399_hardware_reference.zip|Schematic&Layout Guide]] |- | style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p> | style="width:286px;" | Quad-core Cortex-A17 CPU MALI-T760 MP4 GPU | style="width:189px;" | [[Media:Rockchip_RK3288_TRM_V1.2_Part1-20170321.pdf|TRM]] [[Media:Rockchip_RK3288_Datasheet_V2.4-20180530.pdf|Datasheet]] [[Media:Rk3288_hardware_reference.zip|Schematic&Layout Guide]] |- | style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p> | style="width:286px;" | Quad-core Cortex-A53 CPU MALI-450 MP2 GPU | style="width:189px;" | [[Media:Rockchip_RK3328TRM_V1.1-Part1-20170321.pdf|TRM]] [[Media:Rockchip_RK3328_Datasheet_V1.1-20170309.pdf|Datasheet]] [[Media:Rk3328_hardware_reference.zip|Schematic&Layout Guide]] |} &nbsp; <span style="font-size:medium;">'''Hardware dev board on market:'''</span> [[Devices|Device List]] &nbsp; = '''Software development&nbsp;''' = *'''Software Feature Supoort status''' **'''[[Status_Matrix|Status_Matrix]]''' *'''BSP''' **[[U-Boot|U-Boot]]&nbsp; **[[Rockchip_Kernel|Kernel]] **[[ATF|ARM Trusted&nbsp;Firmware]] **[[Distribution|Distro]] *'''Graphics and Multimedia&nbsp;user guide''' **[[Graphics|Graphics and Display]] **[[Mpp|Multimedia--Video Codec]] **[[Rockchip-isp1|Multimedia--Camera]] *'''Tool and Firmware Upgrade''' **[[Boot_option|Boot Option]] **[[Rockusb|Rockusb]] **[[tools|Firmware Upgrade Tools]] '''<span style="font-size:xx-large;">Feedback</span>''' Any question about software module on github, please ask&nbsp;at issue page of github project. If you have any other questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website, Email-to: '''opensource@rock-chips.com''' 44eb174eedb7fdcf69381d68f34a11f60281a287 Atf 0 218 2047 2018-07-17T07:26:19Z Kever 2 Kever moved page [[Atf]] to [[ATF]] wikitext text/x-wiki #REDIRECT [[ATF]] b488893d77844a97d6be48fd167115f0b5562764 Download 0 208 2054 1987 2018-07-18T01:48:59Z Admin 1 wikitext text/x-wiki We provide prebuilt for all the board we support. RK3399:&nbsp;[https://eyun.baidu.com/s/3qZM8TBm https://eyun.<wbr></wbr>baidu.com/s/3qZM8TBm] RK3288:&nbsp;[https://eyun.baidu.com/s/3qZt2CIK https://eyun.<wbr></wbr>baidu.com/s/3qZt2CIK] RK3328:&nbsp;[https://pan.baidu.com/s/1-FZRWaf-aZ-8N4GFDsJumw https://pan.baidu.com/s/1-FZRWaf-aZ-8N4GFDsJumw] b6ab8db0e46d94f1f63605a5beaa829746f6ea6a 2055 2054 2018-07-18T01:51:51Z Admin 1 wikitext text/x-wiki We provide prebuilt for all the board we support. RK3399:&nbsp;[https://eyun.baidu.com/s/3qZM8TBm https://eyun.<wbr></wbr></wbr>baidu.com/s/3qZM8TBm] RK3288:&nbsp;[https://eyun.baidu.com/s/3qZt2CIK https://eyun.<wbr></wbr></wbr>baidu.com/s/3qZt2CIK] RK3328: 35fd0f492adf16d5281b8ec47926cfd6f5855fa8 2064 2055 2018-07-30T08:57:40Z Admin 1 wikitext text/x-wiki We provide prebuilt for all the board we support. RK3399:&nbsp;[https://eyun.baidu.com/s/3qZM8TBm https://eyun.<wbr></wbr>baidu.com/s/3qZM8TBm] RK3288:&nbsp;[https://eyun.baidu.com/s/3qZt2CIK https://eyun.<wbr></wbr>baidu.com/s/3qZt2CIK] RK3328: e224c60bfa0d531bc822d67b90f73b10d5fc053b 2065 2064 2018-07-30T08:59:15Z Admin 1 wikitext text/x-wiki We provide prebuilt for all the board we support. RK3399:&nbsp;https://eyun.baidu.com/s/3qZM8TBm RK3288:&nbsp;https://eyun.baidu.com/s/3qZt2CIK RK3328: 32d7d32b407cc1fb4b67a834f94ef4b3db871201 Roadmap 0 206 2066 1967 2018-08-07T02:02:06Z Admin 1 wikitext text/x-wiki This page discribe the road map of Rockchip Linux SDK. It is just let people know&nbsp;our plan&nbsp;in advance. not promise. It may change without inform you. Please understand. = 2018 Q3 = support uboot logo display support AB partition&nbsp;in buildroot SDK support silent update&nbsp;in buildroot SDK support key event in QT app support ROS in buildroot SDK support extend mode and mirror modr in buildroot SDK support screen rotation in buildroot SDK support 64bit Debian 9&nbsp;stretch support rkisp1+camera_engine_rkisp camera framework support pcba test in buildroot SDK = 2018 Q4 = support&nbsp;incremental update support ffmpeg hardware decode H264, H265, VP8, VP9, Jpeg support ffmpeg hardware encode H264, Jpeg, VP8 = 2019 Q1 = support&nbsp;Debian 10 buster fd5f866ecef1e1066259f5ad2f7dd193fb416d8e 2067 2066 2018-08-07T02:02:30Z Admin 1 wikitext text/x-wiki This page discribe the road map of Rockchip Linux SDK. It is just let people know&nbsp;our plan&nbsp;in advance. not promise. It may change without inform you. Please understand. = 2018 Q3 = support AB partition&nbsp;in buildroot SDK support silent update&nbsp;in buildroot SDK support key event in QT app support ROS in buildroot SDK support extend mode and mirror modr in buildroot SDK support screen rotation in buildroot SDK support 64bit Debian 9&nbsp;stretch support rkisp1+camera_engine_rkisp camera framework = 2018 Q4 = support&nbsp;incremental update support ffmpeg hardware decode H264, H265, VP8, VP9, Jpeg support ffmpeg hardware encode H264, Jpeg, VP8 = 2019 Q1 = support&nbsp;Debian 10 buster adfe67465f43a1f5059c5f9e6e1eccd999fd1166 2068 2067 2018-08-07T02:02:56Z Admin 1 wikitext text/x-wiki This page discribe the road map of Rockchip Linux SDK. It is just let people know&nbsp;our plan&nbsp;in advance. not promise. It may change without inform you. Please understand. = 2018 Q3 = support AB partition&nbsp;in buildroot SDK support silent update&nbsp;in buildroot SDK support key event in QT app support ROS in buildroot SDK support extend mode and mirror modr in buildroot SDK support screen rotation in buildroot SDK support 64bit Debian 9&nbsp;stretch support rkisp1+camera_engine_rkisp camera framework = 2018 Q4 = support&nbsp;incremental update support ffmpeg hardware decode H264, H265, VP8, VP9, Jpeg support ffmpeg hardware encode H264, Jpeg, VP8 support&nbsp;Debian 10 buster = 2019 Q1 = support&nbsp;Debian 10 buster a7f5950d8973b2be24278896b579e224135edb20 2069 2068 2018-08-07T02:03:18Z Admin 1 wikitext text/x-wiki This page discribe the road map of Rockchip Linux SDK. It is just let people know&nbsp;our plan&nbsp;in advance. not promise. It may change without inform you. Please understand. &nbsp; = 2018 Q3 = support AB partition&nbsp;in buildroot SDK support silent update&nbsp;in buildroot SDK support key event in QT app support ROS in buildroot SDK support extend mode and mirror modr in buildroot SDK support screen rotation in buildroot SDK support 64bit Debian 9&nbsp;stretch support rkisp1+camera_engine_rkisp camera framework &nbsp; = 2018 Q4 = support&nbsp;incremental update support ffmpeg hardware decode H264, H265, VP8, VP9, Jpeg support ffmpeg hardware encode H264, Jpeg, VP8 support&nbsp;Debian 10 buster = &nbsp; = 3c84ac17d2e6247a3775ac498046c008a9780114 2070 2069 2018-08-07T02:03:47Z Admin 1 wikitext text/x-wiki This page discribe the road map of Rockchip Linux SDK. It is just let people know&nbsp;our plan&nbsp;in advance. not promise. It may change without inform you. Please understand. &nbsp; = 2018 Q3 = support AB partition&nbsp;in buildroot SDK support silent update&nbsp;in buildroot SDK support key event in QT app support ROS in buildroot SDK support extend mode and mirror mode in buildroot SDK support screen rotation in buildroot SDK support 64bit Debian 9&nbsp;stretch support rkisp1+camera_engine_rkisp camera framework &nbsp; = 2018 Q4 = support&nbsp;incremental update support ffmpeg hardware decode H264, H265, VP8, VP9, Jpeg support ffmpeg hardware encode H264, Jpeg, VP8 support&nbsp;Debian 10 buster = &nbsp; = 2038c714b0c510b1e64a9699430716bf6a70101f 2071 2070 2018-08-22T10:09:28Z Admin 1 wikitext text/x-wiki This page discribe the road map of Rockchip Linux SDK. It is just let people know&nbsp;our plan&nbsp;in advance. not promise. It may change without inform you. Please understand. &nbsp; = 2018 Q3 = support AB partition&nbsp;in buildroot SDK support silent update&nbsp;in buildroot SDK support lxqt&nbsp;in buildroot SDK support ROS in buildroot SDK support extend mode and mirror mode in buildroot SDK support screen rotation in buildroot SDK support 64bit Debian 9&nbsp;stretch support rkisp1+camera_engine_rkisp camera framework &nbsp; = 2018 Q4 = support&nbsp;incremental update support ffmpeg hardware decode H264, H265, VP8, VP9, Jpeg support ffmpeg hardware encode H264, Jpeg, VP8 support&nbsp;Debian 10 buster = &nbsp; = 282fb813fa3d9fc6976b0fb4e9f51b51c8656854 Devices 0 49 2072 1992 2018-09-21T06:33:34Z Kever 2 wikitext text/x-wiki Here list the sbc boards that purchase available on market. &nbsp; = RK3036 Boards = Rockchip:&nbsp;[http://rockchip.wikidot.com/kylin Kylin-RK3036] = RK3288 Boards = Firefly:&nbsp;[[Firefly-RK3288|Firefly-RK3288]] ASUS:&nbsp;[[ASUS_Tinker|Tinker Board]] Mqmaker: [[MiQi|MiQi]] PHYTEC: [[PhyCORE-RK3288|phyCore-RK3288]] Linksprite:&nbsp;[[Fennec|PcDuino9 Fennec]] Pico-ITX: [http://www.aaeon.com/en/p/pico-itx-boards-rico-3288 RICO-3288] = RK3399 Boards = Rockchip: RK3399&nbsp;[[Excavator_sapphire_board|Excavator sapphire]] Firefly: [[Firefly-RK3399|Firefly-RK3399]] [https://www.theobroma-systems.com/ Theobroma Systems]: [[RK3399-Q7|RK3399-Q7]] Pine64: [https://www.pine64.org/?page_id=61454 ROCK64pro] Vmars: [https://www.96rocks.com/ ROCK960] Pico-ITX: [http://www.aaeon.com/en/p/pico-itx-boards-rico-3399 RICO-3399] Orange Pi: [http://www.orangepi.org/Orange%20Pi%20RK3399/ Orangepi-rk3399] FriendlyARM: [http://wiki.friendlyarm.com/wiki/index.php/NanoPC-T4 Nano PC T4] Khadas: [https://www.khadas.com/edge Edge-rk3399] = RK3328 Boards = Pine64:&nbsp;[[ROCK64|ROCK64]] Firefly: [[ROC-RK3328-CC|ROC-RK3328-CC]] af32f13290742d95212365991bff73ab573e5fd2 Tools 0 219 2074 2018-09-21T09:11:02Z Admin 1 Created page with " Rockchip Provide Tools for Upgrade firmware to on board storage media like eMMC/NAND/SPI flash. *[[Upgradetool|Rockchip&nbsp;Upgrade Tool]] *[[AndroidTool|Android Tool]] *..." wikitext text/x-wiki Rockchip Provide Tools for Upgrade firmware to on board storage media like eMMC/NAND/SPI flash. *[[Upgradetool|Rockchip&nbsp;Upgrade Tool]] *[[AndroidTool|Android Tool]] *[[Rkdeveloptool|rkdeveloptool]] 06af2dd3fb05a84f1013b317b329488f293a3200 2075 2074 2018-09-21T09:19:57Z Kever 2 wikitext text/x-wiki Rockchip Provide Tools for Upgrade firmware to on board storage media like eMMC/NAND/SPI flash. Please chose a&nbsp;appropriate tool for your project. {| border="1" cellpadding="1" cellspacing="1" style="width: 500px;" |- | Tool Name | Owner | OSS | Description |- | [[Upgradetool|Upgrade_tool]] | Rockchip | N | Rockchip official release with in SDK, Linux vesion |- | [[Rkdeveloptool|rkdeveloptool]] | Rockchip | Y | open source version of upgrade_tool |- | [https://github.com/rockchip-linux/rkflashtool rkflashtool] | Community | Y | open source, maintained by third party |- | [[AndroidTool|Android Tool]] | Rockchip | N | official release within SDK, Windows Only |} dd99611b5e0983eecb6435f5e7325a93f7d09092 2076 2075 2018-09-21T09:23:28Z Kever 2 wikitext text/x-wiki Rockchip Provide Tools for Upgrade firmware to on board storage media like eMMC/NAND/SPI flash. Please chose a&nbsp;appropriate tool for your project. {| border="1" cellpadding="1" cellspacing="1" style="width: 500px;" |- | Tool Name | Owner | OSS | Description |- | [[Upgradetool|Upgrade_tool]] | Rockchip | N | Rockchip official release with in SDK, Linux vesion |- | [[Rkdeveloptool|rkdeveloptool]] | Rockchip | Y | open source version of upgrade_tool |- | [https://github.com/rockchip-linux/rkflashtool rkflashtool] | Community | Y | open source, maintained by third party |- | [[AndroidTool|Android Tool]] | Rockchip | N | official release within SDK, Windows Only |} &nbsp; If you are using a SD card for firmware storage, then you don't need the Tool for firmware upgrade, for example, you can use 'dd' command in Linux OS. 712059cf0b3e7d1234d736257fff017dc38c4f76 RK3399 0 21 2077 1915 2018-09-28T02:06:21Z Kever 2 wikitext text/x-wiki Rockchip RK3399 SoC integrates&nbsp;dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor, and with&nbsp;ARM Mali-T864 GPU. {| border="0" cellpadding="1" cellspacing="1" class="infobox" style="width: 300px;" |- | [[File:RK3399 Soc.png|RTENOTITLE]] |} = Overview = RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications. &nbsp; = SoC Features = {| border="0" cellpadding="1" cellspacing="1" style="width: 972px;" |- | style="width: 530px;" | *CPU: **Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU **Frequency is over 1.8GHz (Big cluster) **L1 cache ***48KB Icache and 32KB Dcache for each A72 ***32KB Icache and 32KB Dcache for each A53 **L2 cache ***1024KB for big cluster ***512KB for little cluster *Internal SRAM **192KB total **4KB used by bootrom when bootup *GPU: **&nbsp;Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11 **Supports AFBC (ARM Frame Buffer Compression) *Display: **Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600 **Dual channel MIPI-DSI (4 lanes per channel) **eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR **HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2 **DisplayPort 1.2 (4 lanes, up to 4K 60Hz) **Supports Rec.2020 and conversion to Rec.709 *Camera: **&nbsp;Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels *Memory: **Dual channels 64-bit DRAM controller **Support DDR3/DDR3L, LPDDR3, LPDDR4 *Connectivity: **PCIe 2.1 (4 full-duplex lanes with 20Gbps) **Embedded low power MCU for other application **8 channels I2S supports 8 channels RX or 8 channels TX | style="width: 429px;" | [[File:RK3399 Block Diagram.png|RTENOTITLE]] |} &nbsp; = Documentation = #[http://opensource.rock-chips.com/images/6/60/Rockchip_RK3399_Datasheet_V1.6-20170301.pdf Rockchip_RK3399_Datasheet_V1.6-20170301.pdf] #[[Media:Rockchip_RK3399TRM_V1.4_Part1-20170408.pdf|Rockchip RK3399TRM V1.4 Part1-20170408.pdf]] #[http://opensource.rock-chips.com/images/f/f9/RK3399_Linux_Debain_V1.1_Development_Guide170620.pdf RK3399_Linux_Debain_V1.1_Development_Guide170620.pdf] #[http://opensource.rock-chips.com/images/5/5d/RK3399_Linux_Debian_v1.1开发说明170620.pdf RK3399 Linux Debian v1.1开发说明170620.pdf] #[http://opensource.rock-chips.com/images/9/92/RK3399_Linux_Buildroot_V1.2_Development_Guide170619.pdf RK3399_Linux_Buildroot_V1.2_Development_Guide170619.pdf] #[http://opensource.rock-chips.com/images/0/05/RK3399_Linux_Buildroot_V1.2开发说明170619.pdf RK3399_Linux_Buildroot_V1.2开发说明170619.pdf] #[http://opensource.rock-chips.com/images/2/20/RK3399_Multimedia_Codec_Benchmark_v1.0.pdf RK3399_Multimedia_Codec_Benchmark_v1.0.pdf] #[[Media:RK3399_Design_Guide_V1.0_20170420.pdf|RK3399 Design Guide_V1.0_20170420.pdf]] = Software = See [[Linux_user_guide|Linux User Guide]]&nbsp;setup LInux OS generally; See&nbsp;[[U-Boot|U-Boot]]&nbsp;guide to develop U-Boot; See&nbsp;[[Rockchip_Kernel|Rockchip kernel]]&nbsp;to develop kernel; See [[Buildroot|buildroot and]] [[Debian|debian&nbsp;to]] develop and rootfs. &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" class="table_style" style="width: 859px;" |- ! style="width: 68px; text-align: center;" | '''chip''' ! style="width: 181px; text-align: center;" | '''Kernel eMMC index''' ! style="width: 142px; text-align: center;" | '''Kernel SD index''' ! style="width: 158px; text-align: center;" | '''Uboot eMMC index''' ! style="width: 146px; text-align: center;" | '''Uboot SD index''' ! style="width: 132px; text-align: center;" | '''Baud speed''' |- | style="width: 68px; text-align: center;" | RK3399 | style="width: 181px; text-align: center;" | 1 | style="width: 142px; text-align: center;" | 0 | style="width: 158px; text-align: center;" | 0 | style="width: 146px; text-align: center;" | 1 | style="width: 132px; text-align: center;" | 1500000 |} &nbsp; = RK3399 Devices = Rockchip: RK3399&nbsp;[http://opensource.rock-chips.com/wiki_Excavator_sapphire_board Excavator sapphire] Firefly:&nbsp;[http://opensource.rock-chips.com/wiki_Firefly-RK3399 Firefly-RK3399] [https://www.theobroma-systems.com/ Theobroma Systems]:&nbsp;[http://opensource.rock-chips.com/wiki_RK3399-Q7 RK3399-Q7] Pine64:&nbsp;[https://www.pine64.org/?page_id=61454 ROCK64pro] Vmars:&nbsp;[https://www.96rocks.com/ ROCK960] Pico-ITX:&nbsp;[http://www.aaeon.com/en/p/pico-itx-boards-rico-3399 RICO-3399] Orange Pi:&nbsp;[http://www.orangepi.org/Orange%20Pi%20RK3399/ Orangepi-rk3399] FriendlyARM:&nbsp;[http://wiki.friendlyarm.com/wiki/index.php/NanoPC-T4 Nano PC T4] Khadas:&nbsp;[https://www.khadas.com/edge Edge-rk3399] = References = [https://en.wikipedia.org/wiki/ARM_Cortex-A72 https://en.wikipedia.org/wiki/ARM_Cortex-A72] [http://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html http://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html] [https://www.arm.com/zh/products/multimedia/mali-gpu/high-performance/mali-t860-t880.php https://www.arm.com/zh/products/multimedia/mali-gpu/high-performance/mali-t860-t880.php] 1ba80dd2a2ffb718ad1596ce2d2e173b930ee93e Excavator sapphire board 0 59 2078 1913 2018-09-28T03:42:38Z Kever 2 wikitext text/x-wiki {{Infobox | image = [[File:RK3399 Excavator Board.jpg |500px]] }} = Rockchip github = You can download code from github,See&nbsp;[[Linux_user_guide|Linux_user_guide]]&nbsp;setup Linux OS generally. = Upstream&nbsp; &nbsp; = WIP... = Documentation = [[Media:RK3399_EVB_User_Guide-20160920.pdf|RK3399 EVB User Guide]] [[RK3399 EVB User Guide&nbsp;V2 CN]] [[Media:Design_documents.rar|Design documents]] [[Media:Component_datasheet.rar|Component datasheet]] == RK3399 Excavator EVB == [[Media:RK_Excavator_MainBoard.rar|RK_Excavator_MainBoard]] [[Media:RK_Excavator_ExtBoard_MipiDisplay.rar|RK_Excavator_ExtBoard_MipiDisplay]] [[Media:RK_Sapphire_RK3399.rar|RK_Sapphire_RK3399]] = Image = &nbsp;You can download image directly from below link if available. &nbsp; = See also = Firefly: [http://wiki.t-firefly.com/index.php/Firefly-RK3399 Firefly-RK3399] = References = &nbsp;&nbsp;[http://www.rock-chips.com/a/en/News/Press_Releases/2017/0224/832.html http://www.rock-chips.com/a/en/News/Press_Releases/2017/0224/832.html] To buy this board call: 4007700590 &nbsp; &nbsp; &nbsp; &nbsp;Email: service@rock-chips.com d1c6c40fbc92adc0e7f8af77ac2d5c642a91db79 Excavator sapphire board 0 59 2079 2078 2018-09-28T03:45:40Z Kever 2 wikitext text/x-wiki {{Infobox | image = [[File:RK3399 Excavator Board.jpg |500px]] }} = Rockchip github = You can download code from github,See&nbsp;[[Linux_user_guide|Linux_user_guide]]&nbsp;setup Linux OS generally. = Upstream&nbsp; &nbsp; = WIP... = Documentation = [[Media:RK3399_EVB_User_Guide-20160920.pdf|RK3399 EVB User Guide]] [[Media:Rockchip_RK3399挖掘机用户使用指南_V2.0_20180416.pdf|RK3399 EVB User Guide&nbsp;V2 CN]] [[Media:Design_documents.rar|Design documents]] [[Media:Component_datasheet.rar|Component datasheet]] == RK3399 Excavator EVB == [[Media:RK_Excavator_MainBoard.rar|RK_Excavator_MainBoard]] [[Media:RK_Excavator_ExtBoard_MipiDisplay.rar|RK_Excavator_ExtBoard_MipiDisplay]] [[Media:RK_Sapphire_RK3399.rar|RK_Sapphire_RK3399]] = Image = &nbsp;You can download image directly from below link if available. &nbsp; = See also = Firefly: [http://wiki.t-firefly.com/index.php/Firefly-RK3399 Firefly-RK3399] = References = &nbsp;&nbsp;[http://www.rock-chips.com/a/en/News/Press_Releases/2017/0224/832.html http://www.rock-chips.com/a/en/News/Press_Releases/2017/0224/832.html] To buy this board call: 4007700590 &nbsp; &nbsp; &nbsp; &nbsp;Email: service@rock-chips.com 589ccdfe6c785a29d3ffb8897c3c6e2a41f4e297 2081 2079 2018-09-28T03:48:41Z Kever 2 wikitext text/x-wiki {{Infobox | image = [[File:RK3399 Excavator Board.jpg |500px]] }} = Rockchip github = You can download code from github,See&nbsp;[[Linux_user_guide|Linux_user_guide]]&nbsp;setup Linux OS generally. = Upstream&nbsp; &nbsp; = WIP... = Documentation = [[Media:RK3399_EVB_User_Guide-20160920.pdf|RK3399 EVB User Guide]] [[Media:Rockchip_RK3399_Excavator_User_Guide_V2.0_20180416.pdf|RK3399 EVB User Guide&nbsp;V2 CN]] [[Media:Design_documents.rar|Design documents]] [[Media:Component_datasheet.rar|Component datasheet]] == RK3399 Excavator EVB == [[Media:RK_Excavator_MainBoard.rar|RK_Excavator_MainBoard]] [[Media:RK_Excavator_ExtBoard_MipiDisplay.rar|RK_Excavator_ExtBoard_MipiDisplay]] [[Media:RK_Sapphire_RK3399.rar|RK_Sapphire_RK3399]] = Image = &nbsp;You can download image directly from below link if available. &nbsp; = See also = Firefly: [http://wiki.t-firefly.com/index.php/Firefly-RK3399 Firefly-RK3399] = References = &nbsp;&nbsp;[http://www.rock-chips.com/a/en/News/Press_Releases/2017/0224/832.html http://www.rock-chips.com/a/en/News/Press_Releases/2017/0224/832.html] To buy this board call: 4007700590 &nbsp; &nbsp; &nbsp; &nbsp;Email: service@rock-chips.com b751ac2415106df7d403d2851b7fd9e2c6f98c1b 2082 2081 2018-09-28T03:55:13Z Kever 2 wikitext text/x-wiki {{Infobox | image = [[File:RK3399 Excavator Board.jpg |500px]] }} &nbsp; &nbsp; = Rockchip github = You can download code from github,See&nbsp;[[Linux_user_guide|Linux_user_guide]]&nbsp;setup Linux OS generally. &nbsp; = Documentation = [[Media:RK3399_EVB_User_Guide-20160920.pdf|RK3399 EVB User Guide]] [[Media:Rockchip_RK3399_Excavator_User_Guide_V2.0_20180416.pdf|RK3399 EVB User Guide&nbsp;V2 CN]] [[Media:Design_documents.rar|Design documents]] [[Media:Component_datasheet.rar|Component datasheet]] == RK3399 Excavator EVB == [[Media:RK_Excavator_MainBoard.rar|RK_Excavator_MainBoard]] [[Media:RK_Excavator_ExtBoard_MipiDisplay.rar|RK_Excavator_ExtBoard_MipiDisplay]] [[Media:RK_Sapphire_RK3399.rar|RK_Sapphire_RK3399]] = Image = &nbsp;You can download image directly from below link if available. &nbsp; = See also = Firefly: [http://wiki.t-firefly.com/index.php/Firefly-RK3399 Firefly-RK3399] &nbsp; = References = &nbsp;&nbsp;[http://www.rock-chips.com/a/en/News/Press_Releases/2017/0224/832.html http://www.rock-chips.com/a/en/News/Press_Releases/2017/0224/832.html] To buy this board call: 4007700590 &nbsp; &nbsp; &nbsp; &nbsp;Email: service@rock-chips.com 105b21fb922c45cc91eebb0d2b9bf27fbc29eda7 2108 2082 2019-03-05T10:21:04Z Kever 2 wikitext text/x-wiki {{Infobox | image = [[File:RK3399 Excavator Board.jpg |500px]] }} &nbsp; &nbsp; = Rockchip github = You can download code from github,See&nbsp;[[Linux_user_guide|Linux_user_guide]]&nbsp;setup Linux OS generally. &nbsp; = Documentation = [[Media:RK3399_EVB_User_Guide-20160920.pdf|RK3399 EVB User Guide]] [[Media:Rockchip_RK3399_Excavator_User_Guide_CN_V3.0_20190305.pdf|RK3399 EVB User Guide&nbsp;V3&nbsp;CN]] [[Media:Design_documents.rar|Design documents]] [[Media:Component_datasheet.rar|Component datasheet]] == RK3399 Excavator EVB == [[Media:RK_Excavator_MainBoard.rar|RK_Excavator_MainBoard]] [[Media:RK_Excavator_ExtBoard_MipiDisplay.rar|RK_Excavator_ExtBoard_MipiDisplay]] [[Media:RK_Sapphire_RK3399.rar|RK_Sapphire_RK3399]] = Image = &nbsp;You can download image directly from below link if available. &nbsp; = See also = Firefly: [http://wiki.t-firefly.com/index.php/Firefly-RK3399 Firefly-RK3399] &nbsp; = References = &nbsp;&nbsp;[http://www.rock-chips.com/a/en/News/Press_Releases/2017/0224/832.html http://www.rock-chips.com/a/en/News/Press_Releases/2017/0224/832.html] To buy this board call: 4007700590 &nbsp; &nbsp; &nbsp; &nbsp;Email: service@rock-chips.com 243e2ad206481a47233fa856bcbe14673956c795 File:Rockchip RK3399 Excavator User Guide V2.0 20180416.pdf 6 220 2080 2018-09-28T03:48:08Z Kever 2 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 File:Rockchip bootflow20181122.jpg 6 221 2083 2018-11-22T09:47:47Z Kever 2 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 Boot option 0 116 2084 1954 2018-11-22T09:51:28Z Kever 2 wikitext text/x-wiki = Boot introduce = First, let's make the concept clear, there are many boot stages when we boot up a Linux OS; Then we need to know about how the image should packaged, where&nbsp;the image locate; At last, we will explain how to write to different&nbsp;media and boot from there. Here is Rockchip pre-released binaries which may be mentioned later: [https://github.com/rockchip-linux/rkbin https://github.com/rockchip-linux/rkbin] And [http://opensource.rock-chips.com/wiki_Partitions Rockcip Linux GPT partition] here. &nbsp; == Boot flow == Here is a table show the detail what we may use in Rockchip platform, for 2 boot stage: - use U-Boot SPL; - use Rockchp idbLoader which is combinded by Rockchip ddr init bin and miniloader bin; <pre>+--------+----------------+----------+-------------+---------+ | Boot | Terminology #1 | Actual | Rockchip | Image | | stage | | program | Image | Location| | number | | name | Name | (sector)| +--------+----------------+----------+-------------+---------+ | 1 | Primary | ROM code | BootRom | | | | Program | | | | | | Loader | | | | | | | | | | | 2 | Secondary | U-Boot |idbloader.img| 0x40 |including u-boot if not use miniloader | | Program | SPL |idbspl.img | | | | Loader (SPL) | | | | | | | | | | | 3 | - | U-Boot | u-boot.itb | 0x4000 | including u-boot and atf | | | | u-boot.bin | | | | | | uboot.img | | only used with miniloader | | | | | | | | | ATF/TEE | trust.img | 0x6000 | only used with miniloader for armv8 | | | | | | | 4 | - | kernel | boot.img | 0x8000 | | | | | | | | 5 | - | rootfs | rootfs.img | 0x40000 | +--------+----------------+----------+-------------+---------+ </pre> Then when we talking about boot from eMMC/SD/U-Disk/net, they are in different concept: *Stage 1 is always in boot rom, it loads stage 2 and may load stage 3(when SPL_BACK_TO_BROM option enabled). *Boot from SPI flash means firmware for stage 2 and 3(SPL and U-Boot only) in SPI flash and stage 4/5 in other place; *Boot from eMMC means all the firmware(including stage 2, 3, 4, 5) in eMMC; *Boot from SD card means all the firmware(including stage 2, 3, 4, 5) in SD card; *Boot from U-Disk means firmware for stage 4 and 5(not including SPL and U-Boot) in Disk, optionally only including stage 5; *Boot from net/tftp means firmeware for stage 4 and 5(not including SPL and U-Boot) on the network; &nbsp; [[File:Rockchip bootflow.jpg|1000x1000px|Rockchip bootflow20181122.jpg]] Boot Flow 1 is typical Rockchip boot flow with Rockchip miniloader;<br/> Boot Flow 2 is used for most SoCs with U-Boot TPL for ddr init and SPL for trust(ATF/OP-TEE) load and run into next stage;<br/> <br/> Note 1. If loader1 have more than 1 stage, program will back to bootrom and bootrom load and run into next stage. eg. If loader1 is tpl and spl, the bootrom will run into tpl first, tpl init ddr and back to bootrom, bootrom then load and run into spl.<br/> Note 2. If trust is enabled, loader1 need to load both trust and u-boot, and then run into trust in secure mode(EL3 in armv8), trust do the initialize and run into U-Boot in non-secure mode(EL2 in armv8).<br/> Note 3. For trust(in trust.img or u-boot.itb), armv7 has only one tee.bin with or without ta, armv8 has bl31.elf and option with bl32.<br/> Note 4. In boot.img, content can be zImage and its dtb for Linux, and can optionally be grub.efi, and can be AOSP boot.img, ramdisk is option; == Package option == After we know about the boot stages, Here are the file list before package for stage 2~4: *From source code: **From U-Boot: '''u-boot-spl.bin''', '''u-boot.bin'''(may use u-boot-nodtb.bin and u-boot.dtb instead), **From kernel: kernel '''Image/zImage''' file, kernel dtb, **From ATF: '''bl31.elf'''; *From Rockchip binary: **ddr, usbplug, miniloader, bl31/op-tee, (all with&nbsp;chip 'rkxx_'&nbsp; prefix and with version '_x.xx.bin' postfix); We offer two different boot-loader methods for different solutions, the steps and request files are also complete different. But not all the platforms supports the both boot-loader methods. Here are the types to&nbsp;package image from those files: &nbsp; &nbsp; === The Pre-bootloader === ==== Rockchip Miniloader ==== Package the image from Rockchip binary: No need to package a idbloader for eMMC because you can use below command to write idbloader from loader: <pre>rkdeveloptool db rkxx_ddr_vx.xx.bin rkdeveloptool ul rkxx_ddr_vx.xx.bin</pre> For SD boot, you need a idbloader(combinded with ddr and miniloader) to write to SD card. <pre>tools/mkimage -n rkxxxx -T rksd -d rkxx_ddr_vx.xx.bin idbloader.img cat rkxx_miniloader_vx.xx.bin >> idbloader.img </pre> ==== idbloader.img with tpl/spl ==== <pre>tools/mkimage -n rkxxxx -T rksd -d tpl/u-boot-tpl.bin idbloader.img cat spl/u-boot-spl.bin >> idbloader.img </pre> ==== idbspl.img ==== U-Boot SPL support ddr init and load data for next stage, only available in rk3399 now. <pre>mkimage -n rkxxxx -T rksd -d spl/u-boot-spl.bin idbspl.img </pre> Flash the idbloader.img/idbspl.img&nbsp;to offset 0x40 which including stage 2, and you will need a uboot.img for boot stage 3. === U-Boot === ==== uboot.img ==== When using idbLoader from&nbsp;Rockchip miniloader, need package u-boot.bin into miniloader loadable format by Rockchip tool loaderimage. <pre>tools/loaderimage --pack --uboot u-boot.bin uboot.img</pre> &nbsp; ==== u-boot.itb ==== When using SPL to load the ATF/OP-TEE, package the bl31.bin, u-boot-nodtb.bin and uboot.dtb into one FIT image. You can skip the step to package the Trust image and flash that image in the next section. <pre>make u-boot.itb </pre> Note: please copy the trust binary() to u-boot root directory and rename it to tee.bin(armv7) or bl31.elf(armv8). === Trust === ==== trust.img ==== When using idbLoader from&nbsp;Rockchip miniloader, need package bl31.bin into miniloader loadable format by Rockchip tool trustmerge. <pre>tools/trustmerge tools/rk_tools/RKTRUST_RKXXXXTRUST.ini</pre> Flash the trust.img to offset 0x6000 which is for using Rockchip miniloader === boot.img === This image is package the kernel Image and dtb file into a know filesystem(FAT or EXT2) image for distro boot. See [[Rockchip_Kernel#Install_Boot.2Fkernel|Install kernel]] for detail about generate boot.img from kernel zImage/Image, dtb. Flash the boot.img to offset 0x8000 which is stage 4. === rootfs.img === Flash the rootfs.img to offset 0x40000 which is stage 5. As long as the kernel you chosen can support that filesystem, there is not limit in the format of the image. === rkxx_loader_vx.xx.xxx.bin === This is provide by Rockchip in binary mode, which is used for firmware upgrade to eMMC with [[Rkdeveloptool|rkdeveloptool]], can not be wirte to media device directly. This is a package from ddr.bin, usbplug.bin, miniloader.bin, Rockchip tool ''DB ''command will make usbplug.bin running in target which perform as a Rockusb device. You can skip to package this image, Rockchip will offer this image at the most of time. &nbsp; = Flash and boot from Media device = Here we introduce how to write image to different Medeia device. Get image Ready: *For armv7 with SPL with SPL_BACK_TO_BROM option enabled: **idbLoader.img **boot.img or boot folder with zImage, dtb and exitlinulx inside **rootfs.img *For armv7 with SPL with SPL_BACK_TO_BROM option disabled: **idbspl.img **u-boot.bin **boot.img or boot folder with zImage, dtb and exitlinulx inside **rootfs.img *For armv7 with miniloader **idbLoader.img **uboot.img **boot.img or&nbsp;boot folder with zImage, dtb and exitlinulx inside **rootfs.img *For armv8 with SPL: **idbspl.img **bl3.itb **boot.img or&nbsp;boot folder with Image, dtb and exitlinulx inside **rootfs.img *For armv8 with miniloader **idbLoader.img **uboot.img **trust.img **boot.img or&nbsp;boot folder with Image, dtb and exitlinulx inside **rootfs.img &nbsp; == Boot from eMMC == The eMMC is on the hardware board, so we need: *Get the board into [[Rockusb#Maskrom_mode|maskrom mode]]; *Connect the target to PC with USB cable; *Flash the image to eMMC with [[Rkdeveloptool|rkdeveloptool]] Example commands for flash image to target. Flash the gpt partition to target: <pre style="margin-left: 40px;">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool gpt parameter_gpt.txt</pre> *For armv7 with SPL with SPL_BACK_TO_BROM option enabled(rk3036, rk3188, rk3288): <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbloader.img rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> *For armv7 with SPL with SPL_BACK_TO_BROM option disabled(rk3288): <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbspl.img rkdeveloptool wl 0x4000 u-boot.bin rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> *For armv7 with miniloader(rk3036, rk3188, rk3288) <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool ul rkxx_loader_vx.xx.bin rkdeveloptool wl 0x4000 uboot.img rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> *For armv8 with SPL(rk3399): <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbspl.img rkdeveloptool wl 0x4000 bl3.itb rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> *For armv8 with miniloader(rk3399, rk3328) <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool ul rkxx_loader_vx.xx.bin rkdeveloptool wl 0x4000 uboot.img rkdeveloptool wl 0x6000 trust.img rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> &nbsp; == Boot from SD/TF Card == We can write SD/TF card with Linux PC ''dd'' command very easily. Insert SD card to PC and we assume the /dev/sdb is the SD card device. *For armv7 with SPL with SPL_BACK_TO_BROM option enabled(rk3036, rk3188, rk3288): <pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64 dd if=boot.img of=sdb seek=32768 dd if=rootfs.img of=sdb seek=262144 </pre> *For armv7 with SPL with SPL_BACK_TO_BROM option disabled(rk3288): <pre style="margin-left: 40px">dd if=idbspl.img of=sdb seek=64 dd if=u-boot.bin of=sdb seek=16384 dd if=boot.img of=sdb seek=32768 dd if=rootfs.img of=sdb seek=262144 </pre> *For armv7 with miniloader(rk3036, rk3188, rk3288) <pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64 dd if=uboot.img of=sdb seek=16384 dd if=boot.img of=sdb seek=32768 dd if=rootfs.img of=sdb seek=262144 </pre> *For armv8 with SPL(rk3399): <pre style="margin-left: 40px">dd if=idbspl.img of=sdb seek=64 dd if=bl3.itb of=sdb seek=16384 dd if=boot.img of=sdb seek=32768 dd if=rootfs.img of=sdb seek=262144 </pre> *For armv8 with miniloader(rk3399, rk3328) <pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64 dd if=uboot.img of=sdb seek=16384 dd if=trust.img of=sdb seek=24576 dd if=boot.img of=sdb seek=32768 dd if=rootfs.img of=sdb seek=262144</pre> In order to make sure everything has write to SD card before unpluged, recommand to run below command: <pre>sync</pre> Note, when using boot from SD card, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value. <pre>append earlyprintk console=ttyS2,115200n8 rw root=/dev/mmcblk1p7 rootwait rootfstype=ext4 init=/sbin/init </pre> Write GPT partition table to SD card&nbsp;in U-Boot, and then U-Boot can find the boot partition and run into kernel. <pre>gpt write mmc 0 $partitions </pre> == Boot from U-Disk == Same as&nbsp;[[#Boot_from_SD.2FTF_Card|boot-from-sdcard]], but please note that U-Disk&nbsp;only support stage 4 and 5, see [[#Boot_Stage|Boot Stage]] for detail. If U-Disk used for stage 4 and 5, format the U-Disk in gpt format and at least 2 partitions, write ''boot.img'' and ''rootfs.img'' in those partitions; if U-Dist is only used for stage 5, we can ''dd ''the ''rootfs.img'' to U-Disk device directly. Note, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value. <pre> append earlyprintk console=ttyS2,115200n8 rw root=/dev/sda1 rootwait rootfstype=ext4 init=/sbin/init </pre> == Boot from Network == To be continued. = See also = [[Rkdeveloptool|rkdeveloptool]] [[Rockusb|rockusb]] [[Partitions|Rockchip Linux partition definition]] ef6ca2b6cc42d3497e1110736e8574fcae5e7b86 2085 2084 2018-11-22T09:52:53Z Kever 2 wikitext text/x-wiki = Boot introduce = First, let's make the concept clear, there are many boot stages when we boot up a Linux OS; Then we need to know about how the image should packaged, where&nbsp;the image locate; At last, we will explain how to write to different&nbsp;media and boot from there. Here is Rockchip pre-released binaries which may be mentioned later: [https://github.com/rockchip-linux/rkbin https://github.com/rockchip-linux/rkbin] And [http://opensource.rock-chips.com/wiki_Partitions Rockcip Linux GPT partition] here. &nbsp; == Boot flow == Here is a table show the detail what we may use in Rockchip platform, for 2 boot stage: - use U-Boot SPL; - use Rockchp idbLoader which is combinded by Rockchip ddr init bin and miniloader bin; <pre>+--------+----------------+----------+-------------+---------+ | Boot | Terminology #1 | Actual | Rockchip | Image | | stage | | program | Image | Location| | number | | name | Name | (sector)| +--------+----------------+----------+-------------+---------+ | 1 | Primary | ROM code | BootRom | | | | Program | | | | | | Loader | | | | | | | | | | | 2 | Secondary | U-Boot |idbloader.img| 0x40 |including u-boot if not use miniloader | | Program | SPL |idbspl.img | | | | Loader (SPL) | | | | | | | | | | | 3 | - | U-Boot | u-boot.itb | 0x4000 | including u-boot and atf | | | | u-boot.bin | | | | | | uboot.img | | only used with miniloader | | | | | | | | | ATF/TEE | trust.img | 0x6000 | only used with miniloader for armv8 | | | | | | | 4 | - | kernel | boot.img | 0x8000 | | | | | | | | 5 | - | rootfs | rootfs.img | 0x40000 | +--------+----------------+----------+-------------+---------+ </pre> Then when we talking about boot from eMMC/SD/U-Disk/net, they are in different concept: *Stage 1 is always in boot rom, it loads stage 2 and may load stage 3(when SPL_BACK_TO_BROM option enabled). *Boot from SPI flash means firmware for stage 2 and 3(SPL and U-Boot only) in SPI flash and stage 4/5 in other place; *Boot from eMMC means all the firmware(including stage 2, 3, 4, 5) in eMMC; *Boot from SD card means all the firmware(including stage 2, 3, 4, 5) in SD card; *Boot from U-Disk means firmware for stage 4 and 5(not including SPL and U-Boot) in Disk, optionally only including stage 5; *Boot from net/tftp means firmeware for stage 4 and 5(not including SPL and U-Boot) on the network; &nbsp; [[File:Rockchip bootflow20181122.jpg|1000x1000px|Rockchip bootflow.jpg]] Boot Flow 1 is typical Rockchip boot flow with Rockchip miniloader;<br/> Boot Flow 2 is used for most SoCs with U-Boot TPL for ddr init and SPL for trust(ATF/OP-TEE) load and run into next stage;<br/> <br/> Note 1. If loader1 have more than 1 stage, program will back to bootrom and bootrom load and run into next stage. eg. If loader1 is tpl and spl, the bootrom will run into tpl first, tpl init ddr and back to bootrom, bootrom then load and run into spl.<br/> Note 2. If trust is enabled, loader1 need to load both trust and u-boot, and then run into trust in secure mode(EL3 in armv8), trust do the initialize and run into U-Boot in non-secure mode(EL2 in armv8).<br/> Note 3. For trust(in trust.img or u-boot.itb), armv7 has only one tee.bin with or without ta, armv8 has bl31.elf and option with bl32.<br/> Note 4. In boot.img, content can be zImage and its dtb for Linux, and can optionally be grub.efi, and can be AOSP boot.img, ramdisk is option; == Package option == After we know about the boot stages, Here are the file list before package for stage 2~4: *From source code: **From U-Boot: '''u-boot-spl.bin''', '''u-boot.bin'''(may use u-boot-nodtb.bin and u-boot.dtb instead), **From kernel: kernel '''Image/zImage''' file, kernel dtb, **From ATF: '''bl31.elf'''; *From Rockchip binary: **ddr, usbplug, miniloader, bl31/op-tee, (all with&nbsp;chip 'rkxx_'&nbsp; prefix and with version '_x.xx.bin' postfix); We offer two different boot-loader methods for different solutions, the steps and request files are also complete different. But not all the platforms supports the both boot-loader methods. Here are the types to&nbsp;package image from those files: &nbsp; &nbsp; === The Pre-bootloader === ==== Rockchip Miniloader ==== Package the image from Rockchip binary: No need to package a idbloader for eMMC because you can use below command to write idbloader from loader: <pre>rkdeveloptool db rkxx_ddr_vx.xx.bin rkdeveloptool ul rkxx_ddr_vx.xx.bin</pre> For SD boot, you need a idbloader(combinded with ddr and miniloader) to write to SD card. <pre>tools/mkimage -n rkxxxx -T rksd -d rkxx_ddr_vx.xx.bin idbloader.img cat rkxx_miniloader_vx.xx.bin >> idbloader.img </pre> ==== idbloader.img with tpl/spl ==== <pre>tools/mkimage -n rkxxxx -T rksd -d tpl/u-boot-tpl.bin idbloader.img cat spl/u-boot-spl.bin >> idbloader.img </pre> ==== idbspl.img ==== U-Boot SPL support ddr init and load data for next stage, only available in rk3399 now. <pre>mkimage -n rkxxxx -T rksd -d spl/u-boot-spl.bin idbspl.img </pre> Flash the idbloader.img/idbspl.img&nbsp;to offset 0x40 which including stage 2, and you will need a uboot.img for boot stage 3. === U-Boot === ==== uboot.img ==== When using idbLoader from&nbsp;Rockchip miniloader, need package u-boot.bin into miniloader loadable format by Rockchip tool loaderimage. <pre>tools/loaderimage --pack --uboot u-boot.bin uboot.img</pre> &nbsp; ==== u-boot.itb ==== When using SPL to load the ATF/OP-TEE, package the bl31.bin, u-boot-nodtb.bin and uboot.dtb into one FIT image. You can skip the step to package the Trust image and flash that image in the next section. <pre>make u-boot.itb </pre> Note: please copy the trust binary() to u-boot root directory and rename it to tee.bin(armv7) or bl31.elf(armv8). === Trust === ==== trust.img ==== When using idbLoader from&nbsp;Rockchip miniloader, need package bl31.bin into miniloader loadable format by Rockchip tool trustmerge. <pre>tools/trustmerge tools/rk_tools/RKTRUST_RKXXXXTRUST.ini</pre> Flash the trust.img to offset 0x6000 which is for using Rockchip miniloader === boot.img === This image is package the kernel Image and dtb file into a know filesystem(FAT or EXT2) image for distro boot. See [[Rockchip_Kernel#Install_Boot.2Fkernel|Install kernel]] for detail about generate boot.img from kernel zImage/Image, dtb. Flash the boot.img to offset 0x8000 which is stage 4. === rootfs.img === Flash the rootfs.img to offset 0x40000 which is stage 5. As long as the kernel you chosen can support that filesystem, there is not limit in the format of the image. === rkxx_loader_vx.xx.xxx.bin === This is provide by Rockchip in binary mode, which is used for firmware upgrade to eMMC with [[Rkdeveloptool|rkdeveloptool]], can not be wirte to media device directly. This is a package from ddr.bin, usbplug.bin, miniloader.bin, Rockchip tool ''DB ''command will make usbplug.bin running in target which perform as a Rockusb device. You can skip to package this image, Rockchip will offer this image at the most of time. &nbsp; = Flash and boot from Media device = Here we introduce how to write image to different Medeia device. Get image Ready: *For armv7 with SPL with SPL_BACK_TO_BROM option enabled: **idbLoader.img **boot.img or boot folder with zImage, dtb and exitlinulx inside **rootfs.img *For armv7 with SPL with SPL_BACK_TO_BROM option disabled: **idbspl.img **u-boot.bin **boot.img or boot folder with zImage, dtb and exitlinulx inside **rootfs.img *For armv7 with miniloader **idbLoader.img **uboot.img **boot.img or&nbsp;boot folder with zImage, dtb and exitlinulx inside **rootfs.img *For armv8 with SPL: **idbspl.img **bl3.itb **boot.img or&nbsp;boot folder with Image, dtb and exitlinulx inside **rootfs.img *For armv8 with miniloader **idbLoader.img **uboot.img **trust.img **boot.img or&nbsp;boot folder with Image, dtb and exitlinulx inside **rootfs.img &nbsp; == Boot from eMMC == The eMMC is on the hardware board, so we need: *Get the board into [[Rockusb#Maskrom_mode|maskrom mode]]; *Connect the target to PC with USB cable; *Flash the image to eMMC with [[Rkdeveloptool|rkdeveloptool]] Example commands for flash image to target. Flash the gpt partition to target: <pre style="margin-left: 40px;">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool gpt parameter_gpt.txt</pre> *For armv7 with SPL with SPL_BACK_TO_BROM option enabled(rk3036, rk3188, rk3288): <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbloader.img rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> *For armv7 with SPL with SPL_BACK_TO_BROM option disabled(rk3288): <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbspl.img rkdeveloptool wl 0x4000 u-boot.bin rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> *For armv7 with miniloader(rk3036, rk3188, rk3288) <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool ul rkxx_loader_vx.xx.bin rkdeveloptool wl 0x4000 uboot.img rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> *For armv8 with SPL(rk3399): <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbspl.img rkdeveloptool wl 0x4000 bl3.itb rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> *For armv8 with miniloader(rk3399, rk3328) <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool ul rkxx_loader_vx.xx.bin rkdeveloptool wl 0x4000 uboot.img rkdeveloptool wl 0x6000 trust.img rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> &nbsp; == Boot from SD/TF Card == We can write SD/TF card with Linux PC ''dd'' command very easily. Insert SD card to PC and we assume the /dev/sdb is the SD card device. *For armv7 with SPL with SPL_BACK_TO_BROM option enabled(rk3036, rk3188, rk3288): <pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64 dd if=boot.img of=sdb seek=32768 dd if=rootfs.img of=sdb seek=262144 </pre> *For armv7 with SPL with SPL_BACK_TO_BROM option disabled(rk3288): <pre style="margin-left: 40px">dd if=idbspl.img of=sdb seek=64 dd if=u-boot.bin of=sdb seek=16384 dd if=boot.img of=sdb seek=32768 dd if=rootfs.img of=sdb seek=262144 </pre> *For armv7 with miniloader(rk3036, rk3188, rk3288) <pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64 dd if=uboot.img of=sdb seek=16384 dd if=boot.img of=sdb seek=32768 dd if=rootfs.img of=sdb seek=262144 </pre> *For armv8 with SPL(rk3399): <pre style="margin-left: 40px">dd if=idbspl.img of=sdb seek=64 dd if=bl3.itb of=sdb seek=16384 dd if=boot.img of=sdb seek=32768 dd if=rootfs.img of=sdb seek=262144 </pre> *For armv8 with miniloader(rk3399, rk3328) <pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64 dd if=uboot.img of=sdb seek=16384 dd if=trust.img of=sdb seek=24576 dd if=boot.img of=sdb seek=32768 dd if=rootfs.img of=sdb seek=262144</pre> In order to make sure everything has write to SD card before unpluged, recommand to run below command: <pre>sync</pre> Note, when using boot from SD card, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value. <pre>append earlyprintk console=ttyS2,115200n8 rw root=/dev/mmcblk1p7 rootwait rootfstype=ext4 init=/sbin/init </pre> Write GPT partition table to SD card&nbsp;in U-Boot, and then U-Boot can find the boot partition and run into kernel. <pre>gpt write mmc 0 $partitions </pre> == Boot from U-Disk == Same as&nbsp;[[#Boot_from_SD.2FTF_Card|boot-from-sdcard]], but please note that U-Disk&nbsp;only support stage 4 and 5, see [[#Boot_Stage|Boot Stage]] for detail. If U-Disk used for stage 4 and 5, format the U-Disk in gpt format and at least 2 partitions, write ''boot.img'' and ''rootfs.img'' in those partitions; if U-Dist is only used for stage 5, we can ''dd ''the ''rootfs.img'' to U-Disk device directly. Note, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value. <pre> append earlyprintk console=ttyS2,115200n8 rw root=/dev/sda1 rootwait rootfstype=ext4 init=/sbin/init </pre> == Boot from Network == To be continued. = See also = [[Rkdeveloptool|rkdeveloptool]] [[Rockusb|rockusb]] [[Partitions|Rockchip Linux partition definition]] ee58e499c4d96404f227d8ad4db66d0b4973a682 2086 2085 2018-11-22T09:54:58Z Kever 2 wikitext text/x-wiki = Boot introduce = First, let's make the concept clear, there are many boot stages when we boot up a Linux OS; Then we need to know about how the image should packaged, where&nbsp;the image locate; At last, we will explain how to write to different&nbsp;media and boot from there. Here is Rockchip pre-released binaries which may be mentioned later: [https://github.com/rockchip-linux/rkbin https://github.com/rockchip-linux/rkbin] And [http://opensource.rock-chips.com/wiki_Partitions Rockcip Linux GPT partition] here. &nbsp; == Boot flow == Here is a table show the detail what we may use in Rockchip platform, for 2 boot stage: - use U-Boot SPL; - use Rockchp idbLoader which is combinded by Rockchip ddr init bin and miniloader bin; <pre>+--------+----------------+----------+-------------+---------+ | Boot | Terminology #1 | Actual | Rockchip | Image | | stage | | program | Image | Location| | number | | name | Name | (sector)| +--------+----------------+----------+-------------+---------+ | 1 | Primary | ROM code | BootRom | | | | Program | | | | | | Loader | | | | | | | | | | | 2 | Secondary | U-Boot |idbloader.img| 0x40 |including u-boot if not use miniloader | | Program | SPL |idbspl.img | | | | Loader (SPL) | | | | | | | | | | | 3 | - | U-Boot | u-boot.itb | 0x4000 | including u-boot and atf | | | | u-boot.bin | | | | | | uboot.img | | only used with miniloader | | | | | | | | | ATF/TEE | trust.img | 0x6000 | only used with miniloader for armv8 | | | | | | | 4 | - | kernel | boot.img | 0x8000 | | | | | | | | 5 | - | rootfs | rootfs.img | 0x40000 | +--------+----------------+----------+-------------+---------+ </pre> Then when we talking about boot from eMMC/SD/U-Disk/net, they are in different concept: *Stage 1 is always in boot rom, it loads stage 2 and may load stage 3(when SPL_BACK_TO_BROM option enabled). *Boot from SPI flash means firmware for stage 2 and 3(SPL and U-Boot only) in SPI flash and stage 4/5 in other place; *Boot from eMMC means all the firmware(including stage 2, 3, 4, 5) in eMMC; *Boot from SD card means all the firmware(including stage 2, 3, 4, 5) in SD card; *Boot from U-Disk means firmware for stage 4 and 5(not including SPL and U-Boot) in Disk, optionally only including stage 5; *Boot from net/tftp means firmeware for stage 4 and 5(not including SPL and U-Boot) on the network; &nbsp; [[File:Rockchip bootflow20181122.jpg|1000x1000px|Rockchip bootflow.jpg]] Boot Flow 1 is typical Rockchip boot flow with Rockchip miniloader;<br/> Boot Flow 2 is used for most SoCs with U-Boot TPL for ddr init and SPL for trust(ATF/OP-TEE) load and run into next stage;<br/> <br/> Note 1. If loader1 have more than 1 stage, program will back to bootrom and bootrom load and run into next stage. eg. If loader1 is tpl and spl, the bootrom will run into tpl first, tpl init ddr and back to bootrom, bootrom then load and run into spl.<br/> Note 2. If trust is enabled, loader1 need to load both trust and u-boot, and then run into trust in secure mode(EL3 in armv8), trust do the initialize and run into U-Boot in non-secure mode(EL2 in armv8).<br/> Note 3. For trust(in trust.img or u-boot.itb), armv7 has only one tee.bin with or without ta, armv8 has bl31.elf and option with bl32.<br/> Note 4. In boot.img, content can be zImage and its dtb for Linux, and can optionally be grub.efi, and can be AOSP boot.img, ramdisk is option; == Package option == After we know about the boot stages, Here are the file list before package for stage 2~4: *From source code: **From U-Boot: '''u-boot-spl.bin''', '''u-boot.bin'''(may use u-boot-nodtb.bin and u-boot.dtb instead), **From kernel: kernel '''Image/zImage''' file, kernel dtb, **From ATF: '''bl31.elf'''; *From Rockchip binary: **ddr, usbplug, miniloader, bl31/op-tee, (all with&nbsp;chip 'rkxx_'&nbsp; prefix and with version '_x.xx.bin' postfix); We offer two different boot-loader methods for different solutions, the steps and request files are also complete different. But not all the platforms supports the both boot-loader methods. Here are the types to&nbsp;package image from those files: &nbsp; &nbsp; === The Pre-bootloader === ==== Rockchip Miniloader ==== Package the image from Rockchip binary: No need to package a idbloader for eMMC because you can use below command to write idbloader from loader: <pre>rkdeveloptool db rkxx_ddr_vx.xx.bin rkdeveloptool ul rkxx_ddr_vx.xx.bin</pre> For SD boot, you need a idbloader(combinded with ddr and miniloader) to write to SD card. <pre>tools/mkimage -n rkxxxx -T rksd -d rkxx_ddr_vx.xx.bin idbloader.img cat rkxx_miniloader_vx.xx.bin >> idbloader.img </pre> ==== idbloader.img with tpl/spl ==== <pre>tools/mkimage -n rkxxxx -T rksd -d tpl/u-boot-tpl.bin idbloader.img cat spl/u-boot-spl.bin >> idbloader.img </pre> Flash the idbloader.img/idbspl.img&nbsp;to offset 0x40 which including stage 2, and you will need a uboot.img for boot stage 3. === U-Boot === ==== uboot.img ==== When using idbLoader from&nbsp;Rockchip miniloader, need package u-boot.bin into miniloader loadable format by Rockchip tool loaderimage. <pre>tools/loaderimage --pack --uboot u-boot.bin uboot.img</pre> &nbsp; ==== u-boot.itb ==== When using SPL to load the ATF/OP-TEE, package the bl31.bin, u-boot-nodtb.bin and uboot.dtb into one FIT image. You can skip the step to package the Trust image and flash that image in the next section. <pre>make u-boot.itb </pre> Note: please copy the trust binary() to u-boot root directory and rename it to tee.bin(armv7) or bl31.elf(armv8). === Trust === ==== trust.img ==== When using idbLoader from&nbsp;Rockchip miniloader, need package bl31.bin into miniloader loadable format by Rockchip tool trustmerge. <pre>tools/trustmerge tools/rk_tools/RKTRUST_RKXXXXTRUST.ini</pre> Flash the trust.img to offset 0x6000 which is for using Rockchip miniloader === boot.img === This image is package the kernel Image and dtb file into a know filesystem(FAT or EXT2) image for distro boot. See [[Rockchip_Kernel#Install_Boot.2Fkernel|Install kernel]] for detail about generate boot.img from kernel zImage/Image, dtb. Flash the boot.img to offset 0x8000 which is stage 4. === rootfs.img === Flash the rootfs.img to offset 0x40000 which is stage 5. As long as the kernel you chosen can support that filesystem, there is not limit in the format of the image. === rkxx_loader_vx.xx.xxx.bin === This is provide by Rockchip in binary mode, which is used for firmware upgrade to eMMC with [[Rkdeveloptool|rkdeveloptool]], can not be wirte to media device directly. This is a package from ddr.bin, usbplug.bin, miniloader.bin, Rockchip tool ''DB ''command will make usbplug.bin running in target which perform as a Rockusb device. You can skip to package this image, Rockchip will offer this image at the most of time. &nbsp; = Flash and boot from Media device = Here we introduce how to write image to different Medeia device. Get image Ready: *For armv7 with SPL with SPL_BACK_TO_BROM option enabled: **idbLoader.img **boot.img or boot folder with zImage, dtb and exitlinulx inside **rootfs.img *For armv7 with SPL with SPL_BACK_TO_BROM option disabled: **idbspl.img **u-boot.bin **boot.img or boot folder with zImage, dtb and exitlinulx inside **rootfs.img *For armv7 with miniloader **idbLoader.img **uboot.img **boot.img or&nbsp;boot folder with zImage, dtb and exitlinulx inside **rootfs.img *For armv8 with SPL: **idbspl.img **bl3.itb **boot.img or&nbsp;boot folder with Image, dtb and exitlinulx inside **rootfs.img *For armv8 with miniloader **idbLoader.img **uboot.img **trust.img **boot.img or&nbsp;boot folder with Image, dtb and exitlinulx inside **rootfs.img &nbsp; == Boot from eMMC == The eMMC is on the hardware board, so we need: *Get the board into [[Rockusb#Maskrom_mode|maskrom mode]]; *Connect the target to PC with USB cable; *Flash the image to eMMC with [[Rkdeveloptool|rkdeveloptool]] Example commands for flash image to target. Flash the gpt partition to target: <pre style="margin-left: 40px;">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool gpt parameter_gpt.txt</pre> *For armv7 with SPL with SPL_BACK_TO_BROM option enabled(rk3036, rk3188, rk3288): <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbloader.img rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> *For armv7 with SPL with SPL_BACK_TO_BROM option disabled(rk3288): <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbspl.img rkdeveloptool wl 0x4000 u-boot.bin rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> *For armv7 with miniloader(rk3036, rk3188, rk3288) <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool ul rkxx_loader_vx.xx.bin rkdeveloptool wl 0x4000 uboot.img rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> *For armv8 with SPL(rk3399): <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbspl.img rkdeveloptool wl 0x4000 bl3.itb rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> *For armv8 with miniloader(rk3399, rk3328) <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool ul rkxx_loader_vx.xx.bin rkdeveloptool wl 0x4000 uboot.img rkdeveloptool wl 0x6000 trust.img rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> &nbsp; == Boot from SD/TF Card == We can write SD/TF card with Linux PC ''dd'' command very easily. Insert SD card to PC and we assume the /dev/sdb is the SD card device. *For armv7 with SPL with SPL_BACK_TO_BROM option enabled(rk3036, rk3188, rk3288): <pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64 dd if=boot.img of=sdb seek=32768 dd if=rootfs.img of=sdb seek=262144 </pre> *For armv7 with SPL with SPL_BACK_TO_BROM option disabled(rk3288): <pre style="margin-left: 40px">dd if=idbspl.img of=sdb seek=64 dd if=u-boot.bin of=sdb seek=16384 dd if=boot.img of=sdb seek=32768 dd if=rootfs.img of=sdb seek=262144 </pre> *For armv7 with miniloader(rk3036, rk3188, rk3288) <pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64 dd if=uboot.img of=sdb seek=16384 dd if=boot.img of=sdb seek=32768 dd if=rootfs.img of=sdb seek=262144 </pre> *For armv8 with SPL(rk3399): <pre style="margin-left: 40px">dd if=idbspl.img of=sdb seek=64 dd if=bl3.itb of=sdb seek=16384 dd if=boot.img of=sdb seek=32768 dd if=rootfs.img of=sdb seek=262144 </pre> *For armv8 with miniloader(rk3399, rk3328) <pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64 dd if=uboot.img of=sdb seek=16384 dd if=trust.img of=sdb seek=24576 dd if=boot.img of=sdb seek=32768 dd if=rootfs.img of=sdb seek=262144</pre> In order to make sure everything has write to SD card before unpluged, recommand to run below command: <pre>sync</pre> Note, when using boot from SD card, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value. <pre>append earlyprintk console=ttyS2,115200n8 rw root=/dev/mmcblk1p7 rootwait rootfstype=ext4 init=/sbin/init </pre> Write GPT partition table to SD card&nbsp;in U-Boot, and then U-Boot can find the boot partition and run into kernel. <pre>gpt write mmc 0 $partitions </pre> == Boot from U-Disk == Same as&nbsp;[[#Boot_from_SD.2FTF_Card|boot-from-sdcard]], but please note that U-Disk&nbsp;only support stage 4 and 5, see [[#Boot_Stage|Boot Stage]] for detail. If U-Disk used for stage 4 and 5, format the U-Disk in gpt format and at least 2 partitions, write ''boot.img'' and ''rootfs.img'' in those partitions; if U-Dist is only used for stage 5, we can ''dd ''the ''rootfs.img'' to U-Disk device directly. Note, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value. <pre> append earlyprintk console=ttyS2,115200n8 rw root=/dev/sda1 rootwait rootfstype=ext4 init=/sbin/init </pre> == Boot from Network == To be continued. = See also = [[Rkdeveloptool|rkdeveloptool]] [[Rockusb|rockusb]] [[Partitions|Rockchip Linux partition definition]] cb17a366bc334681a31dd4beac26780427f4aa27 2087 2086 2018-11-22T10:10:05Z Kever 2 wikitext text/x-wiki = Boot introduce = First, let's make the concept clear, there are many boot stages when we boot up a Linux OS; Then we need to know about how the image should packaged, where&nbsp;the image locate; At last, we will explain how to write to different&nbsp;media and boot from there. Here is Rockchip pre-released binaries which may be mentioned later: [https://github.com/rockchip-linux/rkbin https://github.com/rockchip-linux/rkbin] And [http://opensource.rock-chips.com/wiki_Partitions Rockcip Linux GPT partition] here. &nbsp; &nbsp; == Boot flow == Here is a table show the detail what we may use in Rockchip platform, for 2 boot stage: - use U-Boot SPL; - use Rockchp idbLoader which is combinded by Rockchip ddr init bin and miniloader bin; <pre>+--------+----------------+----------+-------------+---------+ | Boot | Terminology #1 | Actual | Rockchip | Image | | stage | | program | Image | Location| | number | | name | Name | (sector)| +--------+----------------+----------+-------------+---------+ | 1 | Primary | ROM code | BootRom | | | | Program | | | | | | Loader | | | | | | | | | | | 2 | Secondary | U-Boot |idbloader.img| 0x40 |including u-boot if not use miniloader | | Program | SPL |idbspl.img | | | | Loader (SPL) | | | | | | | | | | | 3 | - | U-Boot | u-boot.itb | 0x4000 | including u-boot and atf | | | | u-boot.bin | | | | | | uboot.img | | only used with miniloader | | | | | | | | | ATF/TEE | trust.img | 0x6000 | only used with miniloader for armv8 | | | | | | | 4 | - | kernel | boot.img | 0x8000 | | | | | | | | 5 | - | rootfs | rootfs.img | 0x40000 | +--------+----------------+----------+-------------+---------+ </pre> Then when we talking about boot from eMMC/SD/U-Disk/net, they are in different concept: *Stage 1 is always in boot rom, it loads stage 2 and may load stage 3(when SPL_BACK_TO_BROM option enabled). *Boot from SPI flash means firmware for stage 2 and 3(SPL and U-Boot only) in SPI flash and stage 4/5 in other place; *Boot from eMMC means all the firmware(including stage 2, 3, 4, 5) in eMMC; *Boot from SD card means all the firmware(including stage 2, 3, 4, 5) in SD card; *Boot from U-Disk means firmware for stage 4 and 5(not including SPL and U-Boot) in Disk, optionally only including stage 5; *Boot from net/tftp means firmeware for stage 4 and 5(not including SPL and U-Boot) on the network; &nbsp; [[File:Rockchip bootflow20181122.jpg|1000x1000px|Rockchip bootflow.jpg]] Boot Flow 1 is typical Rockchip boot flow with Rockchip miniloader;<br/> Boot Flow 2 is used for most SoCs with U-Boot TPL for ddr init and SPL for trust(ATF/OP-TEE) load and run into next stage;<br/> <br/> Note 1. If loader1 have more than 1 stage, program will back to bootrom and bootrom load and run into next stage. eg. If loader1 is tpl and spl, the bootrom will run into tpl first, tpl init ddr and back to bootrom, bootrom then load and run into spl.<br/> Note 2. If trust is enabled, loader1 need to load both trust and u-boot, and then run into trust in secure mode(EL3 in armv8), trust do the initialize and run into U-Boot in non-secure mode(EL2 in armv8).<br/> Note 3. For trust(in trust.img or u-boot.itb), armv7 has only one tee.bin with or without ta, armv8 has bl31.elf and option with bl32.<br/> Note 4. In boot.img, content can be zImage and its dtb for Linux, and can optionally be grub.efi, and can be AOSP boot.img, ramdisk is option; == Package option == After we know about the boot stages, Here are the file list before package for stage 2~4: *From source code: **From U-Boot: '''u-boot-spl.bin''', '''u-boot.bin'''(may use u-boot-nodtb.bin and u-boot.dtb instead), **From kernel: kernel '''Image/zImage''' file, kernel dtb, **From ATF: '''bl31.elf'''; *From Rockchip binary: **ddr, usbplug, miniloader, bl31/op-tee, (all with&nbsp;chip 'rkxx_'&nbsp; prefix and with version '_x.xx.bin' postfix); We offer two different boot-loader methods for different solutions, the steps and request files are also complete different. But not all the platforms supports the both boot-loader methods. Here are the types to&nbsp;package image from those files: &nbsp; === The Pre-bootloader === ==== Rockchip Miniloader ==== Package the image from Rockchip binary: No need to package a idbloader for eMMC because you can use below command to write idbloader from loader: <pre>rkdeveloptool db rkxx_ddr_vx.xx.bin rkdeveloptool ul rkxx_ddr_vx.xx.bin</pre> For SD boot, you need a idbloader(combinded with ddr and miniloader) to write to SD card. <pre>tools/mkimage -n rkxxxx -T rksd -d rkxx_ddr_vx.xx.bin idbloader.img cat rkxx_miniloader_vx.xx.bin >> idbloader.img </pre> ==== idbloader.img with tpl/spl ==== <pre>tools/mkimage -n rkxxxx -T rksd -d tpl/u-boot-tpl.bin idbloader.img cat spl/u-boot-spl.bin >> idbloader.img </pre> Flash the idbloader.img/idbspl.img&nbsp;to offset 0x40 which including stage 2, and you will need a uboot.img for boot stage 3. === U-Boot === ==== uboot.img ==== When using idbLoader from&nbsp;Rockchip miniloader, need package u-boot.bin into miniloader loadable format by Rockchip tool loaderimage. <pre>tools/loaderimage --pack --uboot u-boot.bin uboot.img</pre> &nbsp; ==== u-boot.itb ==== When using SPL to load the ATF/OP-TEE, package the bl31.bin, u-boot-nodtb.bin and uboot.dtb into one FIT image. You can skip the step to package the Trust image and flash that image in the next section. <pre>make u-boot.itb </pre> Note: please copy the trust binary() to u-boot root directory and rename it to tee.bin(armv7) or bl31.elf(armv8). === Trust === ==== trust.img ==== When using idbLoader from&nbsp;Rockchip miniloader, need package bl31.bin into miniloader loadable format by Rockchip tool trustmerge. <pre>tools/trustmerge tools/rk_tools/RKTRUST_RKXXXXTRUST.ini</pre> Flash the trust.img to offset 0x6000 which is for using Rockchip miniloader === boot.img === This image is package the kernel Image and dtb file into a know filesystem(FAT or EXT2) image for distro boot. See [[Rockchip_Kernel#Install_Boot.2Fkernel|Install kernel]] for detail about generate boot.img from kernel zImage/Image, dtb. Flash the boot.img to offset 0x8000 which is stage 4. === rootfs.img === Flash the rootfs.img to offset 0x40000 which is stage 5. As long as the kernel you chosen can support that filesystem, there is not limit in the format of the image. === rkxx_loader_vx.xx.xxx.bin === This is provide by Rockchip in binary mode, which is used for firmware upgrade to eMMC with [[Rkdeveloptool|rkdeveloptool]], can not be wirte to media device directly. This is a package from ddr.bin, usbplug.bin, miniloader.bin, Rockchip tool ''DB ''command will make usbplug.bin running in target which perform as a Rockusb device. You can skip to package this image, Rockchip will offer this image at the most of time. &nbsp; = Flash and boot from Media device = Here we introduce how to write image to different Medeia device. Get image Ready: *For&nbsp;with SPL: **idbloader.img **u-boot.itb **boot.img or&nbsp;boot folder with Image, dtb and exitlinulx inside **rootfs.img *For&nbsp;with miniloader **idbloader.img **uboot.img **trust.img **boot.img or&nbsp;boot folder with Image, dtb and exitlinulx inside **rootfs.img &nbsp; == Boot from eMMC == The eMMC is on the hardware board, so we need: *Get the board into [[Rockusb#Maskrom_mode|maskrom mode]]; *Connect the target to PC with USB cable; *Flash the image to eMMC with [[Rkdeveloptool|rkdeveloptool]] Example commands for flash image to target. Flash the gpt partition to target: <pre style="margin-left: 40px;">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool gpt parameter_gpt.txt</pre> *For&nbsp;with SPL: <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbloader.img rkdeveloptool wl 0x4000 u-boot.itb rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> *For&nbsp;with miniloader <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool ul rkxx_loader_vx.xx.bin rkdeveloptool wl 0x4000 uboot.img rkdeveloptool wl 0x6000 trust.img rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> &nbsp; == Boot from SD/TF Card == We can write SD/TF card with Linux PC ''dd'' command very easily. Insert SD card to PC and we assume the /dev/sdb is the SD card device. *For armv7 with SPL with SPL_BACK_TO_BROM option enabled(rk3036, rk3188, rk3288): <pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64 dd if=boot.img of=sdb seek=32768 dd if=rootfs.img of=sdb seek=262144 </pre> *For armv7 with SPL with SPL_BACK_TO_BROM option disabled(rk3288): <pre style="margin-left: 40px">dd if=idbspl.img of=sdb seek=64 dd if=u-boot.bin of=sdb seek=16384 dd if=boot.img of=sdb seek=32768 dd if=rootfs.img of=sdb seek=262144 </pre> *For armv7 with miniloader(rk3036, rk3188, rk3288) <pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64 dd if=uboot.img of=sdb seek=16384 dd if=boot.img of=sdb seek=32768 dd if=rootfs.img of=sdb seek=262144 </pre> *For armv8 with SPL(rk3399): <pre style="margin-left: 40px">dd if=idbspl.img of=sdb seek=64 dd if=bl3.itb of=sdb seek=16384 dd if=boot.img of=sdb seek=32768 dd if=rootfs.img of=sdb seek=262144 </pre> *For armv8 with miniloader(rk3399, rk3328) <pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64 dd if=uboot.img of=sdb seek=16384 dd if=trust.img of=sdb seek=24576 dd if=boot.img of=sdb seek=32768 dd if=rootfs.img of=sdb seek=262144</pre> In order to make sure everything has write to SD card before unpluged, recommand to run below command: <pre>sync</pre> Note, when using boot from SD card, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value. <pre>append earlyprintk console=ttyS2,115200n8 rw root=/dev/mmcblk1p7 rootwait rootfstype=ext4 init=/sbin/init </pre> Write GPT partition table to SD card&nbsp;in U-Boot, and then U-Boot can find the boot partition and run into kernel. <pre>gpt write mmc 0 $partitions </pre> == Boot from U-Disk == Same as&nbsp;[[#Boot_from_SD.2FTF_Card|boot-from-sdcard]], but please note that U-Disk&nbsp;only support stage 4 and 5, see [[#Boot_Stage|Boot Stage]] for detail. If U-Disk used for stage 4 and 5, format the U-Disk in gpt format and at least 2 partitions, write ''boot.img'' and ''rootfs.img'' in those partitions; if U-Dist is only used for stage 5, we can ''dd ''the ''rootfs.img'' to U-Disk device directly. Note, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value. <pre> append earlyprintk console=ttyS2,115200n8 rw root=/dev/sda1 rootwait rootfstype=ext4 init=/sbin/init </pre> == Boot from Network == To be continued. = See also = [[Rkdeveloptool|rkdeveloptool]] [[Rockusb|rockusb]] [[Partitions|Rockchip Linux partition definition]] 42c46f81dec9a8b7c855861aa7f8c2f19425b76e 2088 2087 2018-11-22T10:11:14Z Kever 2 wikitext text/x-wiki = Boot introduce = First, let's make the concept clear, there are many boot stages when we boot up a Linux OS; Then we need to know about how the image should packaged, where&nbsp;the image locate; At last, we will explain how to write to different&nbsp;media and boot from there. Here is Rockchip pre-released binaries which may be mentioned later: [https://github.com/rockchip-linux/rkbin https://github.com/rockchip-linux/rkbin] And [http://opensource.rock-chips.com/wiki_Partitions Rockcip Linux GPT partition] here. &nbsp; &nbsp; == Boot flow == Here is a table show the detail what we may use in Rockchip platform, for 2 boot stage: - use U-Boot SPL; - use Rockchp idbLoader which is combinded by Rockchip ddr init bin and miniloader bin; <pre>+--------+----------------+----------+-------------+---------+ | Boot | Terminology #1 | Actual | Rockchip | Image | | stage | | program | Image | Location| | number | | name | Name | (sector)| +--------+----------------+----------+-------------+---------+ | 1 | Primary | ROM code | BootRom | | | | Program | | | | | | Loader | | | | | | | | | | | 2 | Secondary | U-Boot |idbloader.img| 0x40 |including u-boot if not use miniloader | | Program | SPL |idbspl.img | | | | Loader (SPL) | | | | | | | | | | | 3 | - | U-Boot | u-boot.itb | 0x4000 | including u-boot and atf | | | | u-boot.bin | | | | | | uboot.img | | only used with miniloader | | | | | | | | | ATF/TEE | trust.img | 0x6000 | only used with miniloader for armv8 | | | | | | | 4 | - | kernel | boot.img | 0x8000 | | | | | | | | 5 | - | rootfs | rootfs.img | 0x40000 | +--------+----------------+----------+-------------+---------+ </pre> Then when we talking about boot from eMMC/SD/U-Disk/net, they are in different concept: *Stage 1 is always in boot rom, it loads stage 2 and may load stage 3(when SPL_BACK_TO_BROM option enabled). *Boot from SPI flash means firmware for stage 2 and 3(SPL and U-Boot only) in SPI flash and stage 4/5 in other place; *Boot from eMMC means all the firmware(including stage 2, 3, 4, 5) in eMMC; *Boot from SD card means all the firmware(including stage 2, 3, 4, 5) in SD card; *Boot from U-Disk means firmware for stage 4 and 5(not including SPL and U-Boot) in Disk, optionally only including stage 5; *Boot from net/tftp means firmeware for stage 4 and 5(not including SPL and U-Boot) on the network; &nbsp; [[File:Rockchip bootflow20181122.jpg|1000x1000px|Rockchip bootflow.jpg]] Boot Flow 1 is typical Rockchip boot flow with Rockchip miniloader;<br/> Boot Flow 2 is used for most SoCs with U-Boot TPL for ddr init and SPL for trust(ATF/OP-TEE) load and run into next stage;<br/> <br/> Note 1. If loader1 have more than 1 stage, program will back to bootrom and bootrom load and run into next stage. eg. If loader1 is tpl and spl, the bootrom will run into tpl first, tpl init ddr and back to bootrom, bootrom then load and run into spl.<br/> Note 2. If trust is enabled, loader1 need to load both trust and u-boot, and then run into trust in secure mode(EL3 in armv8), trust do the initialize and run into U-Boot in non-secure mode(EL2 in armv8).<br/> Note 3. For trust(in trust.img or u-boot.itb), armv7 has only one tee.bin with or without ta, armv8 has bl31.elf and option with bl32.<br/> Note 4. In boot.img, content can be zImage and its dtb for Linux, and can optionally be grub.efi, and can be AOSP boot.img, ramdisk is option; == Package option == After we know about the boot stages, Here are the file list before package for stage 2~4: *From source code: **From U-Boot: '''u-boot-spl.bin''', '''u-boot.bin'''(may use u-boot-nodtb.bin and u-boot.dtb instead), **From kernel: kernel '''Image/zImage''' file, kernel dtb, **From ATF: '''bl31.elf'''; *From Rockchip binary: **ddr, usbplug, miniloader, bl31/op-tee, (all with&nbsp;chip 'rkxx_'&nbsp; prefix and with version '_x.xx.bin' postfix); We offer two different boot-loader methods for different solutions, the steps and request files are also complete different. But not all the platforms supports the both boot-loader methods. Here are the types to&nbsp;package image from those files: &nbsp; === The Pre-bootloader === ==== Rockchip Miniloader ==== Package the image from Rockchip binary: No need to package a idbloader for eMMC because you can use below command to write idbloader from loader: <pre>rkdeveloptool db rkxx_ddr_vx.xx.bin rkdeveloptool ul rkxx_ddr_vx.xx.bin</pre> For SD boot, you need a idbloader(combinded with ddr and miniloader) to write to SD card. <pre>tools/mkimage -n rkxxxx -T rksd -d rkxx_ddr_vx.xx.bin idbloader.img cat rkxx_miniloader_vx.xx.bin >> idbloader.img </pre> ==== idbloader.img with tpl/spl ==== <pre>tools/mkimage -n rkxxxx -T rksd -d tpl/u-boot-tpl.bin idbloader.img cat spl/u-boot-spl.bin >> idbloader.img </pre> Flash the idbloader.img/idbspl.img&nbsp;to offset 0x40 which including stage 2, and you will need a uboot.img for boot stage 3. === U-Boot === ==== uboot.img ==== When using idbLoader from&nbsp;Rockchip miniloader, need package u-boot.bin into miniloader loadable format by Rockchip tool loaderimage. <pre>tools/loaderimage --pack --uboot u-boot.bin uboot.img</pre> &nbsp; ==== u-boot.itb ==== When using SPL to load the ATF/OP-TEE, package the bl31.bin, u-boot-nodtb.bin and uboot.dtb into one FIT image. You can skip the step to package the Trust image and flash that image in the next section. <pre>make u-boot.itb </pre> Note: please copy the trust binary() to u-boot root directory and rename it to tee.bin(armv7) or bl31.elf(armv8). === Trust === ==== trust.img ==== When using idbLoader from&nbsp;Rockchip miniloader, need package bl31.bin into miniloader loadable format by Rockchip tool trustmerge. <pre>tools/trustmerge tools/rk_tools/RKTRUST_RKXXXXTRUST.ini</pre> Flash the trust.img to offset 0x6000 which is for using Rockchip miniloader === boot.img === This image is package the kernel Image and dtb file into a know filesystem(FAT or EXT2) image for distro boot. See [[Rockchip_Kernel#Install_Boot.2Fkernel|Install kernel]] for detail about generate boot.img from kernel zImage/Image, dtb. Flash the boot.img to offset 0x8000 which is stage 4. === rootfs.img === Flash the rootfs.img to offset 0x40000 which is stage 5. As long as the kernel you chosen can support that filesystem, there is not limit in the format of the image. === rkxx_loader_vx.xx.xxx.bin === This is provide by Rockchip in binary mode, which is used for firmware upgrade to eMMC with [[Rkdeveloptool|rkdeveloptool]], can not be wirte to media device directly. This is a package from ddr.bin, usbplug.bin, miniloader.bin, Rockchip tool ''DB ''command will make usbplug.bin running in target which perform as a Rockusb device. You can skip to package this image, Rockchip will offer this image at the most of time. &nbsp; = Flash and boot from Media device = Here we introduce how to write image to different Medeia device. Get image Ready: *For&nbsp;with SPL: **idbloader.img **u-boot.itb **boot.img or&nbsp;boot folder with Image, dtb and exitlinulx inside **rootfs.img *For&nbsp;with miniloader **idbloader.img **uboot.img **trust.img **boot.img or&nbsp;boot folder with Image, dtb and exitlinulx inside **rootfs.img &nbsp; == Boot from eMMC == The eMMC is on the hardware board, so we need: *Get the board into [[Rockusb#Maskrom_mode|maskrom mode]]; *Connect the target to PC with USB cable; *Flash the image to eMMC with [[Rkdeveloptool|rkdeveloptool]] Example commands for flash image to target. Flash the gpt partition to target: <pre style="margin-left: 40px;">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool gpt parameter_gpt.txt</pre> *For&nbsp;with SPL: <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbloader.img rkdeveloptool wl 0x4000 u-boot.itb rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> *For&nbsp;with miniloader <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool ul rkxx_loader_vx.xx.bin rkdeveloptool wl 0x4000 uboot.img rkdeveloptool wl 0x6000 trust.img rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> &nbsp; == Boot from SD/TF Card == We can write SD/TF card with Linux PC ''dd'' command very easily. Insert SD card to PC and we assume the /dev/sdb is the SD card device. *For&nbsp;with SPL: <pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64 dd if=u-boot.itb of=sdb seek=16384 dd if=boot.img of=sdb seek=32768 dd if=rootfs.img of=sdb seek=262144 </pre> *For&nbsp;with miniloader: <pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64 dd if=uboot.img of=sdb seek=16384 dd if=trust.img of=sdb seek=24576 dd if=boot.img of=sdb seek=32768 dd if=rootfs.img of=sdb seek=262144</pre> In order to make sure everything has write to SD card before unpluged, recommand to run below command: <pre>sync</pre> Note, when using boot from SD card, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value. <pre>append earlyprintk console=ttyS2,115200n8 rw root=/dev/mmcblk1p7 rootwait rootfstype=ext4 init=/sbin/init </pre> Write GPT partition table to SD card&nbsp;in U-Boot, and then U-Boot can find the boot partition and run into kernel. <pre>gpt write mmc 0 $partitions </pre> == Boot from U-Disk == Same as&nbsp;[[#Boot_from_SD.2FTF_Card|boot-from-sdcard]], but please note that U-Disk&nbsp;only support stage 4 and 5, see [[#Boot_Stage|Boot Stage]] for detail. If U-Disk used for stage 4 and 5, format the U-Disk in gpt format and at least 2 partitions, write ''boot.img'' and ''rootfs.img'' in those partitions; if U-Dist is only used for stage 5, we can ''dd ''the ''rootfs.img'' to U-Disk device directly. Note, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value. <pre> append earlyprintk console=ttyS2,115200n8 rw root=/dev/sda1 rootwait rootfstype=ext4 init=/sbin/init </pre> == Boot from Network == To be continued. = See also = [[Rkdeveloptool|rkdeveloptool]] [[Rockusb|rockusb]] [[Partitions|Rockchip Linux partition definition]] 3be533be6e132b5c9dbd3e535b535c545d706bd2 2089 2088 2018-11-23T03:09:58Z Kever 2 wikitext text/x-wiki = Boot introduce = First, let's make the concept clear, there are many boot stages when we boot up a Linux OS; Then we need to know about how the image should packaged, where&nbsp;the image locate; At last, we will explain how to write to different&nbsp;media and boot from there. Here is Rockchip pre-released binaries which may be mentioned later: [https://github.com/rockchip-linux/rkbin https://github.com/rockchip-linux/rkbin] And [http://opensource.rock-chips.com/wiki_Partitions Rockcip Linux GPT partition] here. &nbsp; &nbsp; == Boot flow == Here is a table show the detail what we may use in Rockchip platform, for 2 boot stage: - use U-Boot SPL; - use Rockchp idbLoader which is combinded by Rockchip ddr init bin and miniloader bin; <pre>+--------+----------------+----------+-------------+---------+ | Boot | Terminology #1 | Actual | Rockchip | Image | | stage | | program | Image | Location| | number | | name | Name | (sector)| +--------+----------------+----------+-------------+---------+ | 1 | Primary | ROM code | BootRom | | | | Program | | | | | | Loader | | | | | | | | | | | 2 | Secondary | U-Boot |idbloader.img| 0x40 | | | Program | TPL/SPL | | | | | Loader (SPL) | | | | | | | | | | | 3 | - | U-Boot | u-boot.itb | 0x4000 | including u-boot and atf | | | | uboot.img | | only used with miniloader | | | | | | | | | ATF/TEE | trust.img | 0x6000 | only used with miniloader | | | | | | | 4 | - | kernel | boot.img | 0x8000 | | | | | | | | 5 | - | rootfs | rootfs.img | 0x40000 | +--------+----------------+----------+-------------+---------+ </pre> Then when we talking about boot from eMMC/SD/U-Disk/net, they are in different concept: *Stage 1 is always in boot rom, it loads stage 2 and may load stage 3(when SPL_BACK_TO_BROM option enabled). *Boot from SPI flash means firmware for stage 2 and 3(SPL and U-Boot only) in SPI flash and stage 4/5 in other place; *Boot from eMMC means all the firmware(including stage 2, 3, 4, 5) in eMMC; *Boot from SD card means all the firmware(including stage 2, 3, 4, 5) in SD card; *Boot from U-Disk means firmware for stage 4 and 5(not including SPL and U-Boot) in Disk, optionally only including stage 5; *Boot from net/tftp means firmeware for stage 4 and 5(not including SPL and U-Boot) on the network; &nbsp; [[File:Rockchip bootflow20181122.jpg|1000x1000px|Rockchip bootflow.jpg]] Boot Flow 1 is typical Rockchip boot flow with Rockchip miniloader;<br/> Boot Flow 2 is used for most SoCs with U-Boot TPL for ddr init and SPL for trust(ATF/OP-TEE) load and run into next stage;<br/> <br/> Note 1. If loader1 have more than 1 stage, program will back to bootrom and bootrom load and run into next stage. eg. If loader1 is tpl and spl, the bootrom will run into tpl first, tpl init ddr and back to bootrom, bootrom then load and run into spl.<br/> Note 2. If trust is enabled, loader1 need to load both trust and u-boot, and then run into trust in secure mode(EL3 in armv8), trust do the initialize and run into U-Boot in non-secure mode(EL2 in armv8).<br/> Note 3. For trust(in trust.img or u-boot.itb), armv7 has only one tee.bin with or without ta, armv8 has bl31.elf and option with bl32.<br/> Note 4. In boot.img, content can be zImage and its dtb for Linux, and can optionally be grub.efi, and can be AOSP boot.img, ramdisk is option; == Package option == After we know about the boot stages, Here are the file list before package for stage 2~4: *From source code: **From U-Boot: '''u-boot-spl.bin''', '''u-boot.bin'''(may use u-boot-nodtb.bin and u-boot.dtb instead), **From kernel: kernel '''Image/zImage''' file, kernel dtb, **From ATF: '''bl31.elf'''; *From Rockchip binary: **ddr, usbplug, miniloader, bl31/op-tee, (all with&nbsp;chip 'rkxx_'&nbsp; prefix and with version '_x.xx.bin' postfix); We offer two different boot-loader methods for different solutions, the steps and request files are also complete different. But not all the platforms supports the both boot-loader methods. Here are the types to&nbsp;package image from those files: &nbsp; === The Pre-bootloader === ==== Rockchip Miniloader ==== Package the image from Rockchip binary: No need to package a idbloader for eMMC because you can use below command to write idbloader from loader: <pre>rkdeveloptool db rkxx_ddr_vx.xx.bin rkdeveloptool ul rkxx_ddr_vx.xx.bin</pre> For SD boot, you need a idbloader(combinded with ddr and miniloader) to write to SD card. <pre>tools/mkimage -n rkxxxx -T rksd -d rkxx_ddr_vx.xx.bin idbloader.img cat rkxx_miniloader_vx.xx.bin >> idbloader.img </pre> ==== idbloader.img with tpl/spl ==== <pre>tools/mkimage -n rkxxxx -T rksd -d tpl/u-boot-tpl.bin idbloader.img cat spl/u-boot-spl.bin >> idbloader.img </pre> Flash the idbloader.img/idbspl.img&nbsp;to offset 0x40 which including stage 2, and you will need a uboot.img for boot stage 3. === U-Boot === ==== uboot.img ==== When using idbLoader from&nbsp;Rockchip miniloader, need package u-boot.bin into miniloader loadable format by Rockchip tool loaderimage. <pre>tools/loaderimage --pack --uboot u-boot.bin uboot.img</pre> &nbsp; ==== u-boot.itb ==== When using SPL to load the ATF/OP-TEE, package the bl31.bin, u-boot-nodtb.bin and uboot.dtb into one FIT image. You can skip the step to package the Trust image and flash that image in the next section. <pre>make u-boot.itb </pre> Note: please copy the trust binary() to u-boot root directory and rename it to tee.bin(armv7) or bl31.elf(armv8). === Trust === ==== trust.img ==== When using idbLoader from&nbsp;Rockchip miniloader, need package bl31.bin into miniloader loadable format by Rockchip tool trustmerge. <pre>tools/trustmerge tools/rk_tools/RKTRUST_RKXXXXTRUST.ini</pre> Flash the trust.img to offset 0x6000 which is for using Rockchip miniloader === boot.img === This image is package the kernel Image and dtb file into a know filesystem(FAT or EXT2) image for distro boot. See [[Rockchip_Kernel#Install_Boot.2Fkernel|Install kernel]] for detail about generate boot.img from kernel zImage/Image, dtb. Flash the boot.img to offset 0x8000 which is stage 4. === rootfs.img === Flash the rootfs.img to offset 0x40000 which is stage 5. As long as the kernel you chosen can support that filesystem, there is not limit in the format of the image. === rkxx_loader_vx.xx.xxx.bin === This is provide by Rockchip in binary mode, which is used for firmware upgrade to eMMC with [[Rkdeveloptool|rkdeveloptool]], can not be wirte to media device directly. This is a package from ddr.bin, usbplug.bin, miniloader.bin, Rockchip tool ''DB ''command will make usbplug.bin running in target which perform as a Rockusb device. You can skip to package this image, Rockchip will offer this image at the most of time. &nbsp; = Flash and boot from Media device = Here we introduce how to write image to different Medeia device. Get image Ready: *For&nbsp;with SPL: **idbloader.img **u-boot.itb **boot.img or&nbsp;boot folder with Image, dtb and exitlinulx inside **rootfs.img *For&nbsp;with miniloader **idbloader.img **uboot.img **trust.img **boot.img or&nbsp;boot folder with Image, dtb and exitlinulx inside **rootfs.img &nbsp; == Boot from eMMC == The eMMC is on the hardware board, so we need: *Get the board into [[Rockusb#Maskrom_mode|maskrom mode]]; *Connect the target to PC with USB cable; *Flash the image to eMMC with [[Rkdeveloptool|rkdeveloptool]] Example commands for flash image to target. Flash the gpt partition to target: <pre style="margin-left: 40px;">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool gpt parameter_gpt.txt</pre> *For&nbsp;with SPL: <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbloader.img rkdeveloptool wl 0x4000 u-boot.itb rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> *For&nbsp;with miniloader <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool ul rkxx_loader_vx.xx.bin rkdeveloptool wl 0x4000 uboot.img rkdeveloptool wl 0x6000 trust.img rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> &nbsp; == Boot from SD/TF Card == We can write SD/TF card with Linux PC ''dd'' command very easily. Insert SD card to PC and we assume the /dev/sdb is the SD card device. *For&nbsp;with SPL: <pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64 dd if=u-boot.itb of=sdb seek=16384 dd if=boot.img of=sdb seek=32768 dd if=rootfs.img of=sdb seek=262144 </pre> *For&nbsp;with miniloader: <pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64 dd if=uboot.img of=sdb seek=16384 dd if=trust.img of=sdb seek=24576 dd if=boot.img of=sdb seek=32768 dd if=rootfs.img of=sdb seek=262144</pre> In order to make sure everything has write to SD card before unpluged, recommand to run below command: <pre>sync</pre> Note, when using boot from SD card, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value. <pre>append earlyprintk console=ttyS2,115200n8 rw root=/dev/mmcblk1p7 rootwait rootfstype=ext4 init=/sbin/init </pre> Write GPT partition table to SD card&nbsp;in U-Boot, and then U-Boot can find the boot partition and run into kernel. <pre>gpt write mmc 0 $partitions </pre> == Boot from U-Disk == Same as&nbsp;[[#Boot_from_SD.2FTF_Card|boot-from-sdcard]], but please note that U-Disk&nbsp;only support stage 4 and 5, see [[#Boot_Stage|Boot Stage]] for detail. If U-Disk used for stage 4 and 5, format the U-Disk in gpt format and at least 2 partitions, write ''boot.img'' and ''rootfs.img'' in those partitions; if U-Dist is only used for stage 5, we can ''dd ''the ''rootfs.img'' to U-Disk device directly. Note, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value. <pre> append earlyprintk console=ttyS2,115200n8 rw root=/dev/sda1 rootwait rootfstype=ext4 init=/sbin/init </pre> == Boot from Network == To be continued. = See also = [[Rkdeveloptool|rkdeveloptool]] [[Rockusb|rockusb]] [[Partitions|Rockchip Linux partition definition]] 4ccadc22d4704c937d9b13a6205adf8ca34da1a3 2090 2089 2018-11-23T03:12:17Z Kever 2 wikitext text/x-wiki = Boot introduce = First, let's make the concept clear, there are many boot stages when we boot up a Linux OS; Then we need to know about how the image should packaged, where&nbsp;the image locate; At last, we will explain how to write to different&nbsp;media and boot from there. Here is Rockchip pre-released binaries which may be mentioned later: [https://github.com/rockchip-linux/rkbin https://github.com/rockchip-linux/rkbin] And [http://opensource.rock-chips.com/wiki_Partitions Rockcip Linux GPT partition] here. &nbsp; &nbsp; == Boot flow == Here is a table show the detail what we may use in Rockchip platform, for 2 boot stage: - use U-Boot SPL; - use Rockchp idbLoader which is combinded by Rockchip ddr init bin and miniloader bin; <pre>+--------+----------------+----------+-------------+---------+ | Boot | Terminology #1 | Actual | Rockchip | Image | | stage | | program | Image | Location| | number | | name | Name | (sector)| +--------+----------------+----------+-------------+---------+ | 1 | Primary | ROM code | BootRom | | | | Program | | | | | | Loader | | | | | | | | | | | 2 | Secondary | U-Boot |idbloader.img| 0x40 | pre-loader | | Program | TPL/SPL | | | | | Loader (SPL) | | | | | | | | | | | 3 | - | U-Boot | u-boot.itb | 0x4000 | including u-boot and atf | | | | uboot.img | | only used with miniloader | | | | | | | | | ATF/TEE | trust.img | 0x6000 | only used with miniloader | | | | | | | 4 | - | kernel | boot.img | 0x8000 | | | | | | | | 5 | - | rootfs | rootfs.img | 0x40000 | +--------+----------------+----------+-------------+---------+ </pre> Then when we talking about boot from eMMC/SD/U-Disk/net, they are in different concept: *Stage 1 is always in boot rom, it loads stage 2 and may load stage 3(when SPL_BACK_TO_BROM option enabled). *Boot from SPI flash means firmware for stage 2 and 3(SPL and U-Boot only) in SPI flash and stage 4/5 in other place; *Boot from eMMC means all the firmware(including stage 2, 3, 4, 5) in eMMC; *Boot from SD card means all the firmware(including stage 2, 3, 4, 5) in SD card; *Boot from U-Disk means firmware for stage 4 and 5(not including SPL and U-Boot) in Disk, optionally only including stage 5; *Boot from net/tftp means firmeware for stage 4 and 5(not including SPL and U-Boot) on the network; &nbsp; [[File:Rockchip bootflow20181122.jpg|1000x1000px|Rockchip bootflow.jpg]] Boot Flow 1 is typical Rockchip boot flow with Rockchip miniloader;<br/> Boot Flow 2 is used for most SoCs with U-Boot TPL for ddr init and SPL for trust(ATF/OP-TEE) load and run into next stage;<br/> <br/> Note 1. If loader1 have more than 1 stage, program will back to bootrom and bootrom load and run into next stage. eg. If loader1 is tpl and spl, the bootrom will run into tpl first, tpl init ddr and back to bootrom, bootrom then load and run into spl.<br/> Note 2. If trust is enabled, loader1 need to load both trust and u-boot, and then run into trust in secure mode(EL3 in armv8), trust do the initialize and run into U-Boot in non-secure mode(EL2 in armv8).<br/> Note 3. For trust(in trust.img or u-boot.itb), armv7 has only one tee.bin with or without ta, armv8 has bl31.elf and option with bl32.<br/> Note 4. In boot.img, content can be zImage and its dtb for Linux, and can optionally be grub.efi, and can be AOSP boot.img, ramdisk is option; == Package option == After we know about the boot stages, Here are the file list before package for stage 2~4: *From source code: **From U-Boot: '''u-boot-spl.bin''', '''u-boot.bin'''(may use u-boot-nodtb.bin and u-boot.dtb instead), **From kernel: kernel '''Image/zImage''' file, kernel dtb, **From ATF: '''bl31.elf'''; *From Rockchip binary: **ddr, usbplug, miniloader, bl31/op-tee, (all with&nbsp;chip 'rkxx_'&nbsp; prefix and with version '_x.xx.bin' postfix); We offer two different boot-loader methods for different solutions, the steps and request files are also complete different. But not all the platforms supports the both boot-loader methods. Here are the types to&nbsp;package image from those files: &nbsp; === The Pre-bootloader === ==== Rockchip Miniloader ==== Package the image from Rockchip binary: No need to package a idbloader for eMMC because you can use below command to write idbloader from loader: <pre>rkdeveloptool db rkxx_ddr_vx.xx.bin rkdeveloptool ul rkxx_ddr_vx.xx.bin</pre> For SD boot, you need a idbloader(combinded with ddr and miniloader) to write to SD card. <pre>tools/mkimage -n rkxxxx -T rksd -d rkxx_ddr_vx.xx.bin idbloader.img cat rkxx_miniloader_vx.xx.bin >> idbloader.img </pre> ==== idbloader.img with tpl/spl ==== <pre>tools/mkimage -n rkxxxx -T rksd -d tpl/u-boot-tpl.bin idbloader.img cat spl/u-boot-spl.bin >> idbloader.img </pre> Flash the idbloader.img/idbspl.img&nbsp;to offset 0x40 which including stage 2, and you will need a uboot.img for boot stage 3. === U-Boot === ==== uboot.img ==== When using idbLoader from&nbsp;Rockchip miniloader, need package u-boot.bin into miniloader loadable format by Rockchip tool loaderimage. <pre>tools/loaderimage --pack --uboot u-boot.bin uboot.img</pre> &nbsp; ==== u-boot.itb ==== When using SPL to load the ATF/OP-TEE, package the bl31.bin, u-boot-nodtb.bin and uboot.dtb into one FIT image. You can skip the step to package the Trust image and flash that image in the next section. <pre>make u-boot.itb </pre> Note: please copy the trust binary() to u-boot root directory and rename it to tee.bin(armv7) or bl31.elf(armv8). === Trust === ==== trust.img ==== When using idbLoader from&nbsp;Rockchip miniloader, need package bl31.bin into miniloader loadable format by Rockchip tool trustmerge. <pre>tools/trustmerge tools/rk_tools/RKTRUST_RKXXXXTRUST.ini</pre> Flash the trust.img to offset 0x6000 which is for using Rockchip miniloader === boot.img === This image is package the kernel Image and dtb file into a know filesystem(FAT or EXT2) image for distro boot. See [[Rockchip_Kernel#Install_Boot.2Fkernel|Install kernel]] for detail about generate boot.img from kernel zImage/Image, dtb. Flash the boot.img to offset 0x8000 which is stage 4. === rootfs.img === Flash the rootfs.img to offset 0x40000 which is stage 5. As long as the kernel you chosen can support that filesystem, there is not limit in the format of the image. === rkxx_loader_vx.xx.xxx.bin === This is provide by Rockchip in binary mode, which is used for firmware upgrade to eMMC with [[Rkdeveloptool|rkdeveloptool]], can not be wirte to media device directly. This is a package from ddr.bin, usbplug.bin, miniloader.bin, Rockchip tool ''DB ''command will make usbplug.bin running in target which perform as a Rockusb device. You can skip to package this image, Rockchip will offer this image at the most of time. &nbsp; = Flash and boot from Media device = Here we introduce how to write image to different Medeia device. Get image Ready: *For&nbsp;with SPL: **idbloader.img **u-boot.itb **boot.img or&nbsp;boot folder with Image, dtb and exitlinulx inside **rootfs.img *For&nbsp;with miniloader **idbloader.img **uboot.img **trust.img **boot.img or&nbsp;boot folder with Image, dtb and exitlinulx inside **rootfs.img &nbsp; == Boot from eMMC == The eMMC is on the hardware board, so we need: *Get the board into [[Rockusb#Maskrom_mode|maskrom mode]]; *Connect the target to PC with USB cable; *Flash the image to eMMC with [[Rkdeveloptool|rkdeveloptool]] Example commands for flash image to target. Flash the gpt partition to target: <pre style="margin-left: 40px;">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool gpt parameter_gpt.txt</pre> *For&nbsp;with SPL: <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbloader.img rkdeveloptool wl 0x4000 u-boot.itb rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> *For&nbsp;with miniloader <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool ul rkxx_loader_vx.xx.bin rkdeveloptool wl 0x4000 uboot.img rkdeveloptool wl 0x6000 trust.img rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> &nbsp; == Boot from SD/TF Card == We can write SD/TF card with Linux PC ''dd'' command very easily. Insert SD card to PC and we assume the /dev/sdb is the SD card device. *For&nbsp;with SPL: <pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64 dd if=u-boot.itb of=sdb seek=16384 dd if=boot.img of=sdb seek=32768 dd if=rootfs.img of=sdb seek=262144 </pre> *For&nbsp;with miniloader: <pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64 dd if=uboot.img of=sdb seek=16384 dd if=trust.img of=sdb seek=24576 dd if=boot.img of=sdb seek=32768 dd if=rootfs.img of=sdb seek=262144</pre> In order to make sure everything has write to SD card before unpluged, recommand to run below command: <pre>sync</pre> Note, when using boot from SD card, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value. <pre>append earlyprintk console=ttyS2,115200n8 rw root=/dev/mmcblk1p7 rootwait rootfstype=ext4 init=/sbin/init </pre> Write GPT partition table to SD card&nbsp;in U-Boot, and then U-Boot can find the boot partition and run into kernel. <pre>gpt write mmc 0 $partitions </pre> == Boot from U-Disk == Same as&nbsp;[[#Boot_from_SD.2FTF_Card|boot-from-sdcard]], but please note that U-Disk&nbsp;only support stage 4 and 5, see [[#Boot_Stage|Boot Stage]] for detail. If U-Disk used for stage 4 and 5, format the U-Disk in gpt format and at least 2 partitions, write ''boot.img'' and ''rootfs.img'' in those partitions; if U-Dist is only used for stage 5, we can ''dd ''the ''rootfs.img'' to U-Disk device directly. Note, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value. <pre> append earlyprintk console=ttyS2,115200n8 rw root=/dev/sda1 rootwait rootfstype=ext4 init=/sbin/init </pre> == Boot from Network == To be continued. = See also = [[Rkdeveloptool|rkdeveloptool]] [[Rockusb|rockusb]] [[Partitions|Rockchip Linux partition definition]] 9bfcfadd1ce0b24f0d9f4ae7392cce58ced3923e 2104 2090 2018-12-12T10:07:37Z Kever 2 wikitext text/x-wiki = Boot introduce = First, let's make the concept clear, there are many boot stages when we boot up a Linux OS; Then we need to know about how the image should packaged, where&nbsp;the image locate; At last, we will explain how to write to different&nbsp;media and boot from there. Here is Rockchip pre-released binaries which may be mentioned later: [https://github.com/rockchip-linux/rkbin https://github.com/rockchip-linux/rkbin] And [http://opensource.rock-chips.com/wiki_Partitions Rockcip Linux GPT partition] here. &nbsp; &nbsp; == Boot flow == Here is a table show the detail what we may use in Rockchip platform, for 2 boot stage: - use U-Boot SPL; - use Rockchp idbLoader which is combinded by Rockchip ddr init bin and miniloader bin; <pre>+--------+----------------+----------+-------------+---------+ | Boot | Terminology #1 | Actual | Rockchip | Image | | stage | | program | Image | Location| | number | | name | Name | (sector)| +--------+----------------+----------+-------------+---------+ | 1 | Primary | ROM code | BootRom | | | | Program | | | | | | Loader | | | | | | | | | | | 2 | Secondary | U-Boot |idbloader.img| 0x40 | pre-loader | | Program | TPL/SPL | | | | | Loader (SPL) | | | | | | | | | | | 3 | - | U-Boot | u-boot.itb | 0x4000 | including u-boot and atf | | | | uboot.img | | only used with miniloader | | | | | | | | | ATF/TEE | trust.img | 0x6000 | only used with miniloader | | | | | | | 4 | - | kernel | boot.img | 0x8000 | | | | | | | | 5 | - | rootfs | rootfs.img | 0x40000 | +--------+----------------+----------+-------------+---------+ </pre> Then when we talking about boot from eMMC/SD/U-Disk/net, they are in different concept: *Stage 1 is always in boot rom, it loads stage 2 and may load stage 3(when SPL_BACK_TO_BROM option enabled). *Boot from SPI flash means firmware for stage 2 and 3(SPL and U-Boot only) in SPI flash and stage 4/5 in other place; *Boot from eMMC means all the firmware(including stage 2, 3, 4, 5) in eMMC; *Boot from SD card means all the firmware(including stage 2, 3, 4, 5) in SD card; *Boot from U-Disk means firmware for stage 4 and 5(not including SPL and U-Boot) in Disk, optionally only including stage 5; *Boot from net/tftp means firmeware for stage 4 and 5(not including SPL and U-Boot) on the network; &nbsp; [[File:Rockchip bootflow20181122.jpg|1000x1000px|Rockchip bootflow.jpg]] Boot Flow 1 is typical Rockchip boot flow with Rockchip miniloader;<br/> Boot Flow 2 is used for most SoCs with U-Boot TPL for ddr init and SPL for trust(ATF/OP-TEE) load and run into next stage;<br/> <br/> Note 1. If loader1 have more than 1 stage, program will back to bootrom and bootrom load and run into next stage. eg. If loader1 is tpl and spl, the bootrom will run into tpl first, tpl init ddr and back to bootrom, bootrom then load and run into spl.<br/> Note 2. If trust is enabled, loader1 need to load both trust and u-boot, and then run into trust in secure mode(EL3 in armv8), trust do the initialize and run into U-Boot in non-secure mode(EL2 in armv8).<br/> Note 3. For trust(in trust.img or u-boot.itb), armv7 has only one tee.bin with or without ta, armv8 has bl31.elf and option with bl32.<br/> Note 4. In boot.img, content can be zImage and its dtb for Linux, and can optionally be grub.efi, and can be AOSP boot.img, ramdisk is option; == Package option == After we know about the boot stages, Here are the file list before package for stage 2~4: *From source code: **From U-Boot: '''u-boot-spl.bin''', '''u-boot.bin'''(may use u-boot-nodtb.bin and u-boot.dtb instead), **From kernel: kernel '''Image/zImage''' file, kernel dtb, **From ATF: '''bl31.elf'''; *From Rockchip binary: **ddr, usbplug, miniloader, bl31/op-tee, (all with&nbsp;chip 'rkxx_'&nbsp; prefix and with version '_x.xx.bin' postfix); We offer two different boot-loader methods for different solutions, the steps and request files are also complete different. But not all the platforms supports the both boot-loader methods. Here are the types to&nbsp;package image from those files: &nbsp; === The Pre-bootloader === ==== Rockchip Miniloader ==== Package the image from Rockchip binary: No need to package a idbloader for eMMC because you can use below command to write idbloader from loader: <pre>rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool ul rkxx_loader_vx.xx.bin</pre> For SD boot, you need a idbloader(combinded with ddr and miniloader) to write to SD card. <pre>tools/mkimage -n rkxxxx -T rksd -d rkxx_ddr_vx.xx.bin idbloader.img cat rkxx_miniloader_vx.xx.bin >> idbloader.img </pre> ==== idbloader.img with tpl/spl ==== <pre>tools/mkimage -n rkxxxx -T rksd -d tpl/u-boot-tpl.bin idbloader.img cat spl/u-boot-spl.bin >> idbloader.img </pre> Flash the idbloader.img/idbspl.img&nbsp;to offset 0x40 which including stage 2, and you will need a uboot.img for boot stage 3. === U-Boot === ==== uboot.img ==== When using idbLoader from&nbsp;Rockchip miniloader, need package u-boot.bin into miniloader loadable format by Rockchip tool loaderimage. <pre>tools/loaderimage --pack --uboot u-boot.bin uboot.img</pre> &nbsp; ==== u-boot.itb ==== When using SPL to load the ATF/OP-TEE, package the bl31.bin, u-boot-nodtb.bin and uboot.dtb into one FIT image. You can skip the step to package the Trust image and flash that image in the next section. <pre>make u-boot.itb </pre> Note: please copy the trust binary() to u-boot root directory and rename it to tee.bin(armv7) or bl31.elf(armv8). === Trust === ==== trust.img ==== When using idbLoader from&nbsp;Rockchip miniloader, need package bl31.bin into miniloader loadable format by Rockchip tool trustmerge. <pre>tools/trustmerge tools/rk_tools/RKTRUST_RKXXXXTRUST.ini</pre> Flash the trust.img to offset 0x6000 which is for using Rockchip miniloader === boot.img === This image is package the kernel Image and dtb file into a know filesystem(FAT or EXT2) image for distro boot. See [[Rockchip_Kernel#Install_Boot.2Fkernel|Install kernel]] for detail about generate boot.img from kernel zImage/Image, dtb. Flash the boot.img to offset 0x8000 which is stage 4. === rootfs.img === Flash the rootfs.img to offset 0x40000 which is stage 5. As long as the kernel you chosen can support that filesystem, there is not limit in the format of the image. === rkxx_loader_vx.xx.xxx.bin === This is provide by Rockchip in binary mode, which is used for firmware upgrade to eMMC with [[Rkdeveloptool|rkdeveloptool]], can not be wirte to media device directly. This is a package from ddr.bin, usbplug.bin, miniloader.bin, Rockchip tool ''DB ''command will make usbplug.bin running in target which perform as a Rockusb device. You can skip to package this image, Rockchip will offer this image at the most of time. &nbsp; = Flash and boot from Media device = Here we introduce how to write image to different Medeia device. Get image Ready: *For&nbsp;with SPL: **idbloader.img **u-boot.itb **boot.img or&nbsp;boot folder with Image, dtb and exitlinulx inside **rootfs.img *For&nbsp;with miniloader **idbloader.img **uboot.img **trust.img **boot.img or&nbsp;boot folder with Image, dtb and exitlinulx inside **rootfs.img &nbsp; == Boot from eMMC == The eMMC is on the hardware board, so we need: *Get the board into [[Rockusb#Maskrom_mode|maskrom mode]]; *Connect the target to PC with USB cable; *Flash the image to eMMC with [[Rkdeveloptool|rkdeveloptool]] Example commands for flash image to target. Flash the gpt partition to target: <pre style="margin-left: 40px;">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool gpt parameter_gpt.txt</pre> *For&nbsp;with SPL: <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbloader.img rkdeveloptool wl 0x4000 u-boot.itb rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> *For&nbsp;with miniloader <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool ul rkxx_loader_vx.xx.bin rkdeveloptool wl 0x4000 uboot.img rkdeveloptool wl 0x6000 trust.img rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> &nbsp; == Boot from SD/TF Card == We can write SD/TF card with Linux PC ''dd'' command very easily. Insert SD card to PC and we assume the /dev/sdb is the SD card device. *For&nbsp;with SPL: <pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64 dd if=u-boot.itb of=sdb seek=16384 dd if=boot.img of=sdb seek=32768 dd if=rootfs.img of=sdb seek=262144 </pre> *For&nbsp;with miniloader: <pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64 dd if=uboot.img of=sdb seek=16384 dd if=trust.img of=sdb seek=24576 dd if=boot.img of=sdb seek=32768 dd if=rootfs.img of=sdb seek=262144</pre> In order to make sure everything has write to SD card before unpluged, recommand to run below command: <pre>sync</pre> Note, when using boot from SD card, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value. <pre>append earlyprintk console=ttyS2,115200n8 rw root=/dev/mmcblk1p7 rootwait rootfstype=ext4 init=/sbin/init </pre> Write GPT partition table to SD card&nbsp;in U-Boot, and then U-Boot can find the boot partition and run into kernel. <pre>gpt write mmc 0 $partitions </pre> == Boot from U-Disk == Same as&nbsp;[[#Boot_from_SD.2FTF_Card|boot-from-sdcard]], but please note that U-Disk&nbsp;only support stage 4 and 5, see [[#Boot_Stage|Boot Stage]] for detail. If U-Disk used for stage 4 and 5, format the U-Disk in gpt format and at least 2 partitions, write ''boot.img'' and ''rootfs.img'' in those partitions; if U-Dist is only used for stage 5, we can ''dd ''the ''rootfs.img'' to U-Disk device directly. Note, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value. <pre> append earlyprintk console=ttyS2,115200n8 rw root=/dev/sda1 rootwait rootfstype=ext4 init=/sbin/init </pre> == Boot from Network == To be continued. = See also = [[Rkdeveloptool|rkdeveloptool]] [[Rockusb|rockusb]] [[Partitions|Rockchip Linux partition definition]] f26a6d55ec2cca3666fcceb92eee80cdd754c2de 2105 2104 2018-12-12T10:11:41Z Kever 2 wikitext text/x-wiki = Boot introduce = First, let's make the concept clear, there are many boot stages when we boot up a Linux OS; Then we need to know about how the image should packaged, where&nbsp;the image locate; At last, we will explain how to write to different&nbsp;media and boot from there. Here is Rockchip pre-released binaries which may be mentioned later: [https://github.com/rockchip-linux/rkbin https://github.com/rockchip-linux/rkbin] And [http://opensource.rock-chips.com/wiki_Partitions Rockcip Linux GPT partition] here. &nbsp; &nbsp; == Boot flow == Here is a table show the detail what we may use in Rockchip platform, for 2 boot stage: - use U-Boot SPL; - use Rockchp idbLoader which is combinded by Rockchip ddr init bin and miniloader bin; <pre>+--------+----------------+----------+-------------+---------+ | Boot | Terminology #1 | Actual | Rockchip | Image | | stage | | program | Image | Location| | number | | name | Name | (sector)| +--------+----------------+----------+-------------+---------+ | 1 | Primary | ROM code | BootRom | | | | Program | | | | | | Loader | | | | | | | | | | | 2 | Secondary | U-Boot |idbloader.img| 0x40 | pre-loader | | Program | TPL/SPL | | | | | Loader (SPL) | | | | | | | | | | | 3 | - | U-Boot | u-boot.itb | 0x4000 | including u-boot and atf | | | | uboot.img | | only used with miniloader | | | | | | | | | ATF/TEE | trust.img | 0x6000 | only used with miniloader | | | | | | | 4 | - | kernel | boot.img | 0x8000 | | | | | | | | 5 | - | rootfs | rootfs.img | 0x40000 | +--------+----------------+----------+-------------+---------+ </pre> Then when we talking about boot from eMMC/SD/U-Disk/net, they are in different concept: *Stage 1 is always in boot rom, it loads stage 2 and may load stage 3(when SPL_BACK_TO_BROM option enabled). *Boot from SPI flash means firmware for stage 2 and 3(SPL and U-Boot only) in SPI flash and stage 4/5 in other place; *Boot from eMMC means all the firmware(including stage 2, 3, 4, 5) in eMMC; *Boot from SD card means all the firmware(including stage 2, 3, 4, 5) in SD card; *Boot from U-Disk means firmware for stage 4 and 5(not including SPL and U-Boot) in Disk, optionally only including stage 5; *Boot from net/tftp means firmeware for stage 4 and 5(not including SPL and U-Boot) on the network; &nbsp; [[File:Rockchip bootflow20181122.jpg|1000x1000px|Rockchip bootflow.jpg]] Boot Flow 1 is typical Rockchip boot flow with Rockchip miniloader;<br/> Boot Flow 2 is used for most SoCs with U-Boot TPL for ddr init and SPL for trust(ATF/OP-TEE) load and run into next stage;<br/> <br/> Note 1. If loader1 have more than 1 stage, program will back to bootrom and bootrom load and run into next stage. eg. If loader1 is tpl and spl, the bootrom will run into tpl first, tpl init ddr and back to bootrom, bootrom then load and run into spl.<br/> Note 2. If trust is enabled, loader1 need to load both trust and u-boot, and then run into trust in secure mode(EL3 in armv8), trust do the initialize and run into U-Boot in non-secure mode(EL2 in armv8).<br/> Note 3. For trust(in trust.img or u-boot.itb), armv7 has only one tee.bin with or without ta, armv8 has bl31.elf and option with bl32.<br/> Note 4. In boot.img, content can be zImage and its dtb for Linux, and can optionally be grub.efi, and can be AOSP boot.img, ramdisk is option; == Package option == After we know about the boot stages, Here are the file list before package for stage 2~4: *From source code: **From U-Boot: '''u-boot-spl.bin''', '''u-boot.bin'''(may use u-boot-nodtb.bin and u-boot.dtb instead), **From kernel: kernel '''Image/zImage''' file, kernel dtb, **From ATF: '''bl31.elf'''; *From Rockchip binary: **ddr, usbplug, miniloader, bl31/op-tee, (all with&nbsp;chip 'rkxx_'&nbsp; prefix and with version '_x.xx.bin' postfix); We offer two different boot-loader methods for different solutions, the steps and request files are also complete different. But not all the platforms supports the both boot-loader methods. Here are the types to&nbsp;package image from those files: &nbsp; === The Pre-bootloader === ==== Rockchip Miniloader ==== Package the image from Rockchip binary: No need to package a idbloader for eMMC because you can use below command to write idbloader from loader: <pre>rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool ul rkxx_loader_vx.xx.bin</pre> For SD boot, you need a idbloader(combinded with ddr and miniloader) to write to SD card. <pre>tools/mkimage -n rkxxxx -T rksd -d rkxx_ddr_vx.xx.bin idbloader.img cat rkxx_miniloader_vx.xx.bin >> idbloader.img </pre> ==== idbloader.img with tpl/spl ==== <pre>tools/mkimage -n rkxxxx -T rksd -d tpl/u-boot-tpl.bin idbloader.img cat spl/u-boot-spl.bin >> idbloader.img </pre> Flash the idbloader.img/idbspl.img&nbsp;to offset 0x40 which including stage 2, and you will need a uboot.img for boot stage 3. === U-Boot === ==== uboot.img ==== When using idbLoader from&nbsp;Rockchip miniloader, need package u-boot.bin into miniloader loadable format by Rockchip tool loaderimage. <pre>tools/loaderimage --pack --uboot u-boot.bin uboot.img $SYS_TEXT_BASE</pre> Where SoCs may have different&nbsp;$SYS_TEXT_BASE. ==== u-boot.itb ==== When using SPL to load the ATF/OP-TEE, package the bl31.bin, u-boot-nodtb.bin and uboot.dtb into one FIT image. You can skip the step to package the Trust image and flash that image in the next section. <pre>make u-boot.itb </pre> Note: please copy the trust binary() to u-boot root directory and rename it to tee.bin(armv7) or bl31.elf(armv8). === Trust === ==== trust.img ==== When using idbLoader from&nbsp;Rockchip miniloader, need package bl31.bin into miniloader loadable format by Rockchip tool trustmerge. <pre>tools/trustmerge tools/rk_tools/RKTRUST_RKXXXXTRUST.ini</pre> Flash the trust.img to offset 0x6000 which is for using Rockchip miniloader === boot.img === This image is package the kernel Image and dtb file into a know filesystem(FAT or EXT2) image for distro boot. See [[Rockchip_Kernel#Install_Boot.2Fkernel|Install kernel]] for detail about generate boot.img from kernel zImage/Image, dtb. Flash the boot.img to offset 0x8000 which is stage 4. === rootfs.img === Flash the rootfs.img to offset 0x40000 which is stage 5. As long as the kernel you chosen can support that filesystem, there is not limit in the format of the image. === rkxx_loader_vx.xx.xxx.bin === This is provide by Rockchip in binary mode, which is used for firmware upgrade to eMMC with [[Rkdeveloptool|rkdeveloptool]], can not be wirte to media device directly. This is a package from ddr.bin, usbplug.bin, miniloader.bin, Rockchip tool ''DB ''command will make usbplug.bin running in target which perform as a Rockusb device. You can skip to package this image, Rockchip will offer this image at the most of time. &nbsp; = Flash and boot from Media device = Here we introduce how to write image to different Medeia device. Get image Ready: *For&nbsp;with SPL: **idbloader.img **u-boot.itb **boot.img or&nbsp;boot folder with Image, dtb and exitlinulx inside **rootfs.img *For&nbsp;with miniloader **idbloader.img **uboot.img **trust.img **boot.img or&nbsp;boot folder with Image, dtb and exitlinulx inside **rootfs.img &nbsp; == Boot from eMMC == The eMMC is on the hardware board, so we need: *Get the board into [[Rockusb#Maskrom_mode|maskrom mode]]; *Connect the target to PC with USB cable; *Flash the image to eMMC with [[Rkdeveloptool|rkdeveloptool]] Example commands for flash image to target. Flash the gpt partition to target: <pre style="margin-left: 40px;">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool gpt parameter_gpt.txt</pre> *For&nbsp;with SPL: <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbloader.img rkdeveloptool wl 0x4000 u-boot.itb rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> *For&nbsp;with miniloader <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool ul rkxx_loader_vx.xx.bin rkdeveloptool wl 0x4000 uboot.img rkdeveloptool wl 0x6000 trust.img rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> &nbsp; == Boot from SD/TF Card == We can write SD/TF card with Linux PC ''dd'' command very easily. Insert SD card to PC and we assume the /dev/sdb is the SD card device. *For&nbsp;with SPL: <pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64 dd if=u-boot.itb of=sdb seek=16384 dd if=boot.img of=sdb seek=32768 dd if=rootfs.img of=sdb seek=262144 </pre> *For&nbsp;with miniloader: <pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64 dd if=uboot.img of=sdb seek=16384 dd if=trust.img of=sdb seek=24576 dd if=boot.img of=sdb seek=32768 dd if=rootfs.img of=sdb seek=262144</pre> In order to make sure everything has write to SD card before unpluged, recommand to run below command: <pre>sync</pre> Note, when using boot from SD card, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value. <pre>append earlyprintk console=ttyS2,115200n8 rw root=/dev/mmcblk1p7 rootwait rootfstype=ext4 init=/sbin/init </pre> Write GPT partition table to SD card&nbsp;in U-Boot, and then U-Boot can find the boot partition and run into kernel. <pre>gpt write mmc 0 $partitions </pre> == Boot from U-Disk == Same as&nbsp;[[#Boot_from_SD.2FTF_Card|boot-from-sdcard]], but please note that U-Disk&nbsp;only support stage 4 and 5, see [[#Boot_Stage|Boot Stage]] for detail. If U-Disk used for stage 4 and 5, format the U-Disk in gpt format and at least 2 partitions, write ''boot.img'' and ''rootfs.img'' in those partitions; if U-Dist is only used for stage 5, we can ''dd ''the ''rootfs.img'' to U-Disk device directly. Note, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value. <pre> append earlyprintk console=ttyS2,115200n8 rw root=/dev/sda1 rootwait rootfstype=ext4 init=/sbin/init </pre> == Boot from Network == To be continued. = See also = [[Rkdeveloptool|rkdeveloptool]] [[Rockusb|rockusb]] [[Partitions|Rockchip Linux partition definition]] 4a11bca53697a03710a47d3759ba3e40892658d4 U-Boot 0 11 2091 2029 2018-12-06T07:48:54Z Kever 2 wikitext text/x-wiki = Download U-Boot = == Upstream U-Boot == You can clone the u-boot repository by running: <pre>git clone git://git.denx.de/u-boot.git</pre> Alternatively you can use u-boot-rockchip instead which may with some patches not get in mainline: <pre>git clone git://git.denx.de/u-boot-rockchip.git</pre> &nbsp; == Rockchip U-Boot == You can clone the u-boot repository by running: <pre>git clone https://github.com/rockchip-linux/u-boot.git </pre> = Supported Devices = Upstream U-Boot support Rockchip SoCs: RK3036, RK3188,&nbsp;[http://opensource.rock-chips.com/wiki_RK3288 RK3288],&nbsp;[http://opensource.rock-chips.com/wiki_RK3328 RK3328],&nbsp;[http://opensource.rock-chips.com/wiki_RK3399 RK3399] *RK3036 boards supported: #EVB RK3036 - use evb-rk3036 configuration #Kylin - use kylin_rk3036 configuration *RK3288 boards supported: #EVB RK3288 - use evb-rk3288 configuration #Fennec RK3288 - use fennec-rk3288 configuration #Firefly RK3288 - use firefly-rk3288 configuration #Hisense Chromebook - use chromebook_jerry configuration #Miniarm RK3288 - use miniarm-rk3288 configuration #PopMetal RK3288 - use popmetal-rk3288 configuration #Radxa Rock 2 - use rock2 configuration #ASUS Tinker *RK3188 boards&nbsp;supported: #Radxa Rock - use rock&nbsp;configuration *RK3328 boards&nbsp;supported: #EVB RK3328 - use evb-rk3328 configuration *RK3399 boards&nbsp;supported: #EVB RK3399 - use evb-rk3399 configuration = Get a toolchain = If you haven't done so before, get a suitable&nbsp;toolchain&nbsp;installed and add it&nbsp;to your PATH. In Ubuntu 14.04, you can use below command to install cross compiler for armv7: <pre>sudo apt-get install gcc-arm-linux-gnueabi</pre> Or for ARM64 <pre>sudo apt-get install gcc-aarch64-linux-gnu </pre> Note that the latest U-Boot require version gcc-5.0 and later, we recommand to use linaro 6.3.1. <pre>https://github.com/rockchip-linux/gcc-linaro-6.3.1-2017.05-x86_64_arm-linux-gnueabihf.git</pre> <pre>https://github.com/rockchip-linux/gcc-linaro-6.3.1-2017.05-x86_64_aarch64-linux-gnu.git</pre> = &nbsp; = = Build U-Boot = == Configure U-Boot == First you need to choose a correct defconfig for your board; When you have determined what <board_name> you want to build, configure: <pre>make CROSS_COMPILE=arm-linux-gnueabi- <board_name>_defconfig</pre> You may need to change the U-Boot function/feature support by modify the defconfig file or, there is also menuconfig to play with settings if you feel like it: <pre>make CROSS_COMPILE=arm-linux-gnueabi- menuconfig </pre> == Buid Rockchip U-Boot == For&nbsp;convenience, Rockchip provide a &nbsp;script 'make.sh' to make it easy to get everything before kernel, this script need toolchain and [https://github.com/rockchip-linux/rkbin rkbin] support. <pre>├── prebuilts │ └── gcc │ └── linux-x86 │ ├── aarch64 │ └── arm ├── rkbin ├── u-boot</pre> expample for build rk3399: <pre>./make.sh rk3399</pre> and&nbsp;use './make.sh -h' for more option. The output will including pre-loader, trust and u-boot image which is ready to use with rockchip upgrade tool,&nbsp; <pre>u-boot/ ├── rk3399_loader_v1.09.112.bin ├── trust.img └── uboot.img</pre> == Build Upstream U-Boot == This is common and available for both Upstream U-Boot and Rockchip U-Boot. For armv7: <pre>make CROSS_COMPILE=arm-linux-gnueabi-</pre> or for ARM64: <pre>make ARCH=arm CROSS_COMPILE=aarch64-linux-gnu-</pre> In order to support debug symbol in ARM DS-5, you may need add ctags in make command: <pre>CFLAGS='-gdwarf-3'</pre> The output includin&nbsp;u-boot.bin, spl/u-boot-spl.bin, tpl/u-boot-tpl.bin at this step, and you need to package it with tool before use with rockchip upagrade tool. Get detail at&nbsp;[http://opensource.rock-chips.com/wiki_Boot_option boot option]. '''Support ATF with SPL FIT image''' For trust support in SPL, we are using FIT image with 'mkimage' cmd in Makefile and its script defined in defconfig: <pre>make u-boot.itb</pre> Note: please copy the trust binary(optee.bin or bl31.elf) to u-boot root directory and rename it to tee.bin(armv7) or bl31.elf(armv8). The output u-boot.itb is a its based package including u-boot-nodtb.bin, board.dtb, and trust binaries which can be used directly with upgrade tool. <pre>├── u-boot │ ├── u-boot.bin │ ├── u-boot.itb │ ├── spl │ │ └── u-boot-spl.bin │ └── tpl │ └── u-boot-tpl.bin</pre> = Install U-Boot = See&nbsp;[http://opensource.rock-chips.com/wiki_Boot_option boot option]&nbsp;about how to - package the available binaries - flash and boot from eMMC/SD card. = Boot cmd = Rockchip U-Boot Android boot, Rockchip RKIMG boot and Distro boot. Upstream U-Boot suppot distro boot. = Firmware download in U-Boot = In U-Boot, there are multi way to update image into emmc via U-Boot, you can chose any of one easy use for you. fastboot:&nbsp;See&nbsp;[http://opensource.rock-chips.com/wiki_Fastboot fastboot] rockusb: See [[Rockusb|rockusb]] 69f60cf9dfcd98b56ab1d2a9325685a3eedb8435 2092 2091 2018-12-06T07:52:58Z Kever 2 wikitext text/x-wiki = Download U-Boot = == Upstream U-Boot == You can clone the u-boot repository by running: <pre>git clone git://git.denx.de/u-boot.git</pre> Alternatively you can use u-boot-rockchip instead which may with some patches not get in mainline: <pre>git clone git://git.denx.de/u-boot-rockchip.git</pre> &nbsp; == Rockchip U-Boot == You can clone the u-boot repository by running: <pre>git clone https://github.com/rockchip-linux/u-boot.git </pre> = Supported Devices = Upstream U-Boot support Rockchip SoCs: RK3036, RK3188,&nbsp;[http://opensource.rock-chips.com/wiki_RK3288 RK3288],&nbsp;[http://opensource.rock-chips.com/wiki_RK3328 RK3328],&nbsp;[http://opensource.rock-chips.com/wiki_RK3399 RK3399] *RK3036 boards supported: #EVB RK3036 - use evb-rk3036 configuration #Kylin - use kylin_rk3036 configuration *RK3288 boards supported: #EVB RK3288 - use evb-rk3288 configuration #Fennec RK3288 - use fennec-rk3288 configuration #Firefly RK3288 - use firefly-rk3288 configuration #Hisense Chromebook - use chromebook_jerry configuration #Miniarm RK3288 - use miniarm-rk3288 configuration #PopMetal RK3288 - use popmetal-rk3288 configuration #Radxa Rock 2 - use rock2 configuration #ASUS Tinker *RK3188 boards&nbsp;supported: #Radxa Rock - use rock&nbsp;configuration *RK3328 boards&nbsp;supported: #EVB RK3328 - use evb-rk3328 configuration *RK3399 boards&nbsp;supported: #EVB RK3399 - use evb-rk3399 configuration = Get a toolchain = If you haven't done so before, get a suitable&nbsp;toolchain&nbsp;installed and add it&nbsp;to your PATH. In Ubuntu 14.04, you can use below command to install cross compiler for armv7: <pre>sudo apt-get install gcc-arm-linux-gnueabi</pre> Or for ARM64 <pre>sudo apt-get install gcc-aarch64-linux-gnu </pre> Note that the latest U-Boot require version gcc-5.0 and later, we recommand to use linaro 6.3.1. <pre>https://github.com/rockchip-linux/gcc-linaro-6.3.1-2017.05-x86_64_arm-linux-gnueabihf.git</pre> <pre>https://github.com/rockchip-linux/gcc-linaro-6.3.1-2017.05-x86_64_aarch64-linux-gnu.git</pre> = &nbsp; = = Build U-Boot = == Configure U-Boot == First you need to choose a correct defconfig for your board; When you have determined what <board_name> you want to build, configure: <pre>make CROSS_COMPILE=arm-linux-gnueabi- <board_name>_defconfig</pre> You may need to change the U-Boot function/feature support by modify the defconfig file or, there is also menuconfig to play with settings if you feel like it: <pre>make CROSS_COMPILE=arm-linux-gnueabi- menuconfig </pre> == Buid Rockchip U-Boot == For&nbsp;convenience, Rockchip provide a &nbsp;script 'make.sh' to make it easy to get everything before kernel, this script need toolchain and [https://github.com/rockchip-linux/rkbin rkbin] support. <pre>├── prebuilts │ └── gcc │ └── linux-x86 │ ├── aarch64 │ └── arm ├── rkbin ├── u-boot</pre> expample for build rk3399: <pre>./make.sh rk3399</pre> and&nbsp;use './make.sh -h' for more option. The output will including pre-loader, trust and u-boot image which is ready to use with rockchip upgrade tool,&nbsp; <pre>u-boot/ ├── rk3399_loader_v1.09.112.bin ├── trust.img └── uboot.img</pre> == Build Upstream U-Boot == This is common and available for both Upstream U-Boot and Rockchip U-Boot. For armv7: <pre>make CROSS_COMPILE=arm-linux-gnueabi-</pre> or for ARM64: <pre>make ARCH=arm CROSS_COMPILE=aarch64-linux-gnu-</pre> In order to support debug symbol in ARM DS-5, you may need add ctags in make command: <pre>CFLAGS='-gdwarf-3'</pre> The output including u-boot.bin, spl/u-boot-spl.bin, tpl/u-boot-tpl.bin at this step, and you need to package it with mkimage tool before use with rockchip upagrade tool. Get detail at&nbsp;[http://opensource.rock-chips.com/wiki_Boot_option boot option]. '''Support ATF with SPL FIT image''' For trust support in SPL, we are using FIT image with 'mkimage' cmd in Makefile and its script defined in defconfig: <pre>make u-boot.itb</pre> Note: please copy the trust binary(optee.bin or bl31.elf from rkbin project) to u-boot root directory and rename it to tee.bin(armv7) or bl31.elf(armv8). The output u-boot.itb is a its based package including u-boot-nodtb.bin, board.dtb, and trust binaries which can be used directly with upgrade tool. <pre>├── u-boot │ ├── u-boot.bin │ ├── u-boot.itb │ ├── spl │ │ └── u-boot-spl.bin │ └── tpl │ └── u-boot-tpl.bin</pre> = Install U-Boot = See&nbsp;[http://opensource.rock-chips.com/wiki_Boot_option boot option]&nbsp;about how to - package the available binaries - flash and boot from eMMC/SD card. = Boot cmd = Rockchip U-Boot Android boot, Rockchip RKIMG boot and Distro boot. Upstream U-Boot suppot distro boot. = Firmware download in U-Boot = In U-Boot, there are multi way to update image into emmc via U-Boot, you can chose any of one easy use for you. fastboot:&nbsp;See&nbsp;[http://opensource.rock-chips.com/wiki_Fastboot fastboot] rockusb: See [[Rockusb|rockusb]] 96213bd77db7b3fa2530284b0ab309808905dd50 2093 2092 2018-12-06T07:55:14Z Kever 2 wikitext text/x-wiki = Download U-Boot = == Upstream U-Boot == You can clone the u-boot repository by running: <pre>git clone git://git.denx.de/u-boot.git</pre> Alternatively you can use u-boot-rockchip instead which may with some patches not get in mainline: <pre>git clone git://git.denx.de/u-boot-rockchip.git</pre> &nbsp; == Rockchip U-Boot == You can clone the u-boot repository by running: <pre>git clone https://github.com/rockchip-linux/u-boot.git </pre> = Supported Devices = Upstream U-Boot support Rockchip SoCs: RK3036, RK3188,&nbsp;[http://opensource.rock-chips.com/wiki_RK3288 RK3288],&nbsp;[http://opensource.rock-chips.com/wiki_RK3328 RK3328],&nbsp;[http://opensource.rock-chips.com/wiki_RK3399 RK3399] *RK3036 boards supported: #EVB RK3036 - use evb-rk3036 configuration #Kylin - use kylin_rk3036 configuration *RK3288 boards supported: #EVB RK3288 - use evb-rk3288 configuration #Fennec RK3288 - use fennec-rk3288 configuration #Firefly RK3288 - use firefly-rk3288 configuration #Hisense Chromebook - use chromebook_jerry configuration #Miniarm RK3288 - use miniarm-rk3288 configuration #PopMetal RK3288 - use popmetal-rk3288 configuration #Radxa Rock 2 - use rock2 configuration #ASUS Tinker *RK3188 boards&nbsp;supported: #Radxa Rock - use rock&nbsp;configuration *RK3328 boards&nbsp;supported: #EVB RK3328 - use evb-rk3328 configuration *RK3399 boards&nbsp;supported: #EVB RK3399 - use evb-rk3399 configuration = Get a toolchain = If you haven't done so before, get a suitable&nbsp;toolchain&nbsp;installed and add it&nbsp;to your PATH. In Ubuntu 14.04, you can use below command to install cross compiler for armv7: <pre>sudo apt-get install gcc-arm-linux-gnueabi</pre> Or for ARM64 <pre>sudo apt-get install gcc-aarch64-linux-gnu </pre> Note that the latest U-Boot require version gcc-5.0 and later, we recommand to use linaro 6.3.1. <pre>https://github.com/rockchip-linux/gcc-linaro-6.3.1-2017.05-x86_64_arm-linux-gnueabihf.git</pre> <pre>https://github.com/rockchip-linux/gcc-linaro-6.3.1-2017.05-x86_64_aarch64-linux-gnu.git</pre> = Build U-Boot = == Configure U-Boot == First you need to choose a correct defconfig for your board; When you have determined what <board_name> you want to build, configure: <pre>make CROSS_COMPILE=arm-linux-gnueabi- <board_name>_defconfig</pre> You may need to change the U-Boot function/feature support by modify the defconfig file or, there is also menuconfig to play with settings if you feel like it: <pre>make CROSS_COMPILE=arm-linux-gnueabi- menuconfig </pre> &nbsp; == Buid Rockchip U-Boot == For&nbsp;convenience, Rockchip provide a &nbsp;script 'make.sh' to make it easy to get everything before kernel, this script need toolchain and [https://github.com/rockchip-linux/rkbin rkbin] support. <pre>├── prebuilts │ └── gcc │ └── linux-x86 │ ├── aarch64 │ └── arm ├── rkbin ├── u-boot</pre> expample for build rk3399: <pre>./make.sh rk3399</pre> and&nbsp;use './make.sh -h' for more option. The output will including pre-loader, trust and u-boot image which is ready to use with rockchip upgrade tool,&nbsp; <pre>u-boot/ ├── rk3399_loader_v1.09.112.bin ├── trust.img └── uboot.img</pre> &nbsp; == Build Upstream U-Boot == This is common and available for both Upstream U-Boot and Rockchip U-Boot. For armv7: <pre>make CROSS_COMPILE=arm-linux-gnueabi-</pre> or for ARM64: <pre>make ARCH=arm CROSS_COMPILE=aarch64-linux-gnu-</pre> In order to support debug symbol in ARM DS-5, you may need add ctags in make command: <pre>CFLAGS='-gdwarf-3'</pre> The output including u-boot.bin, spl/u-boot-spl.bin, tpl/u-boot-tpl.bin at this step, and you need to package it with mkimage tool before use with rockchip upagrade tool. Get detail at&nbsp;[http://opensource.rock-chips.com/wiki_Boot_option boot option]. '''Support ATF with SPL FIT image''' For trust support in SPL, we are using FIT image with 'mkimage' cmd in Makefile and its script defined in defconfig: <pre>make u-boot.itb</pre> Note: please copy the trust binary(optee.bin or bl31.elf from rkbin project) to u-boot root directory and rename it to tee.bin(armv7) or bl31.elf(armv8). The output u-boot.itb is a its based package including u-boot-nodtb.bin, board.dtb, and trust binaries which can be used directly with upgrade tool. <pre>├── u-boot │ ├── u-boot.bin │ ├── u-boot.itb │ ├── spl │ │ └── u-boot-spl.bin │ └── tpl │ └── u-boot-tpl.bin</pre> = Install U-Boot = See&nbsp;[http://opensource.rock-chips.com/wiki_Boot_option boot option]&nbsp;about how to - package the available binaries - flash and boot from eMMC/SD card. = Boot cmd = Rockchip U-Boot Android boot, Rockchip RKIMG boot and Distro boot. Upstream U-Boot suppot distro boot. = Firmware download in U-Boot = In U-Boot, there are multi way to update image into emmc via U-Boot, you can chose any of one easy use for you. fastboot:&nbsp;See&nbsp;[http://opensource.rock-chips.com/wiki_Fastboot fastboot] rockusb: See [[Rockusb|rockusb]] 749d95781349115f17c27518928898c82526a1f7 2094 2093 2018-12-06T07:59:37Z Kever 2 wikitext text/x-wiki = Download U-Boot = == Upstream U-Boot == You can clone the u-boot repository by running: <pre>git clone git://git.denx.de/u-boot.git</pre> Alternatively you can use u-boot-rockchip instead which may with some patches not get in mainline: <pre>git clone git://git.denx.de/u-boot-rockchip.git</pre> &nbsp; == Rockchip U-Boot == You can clone the u-boot repository by running: <pre>git clone https://github.com/rockchip-linux/u-boot.git </pre> = Supported Devices = Upstream U-Boot support Rockchip SoCs: RK3036, RK3188,&nbsp;[http://opensource.rock-chips.com/wiki_RK3288 RK3288],&nbsp;[http://opensource.rock-chips.com/wiki_RK3328 RK3328],&nbsp;[http://opensource.rock-chips.com/wiki_RK3399 RK3399] *RK3036 boards supported: #EVB RK3036 - use evb-rk3036 configuration #Kylin - use kylin_rk3036 configuration *RK3288 boards supported: #EVB RK3288 - use evb-rk3288 configuration #Fennec RK3288 - use fennec-rk3288 configuration #Firefly RK3288 - use firefly-rk3288 configuration #Hisense Chromebook - use chromebook_jerry configuration #Miniarm RK3288 - use miniarm-rk3288 configuration #PopMetal RK3288 - use popmetal-rk3288 configuration #Radxa Rock 2 - use rock2 configuration #ASUS Tinker *RK3188 boards&nbsp;supported: #Radxa Rock - use rock&nbsp;configuration *RK3328 boards&nbsp;supported: #EVB RK3328 - use evb-rk3328 configuration *RK3399 boards&nbsp;supported: #EVB RK3399 - use evb-rk3399 configuration = Get a toolchain = If you haven't done so before, get a suitable&nbsp;toolchain&nbsp;installed and add it&nbsp;to your PATH. In Ubuntu 14.04, you can use below command to install cross compiler for armv7: <pre>sudo apt-get install gcc-arm-linux-gnueabi</pre> Or for ARM64 <pre>sudo apt-get install gcc-aarch64-linux-gnu </pre> Note that the latest U-Boot require version gcc-5.0 and later, we recommand to use linaro 6.3.1. <pre>https://github.com/rockchip-linux/gcc-linaro-6.3.1-2017.05-x86_64_arm-linux-gnueabihf.git</pre> <pre>https://github.com/rockchip-linux/gcc-linaro-6.3.1-2017.05-x86_64_aarch64-linux-gnu.git</pre> = Build U-Boot = == Configure U-Boot == First you need to choose a correct defconfig for your board; When you have determined what <board_name> you want to build, configure: <pre>make CROSS_COMPILE=arm-linux-gnueabi- <board_name>_defconfig</pre> You may need to change the U-Boot function/feature support by modify the defconfig file or, there is also menuconfig to play with settings if you feel like it: <pre>make CROSS_COMPILE=arm-linux-gnueabi- menuconfig </pre> &nbsp; == Buid Rockchip U-Boot == For&nbsp;convenience, Rockchip provide a &nbsp;script 'make.sh' to make it easy to get everything before kernel, this script need toolchain and [https://github.com/rockchip-linux/rkbin rkbin] support. <pre>├── prebuilts │ └── gcc │ └── linux-x86 │ ├── aarch64 │ └── arm ├── rkbin ├── u-boot</pre> expample for build rk3399: <pre>./make.sh rk3399</pre> and&nbsp;use './make.sh -h' for more option. The output will including pre-loader, trust and u-boot image which is ready to use with rockchip upgrade tool,&nbsp; <pre>u-boot/ ├── rk3399_loader_v1.09.112.bin ├── trust.img └── uboot.img</pre> &nbsp; == Build Upstream U-Boot == This is common and available for both Upstream U-Boot and Rockchip U-Boot. For armv7: <pre>make CROSS_COMPILE=arm-linux-gnueabi-</pre> or for ARM64: <pre>make ARCH=arm CROSS_COMPILE=aarch64-linux-gnu-</pre> In order to support debug symbol in ARM DS-5, you may need add ctags in make command: <pre>CFLAGS='-gdwarf-3'</pre> The output including u-boot.bin, spl/u-boot-spl.bin, tpl/u-boot-tpl.bin at this step, and you need to package it with mkimage tool before use with rockchip upagrade tool. Get detail at&nbsp;[http://opensource.rock-chips.com/wiki_Boot_option boot option]. '''Support ATF with SPL FIT image''' For trust support in SPL, we are using FIT image with 'mkimage' cmd in Makefile and its script defined in defconfig: <pre>make u-boot.itb</pre> Note: please copy the trust binary(optee.bin or bl31.elf from rkbin project) to u-boot root directory and rename it to tee.bin(armv7) or bl31.elf(armv8). The output u-boot.itb is a its based package including u-boot-nodtb.bin, board.dtb, and trust binaries which can be used directly with upgrade tool. <pre>├── u-boot │ ├── u-boot.bin │ ├── u-boot.itb │ ├── spl │ │ └── u-boot-spl.bin │ └── tpl │ └── u-boot-tpl.bin</pre> = Install U-Boot = See&nbsp;[http://opensource.rock-chips.com/wiki_Boot_option boot option]&nbsp;about how to - package the available binaries - flash and boot from eMMC/SD card. = Boot cmd = Rockchip U-Boot supports: Android boot(boot_android), Rockchip RKIMG boot(boot_rockchip) and LInux distro boot(distro_bootcmd). Upstream U-Boot supports: Linux distro boot(distro_bootcmd). = Firmware download in U-Boot = In U-Boot, there are multi way to update image into emmc via U-Boot, you can chose any of one easy use for you. fastboot:&nbsp;See&nbsp;[http://opensource.rock-chips.com/wiki_Fastboot fastboot] rockusb: See [[Rockusb|rockusb]] f590d424a385b94501d98fe45e9d8849af9298e8 Roadmap 0 206 2095 2071 2018-12-08T07:29:37Z Admin 1 wikitext text/x-wiki This page discribe the road map of Rockchip Linux SDK. It is just let people know&nbsp;our plan&nbsp;in advance. not promise. It may change without inform you. Please understand. &nbsp; = 2018 Q4 = support&nbsp;Debian 10 buster = 2018 Q4 = support&nbsp;incremental update support ffmpeg hardware decode H264, H265, VP8, VP9, Jpeg support ffmpeg hardware encode H264, Jpeg, VP8 support&nbsp;Debian 10 buster = &nbsp; = a28be2c88f4eea2604fc722b0f6b61a6fa40172a 2096 2095 2018-12-08T07:30:33Z Admin 1 wikitext text/x-wiki This page discribe the road map of Rockchip Linux SDK. It is just let people know&nbsp;our plan&nbsp;in advance. not promise. It may change without inform you. Please understand. &nbsp; = 2018 Q4 = support&nbsp;Debian 10 buster = 2019 Q1 = support ffmpeg hardware decode H264, H265, VP8, VP9, Jpeg support ffmpeg hardware encode H264, Jpeg, VP8 support AB partition&nbsp;in buildroot SDK support silent update&nbsp;in buildroot SDK = &nbsp; = 368b67d406c682657e957f5da6fc86092f2377b0 2097 2096 2018-12-08T07:30:44Z Admin 1 wikitext text/x-wiki This page discribe the road map of Rockchip Linux SDK. It is just let people know&nbsp;our plan&nbsp;in advance. not promise. It may change without inform you. Please understand. &nbsp; = 2018 Q4 = support&nbsp;Debian 10 buster = 2019 Q1 = support ffmpeg hardware decode H264, H265, VP8, VP9, Jpeg support ffmpeg hardware encode H264, Jpeg, VP8 support AB partition&nbsp;in buildroot SDK support silent update&nbsp;in buildroot SDK support lxqt&nbsp;in buildroot SDK support&nbsp;incremental update ca18649bc273aab998e0deaf4befb6e53084c1de 2098 2097 2018-12-08T07:30:57Z Admin 1 wikitext text/x-wiki This page discribe the road map of Rockchip Linux SDK. It is just let people know&nbsp;our plan&nbsp;in advance. not promise. It may change without inform you. Please understand. &nbsp; = 2018 Q4 = support&nbsp;Debian 10 buster = 2019 Q1 = support ffmpeg hardware decode H264, H265, VP8, VP9, Jpeg support ffmpeg hardware encode H264, Jpeg, VP8 support AB partition&nbsp;in buildroot SDK support silent update&nbsp;in buildroot SDK support lxqt&nbsp;in buildroot SDK support&nbsp;incremental update 263358fe3f5d05c72eb75b08aa57d094abde23de 2099 2098 2018-12-08T07:33:06Z Admin 1 wikitext text/x-wiki This page discribe the road map of Rockchip Linux SDK. It is just let people know&nbsp;our plan&nbsp;in advance. not promise. It may change without inform you. Please understand. &nbsp; &nbsp; &nbsp; = 2018 Q4 = support&nbsp;Debian 10 buster &nbsp; = 2019 Q1 = support ffmpeg hardware decode H264, H265, VP8, VP9, Jpeg support ffmpeg hardware encode H264, Jpeg, VP8 support AB partition&nbsp;in buildroot SDK support silent update&nbsp;in buildroot SDK &nbsp; = 2019 Q2 = support lxqt&nbsp;in buildroot SDK support&nbsp;incremental update support mpv &nbsp; 850c59377088539b65cb9bfd6bb983c579016ab8 2100 2099 2018-12-08T07:33:38Z Admin 1 wikitext text/x-wiki This page discribe the road map of Rockchip Linux SDK. It is just let people know&nbsp;our plan&nbsp;in advance. not promise. It may change without inform you. Please understand. = 2018 Q4 = support&nbsp;Debian 10 buster &nbsp; = 2019 Q1 = support ffmpeg hardware decode H264, H265, VP8, VP9, Jpeg support ffmpeg hardware encode H264, Jpeg, VP8 support AB partition&nbsp;in buildroot SDK support silent update&nbsp;in buildroot SDK &nbsp; = 2019 Q2 = support lxqt&nbsp;in buildroot SDK support&nbsp;incremental update support mpv &nbsp; 0fc1de00553010772c878205881220d0d782d6bb 2101 2100 2018-12-08T07:36:30Z Admin 1 wikitext text/x-wiki This page discribe the road map of Rockchip Linux SDK. It is just let people know&nbsp;our plan&nbsp;in advance. not promise. It may change without inform you. Please understand. = 2018 Q4 = support&nbsp;Debian 10 buster &nbsp; = 2019 Q1 = support ffmpeg hardware decode H264, H265, VP8, VP9, Jpeg support ffmpeg hardware encode H264, Jpeg, VP8 support AB partition support silent update &nbsp; = 2019 Q2 = support lxqt&nbsp;in buildroot SDK support&nbsp;incremental update support mpv &nbsp; f5663c8aac2f2bf6ccbbff1b2ba7ad72b88d8350 2102 2101 2018-12-08T07:36:42Z Admin 1 wikitext text/x-wiki This page discribe the road map of Rockchip Linux SDK. It is just let people know&nbsp;our plan&nbsp;in advance. not promise. It may change without inform you. Please understand. = 2018 Q4 = support&nbsp;Debian 10 buster &nbsp; = 2019 Q1 = support ffmpeg hardware decode H264, H265, VP8, VP9, Jpeg support ffmpeg hardware encode H264, Jpeg, VP8 support AB partition support silent update &nbsp; = 2019 Q2 = support lxqt support&nbsp;incremental update support mpv &nbsp; 71bd2c7bd4930d6558a444f4e9064fbd583767f1 2103 2102 2018-12-08T07:37:24Z Admin 1 wikitext text/x-wiki This page discribe the road map of Rockchip Linux SDK. It is just let people know&nbsp;our plan&nbsp;in advance. not promise. It may change without inform you. Please understand. = 2018 Q4 = support&nbsp;Debian 10 buster &nbsp; = 2019 Q1 = support ffmpeg hardware decode MPEG1, 2, 4 support ffmpeg hardware encode H264, Jpeg, VP8 support AB partition support silent update &nbsp; = 2019 Q2 = support lxqt support&nbsp;incremental update support mpv &nbsp; 288342f31da5513fb8dfb4d5a024529ff5ec60b5 2106 2103 2019-01-11T08:20:52Z Admin 1 wikitext text/x-wiki This page discribe the road map of Rockchip Linux SDK. It is just let people know&nbsp;our plan&nbsp;in advance. not promise. It may change without inform you. Please understand. = 2019 Q1 = support&nbsp;Debian 10 buster &nbsp; &nbsp; = 2019 Q2 = support ffmpeg hardware decode MPEG4 support ffmpeg hardware encode H264, Jpeg, VP8 support ffmpeg camera 3A &nbsp; = 2019 Q3 = support AB partition support silent update support mpv &nbsp; = 2019 Q4 = support&nbsp;incremental update 916d73a661fe6a58939a0f393b2b9c2e6e4dc472 2121 2106 2019-04-18T04:14:33Z Admin 1 wikitext text/x-wiki This page discribe the road map of Rockchip Linux SDK. It is just let people know&nbsp;our plan&nbsp;in advance. not promise. It may change without inform you. Please understand. = 2019 Q1 = support&nbsp;Debian 10 buster &nbsp; &nbsp; = 2019 Q2 = support&nbsp;Debian 10 buster support ffmpeg hardware decode MPEG4 support ffmpeg hardware encode H264, Jpeg, VP8 support ffmpeg camera 3A &nbsp; = 2019 Q3 = support AB partition support silent update support mpv &nbsp; = 2019 Q4 = support&nbsp;incremental update bac75b3daef0f06e2370c2869382ea2e35ff59c8 2122 2121 2019-04-18T04:14:48Z Admin 1 wikitext text/x-wiki This page discribe the road map of Rockchip Linux SDK. It is just let people know&nbsp;our plan&nbsp;in advance. not promise. It may change without inform you. Please understand. = 2019 Q2 = support&nbsp;Debian 10 buster support ffmpeg hardware decode MPEG4 support ffmpeg hardware encode H264, Jpeg, VP8 support ffmpeg camera 3A &nbsp; = 2019 Q3 = support AB partition support silent update support mpv &nbsp; = 2019 Q4 = support&nbsp;incremental update f586f9bddd28229bd72626dbd9312690ba7859a7 File:Rockchip RK3399 Excavator User Guide CN V3.0 20190305.pdf 6 222 2107 2019-03-05T10:20:12Z Kever 2 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 Rockchip Kernel 0 104 2109 2033 2019-03-15T03:38:17Z Kever 2 wikitext text/x-wiki == Download Kernel == You can clone the rockchip kernel repository from github which is kernel 4.4 based: <pre>git clone https://github.com/rockchip-linux/kernel.git</pre> &nbsp; = Supported SoCs and Devices = Rockchip kernel 4.4 supports: RK3036, RK3066, RK312X, RK3188, RK322X,[http://opensource.rock-chips.com/wiki_RK3288 RK3288],&nbsp;[http://opensource.rock-chips.com/wiki_RK3328 RK3328], RK3368,&nbsp;[http://opensource.rock-chips.com/wiki_RK3399 RK3399], PX30 &nbsp; = Configure and Build = You will need to use rockchip_linux_defconfig for Linux OS For ARM v7 <pre>make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- rockchip_linux_defconfig make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- -j4 </pre> For ARM V8 <pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- -j4</pre> Then you can get Image/zImage and dtb file and used for LInux Distro boot. '''Rockchip RKIMG format image''' RKIMG is a format customized by Rockchip from Android boot image, usually only used by kernel developers. It's support by Rockchip&nbsp; U-Boot. For example, build for rk3399-evb with&nbsp;command: <pre>make rk3399-evb.img</pre> The output will be as below, boot.img is ramdisk with rockchip header, kernel is zImage/Image with rockchip header, resource is dtb and boot logo with rockchip header. <pre>kernel/ ├── boot.img ├── kernel.img └── resource.img</pre> = Install Boot/kernel for Distro = We use distro boot in U-Boot, so we need to make a boot partition for U-Boot with kernel image and dtb inside. <pre>mkdir boot cp arch/arm64/boot/dts/rockchip/rk3399-evb.dtb boot/rk3399.dtb cp arch/arm64/boot/Image boot/</pre> Add&nbsp;[http://opensource.rock-chips.com/images/6/60/Boot_extlinux.zip extlinux/extlinux.conf]&nbsp;for distro boot. <pre>mkdir boot/extlinux vi boot/extlinux/extlinux.conf</pre> &nbsp; <pre>label rockchip-kernel-4.4 kernel /Image fdt /rk3399.dtb append earlycon=uart8250,mmio32,0xff1a0000 root=PARTUUID=B921B045-1D rootwait rootfstype=ext4 init=/sbin/init</pre> For armv7 <pre>label rockchip-kernel-4.4 kernel /zImage fdt /rk3288.dtb append earlyprintk console=ttyS2,1500000n8 rw root=PARTUUID=69dad710-2c rootwait rootfstype=ext4 init=/sbin/init</pre> You need to change the base address of debug UART, root partition for your board. Pls reference to&nbsp;[http://opensource.rock-chips.com/wiki_Partitions rockchip Linux parttion definition]&nbsp;for rootfs partition and where boot to flash. After all these files prepare completely, we write the file to the boot partition Folder tree for armv8(rk3399, rk3328): <pre>boot ├── extlinux │ └── extlinux.conf ├── Image └── rk3399-evb.dtb</pre> Folder tree for armv7(rk3288), rootfs is optional, and we usually use compressed 'zImage': <pre>boot_rk3288/ ├── extlinux │ └── extlinux.conf ├── rk3288-evb-rk808.dtb ├── rootfs.cpio.gz └── zImage </pre> == Generate ext2fs&nbsp;boot partition == by genext2fs: <pre>genext2fs -b 32768 -B $((32*1024*1024/32768)) -d boot/ -i 8192 -U boot_rk3399.img</pre> According to Rockchip partition definition, you need to flash this image to boot partiton which offset is 0x8000. &nbsp; == Generate fatfs boot partition == === Generate boot.img in fatfs === Below commands can generate a fatfs boot.img <pre>dd if=/dev/zero of=boot.img bs=1M count=32 sudo mkfs.fat boot.img mkdir tmp sudo mount boot.img tmp/ cp -r boot/* tmp/ umount tmp</pre> Done! Flash this boot.img to boot partition, which is offset 0x8000 in Rockchip partition definition. === Update boot.img via U-Boot in target === After flash and&nbsp;boot the U-Boot, write the gpt table from default partition table <pre>gpt write mmc 0 $partitions gpt verify mmc 0 $partitions</pre> connect target to PC and start the ums in command line: <pre>ums 0 mmc 1:6</pre> We should able to see a device connect to PC, formate and copy data into the partition(dev/sdb6 for example). <pre>sudo mkfs.fat /dev/sdb6 cp -r boot/* /media/machine/9F35-9565/ </pre> Done! &nbsp; == Boot from U-Boot == If you are using genext2fs to genarate the boot.img, you need write the gpt table in U-Boot command line: <pre>gpt write mmc 0 $partitions</pre> Then boot from eMMC or reset: <pre>boot</pre> If everything is OK, you should able to see the U-Boot log like this: <pre>switch to partitions #0, OK mmc0(part 0) is current device Scanning mmc 0:6... Found /extlinux/extlinux.conf Retrieving file: /extlinux/extlinux.conf 205 bytes read in 82 ms (2 KiB/s) 1: upstream-4.10 Retrieving file: /Image 13484040 bytes read in 1833 ms (7 MiB/s) append: earlycon=uart8250,mmio32,0xff1a0000 console=ttyS2,1500000n8 rw root=/dev/mmcblk0p7 rootwait rootfstype=ext4 init=/sbin/init Retrieving file: /rk3399.dtb 61714 bytes read in 54 ms (1.1 MiB/s) ## Flattened Device Tree blob at 01f00000 Booting using the fdt blob at 0x1f00000 Loading Device Tree to 000000007df14000, end 000000007df26111 ... OK Starting kernel ...</pre> 7375a732f98565dbb20d0f375b695bf1af6931dd File:Px30 mini evb v10 20180528.pdf 6 223 2111 2019-04-18T03:32:14Z Admin 1 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 File:Rk evb 1808 lp3d178p132sd6 v12 .pdf 6 224 2112 2019-04-18T03:33:06Z Admin 1 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 File:RK EVB RK3399PRO LP3S178P332SD8 V11 20181113 RZF.pdf 6 225 2113 2019-04-18T03:33:36Z Admin 1 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 File:Rockchip PX30 TRM V1.0 Part1-20180813.pdf 6 228 2116 2019-04-18T03:38:58Z Admin 1 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 File:Rockchip RK3399Pro Datasheet V1.1 20181214.pdf 6 230 2118 2019-04-18T03:42:36Z Admin 1 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 File:Rockchip RK3399Pro TRM V1.0 Part1-20190122.pdf 6 231 2119 2019-04-18T03:43:40Z Admin 1 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 Uboot 0 200 2123 1932 2019-04-22T01:19:17Z Admin 1 wikitext text/x-wiki We recommand use below command to build U-Boot. It will use&nbsp;RK_UBOOT_DEFCONFIG in&nbsp;device/rockchip/.BoardConfig.mk to build U-Boot. Please modify RK_UBOOT_DEFCONFIG if it is not match your board.&nbsp; In your linux SDK root directory. <pre>./build.sh uboot </pre> Or, you can use a separate command. In your linux SDK root directory. enter to U-Boot directory.&nbsp; <pre>cd u-boot </pre> For RK3399&nbsp;sapphire-excavator board, VS-RK3399 board,&nbsp;Rock960 board. Use below command to build the U-Boot:&nbsp; <pre>./make.sh evb-rk3399 </pre> For firefly-rk3399&nbsp;board. Use below command to build the U-Boot:&nbsp; <pre>./make.sh firefly-rk3399 </pre> For all other rk3399&nbsp;board. Use below command to build the U-Boot:&nbsp; <pre>./make.sh rk3399 </pre> For firefly-rk3288 board. Use below command to build the U-Boot:&nbsp; <pre>./make.sh firefly-rk3288 </pre> For rk3288-evb-act8846&nbsp;board. Use below command to build the U-Boot:&nbsp; <pre>./make.sh evb-rk3288 </pre> For rk3288-evb-rk808&nbsp;board. Use below command to build the U-Boot:&nbsp; <pre>./make.sh fennec-rk3288 </pre> For rk3288 tinker&nbsp;board. Use below command to build the U-Boot:&nbsp; <pre>./make.sh tinker-rk3288 </pre> For phytec-rk3288&nbsp;board. Use below command to build the U-Boot:&nbsp; <pre>./make.sh phycore-rk3288 </pre> For rk3288 miqi&nbsp;board. Use below command to build the U-Boot:&nbsp; <pre>./make.sh miqi-rk3288 </pre> For rk3288-evb-rk1608 board. Use below command to build the U-Boot:&nbsp; <pre>./make.sh evb-rk3288-rk1608</pre> For all other rk3288 board. Use below command to build the U-Boot:&nbsp; <pre>./make.sh rk3288</pre> For all rk1808 board. Use below command to build the U-Boot:&nbsp; <pre>./make.sh rk1808</pre> For px30 board. Use below command to build the U-Boot:&nbsp; <pre>./make.sh evb-px30</pre> For all other px30 board. Use below command to build the U-Boot:&nbsp; <pre>./make.sh px30</pre> For all RK3399Pro board. Use below command to build the U-Boot:&nbsp; <pre>./make.sh rk3399pro</pre> It will generate 3 binary image: rk3xxx_loader_vx.xx.xxx.bin, trust.img, uboot.img.&nbsp; rk3xxx_loader_vx.xx.xxx.bin: Rockchip miniloader. rk3xxx is the part number of the chip. vx.xx.xxx is the version number. Please flash this binary to miniloader partition.&nbsp; trust.img:&nbsp;ARM Trusted Firmware, Please flash this binary to trust partition uboot.img: The U-Boot image, Please flash this binary to uboot partition <pre>u-boot/ ├── rk3399_loader_v1.09.112.bin ├── trust.img └── uboot.img </pre> Rockchip now only offically support miniloader+U-Boot boot to simplify the customer product design.&nbsp; You can refer to&nbsp;[http://opensource.rock-chips.com/wiki_Boot_option boot option]&nbsp;page for more boot path. But do remember that you should do it all by your own. Rockchip won't provide technical support for these boot option.&nbsp; 38455eef7539955b6640c53b68560e0557721463 2124 2123 2019-04-22T01:21:30Z Admin 1 wikitext text/x-wiki We recommand use below command to build U-Boot. It will use&nbsp;RK_UBOOT_DEFCONFIG in&nbsp;device/rockchip/.BoardConfig.mk to build U-Boot. Please modify RK_UBOOT_DEFCONFIG if it don't match your board.&nbsp; In your linux SDK root directory. <pre>./build.sh uboot </pre> Or, you can use a separate command. In your linux SDK root directory. enter to U-Boot directory.&nbsp; <pre>cd u-boot </pre> For RK3399&nbsp;sapphire-excavator board, VS-RK3399 board,&nbsp;Rock960 board. Use below command to build the U-Boot:&nbsp; <pre>./make.sh evb-rk3399 </pre> For firefly-rk3399&nbsp;board. Use below command to build the U-Boot:&nbsp; <pre>./make.sh firefly-rk3399 </pre> For all other rk3399&nbsp;board. Use below command to build the U-Boot:&nbsp; <pre>./make.sh rk3399 </pre> For firefly-rk3288 board. Use below command to build the U-Boot:&nbsp; <pre>./make.sh firefly-rk3288 </pre> For rk3288-evb-act8846&nbsp;board. Use below command to build the U-Boot:&nbsp; <pre>./make.sh evb-rk3288 </pre> For rk3288-evb-rk808&nbsp;board. Use below command to build the U-Boot:&nbsp; <pre>./make.sh fennec-rk3288 </pre> For rk3288 tinker&nbsp;board. Use below command to build the U-Boot:&nbsp; <pre>./make.sh tinker-rk3288 </pre> For phytec-rk3288&nbsp;board. Use below command to build the U-Boot:&nbsp; <pre>./make.sh phycore-rk3288 </pre> For rk3288 miqi&nbsp;board. Use below command to build the U-Boot:&nbsp; <pre>./make.sh miqi-rk3288 </pre> For rk3288-evb-rk1608 board. Use below command to build the U-Boot:&nbsp; <pre>./make.sh evb-rk3288-rk1608</pre> For all other rk3288 board. Use below command to build the U-Boot:&nbsp; <pre>./make.sh rk3288</pre> For all rk1808 board. Use below command to build the U-Boot:&nbsp; <pre>./make.sh rk1808</pre> For px30 board. Use below command to build the U-Boot:&nbsp; <pre>./make.sh evb-px30</pre> For all other px30 board. Use below command to build the U-Boot:&nbsp; <pre>./make.sh px30</pre> For all RK3399Pro board. Use below command to build the U-Boot:&nbsp; <pre>./make.sh rk3399pro</pre> It will generate 3 binary image: rk3xxx_loader_vx.xx.xxx.bin, trust.img, uboot.img.&nbsp; rk3xxx_loader_vx.xx.xxx.bin: Rockchip miniloader. rk3xxx is the part number of the chip. vx.xx.xxx is the version number. Please flash this binary to miniloader partition.&nbsp; trust.img:&nbsp;ARM Trusted Firmware, Please flash this binary to trust partition uboot.img: The U-Boot image, Please flash this binary to uboot partition <pre>u-boot/ ├── rk3399_loader_v1.09.112.bin ├── trust.img └── uboot.img </pre> Rockchip now only offically support miniloader+U-Boot boot to simplify the customer product design.&nbsp; You can refer to&nbsp;[http://opensource.rock-chips.com/wiki_Boot_option boot option]&nbsp;page for more boot path. But do remember that you should do it all by your own. Rockchip won't provide technical support for these boot option.&nbsp; 7c098f80c9bdc44dc7a95ad268ededa2d85461fc Kernel 0 201 2125 1943 2019-04-22T01:29:47Z Admin 1 wikitext text/x-wiki We recommand use below command to build kernel. It will use&nbsp;RK_KERNEL_DEFCONFIG and RK_KERNEL_DTS in&nbsp;device/rockchip/.BoardConfig.mk to build kernel. Please modify RK_KERNEL_DEFCONFIG and RK_KERNEL_DTS if it don't&nbsp;match your board.&nbsp; In your linux SDK root directory. <pre>./build.sh kernel </pre> Or, you can use a separate command.&nbsp;In your linux SDK root directory. enter to kernel directory.&nbsp; <pre>cd kernel </pre> Config your kernel. For ARM v7: RK3288 <pre>make ARCH=arm rockchip_linux_defconfig </pre> For ARM V8: RK3399, RK3328, RK1808, RK3399Pro, PX30 <pre>make ARCH=arm64 rockchip_linux_defconfig </pre> For RK3399&nbsp;sapphire-excavator board, VS-RK3399 board,&nbsp;Rock960 board. Use below command to build the kernel:&nbsp; <pre>make ARCH=arm64 rk3399-sapphire-excavator-linux.img -j8 </pre> For firefly-rk3399&nbsp;board. Use below command to build the kernel:&nbsp; <pre>make ARCH=arm64 rk3399-firefly-linux.img -j8 </pre> For rk1808-evb&nbsp;board. Use below command to build the kernel:&nbsp; <pre>make ARCH=arm64 rk1808-evb-v10.img -j8</pre> For rk3399pro-evb board. Use below command to build the kernel:&nbsp; <pre>make ARCH=arm64 rk3399pro-evb-v11-linux.img -j8</pre> For px30-evb board. Use below command to build the kernel:&nbsp; <pre>make ARCH=arm64 px30-evb-ddr3-v10-linux.img -j8</pre> For firefly-rk3288 board. Use below command to build the kernel:&nbsp; <pre>make ARCH=arm rk3288-firefly.img -j8 </pre> For rk3288-evb-act8846&nbsp;board. Use below command to build the kernel:&nbsp; <pre>make ARCH=arm rk3288-evb-act8846.img -j8 </pre> For rk3288-evb-rk808&nbsp;board. Use below command to build the kernel:&nbsp; <pre>make ARCH=arm rk3288-evb-rk808-linux.img -j8 </pre> For rk3288 tinker&nbsp;board. Use below command to build the kernel:&nbsp; <pre>make ARCH=arm rk3288-miniarm.img -j8 </pre> For phytec-rk3288&nbsp;board. Use below command to build the kernel:&nbsp; <pre>make ARCH=arm rk3288-phycore-rdk.img -j8 </pre> For rk3288 miqi&nbsp;board. Use below command to build the kernel:&nbsp; <pre>make ARCH=arm rk3288-miqi.img -j8 </pre> For rk3288-evb-rk1608 board. Use below command to build the kernel:&nbsp; <pre>make ARCH=arm rk3288-evb-rk1608.img -j8</pre> It will generate boot.img(ARM v8) or zboot.img(ARM v7):&nbsp;&nbsp;it pack kernel image and&nbsp;resource image into Android boot image format. Please flash this binary to boot partition 879634ff710d0a1fbf825e267d0ad8db61c01a4b RK3288 0 20 2128 1917 2019-04-25T03:06:30Z Kever 2 wikitext text/x-wiki {{Infobox SoC | title = RK3288 | image = [[File:rk3288_soc.png|200px]] | manufacturer = Rockchip | process = 28nm | cpu = Quad-Core ARM Cortex-A17 | ltwo = | extensions = | memory = 2-channel LPDDR3/LPDDR2/DDR3/DDR3L | gpu = ARM Mali-T764 | vpu = | apu = | video = HDMI 1.4, MIPI DSI, LVDS, RGB LCD | audio = I2S, PCM | network = | storage = 4x SD Card, eMMC, NAND | usb = OTG, 2x Host | other = | release_date = June 2014 | website = http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html }} &nbsp; &nbsp; &nbsp; Integrated with a Quad-Core [https://en.wikipedia.org/wiki/ARM_Cortex-A17 Cortex-A17]&nbsp;which up to 1.8GHz and ARMMali-T764&nbsp;which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant&nbsp;interfaces provide&nbsp;a friendly solution for product&nbsp;development. Futhermore &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; = Overview = The RK3288 offers<big><var>&nbsp;</var></big>an extensible, <big><small><tt>leading&nbsp;performance</tt></small></big>, long-standing heritage platform,ideally suited for &nbsp;set-top box solution, tablet and chromebook.The platform is integrated with a Quad-Core Cortex-A17 which up to 1.8GHz and ARM Mali-T764&nbsp;which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant&nbsp;interfaces provide&nbsp;a friendly solution for product&nbsp;development. Futhermore, the power consumption is&nbsp;optimal for applications such as imaging/video, communication and broadband infrastructure,and performance audio applications. &nbsp; &nbsp; = RK3288 SoC Features = {| border="0" cellpadding="1" cellspacing="1" style="width: 972px;" |- | style="width: 530px;" | *CPU: **Quad Core Cortex-A17&nbsp;up to 1.8GHz **32KB L1-Cache **1MB L2-Cache *Internal SRAM **96KB total **First 16KB used by Bootrom when bootup *GPU: **ARM Mali-T764 GPU, with TE, ASTC, AFBC technology **Quad core 3D Graphics engine **Dual core 2D Graphics engine **Comply with&nbsp;OpenGL ES1.1/2.0/3.0, OpenVG1.1, OpenCL, DirectX11 *Display: **4Kx2K@60fpsHDMI2.0 **Up to 3840X2160 display resolution **Support dual-channel LVDS/dual-channel MIPI-DSI/eDP1.1 *Camera: **Support up to 5M pixels **8bits/10bits/12bits raw data interface&nbsp; *Memory: **Dual channels 64-bit DRAM controller **Support DDR3/DDR3L, LPDDR2, LPDDR3 *Connectivity: **Embedded 13M ISP and MIPI-CSI2 interface *Audio: **I2S/PCM with 8 channels | style="width: 429px;" | [[File:3288.png|RTENOTITLE]] |} &nbsp; &nbsp; = Documentation = #[[Media:Rockchip_RK3288_Datasheet_V2.2-20170301.pdf|Media:Rockchip RK3288 Datasheet V2.2-20170301.pdf]] #[[Media:Rockchip_RK3288_TRM_V1.2_Part1-20170321.pdf|Rockchip RK3288 TRM V1.2 Part1-20170321.pdf]] #[http://opensource.rock-chips.com/images/a/ae/Rk3288_hardware_reference.zip Rk3288_hardware_reference.zip] &nbsp; = Software = See&nbsp;[http://opensource.rock-chips.com/wiki_Linux_user_guide Linux User Guide]&nbsp;setup LInux OS generally; See&nbsp;[http://opensource.rock-chips.com/wiki_U-Boot U-Boot]&nbsp;guide to develop U-Boot; See&nbsp;[http://opensource.rock-chips.com/wiki_Rockchip_Kernel Rockchip kernel]&nbsp;to develop kernel; See&nbsp;[http://opensource.rock-chips.com/wiki_Buildroot buildroot and]&nbsp;[http://opensource.rock-chips.com/wiki_Debian debian&nbsp;to]&nbsp;develop and rootfs. &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" class="table_style" |- ! '''chip''' ! '''Kernel eMMC index''' ! '''Kernel SD index''' ! '''Uboot eMMC index''' ! '''Uboot SD index''' ! '''Baud speed''' |- | RK3288 | 1 | 0 | 0 | 1 | 115200 |} = &nbsp; = = References = #[https://en.wikipedia.org/wiki/ARM_Cortex-A17 https://en.wikipedia.org/wiki/ARM_Cortex-A17] #[http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html] 1160ca97d54afd13b17bf96e13706a7f0c323bda RK3328 0 24 2129 1920 2019-04-25T03:14:41Z Kever 2 wikitext text/x-wiki {{Infobox SoC | title = RK3328 | image = [[File:rk3328_soc.png|250px]] | manufacturer = Rockchip | process = 28nm | cpu = Quad-Core ARM Cortex-A53 | ltwo = | extensions = | memory = DDR3/DDR3L/LPDDR3/DDR4 | gpu = Mali-450MP4 | vpu = 4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps | apu = | video = HDMI 2.0a, | audio = 8 channels I2S/PDM | storage = 4x SD Card, eMMC | usb = 1* USB2.0 otg, 1* USB 2.0 Host, 1* USB 3.0 Host | other = | release_date = December 2016 | website = http://www.rock-chips.com/a/en/products/RK33_Series/2017/0118/829.html | Product Page }} &nbsp; &nbsp; &nbsp; = Overview = RK3328 offers a high-integration and power efficiency&nbsp;SOC for 4K HDR OTT/IPTV. It support HDR10 ,HLG HDR ,&nbsp;4K 10bits 30fps H.264 video decoder and 4K 10bits 60fps H265 video decoder.Comply with lots of high-performance interface,such as multi-channel display with HDMI2.0a, TV Encoder, the Quad-core GPU can acheive&nbsp;high-resolution display and game. == Cortex-A53 == Quad-core Cortex-A53 is integrated with separate Neon and FPU coprocessor, also with shared L2 Cache.&nbsp; [[File:3328.png|RTENOTITLE]] = RK3328 SoC Features = {| border="0" cellpadding="1" cellspacing="1" style="width: 972px;" |- | style="width: 530px;" | *CPU: **ARM Cortex-A53&nbsp;Quad-Core&nbsp; **32KB L1&nbsp;I cache and D cache for each CPU **256KB L2 cache *Internal SRAM **32KB total *GPU **&nbsp;Mali-450MP4 **Comply with Open GL ES1.1/2.0 *Multi-Media: **4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps **1080P other video decoders (VC-1, MPEG-1/2/4, VP8) **1080P video encoder for H.264 and H.265 **Support HDR10 ,HLG HDR , Support conversion between SDR and HDR *Display: **HDMI 2.0a for 4K@60Hz with HDCP 1.4/2.2 **Support conversion between Rec.2020 and Rec.709 *Memory: **LPDDR3/DDR3/DDR3L/DDR4 **eMMC 4.51,SDCard, SPI Flash *External interface **USB 2.0 x2 and USB 3.0 x1 **100M Ethernet w/ built-in PHY **Built-in CVBS and audio DAC **8 channels I2S IO and 8 chanel digital PDM input (for MIC array) | style="width: 429px;" | &nbsp; |} &nbsp; = Documentation = #[http://opensource.rock-chips.com/images/d/d7/Rockchip_RK3328_Datasheet_V1.1-20170309.pdf Rockchip_RK3328_Datasheet_V1.1-20170309.pdf] #[http://opensource.rock-chips.com/images/d/d5/RK3328_Linux-Debian_V1.1_Development_Guide-20170711.pdf RK3328_Linux-Debian_V1.1_Development_Guide-20170711.pdf] #[[Media:Rockchip_RK3328TRM_V1.1-Part1-20170321.pdf|Rockchip RK3328TRM V1.1-Part1-20170321.pdf]] #[[Media:Rk3328_hardware_reference.zip|Rk3328 hardware reference.zip]] &nbsp; = Software = See&nbsp;[http://opensource.rock-chips.com/wiki_Linux_user_guide Linux User Guide]&nbsp;setup LInux OS generally; See&nbsp;[http://opensource.rock-chips.com/wiki_U-Boot U-Boot]&nbsp;guide to develop U-Boot; See&nbsp;[http://opensource.rock-chips.com/wiki_Rockchip_Kernel Rockchip kernel]&nbsp;to develop kernel; See&nbsp;[http://opensource.rock-chips.com/wiki_Buildroot buildroot and]&nbsp;[http://opensource.rock-chips.com/wiki_Debian debian&nbsp;to]&nbsp;develop and rootfs. &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" class="table_style" |- ! '''chip''' ! '''Kernel eMMC index''' ! '''Kernel SD index''' ! '''Uboot eMMC index''' ! '''Uboot SD index''' ! '''Baud speed''' |- | RK3328 | 2 | 0 | 0 | 1 | 1500000 |} &nbsp; = References = 1.[https://en.wikipedia.org/wiki/ARM_Cortex-A53 https://en.wikipedia.org/wiki/ARM_Cortex-A53] &nbsp; 27b26a8205882f1ac737e680365a8b98cc85e5ca Main Page 0 16 2130 2073 2019-05-16T05:07:09Z Admin 1 wikitext text/x-wiki &nbsp; <span style="font-size:xx-large;">'''[[Linux_SDK|Rockchip Linux SDK]]'''</span><span style="font-size:small;">(click to enter)</span> <span style="font-size:small;">Rockchip Linux SDK is an&nbsp;official Linux release.&nbsp; Please contact&nbsp;'''service@rock-chips.com''' if you need business support.&nbsp;This page is for open source community. Please go to [[Linux_SDK|here]]&nbsp;if you want to use&nbsp;Rockchip Linux SDK</span> *[[Download|<span style="font-size:large;">Firmware Download</span>]] **<span style="font-size:small;">Please go to [[Download|here]] if you want to download prebuilt Image for Rockchip Linux SDK</span> &nbsp; = '''Source code''' = Rockchip provide open source software on Github including fully support for Linux Based OS: *Github: [https://github.com/rockchip-linux rockchip-linux] You can also find software for Rockchip SoCs from Upstream: *[https://www.kernel.org/ Linux kernel] *[http://www.denx.de/wiki/U-Boot/WebHome U-Boot] *[https://github.com/ARM-software/arm-trusted-firmware ARM Trusted Firmware] *[https://github.com/OP-TEE/optee_os OP-TEE OS] If you are using a Chrombook with Rockchip SoC, you can use: *[https://chromium.googlesource.com/chromiumos/third_party/coreboot Chromium OS&nbsp;Coreboot] *[https://chromium.googlesource.com/chromiumos/third_party/kernel Chromium OS kernel] &nbsp; &nbsp; = '''Hardware Support''' = Rockchip official hardware document release(please click to enter soc detail or download): {| border="1" cellpadding="0" cellspacing="0" class="table_style" |- ! style="width:92px;" | <p style="text-align: center;">SoC</p> ! style="width:286px;" | <p style="text-align: center;">Description</p> ! style="width:189px;" | <p style="text-align: center;">Download</p> |- | style="text-align: center;" | PX30 | Quad-core Cortex-A35 CPU Mali-G31 MP2 GPU | TRM Datasheet Schematic&Layout Guide |- | style="text-align: center;" | RK1808 | Dual-core Cortex-A35 CPU NPU up to 3.0TOPs | TRM Datasheet Schematic&Layout Guide |- | style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p> | style="width:286px;" | Quad-core Cortex-A53 CPU MALI-450 MP2 GPU | style="width:189px;" | [[Media:Rockchip_RK3328TRM_V1.1-Part1-20170321.pdf|TRM]] [[Media:Rockchip_RK3328_Datasheet_V1.1-20170309.pdf|Datasheet]] [[Media:Rk3328_hardware_reference.zip|Schematic&Layout Guide]] |- | style="width: 92px; text-align: center;" | [[RK3399|RK3399]] | style="width:286px;" | Dual-core Cortex-A72 Quad-core Cortex-A53 CPU MALI-T860 MP4 GPU | style="width:189px;" | [[Media:Rockchip_RK3399TRM_V1.4_Part1-20170408.pdf|TRM]] [[Media:Rockchip_RK3399_Datasheet_V1.8-20180529.pdf|Datasheet]] [[Media:Rk3399_hardware_reference.zip|Schematic&Layout Guide]] |- | style="text-align: center;" | RK3399Pro | Dual-core Cortex-A72 Quad-core Cortex-A53 CPU MALI-T860 MP4 GPU NPU up to 3.0TOPS | TRM Datasheet Schematic&Layout Guide |- | style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p> | style="width:286px;" | Quad-core Cortex-A17 CPU MALI-T760 MP4 GPU | style="width:189px;" | [[Media:Rockchip_RK3288_TRM_V1.2_Part1-20170321.pdf|TRM]] [[Media:Rockchip_RK3288_Datasheet_V2.4-20180530.pdf|Datasheet]] [[Media:Rk3288_hardware_reference.zip|Schematic&Layout Guide]] |} &nbsp; &nbsp; <span style="font-size:medium;">'''Hardware dev board on market:'''</span> [[Devices|Device List]] &nbsp; = '''Software development&nbsp;''' = *'''Software Feature Supoort status''' **'''[[Status_Matrix|Status_Matrix]]''' *'''BSP''' **[[U-Boot|U-Boot]]&nbsp; **[[Rockchip_Kernel|Kernel]] **[[ATF|ARM Trusted&nbsp;Firmware]] **[[Distribution|Distro]] *'''Graphics and Multimedia&nbsp;user guide''' **[[Graphics|Graphics and Display]] **[[Mpp|Multimedia--Video Codec]] **[[Rockchip-isp1|Multimedia--Camera]] *'''Tool and Firmware Upgrade''' **[[Boot_option|Boot Option]] **[[Rockusb|Rockusb]] **[[tools|Firmware Upgrade Tools]] '''<span style="font-size:xx-large;">Feedback</span>''' Any question about software module on github, please ask&nbsp;at issue page of github project. If you have any other questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website, Email-to: '''opensource@rock-chips.com''' ab2b8afe9f19c5d5f9663e25fbc70a01f598dd74 2133 2130 2019-06-03T02:25:55Z Admin 1 wikitext text/x-wiki &nbsp; <span style="font-size:xx-large;">'''[[Linux_SDK|Rockchip Linux SDK]]'''</span><span style="font-size:small;">(click to enter)</span> <span style="font-size:small;">Rockchip Linux SDK is an&nbsp;official Linux release.&nbsp; Please contact&nbsp;'''service@rock-chips.com''' if you need business support.&nbsp;This page is for open source community. Please go to [[Linux_SDK|here]]&nbsp;if you want to use&nbsp;Rockchip Linux SDK</span> *[[Download|<span style="font-size:large;">Firmware Download</span>]] **<span style="font-size:small;">Please go to [[Download|here]] if you want to download prebuilt Image for Rockchip Linux SDK</span> &nbsp; = '''Source code''' = Rockchip provide open source software on Github including fully support for Linux Based OS: *Github: [https://github.com/rockchip-linux rockchip-linux] You can also find software for Rockchip SoCs from Upstream: *[https://www.kernel.org/ Linux kernel] *[http://www.denx.de/wiki/U-Boot/WebHome U-Boot] *[https://github.com/ARM-software/arm-trusted-firmware ARM Trusted Firmware] *[https://github.com/OP-TEE/optee_os OP-TEE OS] If you are using a Chrombook with Rockchip SoC, you can use: *[https://chromium.googlesource.com/chromiumos/third_party/coreboot Chromium OS&nbsp;Coreboot] *[https://chromium.googlesource.com/chromiumos/third_party/kernel Chromium OS kernel] &nbsp; &nbsp; = '''Hardware Support''' = Rockchip official hardware document release(please click to enter soc detail or download): {| border="1" cellpadding="0" cellspacing="0" class="table_style" |- ! style="width:92px;" | <p style="text-align: center;">SoC</p> ! style="width:286px;" | <p style="text-align: center;">Description</p> ! style="width:189px;" | <p style="text-align: center;">Download</p> |- | style="text-align: center;" | PX30 | Quad-core Cortex-A35 CPU Mali-G31 MP2 GPU | TRM [[Media:Rockchip_PX30_Datasheet_V1.0-20190515-Open_Source.pdf|Datasheet]] Schematic&Layout Guide |- | style="text-align: center;" | RK1808 | Dual-core Cortex-A35 CPU NPU up to 3.0TOPs | TRM [[Media:Rockchip_RK1808_Datasheet_V1.2_20190527.pdf|Datasheet]] Schematic&Layout Guide |- | style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p> | style="width:286px;" | Quad-core Cortex-A53 CPU MALI-450 MP2 GPU | style="width:189px;" | [[Media:Rockchip_RK3328TRM_V1.1-Part1-20170321.pdf|TRM]] [[Media:Rockchip_RK3328_Datasheet_V1.1-20170309.pdf|Datasheet]] [[Media:Rk3328_hardware_reference.zip|Schematic&Layout Guide]] |- | style="width: 92px; text-align: center;" | [[RK3399|RK3399]] | style="width:286px;" | Dual-core Cortex-A72 Quad-core Cortex-A53 CPU MALI-T860 MP4 GPU | style="width:189px;" | [[Media:Rockchip_RK3399TRM_V1.4_Part1-20170408.pdf|TRM]] [[Media:Rockchip_RK3399_Datasheet_V1.8-20180529.pdf|Datasheet]] [[Media:Rk3399_hardware_reference.zip|Schematic&Layout Guide]] |- | style="text-align: center;" | RK3399Pro | Dual-core Cortex-A72 Quad-core Cortex-A53 CPU MALI-T860 MP4 GPU NPU up to 3.0TOPS | TRM Datasheet Schematic&Layout Guide |- | style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p> | style="width:286px;" | Quad-core Cortex-A17 CPU MALI-T760 MP4 GPU | style="width:189px;" | [[Media:Rockchip_RK3288_TRM_V1.2_Part1-20170321.pdf|TRM]] [[Media:Rockchip_RK3288_Datasheet_V2.4-20180530.pdf|Datasheet]] [[Media:Rk3288_hardware_reference.zip|Schematic&Layout Guide]] |} &nbsp; &nbsp; <span style="font-size:medium;">'''Hardware dev board on market:'''</span> [[Devices|Device List]] &nbsp; = '''Software development&nbsp;''' = *'''Software Feature Supoort status''' **'''[[Status_Matrix|Status_Matrix]]''' *'''BSP''' **[[U-Boot|U-Boot]]&nbsp; **[[Rockchip_Kernel|Kernel]] **[[ATF|ARM Trusted&nbsp;Firmware]] **[[Distribution|Distro]] *'''Graphics and Multimedia&nbsp;user guide''' **[[Graphics|Graphics and Display]] **[[Mpp|Multimedia--Video Codec]] **[[Rockchip-isp1|Multimedia--Camera]] *'''Tool and Firmware Upgrade''' **[[Boot_option|Boot Option]] **[[Rockusb|Rockusb]] **[[tools|Firmware Upgrade Tools]] '''<span style="font-size:xx-large;">Feedback</span>''' Any question about software module on github, please ask&nbsp;at issue page of github project. If you have any other questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website, Email-to: '''opensource@rock-chips.com''' 7a1dcec1c46714ffb7b5f7b67e1f9257cfba61ed File:Rockchip RK1808 Datasheet V1.2 20190527.pdf 6 232 2131 2019-06-03T02:24:02Z Kever 2 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 File:Px30 hardware reference.zip 6 234 2134 2019-06-03T02:58:53Z Admin 1 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 File:Rk1808 hardware reference.zip 6 235 2135 2019-06-03T02:59:20Z Admin 1 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 File:Rk3399pro hardware reference.zip 6 236 2136 2019-06-03T02:59:48Z Admin 1 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 Main Page 0 16 2137 2133 2019-06-03T03:02:22Z Admin 1 wikitext text/x-wiki &nbsp; <span style="font-size:xx-large;">'''[[Linux_SDK|Rockchip Linux SDK]]'''</span><span style="font-size:small;">(click to enter)</span> <span style="font-size:small;">Rockchip Linux SDK is an&nbsp;official Linux release.&nbsp; Please contact&nbsp;'''service@rock-chips.com''' if you need business support.&nbsp;This page is for open source community. Please go to [[Linux_SDK|here]]&nbsp;if you want to use&nbsp;Rockchip Linux SDK</span> *[[Download|<span style="font-size:large;">Firmware Download</span>]] **<span style="font-size:small;">Please go to [[Download|here]] if you want to download prebuilt Image for Rockchip Linux SDK</span> &nbsp; = '''Source code''' = Rockchip provide open source software on Github including fully support for Linux Based OS: *Github: [https://github.com/rockchip-linux rockchip-linux] You can also find software for Rockchip SoCs from Upstream: *[https://www.kernel.org/ Linux kernel] *[http://www.denx.de/wiki/U-Boot/WebHome U-Boot] *[https://github.com/ARM-software/arm-trusted-firmware ARM Trusted Firmware] *[https://github.com/OP-TEE/optee_os OP-TEE OS] If you are using a Chrombook with Rockchip SoC, you can use: *[https://chromium.googlesource.com/chromiumos/third_party/coreboot Chromium OS&nbsp;Coreboot] *[https://chromium.googlesource.com/chromiumos/third_party/kernel Chromium OS kernel] &nbsp; &nbsp; = '''Hardware Support''' = Rockchip official hardware document release(please click to enter soc detail or download): {| border="1" cellpadding="0" cellspacing="0" class="table_style" |- ! style="width:92px;" | <p style="text-align: center;">SoC</p> ! style="width:286px;" | <p style="text-align: center;">Description</p> ! style="width:189px;" | <p style="text-align: center;">Download</p> |- | style="text-align: center;" | PX30 | Quad-core Cortex-A35 CPU Mali-G31 MP2 GPU | TRM [[Media:Rockchip_PX30_Datasheet_V1.0-20190515-Open_Source.pdf|Datasheet]] [[Px30_hardware_reference.zip|Schematic&Layout Guide]] |- | style="text-align: center;" | RK1808 | Dual-core Cortex-A35 CPU NPU up to 3.0TOPs | TRM [[Media:Rockchip_RK1808_Datasheet_V1.2_20190527.pdf|Datasheet]] [[Rk1808_hardware_reference.zip|Schematic&Layout Guide]] |- | style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p> | style="width:286px;" | Quad-core Cortex-A53 CPU MALI-450 MP2 GPU | style="width:189px;" | [[Media:Rockchip_RK3328TRM_V1.1-Part1-20170321.pdf|TRM]] [[Media:Rockchip_RK3328_Datasheet_V1.1-20170309.pdf|Datasheet]] [[Media:Rk3328_hardware_reference.zip|Schematic&Layout Guide]] |- | style="width: 92px; text-align: center;" | [[RK3399|RK3399]] | style="width:286px;" | Dual-core Cortex-A72 Quad-core Cortex-A53 CPU MALI-T860 MP4 GPU | style="width:189px;" | [[Media:Rockchip_RK3399TRM_V1.4_Part1-20170408.pdf|TRM]] [[Media:Rockchip_RK3399_Datasheet_V1.8-20180529.pdf|Datasheet]] [[Media:Rk3399_hardware_reference.zip|Schematic&Layout Guide]] |- | style="text-align: center;" | RK3399Pro | Dual-core Cortex-A72 Quad-core Cortex-A53 CPU MALI-T860 MP4 GPU NPU up to 3.0TOPS | TRM Datasheet [[Rk3399pro_hardware_reference.zip|Schematic&Layout Guide]] |- | style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p> | style="width:286px;" | Quad-core Cortex-A17 CPU MALI-T760 MP4 GPU | style="width:189px;" | [[Media:Rockchip_RK3288_TRM_V1.2_Part1-20170321.pdf|TRM]] [[Media:Rockchip_RK3288_Datasheet_V2.4-20180530.pdf|Datasheet]] [[Media:Rk3288_hardware_reference.zip|Schematic&Layout Guide]] |} &nbsp; &nbsp; <span style="font-size:medium;">'''Hardware dev board on market:'''</span> [[Devices|Device List]] &nbsp; = '''Software development&nbsp;''' = *'''Software Feature Supoort status''' **'''[[Status_Matrix|Status_Matrix]]''' *'''BSP''' **[[U-Boot|U-Boot]]&nbsp; **[[Rockchip_Kernel|Kernel]] **[[ATF|ARM Trusted&nbsp;Firmware]] **[[Distribution|Distro]] *'''Graphics and Multimedia&nbsp;user guide''' **[[Graphics|Graphics and Display]] **[[Mpp|Multimedia--Video Codec]] **[[Rockchip-isp1|Multimedia--Camera]] *'''Tool and Firmware Upgrade''' **[[Boot_option|Boot Option]] **[[Rockusb|Rockusb]] **[[tools|Firmware Upgrade Tools]] '''<span style="font-size:xx-large;">Feedback</span>''' Any question about software module on github, please ask&nbsp;at issue page of github project. If you have any other questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website, Email-to: '''opensource@rock-chips.com''' 0bffa725b282e19884de0006adb3ecce26fcd50c 2138 2137 2019-06-03T03:04:08Z Admin 1 wikitext text/x-wiki &nbsp; <span style="font-size:xx-large;">'''[[Linux_SDK|Rockchip Linux SDK]]'''</span><span style="font-size:small;">(click to enter)</span> <span style="font-size:small;">Rockchip Linux SDK is an&nbsp;official Linux release.&nbsp; Please contact&nbsp;'''service@rock-chips.com''' if you need business support.&nbsp;This page is for open source community. Please go to [[Linux_SDK|here]]&nbsp;if you want to use&nbsp;Rockchip Linux SDK</span> *[[Download|<span style="font-size:large;">Firmware Download</span>]] **<span style="font-size:small;">Please go to [[Download|here]] if you want to download prebuilt Image for Rockchip Linux SDK</span> &nbsp; = '''Source code''' = Rockchip provide open source software on Github including fully support for Linux Based OS: *Github: [https://github.com/rockchip-linux rockchip-linux] You can also find software for Rockchip SoCs from Upstream: *[https://www.kernel.org/ Linux kernel] *[http://www.denx.de/wiki/U-Boot/WebHome U-Boot] *[https://github.com/ARM-software/arm-trusted-firmware ARM Trusted Firmware] *[https://github.com/OP-TEE/optee_os OP-TEE OS] If you are using a Chrombook with Rockchip SoC, you can use: *[https://chromium.googlesource.com/chromiumos/third_party/coreboot Chromium OS&nbsp;Coreboot] *[https://chromium.googlesource.com/chromiumos/third_party/kernel Chromium OS kernel] &nbsp; &nbsp; = '''Hardware Support''' = Rockchip official hardware document release(please click to enter soc detail or download): {| border="1" cellpadding="0" cellspacing="0" class="table_style" |- ! style="width:92px;" | <p style="text-align: center;">SoC</p> ! style="width:286px;" | <p style="text-align: center;">Description</p> ! style="width:189px;" | <p style="text-align: center;">Download</p> |- | style="text-align: center;" | PX30 | Quad-core Cortex-A35 CPU Mali-G31 MP2 GPU | TRM [[Media:Rockchip_PX30_Datasheet_V1.0-20190515-Open_Source.pdf|Datasheet]] [[Media:Px30_hardware_reference.zip|Schematic&Layout Guide]] |- | style="text-align: center;" | RK1808 | Dual-core Cortex-A35 CPU NPU up to 3.0TOPs | TRM [[Media:Rockchip_RK1808_Datasheet_V1.2_20190527.pdf|Datasheet]] [[Media:Rk1808_hardware_reference.zip|Schematic&Layout Guide]] |- | style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p> | style="width:286px;" | Quad-core Cortex-A53 CPU MALI-450 MP2 GPU | style="width:189px;" | [[Media:Rockchip_RK3328TRM_V1.1-Part1-20170321.pdf|TRM]] [[Media:Rockchip_RK3328_Datasheet_V1.1-20170309.pdf|Datasheet]] [[Media:Rk3328_hardware_reference.zip|Schematic&Layout Guide]] |- | style="width: 92px; text-align: center;" | [[RK3399|RK3399]] | style="width:286px;" | Dual-core Cortex-A72 Quad-core Cortex-A53 CPU MALI-T860 MP4 GPU | style="width:189px;" | [[Media:Rockchip_RK3399TRM_V1.4_Part1-20170408.pdf|TRM]] [[Media:Rockchip_RK3399_Datasheet_V1.8-20180529.pdf|Datasheet]] [[Media:Rk3399_hardware_reference.zip|Schematic&Layout Guide]] |- | style="text-align: center;" | RK3399Pro | Dual-core Cortex-A72 Quad-core Cortex-A53 CPU MALI-T860 MP4 GPU NPU up to 3.0TOPS | TRM Datasheet [[Media:Rk3399pro_hardware_reference.zip|Schematic&Layout Guide]] |- | style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p> | style="width:286px;" | Quad-core Cortex-A17 CPU MALI-T760 MP4 GPU | style="width:189px;" | [[Media:Rockchip_RK3288_TRM_V1.2_Part1-20170321.pdf|TRM]] [[Media:Rockchip_RK3288_Datasheet_V2.4-20180530.pdf|Datasheet]] [[Media:Rk3288_hardware_reference.zip|Schematic&Layout Guide]] |} &nbsp; &nbsp; <span style="font-size:medium;">'''Hardware dev board on market:'''</span> [[Devices|Device List]] &nbsp; = '''Software development&nbsp;''' = *'''Software Feature Supoort status''' **'''[[Status_Matrix|Status_Matrix]]''' *'''BSP''' **[[U-Boot|U-Boot]]&nbsp; **[[Rockchip_Kernel|Kernel]] **[[ATF|ARM Trusted&nbsp;Firmware]] **[[Distribution|Distro]] *'''Graphics and Multimedia&nbsp;user guide''' **[[Graphics|Graphics and Display]] **[[Mpp|Multimedia--Video Codec]] **[[Rockchip-isp1|Multimedia--Camera]] *'''Tool and Firmware Upgrade''' **[[Boot_option|Boot Option]] **[[Rockusb|Rockusb]] **[[tools|Firmware Upgrade Tools]] '''<span style="font-size:xx-large;">Feedback</span>''' Any question about software module on github, please ask&nbsp;at issue page of github project. If you have any other questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website, Email-to: '''opensource@rock-chips.com''' 8f29a7f68e2fe144577cd8bcf167ddd6b75bec60 2139 2138 2019-06-03T03:38:50Z Admin 1 wikitext text/x-wiki <span style="font-size:xx-large;">'''[[Linux_SDK|Rockchip Linux SDK]]'''</span><span style="font-size:small;">(click to enter)</span> <span style="font-size:small;">Rockchip Linux SDK is an&nbsp;official Linux release.&nbsp; Please contact&nbsp;'''service@rock-chips.com''' if you need business support.&nbsp;This page is for open source community. Please go to [[Linux_SDK|here]]&nbsp;if you want to use&nbsp;Rockchip Linux SDK</span> *[[Download|<span style="font-size:large;">Firmware Download</span>]] **<span style="font-size:small;">Please go to [[Download|here]] if you want to download prebuilt Image for Rockchip Linux SDK</span> &nbsp; = '''Source code''' = Rockchip provide open source software on Github including fully support for Linux Based OS: *Github: [https://github.com/rockchip-linux rockchip-linux] You can also find software for Rockchip SoCs from Upstream: *[https://www.kernel.org/ Linux kernel] *[http://www.denx.de/wiki/U-Boot/WebHome U-Boot] *[https://github.com/ARM-software/arm-trusted-firmware ARM Trusted Firmware] *[https://github.com/OP-TEE/optee_os OP-TEE OS] If you are using a Chrombook with Rockchip SoC, you can use: *[https://chromium.googlesource.com/chromiumos/third_party/coreboot Chromium OS&nbsp;Coreboot] *[https://chromium.googlesource.com/chromiumos/third_party/kernel Chromium OS kernel] &nbsp; = '''Hardware Support''' = Rockchip official hardware document release(please click to enter soc detail or download): {| border="1" cellpadding="0" cellspacing="0" class="table_style" |- ! style="width:92px;" | <p style="text-align: center;">SoC</p> ! style="width:286px;" | <p style="text-align: center;">Description</p> ! style="width:189px;" | <p style="text-align: center;">Download</p> |- | style="text-align: center;" | PX30 | Quad-core Cortex-A35 CPU Mali-G31 MP2 GPU | TRM [[Media:Rockchip_PX30_Datasheet_V1.0-20190515-Open_Source.pdf|Datasheet]] [[Media:Px30_hardware_reference.zip|Schematic&Layout Guide]] |- | style="text-align: center;" | RK1808 | Dual-core Cortex-A35 CPU NPU up to 3.0TOPs | TRM [[Media:Rockchip_RK1808_Datasheet_V1.2_20190527.pdf|Datasheet]] [[Media:Rk1808_hardware_reference.zip|Schematic&Layout Guide]] |- | style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p> | style="width:286px;" | Quad-core Cortex-A53 CPU MALI-450 MP2 GPU | style="width:189px;" | [[Media:Rockchip_RK3328TRM_V1.1-Part1-20170321.pdf|TRM]] [[Media:Rockchip_RK3328_Datasheet_V1.1-20170309.pdf|Datasheet]] [[Media:Rk3328_hardware_reference.zip|Schematic&Layout Guide]] |- | style="width: 92px; text-align: center;" | [[RK3399|RK3399]] | style="width:286px;" | Dual-core Cortex-A72 Quad-core Cortex-A53 CPU MALI-T860 MP4 GPU | style="width:189px;" | [[Media:Rockchip_RK3399TRM_V1.4_Part1-20170408.pdf|TRM]] [[Media:Rockchip_RK3399_Datasheet_V1.8-20180529.pdf|Datasheet]] [[Media:Rk3399_hardware_reference.zip|Schematic&Layout Guide]] |- | style="text-align: center;" | RK3399Pro | Dual-core Cortex-A72 Quad-core Cortex-A53 CPU MALI-T860 MP4 GPU NPU up to 3.0TOPS | TRM Datasheet [[Media:Rk3399pro_hardware_reference.zip|Schematic&Layout Guide]] |- | style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p> | style="width:286px;" | Quad-core Cortex-A17 CPU MALI-T760 MP4 GPU | style="width:189px;" | [[Media:Rockchip_RK3288_TRM_V1.2_Part1-20170321.pdf|TRM]] [[Media:Rockchip_RK3288_Datasheet_V2.4-20180530.pdf|Datasheet]] [[Media:Rk3288_hardware_reference.zip|Schematic&Layout Guide]] |} &nbsp; <span style="font-size:medium;">'''Hardware dev board on market:'''</span> [[Devices|Device List]] &nbsp; = '''Software development&nbsp;''' = *'''Software Feature Supoort status''' **'''[[Status_Matrix|Status_Matrix]]''' *'''BSP''' **[[U-Boot|U-Boot]]&nbsp; **[[Rockchip_Kernel|Kernel]] **[[ATF|ARM Trusted&nbsp;Firmware]] **[[Distribution|Distro]] *'''Graphics and Multimedia&nbsp;user guide''' **[[Graphics|Graphics and Display]] **[[Mpp|Multimedia--Video Codec]] **[[Rockchip-isp1|Multimedia--Camera]] *'''Tool and Firmware Upgrade''' **[[Boot_option|Boot Option]] **[[Rockusb|Rockusb]] **[[Tools|Firmware Upgrade Tools]] '''<span style="font-size:xx-large;">Feedback</span>''' Any question about software module on github, please ask&nbsp;at issue page of github project. If you have any other questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website, Email-to: '''opensource@rock-chips.com''' 8be0de664f6e2f7af3f3639598f766ebb69bdd22 2156 2139 2019-08-29T01:42:39Z Admin 1 wikitext text/x-wiki <span style="font-size:xx-large;">'''[[Linux_SDK|Rockchip Linux SDK]]'''</span><span style="font-size:small;">(click to enter)</span> <span style="font-size:small;">Rockchip Linux SDK is an&nbsp;official Linux release.&nbsp; Please contact&nbsp;'''service@rock-chips.com''' if you need business support.&nbsp;This page is for open source community. Please go to [[Linux_SDK|here]]&nbsp;if you want to use&nbsp;Rockchip Linux SDK</span> *[[Download|<span style="font-size:large;">Firmware Download</span>]] **<span style="font-size:small;">Please go to [[Download|here]] if you want to download prebuilt Image for Rockchip Linux SDK</span> &nbsp; = '''Source code''' = Rockchip provide open source software on Github including fully support for Linux Based OS: *Github: [https://github.com/rockchip-linux rockchip-linux] You can also find software for Rockchip SoCs from Upstream: *[https://www.kernel.org/ Linux kernel] *[http://www.denx.de/wiki/U-Boot/WebHome U-Boot] *[https://github.com/ARM-software/arm-trusted-firmware ARM Trusted Firmware] *[https://github.com/OP-TEE/optee_os OP-TEE OS] If you are using a Chrombook with Rockchip SoC, you can use: *[https://chromium.googlesource.com/chromiumos/third_party/coreboot Chromium OS&nbsp;Coreboot] *[https://chromium.googlesource.com/chromiumos/third_party/kernel Chromium OS kernel] &nbsp; = '''Hardware Support''' = Rockchip official hardware document release(please click to enter soc detail or download): {| border="1" cellpadding="0" cellspacing="0" class="table_style" |- ! style="width:92px;" | <p style="text-align: center;">SoC</p> ! style="width:286px;" | <p style="text-align: center;">Description</p> ! style="width:189px;" | <p style="text-align: center;">Download</p> |- | style="text-align: center;" | PX30 | Quad-core Cortex-A35 CPU Mali-G31 MP2 GPU | TRM [[Media:Rockchip_PX30_Datasheet_V1.0-20190515-Open_Source.pdf|Datasheet]] [[Media:Px30_hardware_reference.zip|Schematic&Layout Guide]] |- | style="text-align: center;" | RK1808 | Dual-core Cortex-A35 CPU NPU up to 3.0TOPs | TRM [[Media:Rockchip_RK1808_Datasheet_V1.2_20190527.pdf|Datasheet]] [[Media:Rk1808_hardware_reference.zip|Schematic&Layout Guide]] |- | style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p> | style="width:286px;" | Quad-core Cortex-A53 CPU MALI-450 MP2 GPU | style="width:189px;" | [[Media:Rockchip_RK3328TRM_V1.1-Part1-20170321.pdf|TRM]] [[Media:Rockchip_RK3328_Datasheet_V1.1-20170309.pdf|Datasheet]] [[Media:Rk3328_hardware_reference.zip|Schematic&Layout Guide]] |- | style="width: 92px; text-align: center;" | [[RK3399|RK3399]] | style="width:286px;" | Dual-core Cortex-A72 Quad-core Cortex-A53 CPU MALI-T860 MP4 GPU | style="width:189px;" | [[Media:Rockchip_RK3399TRM_V1.4_Part1-20170408.pdf|TRM]] [[Media:Rockchip_RK3399_Datasheet_V1.8-20180529.pdf|Datasheet]] [[Media:RK3399_hardware_reference2019.zip|Schematic&Layout Guide]] |- | style="text-align: center;" | RK3399Pro | Dual-core Cortex-A72 Quad-core Cortex-A53 CPU MALI-T860 MP4 GPU NPU up to 3.0TOPS | TRM Datasheet [[Media:Rk3399pro_hardware_reference.zip|Schematic&Layout Guide]] |- | style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p> | style="width:286px;" | Quad-core Cortex-A17 CPU MALI-T760 MP4 GPU | style="width:189px;" | [[Media:Rockchip_RK3288_TRM_V1.2_Part1-20170321.pdf|TRM]] [[Media:Rockchip_RK3288_Datasheet_V2.4-20180530.pdf|Datasheet]] [[Media:Rk3288_hardware_reference.zip|Schematic&Layout Guide]] |} &nbsp; <span style="font-size:medium;">'''Hardware dev board on market:'''</span> [[Devices|Device List]] &nbsp; = '''Software development&nbsp;''' = *'''Software Feature Supoort status''' **'''[[Status_Matrix|Status_Matrix]]''' *'''BSP''' **[[U-Boot|U-Boot]]&nbsp; **[[Rockchip_Kernel|Kernel]] **[[ATF|ARM Trusted&nbsp;Firmware]] **[[Distribution|Distro]] *'''Graphics and Multimedia&nbsp;user guide''' **[[Graphics|Graphics and Display]] **[[Mpp|Multimedia--Video Codec]] **[[Rockchip-isp1|Multimedia--Camera]] *'''Tool and Firmware Upgrade''' **[[Boot_option|Boot Option]] **[[Rockusb|Rockusb]] **[[Tools|Firmware Upgrade Tools]] '''<span style="font-size:xx-large;">Feedback</span>''' Any question about software module on github, please ask&nbsp;at issue page of github project. If you have any other questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website, Email-to: '''opensource@rock-chips.com''' 78065ec4502917bdaf18a5afeb504190439df387 2162 2156 2019-09-04T02:49:56Z Admin 1 wikitext text/x-wiki <span style="font-size:xx-large;">'''[[Linux_SDK|Rockchip Linux SDK]]'''</span><span style="font-size:small;">(click to enter)</span> <span style="font-size:small;">Rockchip Linux SDK is an&nbsp;official Linux release.&nbsp; Please contact&nbsp;'''service@rock-chips.com''' if you need business support.&nbsp;This page is for open source community. Please go to [[Linux_SDK|here]]&nbsp;if you want to use&nbsp;Rockchip Linux SDK</span> *[[Download|<span style="font-size:large;">Firmware Download</span>]] **<span style="font-size:small;">Please go to [[Download|here]] if you want to download prebuilt Image for Rockchip Linux SDK</span> &nbsp; = '''Source code''' = Rockchip provide open source software on Github including fully support for Linux Based OS: *Github: [https://github.com/rockchip-linux rockchip-linux] You can also find software for Rockchip SoCs from Upstream: *[https://www.kernel.org/ Linux kernel] *[http://www.denx.de/wiki/U-Boot/WebHome U-Boot] *[https://github.com/ARM-software/arm-trusted-firmware ARM Trusted Firmware] *[https://github.com/OP-TEE/optee_os OP-TEE OS] If you are using a Chrombook with Rockchip SoC, you can use: *[https://chromium.googlesource.com/chromiumos/third_party/coreboot Chromium OS&nbsp;Coreboot] *[https://chromium.googlesource.com/chromiumos/third_party/kernel Chromium OS kernel] &nbsp; = '''Hardware Support''' = Rockchip official hardware document release(please click to enter soc detail or download): {| border="1" cellpadding="0" cellspacing="0" class="table_style" |- ! style="width:92px;" | <p style="text-align: center;">SoC</p> ! style="width:286px;" | <p style="text-align: center;">Description</p> ! style="width:189px;" | <p style="text-align: center;">Download</p> |- | style="text-align: center;" | PX30 | Quad-core Cortex-A35 CPU Mali-G31 MP2 GPU | TRM [[Media:Rockchip_PX30_Datasheet_V1.0-20190515-Open_Source.pdf|Datasheet]] [[Media:Px30_hardware_reference.zip|Schematic&Layout Guide]] |- | style="text-align: center;" | RK1808 | Dual-core Cortex-A35 CPU NPU up to 3.0TOPs | [[Media:Rockchip_RK1808_TRM_Part1_V1.2--20190826_open_source.rar|TRM]] [[Media:Rockchip_RK1808_Datasheet_V1.2_20190527.pdf|Datasheet]] [[Media:Rk1808_hardware_reference.zip|Schematic&Layout Guide]] |- | style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p> | style="width:286px;" | Quad-core Cortex-A53 CPU MALI-450 MP2 GPU | style="width:189px;" | [[Media:Rockchip_RK3328TRM_V1.1-Part1-20170321.pdf|TRM]] [[Media:Rockchip_RK3328_Datasheet_V1.1-20170309.pdf|Datasheet]] [[Media:Rk3328_hardware_reference.zip|Schematic&Layout Guide]] |- | style="width: 92px; text-align: center;" | [[RK3399|RK3399]] | style="width:286px;" | Dual-core Cortex-A72 Quad-core Cortex-A53 CPU MALI-T860 MP4 GPU | style="width:189px;" | [[Media:Rockchip_RK3399TRM_V1.4_Part1-20170408.pdf|TRM]] [[Media:Rockchip_RK3399_Datasheet_V1.8-20180529.pdf|Datasheet]] [[Media:RK3399_hardware_reference2019.zip|Schematic&Layout Guide]] |- | style="text-align: center;" | RK3399Pro | Dual-core Cortex-A72 Quad-core Cortex-A53 CPU MALI-T860 MP4 GPU NPU up to 3.0TOPS | TRM Datasheet [[Media:Rk3399pro_hardware_reference.zip|Schematic&Layout Guide]] |- | style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p> | style="width:286px;" | Quad-core Cortex-A17 CPU MALI-T760 MP4 GPU | style="width:189px;" | [[Media:Rockchip_RK3288_TRM_V1.2_Part1-20170321.pdf|TRM]] [[Media:Rockchip_RK3288_Datasheet_V2.4-20180530.pdf|Datasheet]] [[Media:Rk3288_hardware_reference.zip|Schematic&Layout Guide]] |} &nbsp; <span style="font-size:medium;">'''Hardware dev board on market:'''</span> [[Devices|Device List]] &nbsp; = '''Software development&nbsp;''' = *'''Software Feature Supoort status''' **'''[[Status_Matrix|Status_Matrix]]''' *'''BSP''' **[[U-Boot|U-Boot]]&nbsp; **[[Rockchip_Kernel|Kernel]] **[[ATF|ARM Trusted&nbsp;Firmware]] **[[Distribution|Distro]] *'''Graphics and Multimedia&nbsp;user guide''' **[[Graphics|Graphics and Display]] **[[Mpp|Multimedia--Video Codec]] **[[Rockchip-isp1|Multimedia--Camera]] *'''Tool and Firmware Upgrade''' **[[Boot_option|Boot Option]] **[[Rockusb|Rockusb]] **[[Tools|Firmware Upgrade Tools]] '''<span style="font-size:xx-large;">Feedback</span>''' Any question about software module on github, please ask&nbsp;at issue page of github project. If you have any other questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website, Email-to: '''opensource@rock-chips.com''' 9b8e5987d8d253adf219b20ee35021098e353104 2189 2162 2019-12-25T06:46:57Z Admin 1 wikitext text/x-wiki <span style="font-size:xx-large;">'''[[Linux_SDK|Rockchip Linux SDK]]'''</span><span style="font-size:small;">(click to enter)</span> <span style="font-size:small;">Rockchip Linux SDK is an&nbsp;official Linux release.&nbsp; Please contact&nbsp;'''service@rock-chips.com''' if you need business support.&nbsp;This page is for open source community. Please go to [[Linux_SDK|here]]&nbsp;if you want to use&nbsp;Rockchip Linux SDK</span> *[[Download|<span style="font-size:large;">Firmware Download</span>]] **<span style="font-size:small;">Please go to [[Download|here]] if you want to download prebuilt Image for Rockchip Linux SDK</span> &nbsp; = '''Source code''' = Rockchip provide open source software on Github including fully support for Linux Based OS: *Github: [https://github.com/rockchip-linux rockchip-linux] You can also find software for Rockchip SoCs from Upstream: *[https://www.kernel.org/ Linux kernel] *[http://www.denx.de/wiki/U-Boot/WebHome U-Boot] *[https://github.com/ARM-software/arm-trusted-firmware ARM Trusted Firmware] *[https://github.com/OP-TEE/optee_os OP-TEE OS] If you are using a Chrombook with Rockchip SoC, you can use: *[https://chromium.googlesource.com/chromiumos/third_party/coreboot Chromium OS&nbsp;Coreboot] *[https://chromium.googlesource.com/chromiumos/third_party/kernel Chromium OS kernel] &nbsp; = '''Hardware Support''' = Rockchip official hardware document release(please click to enter soc detail or download): {| border="1" cellpadding="0" cellspacing="0" class="table_style" |- ! style="width:92px;" | <p style="text-align: center;">SoC</p> ! style="width:286px;" | <p style="text-align: center;">Description</p> ! style="width:189px;" | <p style="text-align: center;">Download</p> |- | style="text-align: center;" | PX30 | Quad-core Cortex-A35 CPU Mali-G31 MP2 GPU | TRM [[Media:Rockchip_PX30_Datasheet_V1.0-20190515-Open_Source.pdf|Datasheet]] [[Media:Px30_hardware_reference.zip|Schematic&Layout Guide]] |- | style="text-align: center;" | RK1808 | Dual-core Cortex-A35 CPU NPU up to 3.0TOPs | [[Media:Rockchip_RK1808_TRM_Part1_V1.2--20190826_open_source.rar|TRM]] [[Media:Rockchip_RK1808_Datasheet_V1.2_20190527.pdf|Datasheet]] [[Media:Rk1808_hardware_reference.zip|Schematic&Layout Guide]] |- | style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p> | style="width:286px;" | Quad-core Cortex-A53 CPU MALI-450 MP2 GPU | style="width:189px;" | [[Media:Rockchip_RK3328TRM_V1.1-Part1-20170321.pdf|TRM]] [[Media:Rockchip_RK3328_Datasheet_V1.1-20170309.pdf|Datasheet]] [[Media:Rk3328_hardware_reference.zip|Schematic&Layout Guide]] |- | style="width: 92px; text-align: center;" | [[RK3399|RK3399]] | style="width:286px;" | Dual-core Cortex-A72 Quad-core Cortex-A53 CPU MALI-T860 MP4 GPU | style="width:189px;" | [[Media:Rockchip_RK3399TRM_V1.4_Part1-20170408.pdf|TRM]] [[Media:Rockchip_RK3399_Datasheet_V2.0-20191010.pdf|Datasheet]] [[Media:RK3399_hardware_reference2019.zip|Schematic&Layout Guide]] |- | style="text-align: center;" | RK3399Pro | Dual-core Cortex-A72 Quad-core Cortex-A53 CPU MALI-T860 MP4 GPU NPU up to 3.0TOPS | TRM Datasheet [[Media:Rk3399pro_hardware_reference.zip|Schematic&Layout Guide]] |- | style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p> | style="width:286px;" | Quad-core Cortex-A17 CPU MALI-T760 MP4 GPU | style="width:189px;" | [[Media:Rockchip_RK3288_TRM_V1.2_Part1-20170321.pdf|TRM]] [[Media:Rockchip_RK3288_Datasheet_V2.4-20180530.pdf|Datasheet]] [[Media:Rk3288_hardware_reference.zip|Schematic&Layout Guide]] |} &nbsp; <span style="font-size:medium;">'''Hardware dev board on market:'''</span> [[Devices|Device List]] &nbsp; = '''Software development&nbsp;''' = *'''Software Feature Supoort status''' **'''[[Status_Matrix|Status_Matrix]]''' *'''BSP''' **[[U-Boot|U-Boot]]&nbsp; **[[Rockchip_Kernel|Kernel]] **[[ATF|ARM Trusted&nbsp;Firmware]] **[[Distribution|Distro]] *'''Graphics and Multimedia&nbsp;user guide''' **[[Graphics|Graphics and Display]] **[[Mpp|Multimedia--Video Codec]] **[[Rockchip-isp1|Multimedia--Camera]] *'''Tool and Firmware Upgrade''' **[[Boot_option|Boot Option]] **[[Rockusb|Rockusb]] **[[Tools|Firmware Upgrade Tools]] '''<span style="font-size:xx-large;">Feedback</span>''' Any question about software module on github, please ask&nbsp;at issue page of github project. If you have any other questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website, Email-to: '''opensource@rock-chips.com''' 08b6b36e78e7d1ab966505c3f3d6e3773e2287d5 2192 2189 2019-12-25T06:51:51Z Admin 1 wikitext text/x-wiki <span style="font-size:xx-large;">'''[[Linux_SDK|Rockchip Linux SDK]]'''</span><span style="font-size:small;">(click to enter)</span> <span style="font-size:small;">Rockchip Linux SDK is an&nbsp;official Linux release.&nbsp; Please contact&nbsp;'''service@rock-chips.com''' if you need business support.&nbsp;This page is for open source community. Please go to [[Linux_SDK|here]]&nbsp;if you want to use&nbsp;Rockchip Linux SDK</span> *[[Download|<span style="font-size:large;">Firmware Download</span>]] **<span style="font-size:small;">Please go to [[Download|here]] if you want to download prebuilt Image for Rockchip Linux SDK</span> &nbsp; = '''Source code''' = Rockchip provide open source software on Github including fully support for Linux Based OS: *Github: [https://github.com/rockchip-linux rockchip-linux] You can also find software for Rockchip SoCs from Upstream: *[https://www.kernel.org/ Linux kernel] *[http://www.denx.de/wiki/U-Boot/WebHome U-Boot] *[https://github.com/ARM-software/arm-trusted-firmware ARM Trusted Firmware] *[https://github.com/OP-TEE/optee_os OP-TEE OS] If you are using a Chrombook with Rockchip SoC, you can use: *[https://chromium.googlesource.com/chromiumos/third_party/coreboot Chromium OS&nbsp;Coreboot] *[https://chromium.googlesource.com/chromiumos/third_party/kernel Chromium OS kernel] &nbsp; = '''Hardware Support''' = Rockchip official hardware document release(please click to enter soc detail or download): {| border="1" cellpadding="0" cellspacing="0" class="table_style" |- ! style="width:92px;" | <p style="text-align: center;">SoC</p> ! style="width:286px;" | <p style="text-align: center;">Description</p> ! style="width:189px;" | <p style="text-align: center;">Download</p> |- | style="text-align: center;" | PX30 | Quad-core Cortex-A35 CPU Mali-G31 MP2 GPU | TRM [[Media:Rockchip_PX30_Datasheet_V1.0-20190515-Open_Source.pdf|Datasheet]] [[Media:Px30_hardware_reference.zip|Schematic&Layout Guide]] |- | style="text-align: center;" | RK1808 | Dual-core Cortex-A35 CPU NPU up to 3.0TOPs | [[Media:Rockchip_RK1808_TRM_Part1_V1.2--20190826_open_source.rar|TRM]] [[Media:Rockchip_RK1808_Datasheet_V1.2_20190527.pdf|Datasheet]] [[Media:Rk1808_hardware_reference.zip|Schematic&Layout Guide]] |- | style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p> | style="width:286px;" | Quad-core Cortex-A53 CPU MALI-450 MP2 GPU | style="width:189px;" | [[Media:Rockchip_RK3328TRM_V1.1-Part1-20170321.pdf|TRM]] [[Media:Rockchip_RK3328_Datasheet_V1.2-20180205.pdf|Datasheet]] [[Media:Rk3328_hardware_reference.zip|Schematic&Layout Guide]] |- | style="width: 92px; text-align: center;" | [[RK3399|RK3399]] | style="width:286px;" | Dual-core Cortex-A72 Quad-core Cortex-A53 CPU MALI-T860 MP4 GPU | style="width:189px;" | [[Media:Rockchip_RK3399TRM_V1.4_Part1-20170408.pdf|TRM]] [[Media:Rockchip_RK3399_Datasheet_V2.0-20191010.pdf|Datasheet]] [[Media:RK3399_hardware_reference2019.zip|Schematic&Layout Guide]] |- | style="text-align: center;" | RK3399Pro | Dual-core Cortex-A72 Quad-core Cortex-A53 CPU MALI-T860 MP4 GPU NPU up to 3.0TOPS | TRM Datasheet [[Media:Rk3399pro_hardware_reference.zip|Schematic&Layout Guide]] |- | style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p> | style="width:286px;" | Quad-core Cortex-A17 CPU MALI-T760 MP4 GPU | style="width:189px;" | [[Media:Rockchip_RK3288_TRM_V1.2_Part1-20170321.pdf|TRM]] [[Media:Rockchip_RK3288_Datasheet_V2.6-20191112.pdf|Datasheet]] [[Media:Rk3288_hardware_reference.zip|Schematic&Layout Guide]] |} &nbsp; <span style="font-size:medium;">'''Hardware dev board on market:'''</span> [[Devices|Device List]] &nbsp; = '''Software development&nbsp;''' = *'''Software Feature Supoort status''' **'''[[Status_Matrix|Status_Matrix]]''' *'''BSP''' **[[U-Boot|U-Boot]]&nbsp; **[[Rockchip_Kernel|Kernel]] **[[ATF|ARM Trusted&nbsp;Firmware]] **[[Distribution|Distro]] *'''Graphics and Multimedia&nbsp;user guide''' **[[Graphics|Graphics and Display]] **[[Mpp|Multimedia--Video Codec]] **[[Rockchip-isp1|Multimedia--Camera]] *'''Tool and Firmware Upgrade''' **[[Boot_option|Boot Option]] **[[Rockusb|Rockusb]] **[[Tools|Firmware Upgrade Tools]] '''<span style="font-size:xx-large;">Feedback</span>''' Any question about software module on github, please ask&nbsp;at issue page of github project. If you have any other questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website, Email-to: '''opensource@rock-chips.com''' 84adb5610412e313af3268ca9d34322f8b75fd71 2193 2192 2019-12-25T06:57:25Z Admin 1 wikitext text/x-wiki <span style="font-size:xx-large;">'''[[Linux_SDK|Rockchip Linux SDK]]'''</span><span style="font-size:small;">(click to enter)</span> <span style="font-size:small;">Rockchip Linux SDK is an&nbsp;official Linux release.&nbsp; Please contact&nbsp;'''service@rock-chips.com''' if you need business support.&nbsp;This page is for open source community. Please go to [[Linux_SDK|here]]&nbsp;if you want to use&nbsp;Rockchip Linux SDK</span> *[[Download|<span style="font-size:large;">Firmware Download</span>]] **<span style="font-size:small;">Please go to [[Download|here]] if you want to download prebuilt Image for Rockchip Linux SDK</span> &nbsp; = '''Source code''' = Rockchip provide open source software on Github including fully support for Linux Based OS: *Github: [https://github.com/rockchip-linux rockchip-linux] You can also find software for Rockchip SoCs from Upstream: *[https://www.kernel.org/ Linux kernel] *[http://www.denx.de/wiki/U-Boot/WebHome U-Boot] *[https://github.com/ARM-software/arm-trusted-firmware ARM Trusted Firmware] *[https://github.com/OP-TEE/optee_os OP-TEE OS] If you are using a Chrombook with Rockchip SoC, you can use: *[https://chromium.googlesource.com/chromiumos/third_party/coreboot Chromium OS&nbsp;Coreboot] *[https://chromium.googlesource.com/chromiumos/third_party/kernel Chromium OS kernel] &nbsp; = '''Hardware Support''' = Rockchip official hardware document release(please click to enter soc detail or download): {| border="1" cellpadding="0" cellspacing="0" class="table_style" |- ! style="width:92px;" | <p style="text-align: center;">SoC</p> ! style="width:286px;" | <p style="text-align: center;">Description</p> ! style="width:189px;" | <p style="text-align: center;">Download</p> |- | style="text-align: center;" | PX30 | Quad-core Cortex-A35 CPU Mali-G31 MP2 GPU | TRM [[Media:Rockchip_PX30_Datasheet_V1.0-20190515-Open_Source.pdf|Datasheet]] [[Media:Px30_hardware_reference.zip|Schematic&Layout Guide]] |- | style="text-align: center;" | RK1808 | Dual-core Cortex-A35 CPU NPU up to 3.0TOPs | [[Media:Rockchip_RK1808_TRM_Part1_V1.2--20190826_open_source.rar|TRM]] [[Media:Rockchip_RK1808_Datasheet_V1.2_20190527.pdf|Datasheet]] [[Media:Rk1808_hardware_reference.zip|Schematic&Layout Guide]] |- | style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p> | style="width:286px;" | Quad-core Cortex-A17 CPU MALI-T760 MP4 GPU | style="width:189px;" | [[Media:Rockchip_RK3288_TRM_V1.2_Part1-20170321.pdf|TRM]] [[Media:Rockchip_RK3288_Datasheet_V2.6-20191112.pdf|Datasheet]] [[Media:Rk3288_hardware_reference.zip|Schematic&Layout Guide]] |- | style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p> | style="width:286px;" | Quad-core Cortex-A53 CPU MALI-450 MP2 GPU | style="width:189px;" | [[Media:Rockchip_RK3328TRM_V1.1-Part1-20170321.pdf|TRM]] [[Media:Rockchip_RK3328_Datasheet_V1.2-20180205.pdf|Datasheet]] [[Media:Rk3328_hardware_reference.zip|Schematic&Layout Guide]] |- | style="width: 92px; text-align: center;" | [[RK3399|RK3399]] | style="width:286px;" | Dual-core Cortex-A72 Quad-core Cortex-A53 CPU MALI-T860 MP4 GPU | style="width:189px;" | [[Media:Rockchip_RK3399TRM_V1.4_Part1-20170408.pdf|TRM]] [[Media:Rockchip_RK3399_Datasheet_V2.0-20191010.pdf|Datasheet]] [[Media:RK3399_hardware_reference2019.zip|Schematic&Layout Guide]] |- | style="text-align: center;" | RK3399Pro | Dual-core Cortex-A72 Quad-core Cortex-A53 CPU MALI-T860 MP4 GPU NPU up to 3.0TOPS | TRM Datasheet [[Media:Rk3399pro_hardware_reference.zip|Schematic&Layout Guide]] |} &nbsp; <span style="font-size:medium;">'''Hardware dev board on market:'''</span> [[Devices|Device List]] &nbsp; = '''Software development&nbsp;''' = *'''Software Feature Supoort status''' **'''[[Status_Matrix|Status_Matrix]]''' *'''BSP''' **[[U-Boot|U-Boot]]&nbsp; **[[Rockchip_Kernel|Kernel]] **[[ATF|ARM Trusted&nbsp;Firmware]] **[[Distribution|Distro]] *'''Graphics and Multimedia&nbsp;user guide''' **[[Graphics|Graphics and Display]] **[[Mpp|Multimedia--Video Codec]] **[[Rockchip-isp1|Multimedia--Camera]] *'''Tool and Firmware Upgrade''' **[[Boot_option|Boot Option]] **[[Rockusb|Rockusb]] **[[Tools|Firmware Upgrade Tools]] '''<span style="font-size:xx-large;">Feedback</span>''' Any question about software module on github, please ask&nbsp;at issue page of github project. If you have any other questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website, Email-to: '''opensource@rock-chips.com''' 0d1ac7e1218e1ba3952d5f97a923ff24558c4ab9 2195 2193 2020-01-02T08:17:54Z Admin 1 wikitext text/x-wiki <span style="font-size:xx-large;">'''[[Linux_SDK|Rockchip Linux SDK]]'''</span><span style="font-size:small;">(click to enter)</span> <span style="font-size:small;">Rockchip Linux SDK is an&nbsp;official Linux release.&nbsp; Please contact&nbsp;'''service@rock-chips.com''' if you need business support.&nbsp;This page is for open source community. Please go to [[Linux_SDK|here]]&nbsp;if you want to use&nbsp;Rockchip Linux SDK</span> *[[Download|<span style="font-size:large;">Firmware Download</span>]] **<span style="font-size:small;">Please go to [[Download|here]] if you want to download prebuilt Image for Rockchip Linux SDK</span> &nbsp; = '''Source code''' = Rockchip provide open source software on Github including fully support for Linux Based OS: *Github: [https://github.com/rockchip-linux rockchip-linux] You can also find software for Rockchip SoCs from Upstream: *[https://www.kernel.org/ Linux kernel] *[http://www.denx.de/wiki/U-Boot/WebHome U-Boot] *[https://github.com/ARM-software/arm-trusted-firmware ARM Trusted Firmware] *[https://github.com/OP-TEE/optee_os OP-TEE OS] If you are using a Chrombook with Rockchip SoC, you can use: *[https://chromium.googlesource.com/chromiumos/third_party/coreboot Chromium OS&nbsp;Coreboot] *[https://chromium.googlesource.com/chromiumos/third_party/kernel Chromium OS kernel] &nbsp; = '''Hardware Support''' = Rockchip official hardware document release(please click to enter soc detail or download): {| border="1" cellpadding="0" cellspacing="0" class="table_style" |- ! style="width:92px;" | <p style="text-align: center;">SoC</p> ! style="width:286px;" | <p style="text-align: center;">Description</p> ! style="width:189px;" | <p style="text-align: center;">Download</p> |- | style="text-align: center;" | PX30 | Quad-core Cortex-A35 CPU Mali-G31 MP2 GPU | TRM [[Media:Rockchip_PX30_Datasheet_V1.0-20190515-Open_Source.pdf|Datasheet]] [[Media:Px30_hardware_reference.zip|Schematic&Layout Guide]] |- | style="text-align: center;" | RK1808 | Dual-core Cortex-A35 CPU NPU up to 3.0TOPs | [[Media:Rockchip_RK1808_TRM_Part1_V1.2--20190826_open_source.rar|TRM]] [[Media:Rockchip_RK1808_Datasheet_V1.2_20190527.pdf|Datasheet]] [[Media:Rk1808_hardware_reference.zip|Schematic&Layout Guide]] |- | style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p> | style="width:286px;" | Quad-core Cortex-A17 CPU MALI-T760 MP4 GPU | style="width:189px;" | [[Media:Rockchip_RK3288_TRM_V1.2_Part1-20170321.pdf|TRM]] [[Media:Rockchip_RK3288_Datasheet_V2.7-20191227.pdf|Datasheet]] [[Media:Rk3288_hardware_reference.zip|Schematic&Layout Guide]] |- | style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p> | style="width:286px;" | Quad-core Cortex-A53 CPU MALI-450 MP2 GPU | style="width:189px;" | [[Media:Rockchip_RK3328TRM_V1.1-Part1-20170321.pdf|TRM]] [[Media:Rockchip_RK3328_Datasheet_V1.2-20180205.pdf|Datasheet]] [[Media:Rk3328_hardware_reference.zip|Schematic&Layout Guide]] |- | style="width: 92px; text-align: center;" | [[RK3399|RK3399]] | style="width:286px;" | Dual-core Cortex-A72 Quad-core Cortex-A53 CPU MALI-T860 MP4 GPU | style="width:189px;" | [[Media:Rockchip_RK3399TRM_V1.4_Part1-20170408.pdf|TRM]] [[Media:Rockchip_RK3399_Datasheet_V2.0-20191010.pdf|Datasheet]] [[Media:RK3399_hardware_reference2019.zip|Schematic&Layout Guide]] |- | style="text-align: center;" | RK3399Pro | Dual-core Cortex-A72 Quad-core Cortex-A53 CPU MALI-T860 MP4 GPU NPU up to 3.0TOPS | TRM Datasheet [[Media:Rk3399pro_hardware_reference.zip|Schematic&Layout Guide]] |} &nbsp; <span style="font-size:medium;">'''Hardware dev board on market:'''</span> [[Devices|Device List]] &nbsp; = '''Software development&nbsp;''' = *'''Software Feature Supoort status''' **'''[[Status_Matrix|Status_Matrix]]''' *'''BSP''' **[[U-Boot|U-Boot]]&nbsp; **[[Rockchip_Kernel|Kernel]] **[[ATF|ARM Trusted&nbsp;Firmware]] **[[Distribution|Distro]] *'''Graphics and Multimedia&nbsp;user guide''' **[[Graphics|Graphics and Display]] **[[Mpp|Multimedia--Video Codec]] **[[Rockchip-isp1|Multimedia--Camera]] *'''Tool and Firmware Upgrade''' **[[Boot_option|Boot Option]] **[[Rockusb|Rockusb]] **[[Tools|Firmware Upgrade Tools]] '''<span style="font-size:xx-large;">Feedback</span>''' Any question about software module on github, please ask&nbsp;at issue page of github project. If you have any other questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website, Email-to: '''opensource@rock-chips.com''' d6d26e5cc2714d1f8b08649d708f9e0b3ee44a92 2197 2195 2020-01-02T08:21:35Z Admin 1 wikitext text/x-wiki <span style="font-size:xx-large;">'''[[Linux_SDK|Rockchip Linux SDK]]'''</span><span style="font-size:small;">(click to enter)</span> <span style="font-size:small;">Rockchip Linux SDK is an&nbsp;official Linux release.&nbsp; Please contact&nbsp;'''service@rock-chips.com''' if you need business support.&nbsp;This page is for open source community. Please go to [[Linux_SDK|here]]&nbsp;if you want to use&nbsp;Rockchip Linux SDK</span> *[[Download|<span style="font-size:large;">Firmware Download</span>]] **<span style="font-size:small;">Please go to [[Download|here]] if you want to download prebuilt Image for Rockchip Linux SDK</span> &nbsp; = '''Source code''' = Rockchip provide open source software on Github including fully support for Linux Based OS: *Github: [https://github.com/rockchip-linux rockchip-linux] You can also find software for Rockchip SoCs from Upstream: *[https://www.kernel.org/ Linux kernel] *[http://www.denx.de/wiki/U-Boot/WebHome U-Boot] *[https://github.com/ARM-software/arm-trusted-firmware ARM Trusted Firmware] *[https://github.com/OP-TEE/optee_os OP-TEE OS] If you are using a Chrombook with Rockchip SoC, you can use: *[https://chromium.googlesource.com/chromiumos/third_party/coreboot Chromium OS&nbsp;Coreboot] *[https://chromium.googlesource.com/chromiumos/third_party/kernel Chromium OS kernel] &nbsp; = '''Hardware Support''' = Rockchip official hardware document release(please click to enter soc detail or download): {| border="1" cellpadding="0" cellspacing="0" class="table_style" |- ! style="width:92px;" | <p style="text-align: center;">SoC</p> ! style="width:286px;" | <p style="text-align: center;">Description</p> ! style="width:189px;" | <p style="text-align: center;">Download</p> |- | style="text-align: center;" | PX30 | Quad-core Cortex-A35 CPU Mali-G31 MP2 GPU | TRM [[Media:Rockchip_PX30_Datasheet_V1.4-20191227.pdf|Datasheet]] [[Media:Px30_hardware_reference.zip|Schematic&Layout Guide]] |- | style="text-align: center;" | RK1808 | Dual-core Cortex-A35 CPU NPU up to 3.0TOPs | [[Media:Rockchip_RK1808_TRM_Part1_V1.2--20190826_open_source.rar|TRM]] [[Media:Rockchip_RK1808_Datasheet_V1.2_20190527.pdf|Datasheet]] [[Media:Rk1808_hardware_reference.zip|Schematic&Layout Guide]] |- | style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p> | style="width:286px;" | Quad-core Cortex-A17 CPU MALI-T760 MP4 GPU | style="width:189px;" | [[Media:Rockchip_RK3288_TRM_V1.2_Part1-20170321.pdf|TRM]] [[Media:Rockchip_RK3288_Datasheet_V2.7-20191227.pdf|Datasheet]] [[Media:Rk3288_hardware_reference.zip|Schematic&Layout Guide]] |- | style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p> | style="width:286px;" | Quad-core Cortex-A53 CPU MALI-450 MP2 GPU | style="width:189px;" | [[Media:Rockchip_RK3328TRM_V1.1-Part1-20170321.pdf|TRM]] [[Media:Rockchip_RK3328_Datasheet_V1.2-20180205.pdf|Datasheet]] [[Media:Rk3328_hardware_reference.zip|Schematic&Layout Guide]] |- | style="width: 92px; text-align: center;" | [[RK3399|RK3399]] | style="width:286px;" | Dual-core Cortex-A72 Quad-core Cortex-A53 CPU MALI-T860 MP4 GPU | style="width:189px;" | [[Media:Rockchip_RK3399TRM_V1.4_Part1-20170408.pdf|TRM]] [[Media:Rockchip_RK3399_Datasheet_V2.0-20191010.pdf|Datasheet]] [[Media:RK3399_hardware_reference2019.zip|Schematic&Layout Guide]] |- | style="text-align: center;" | RK3399Pro | Dual-core Cortex-A72 Quad-core Cortex-A53 CPU MALI-T860 MP4 GPU NPU up to 3.0TOPS | TRM Datasheet [[Media:Rk3399pro_hardware_reference.zip|Schematic&Layout Guide]] |} &nbsp; <span style="font-size:medium;">'''Hardware dev board on market:'''</span> [[Devices|Device List]] &nbsp; = '''Software development&nbsp;''' = *'''Software Feature Supoort status''' **'''[[Status_Matrix|Status_Matrix]]''' *'''BSP''' **[[U-Boot|U-Boot]]&nbsp; **[[Rockchip_Kernel|Kernel]] **[[ATF|ARM Trusted&nbsp;Firmware]] **[[Distribution|Distro]] *'''Graphics and Multimedia&nbsp;user guide''' **[[Graphics|Graphics and Display]] **[[Mpp|Multimedia--Video Codec]] **[[Rockchip-isp1|Multimedia--Camera]] *'''Tool and Firmware Upgrade''' **[[Boot_option|Boot Option]] **[[Rockusb|Rockusb]] **[[Tools|Firmware Upgrade Tools]] '''<span style="font-size:xx-large;">Feedback</span>''' Any question about software module on github, please ask&nbsp;at issue page of github project. If you have any other questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website, Email-to: '''opensource@rock-chips.com''' 0d4bf29e1a373b98d8f133da586c8a27447b9b08 Status Matrix 0 154 2140 2004 2019-07-05T02:46:11Z Kever 2 wikitext text/x-wiki &nbsp; &nbsp; &nbsp; &nbsp; == Rockchip 4.4 Kernel Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! RK3399 ! RK3288 ! RK3328 |- | rowspan="2" style="text-align: left;" | ADC | style="text-align: left;" | SARADC | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | TSADC | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | Clocks | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | CPUFreq | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | Crypto | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | Mipi-CSI | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | N/A |- | colspan="2" style="text-align: left;" | ISP | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: rgb(255, 255, 255);" | N/A |- | colspan="2" style="text-align: left;" | DVP/CIF | style="background: rgb(255, 255, 255);" | N/A | style="background: lightgreen;" | SUPPORT | style="background: orange;" | WIP |- | rowspan="8" style="text-align: left;" | Display (DRM) | style="text-align: left;" | RGB | style="background: rgb(255, 255, 255);" | N/A | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | EDP | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | N/A |- | style="text-align: left;" | LVDS | style="background: rgb(255, 255, 255);" | &nbsp;N/A | style="background: lightgreen;" | SUPPORT | N/A |- | style="text-align: left;" | MIPI DSI | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | N/A |- | style="text-align: left;" | CVBS | N/A | N/A | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | VGA | N/A | N/A | N/A |- | style="text-align: left;" | HDMI | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | CEC | style="background: red;" | NO | style="background: red;" | NO | style="background: orange;" | WIP |- | colspan="2" style="text-align: left;" | DMA | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | DDR DVFS | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: red;" | NO |- | rowspan="2" style="text-align: left;" | Ethernet | style="text-align: left;" | GMAC | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | EMAC | N/A | N/A | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | I2S | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left" | I2C | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | MsgBox | N/A | N/A | N/A |- | colspan="2" style="text-align: left;" | Pinctrl | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | PWM | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | Power Domain | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | PCIE | style="background-color: lightgreen;" | SUPPORT | N/A | N/A |- | colspan="2" style="text-align: left;" | SD / SDIO / MMC | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | SPDIF | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | SPI | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | SUSPEND / RESUME | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | USB | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | USB OTG | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | TYPEC | style="background-color: lightgreen;" | SUPPORT | N/A | N/A |- | colspan="2" style="text-align: left;" | Watchdog | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | GPU | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | VPU | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | RGA | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | IEP | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |} &nbsp; &nbsp; &nbsp; &nbsp; == Mainline Kernel Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! RK3399 ! RK3288 ! RK3328 |- | rowspan="2" style="text-align: left;" | ADC | style="text-align: left;" | SARADC | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 |- | style="text-align: left;" | TSADC1 | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | Clocks | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | CPUFreq | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | Crypto | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | CSI/ISP | style="background: lightgreen;" | 4.14 | style="background: orange;" | WIP | N/A |- | colspan="2" style="text-align: left;" | CIF | style="background: orange;" | WIP | style="background: orange;" | WIP | style="background: orange;" | WIP |- | rowspan="8" style="text-align: left;" | Display (DRM) | style="text-align: left;" | RGB | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |- | style="text-align: left;" | EDP | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.4 | N/A |- | style="text-align: left;" | LVDS | style="background: red;" | NO | style="background: red;" | NO | N/A |- | style="text-align: left;" | MIPI DSI | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.4 | N/A |- | style="text-align: left;" | CVBS | N/A | N/A | style="background: darkgreen;" | INCOMPLETE |- | style="text-align: left;" | VGA | N/A | N/A | N/A |- | style="text-align: left;" | HDMI | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE |- | style="text-align: left;" | CEC | style="background: red;" | NO | style="background: red;" | NO | style="background: darkgreen;" | INCOMPLETE |- | colspan="2" style="text-align: left;" | DMA | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | DDR DVFS | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |- | rowspan="2" style="text-align: left;" | Ethernet | style="text-align: left;" | GMAC | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 |- | style="text-align: left;" | EMAC | N/A | N/A | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | I2S | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left" | I2C | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | MsgBox | N/A | N/A | N/A |- | colspan="2" style="text-align: left;" | Pinctrl | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | PWM | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | Power Domain | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | PCIE | style="background-color: lightgreen;" | 4.14 | N/A | N/A |- | colspan="2" style="text-align: left;" | SD / SDIO / MMC | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | SPDIF | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | SPI | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | SUSPEND / RESUME | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | USB | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | USB OTG | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | TYPEC | style="background-color: lightgreen;" | 4.14 | N/A | N/A |- | colspan="2" style="text-align: left;" | Watchdog | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | GPU | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |- | colspan="2" style="text-align: left;" | VPU | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |- | colspan="2" style="text-align: left;" | RGA | style="background: lightgreen;" | 4.15 | style="background: lightgreen;" | 4.15 | style="background: orange;" | WIP |- | colspan="2" style="text-align: left;" | IEP | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |} &nbsp; &nbsp; &nbsp; &nbsp; == Linux SDK CHIP Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! RK3399 ! RK3288 ! RK3328 |- | colspan="2" style="text-align: left;" | Debian | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | Buildroot | style="background-color: lightgreen;" | SUPPORT | style="background-color: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | rowspan="5" style="text-align: left;" | Decode | style="text-align: left;" | H264 | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | H265 | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | VP8 | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | VP9 | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | JPEG | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | rowspan="3" style="text-align: left;" | Encode | style="text-align: left;" | H264 | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | H265 | style="background-color: white;" | N/A | style="background: white;" | N/A | style="background-color: lightgreen;" | SUPPORT |- | style="text-align: left;" | JPEG | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | ISP(3A) | style="background: lightgreen;" | SUPPORT | style="background-color: lightgreen;" | SUPPORT | style="background: white;" | N/A |} <br/> &nbsp; == Linux&nbsp;Function Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! Status |- | rowspan="5" style="text-align: left;" | Gstreamer | style="text-align: left;" | Display | style="background: lightgreen;" | kmssink(qt eglfs),rkximagesink(x11), waylandsink(wayland) |- | style="text-align: left;" | Decode&nbsp; | style="background: lightgreen;" | h264, h265, vp8, vp9, jpeg |- | style="text-align: left;" | Encode | style="background: lightgreen;" | h264 |- | style="text-align: left;" | Camera | style="background: lightgreen;" | support 3A |- | style="text-align: left;" | Transform | style="background: lightgreen;" | RGA |- | rowspan="2" style="text-align: left;" | GPU | style="text-align: left;" | GLES | style="background: lightgreen;" | libmali |- | style="text-align: left;" | OPENCL | style="background: lightgreen;" | libmali |- | colspan="2" rowspan="1" style="text-align: left;" | QT | style="background: lightgreen;" | QT 5.x |- | colspan="2" style="text-align: left;" | Browser(HTML5 Accelerate) | style="background: yellow;" | Community |- | colspan="2" style="text-align: left;" | IOT(Third part Could Service) | style="background: lightgreen;" | ROS |- | colspan="2" style="text-align: left;" | FFmpeg | style="background: yellow;" | Community |- | colspan="2" style="text-align: left;" | MPV | style="background: yellow;" | Community |- | colspan="2" style="text-align: left;" | KODI | style="background: yellow;" | Community |} d497a9de41e282e811126e5b084e4c4284a5a174 U-Boot 0 11 2141 2094 2019-08-22T02:16:03Z Kever 2 wikitext text/x-wiki = Download U-Boot = == Upstream U-Boot == You can clone the u-boot repository by running: <pre>git clone https://gitlab.denx.de/u-boot/u-boot.git</pre> Alternatively you can use u-boot-rockchip instead which may with some patches not get in mainline: <pre>git clone https://gitlab.denx.de/u-boot/custodians/u-boot-rockchip.git</pre> &nbsp; == Rockchip U-Boot == You can clone the u-boot repository by running: <pre>git clone https://github.com/rockchip-linux/u-boot.git </pre> = Supported Devices = Upstream U-Boot support Rockchip SoCs: RK3036, RK3188,&nbsp;[http://opensource.rock-chips.com/wiki_RK3288 RK3288],&nbsp;[http://opensource.rock-chips.com/wiki_RK3328 RK3328],&nbsp;[http://opensource.rock-chips.com/wiki_RK3399 RK3399] *RK3036 boards supported: #EVB RK3036 - use evb-rk3036 configuration #Kylin - use kylin_rk3036 configuration *RK3288 boards supported: #EVB RK3288 - use evb-rk3288 configuration #Fennec RK3288 - use fennec-rk3288 configuration #Firefly RK3288 - use firefly-rk3288 configuration #Hisense Chromebook - use chromebook_jerry configuration #Miniarm RK3288 - use miniarm-rk3288 configuration #PopMetal RK3288 - use popmetal-rk3288 configuration #Radxa Rock 2 - use rock2 configuration #ASUS Tinker *RK3188 boards&nbsp;supported: #Radxa Rock - use rock&nbsp;configuration *RK3328 boards&nbsp;supported: #EVB RK3328 - use evb-rk3328 configuration *RK3399 boards&nbsp;supported: #EVB RK3399 - use evb-rk3399 configuration = Get a toolchain = If you haven't done so before, get a suitable&nbsp;toolchain&nbsp;installed and add it&nbsp;to your PATH. In Ubuntu 14.04, you can use below command to install cross compiler for armv7: <pre>sudo apt-get install gcc-arm-linux-gnueabi</pre> Or for ARM64 <pre>sudo apt-get install gcc-aarch64-linux-gnu </pre> Note that the latest U-Boot require version gcc-5.0 and later, we recommand to use linaro 6.3.1. <pre>https://github.com/rockchip-linux/gcc-linaro-6.3.1-2017.05-x86_64_arm-linux-gnueabihf.git</pre> <pre>https://github.com/rockchip-linux/gcc-linaro-6.3.1-2017.05-x86_64_aarch64-linux-gnu.git</pre> = Build U-Boot = == Configure U-Boot == First you need to choose a correct defconfig for your board; When you have determined what <board_name> you want to build, configure: <pre>make CROSS_COMPILE=arm-linux-gnueabi- <board_name>_defconfig</pre> You may need to change the U-Boot function/feature support by modify the defconfig file or, there is also menuconfig to play with settings if you feel like it: <pre>make CROSS_COMPILE=arm-linux-gnueabi- menuconfig </pre> &nbsp; == Buid Rockchip U-Boot == For&nbsp;convenience, Rockchip provide a &nbsp;script 'make.sh' to make it easy to get everything before kernel, this script need toolchain and [https://github.com/rockchip-linux/rkbin rkbin] support. <pre>├── prebuilts │ └── gcc │ └── linux-x86 │ ├── aarch64 │ └── arm ├── rkbin ├── u-boot</pre> expample for build rk3399: <pre>./make.sh rk3399</pre> and&nbsp;use './make.sh -h' for more option. The output will including pre-loader, trust and u-boot image which is ready to use with rockchip upgrade tool,&nbsp; <pre>u-boot/ ├── rk3399_loader_v1.09.112.bin ├── trust.img └── uboot.img</pre> &nbsp; == Build Upstream U-Boot == This is common and available for both Upstream U-Boot and Rockchip U-Boot. For armv7: <pre>make CROSS_COMPILE=arm-linux-gnueabi-</pre> or for ARM64: <pre>make ARCH=arm CROSS_COMPILE=aarch64-linux-gnu-</pre> In order to support debug symbol in ARM DS-5, you may need add ctags in make command: <pre>CFLAGS='-gdwarf-3'</pre> The output including u-boot.bin, spl/u-boot-spl.bin, tpl/u-boot-tpl.bin at this step, and you need to package it with mkimage tool before use with rockchip upagrade tool. Get detail at&nbsp;[http://opensource.rock-chips.com/wiki_Boot_option boot option]. '''Support ATF with SPL FIT image''' For trust support in SPL, we are using FIT image with 'mkimage' cmd in Makefile and its script defined in defconfig: <pre>make u-boot.itb</pre> Note: please copy the trust binary(optee.bin or bl31.elf from rkbin project) to u-boot root directory and rename it to tee.bin(armv7) or bl31.elf(armv8). The output u-boot.itb is a its based package including u-boot-nodtb.bin, board.dtb, and trust binaries which can be used directly with upgrade tool. <pre>├── u-boot │ ├── u-boot.bin │ ├── u-boot.itb │ ├── spl │ │ └── u-boot-spl.bin │ └── tpl │ └── u-boot-tpl.bin</pre> = Install U-Boot = See&nbsp;[http://opensource.rock-chips.com/wiki_Boot_option boot option]&nbsp;about how to - package the available binaries - flash and boot from eMMC/SD card. = Boot cmd = Rockchip U-Boot supports: Android boot(boot_android), Rockchip RKIMG boot(boot_rockchip) and LInux distro boot(distro_bootcmd). Upstream U-Boot supports: Linux distro boot(distro_bootcmd). = Firmware download in U-Boot = In U-Boot, there are multi way to update image into emmc via U-Boot, you can chose any of one easy use for you. fastboot:&nbsp;See&nbsp;[http://opensource.rock-chips.com/wiki_Fastboot fastboot] rockusb: See [[Rockusb|rockusb]] 4111f08d6a39dab6f95b10b12631ac0b9a79ede2 2173 2141 2019-09-04T03:11:04Z Admin 1 wikitext text/x-wiki = Download U-Boot = == Upstream U-Boot == You can clone the u-boot repository by running: <pre>git clone https://gitlab.denx.de/u-boot/u-boot.git</pre> Alternatively you can use u-boot-rockchip instead which may with some patches not get in mainline: <pre>git clone https://gitlab.denx.de/u-boot/custodians/u-boot-rockchip.git</pre> &nbsp; == Rockchip U-Boot == You can clone the u-boot repository by running: <pre>git clone https://github.com/rockchip-linux/u-boot.git </pre> = Supported Devices = Upstream U-Boot support Rockchip SoCs: RK3036, RK3188,&nbsp;[http://opensource.rock-chips.com/wiki_RK3288 RK3288],&nbsp;[http://opensource.rock-chips.com/wiki_RK3328 RK3328],&nbsp;[http://opensource.rock-chips.com/wiki_RK3399 RK3399] *RK3036 boards supported: #EVB RK3036 - use evb-rk3036 configuration #Kylin - use kylin_rk3036 configuration *RK3288 boards supported: #EVB RK3288 - use evb-rk3288 configuration #Firefly RK3288 - use firefly-rk3288 configuration #Hisense Chromebook - use chromebook_jerry configuration #Miniarm RK3288 - use miniarm-rk3288 configuration #PopMetal RK3288 - use popmetal-rk3288 configuration #Radxa Rock 2 - use rock2 configuration #ASUS Tinker *RK3188 boards&nbsp;supported: #Radxa Rock - use rock&nbsp;configuration *RK3328 boards&nbsp;supported: #EVB RK3328 - use evb-rk3328 configuration *RK3399 boards&nbsp;supported: #EVB RK3399 - use evb-rk3399 configuration = Get a toolchain = If you haven't done so before, get a suitable&nbsp;toolchain&nbsp;installed and add it&nbsp;to your PATH. In Ubuntu 14.04, you can use below command to install cross compiler for armv7: <pre>sudo apt-get install gcc-arm-linux-gnueabi</pre> Or for ARM64 <pre>sudo apt-get install gcc-aarch64-linux-gnu </pre> Note that the latest U-Boot require version gcc-5.0 and later, we recommand to use linaro 6.3.1. <pre>https://github.com/rockchip-linux/gcc-linaro-6.3.1-2017.05-x86_64_arm-linux-gnueabihf.git</pre> <pre>https://github.com/rockchip-linux/gcc-linaro-6.3.1-2017.05-x86_64_aarch64-linux-gnu.git</pre> = Build U-Boot = == Configure U-Boot == First you need to choose a correct defconfig for your board; When you have determined what <board_name> you want to build, configure: <pre>make CROSS_COMPILE=arm-linux-gnueabi- <board_name>_defconfig</pre> You may need to change the U-Boot function/feature support by modify the defconfig file or, there is also menuconfig to play with settings if you feel like it: <pre>make CROSS_COMPILE=arm-linux-gnueabi- menuconfig </pre> &nbsp; == Buid Rockchip U-Boot == For&nbsp;convenience, Rockchip provide a &nbsp;script 'make.sh' to make it easy to get everything before kernel, this script need toolchain and [https://github.com/rockchip-linux/rkbin rkbin] support. <pre>├── prebuilts │ └── gcc │ └── linux-x86 │ ├── aarch64 │ └── arm ├── rkbin ├── u-boot</pre> expample for build rk3399: <pre>./make.sh rk3399</pre> and&nbsp;use './make.sh -h' for more option. The output will including pre-loader, trust and u-boot image which is ready to use with rockchip upgrade tool,&nbsp; <pre>u-boot/ ├── rk3399_loader_v1.09.112.bin ├── trust.img └── uboot.img</pre> &nbsp; == Build Upstream U-Boot == This is common and available for both Upstream U-Boot and Rockchip U-Boot. For armv7: <pre>make CROSS_COMPILE=arm-linux-gnueabi-</pre> or for ARM64: <pre>make ARCH=arm CROSS_COMPILE=aarch64-linux-gnu-</pre> In order to support debug symbol in ARM DS-5, you may need add ctags in make command: <pre>CFLAGS='-gdwarf-3'</pre> The output including u-boot.bin, spl/u-boot-spl.bin, tpl/u-boot-tpl.bin at this step, and you need to package it with mkimage tool before use with rockchip upagrade tool. Get detail at&nbsp;[http://opensource.rock-chips.com/wiki_Boot_option boot option]. '''Support ATF with SPL FIT image''' For trust support in SPL, we are using FIT image with 'mkimage' cmd in Makefile and its script defined in defconfig: <pre>make u-boot.itb</pre> Note: please copy the trust binary(optee.bin or bl31.elf from rkbin project) to u-boot root directory and rename it to tee.bin(armv7) or bl31.elf(armv8). The output u-boot.itb is a its based package including u-boot-nodtb.bin, board.dtb, and trust binaries which can be used directly with upgrade tool. <pre>├── u-boot │ ├── u-boot.bin │ ├── u-boot.itb │ ├── spl │ │ └── u-boot-spl.bin │ └── tpl │ └── u-boot-tpl.bin</pre> = Install U-Boot = See&nbsp;[http://opensource.rock-chips.com/wiki_Boot_option boot option]&nbsp;about how to - package the available binaries - flash and boot from eMMC/SD card. = Boot cmd = Rockchip U-Boot supports: Android boot(boot_android), Rockchip RKIMG boot(boot_rockchip) and LInux distro boot(distro_bootcmd). Upstream U-Boot supports: Linux distro boot(distro_bootcmd). = Firmware download in U-Boot = In U-Boot, there are multi way to update image into emmc via U-Boot, you can chose any of one easy use for you. fastboot:&nbsp;See&nbsp;[http://opensource.rock-chips.com/wiki_Fastboot fastboot] rockusb: See [[Rockusb|rockusb]] 4c43542a17bc5f6fd67ad8575df4b730c0a0c000 2180 2173 2019-09-04T06:39:42Z Kever 2 wikitext text/x-wiki = Download U-Boot = == Upstream U-Boot == You can clone the u-boot repository by running: <pre>git clone https://gitlab.denx.de/u-boot/u-boot.git</pre> Alternatively you can use u-boot-rockchip instead which may with some patches not get in mainline: <pre>git clone https://gitlab.denx.de/u-boot/custodians/u-boot-rockchip.git</pre> &nbsp; == Rockchip U-Boot == You can clone the u-boot repository by running: <pre>git clone https://github.com/rockchip-linux/u-boot.git </pre> = Supported Devices = Upstream U-Boot support Rockchip SoCs: RK3036, RK3188,&nbsp;[http://opensource.rock-chips.com/wiki_RK3288 RK3288],&nbsp;[http://opensource.rock-chips.com/wiki_RK3328 RK3328],&nbsp;[http://opensource.rock-chips.com/wiki_RK3399 RK3399] *RK3036 boards supported: #EVB RK3036 - use evb-rk3036 configuration #Kylin - use kylin_rk3036 configuration *RK3288 boards supported: #EVB RK3288 - use evb-rk3288 configuration #Firefly RK3288 - use firefly-rk3288 configuration #Hisense Chromebook - use chromebook_jerry configuration #Miniarm RK3288 - use miniarm-rk3288 configuration #PopMetal RK3288 - use popmetal-rk3288 configuration #Radxa Rock 2 - use rock2 configuration #ASUS Tinker *RK3188 boards&nbsp;supported: #Radxa Rock - use rock&nbsp;configuration *RK3328 boards&nbsp;supported: #EVB RK3328 - use evb-rk3328 configuration *RK3399 boards&nbsp;supported: #EVB RK3399 - use evb-rk3399 configuration = Get a toolchain = If you haven't done so before, get a suitable&nbsp;toolchain&nbsp;installed and add it&nbsp;to your PATH. In Ubuntu 14.04, you can use below command to install cross compiler for armv7: <pre>sudo apt-get install gcc-arm-linux-gnueabi</pre> Or for ARM64 <pre>sudo apt-get install gcc-aarch64-linux-gnu </pre> Note that the latest U-Boot require version gcc-5.0 and later, we recommand to use linaro 6.3.1. <pre>https://github.com/rockchip-linux/gcc-linaro-6.3.1-2017.05-x86_64_arm-linux-gnueabihf.git</pre> <pre>https://github.com/rockchip-linux/gcc-linaro-6.3.1-2017.05-x86_64_aarch64-linux-gnu.git</pre> = Build U-Boot = == Configure U-Boot == First you need to choose a correct defconfig for your board; When you have determined what <board_name> you want to build, configure: <pre>make CROSS_COMPILE=arm-linux-gnueabi- <board_name>_defconfig</pre> You may need to change the U-Boot function/feature support by modify the defconfig file or, there is also menuconfig to play with settings if you feel like it: <pre>make CROSS_COMPILE=arm-linux-gnueabi- menuconfig </pre> &nbsp; == Buid Rockchip U-Boot == For&nbsp;convenience, Rockchip provide a &nbsp;script 'make.sh' to make it easy to get everything before kernel, this script need toolchain and [https://github.com/rockchip-linux/rkbin rkbin] support. <pre>├── prebuilts │ └── gcc │ └── linux-x86 │ ├── aarch64 │ └── arm ├── rkbin ├── u-boot</pre> expample for build rk3399: <pre>./make.sh rk3399</pre> and&nbsp;use './make.sh -h' for more option. The output will including pre-loader, trust and u-boot image which is ready to use with rockchip upgrade tool,&nbsp; <pre>u-boot/ ├── rk3399_loader_v1.09.112.bin ├── trust.img └── uboot.img</pre> &nbsp; == Build Upstream U-Boot == This is common and available for both Upstream U-Boot and Rockchip U-Boot. For armv7: <pre>make CROSS_COMPILE=arm-linux-gnueabi-</pre> or for ARM64: <pre>make ARCH=arm CROSS_COMPILE=aarch64-linux-gnu-</pre> In order to support debug symbol in ARM DS-5, you may need add ctags in make command: <pre>CFLAGS='-gdwarf-3'</pre> The output including u-boot.bin, spl/u-boot-spl.bin, tpl/u-boot-tpl.bin at this step, and you need to package it with mkimage tool before use with rockchip upagrade tool. Get detail at&nbsp;[http://opensource.rock-chips.com/wiki_Boot_option boot option]. '''Support ATF with SPL FIT image''' For trust support in SPL, we are using FIT image with 'mkimage' cmd in Makefile and its script defined in defconfig: <pre>make u-boot.itb</pre> Note: please copy the trust binary(optee.bin or bl31.elf from rkbin project) to u-boot root directory and rename it to tee.bin(armv7) or bl31.elf(armv8). The output u-boot.itb is a its based package including u-boot-nodtb.bin, board.dtb, and trust binaries which can be used directly with upgrade tool. <pre>├── u-boot │ ├── u-boot.bin │ ├── u-boot.itb │ ├── spl │ │ └── u-boot-spl.bin │ └── tpl │ └── u-boot-tpl.bin</pre> = Install U-Boot = See&nbsp;[http://opensource.rock-chips.com/wiki_Boot_option boot option]&nbsp;about how to - package the available binaries - flash and boot from eMMC/SD card. = Boot cmd = Rockchip U-Boot supports image type: Android boot(boot_android), Rockchip RKIMG boot(boot_rockchip) and LInux distro boot(distro_bootcmd). Upstream U-Boot supports image type:: Linux distro boot(distro_bootcmd). = Firmware download in U-Boot = In U-Boot, there are multi way to update image into emmc via U-Boot, you can chose any of one easy use for you. fastboot:&nbsp;See&nbsp;[http://opensource.rock-chips.com/wiki_Fastboot fastboot] rockusb: See [[Rockusb|rockusb]] e75525dfc4614f0239c5ba77d3f8209fabd91c48 Devices 0 49 2142 2072 2019-08-22T02:34:48Z Kever 2 wikitext text/x-wiki Here list the sbc boards that purchase available on market. &nbsp; = RK3036 Boards = Rockchip:&nbsp;[http://rockchip.wikidot.com/kylin Kylin-RK3036] = RK3288 Boards = Firefly:&nbsp;[[Firefly-RK3288|Firefly-RK3288]] ASUS:&nbsp;[[ASUS_Tinker|Tinker Board]] Mqmaker: [[MiQi|MiQi]] PHYTEC: [[PhyCORE-RK3288|phyCore-RK3288]] Linksprite:&nbsp;[[Fennec|PcDuino9 Fennec]] Pico-ITX: [http://www.aaeon.com/en/p/pico-itx-boards-rico-3288 RICO-3288] = RK3399 Boards = Rockchip: RK3399&nbsp;[[Excavator_sapphire_board|Excavator sapphire]] Firefly: [[Firefly-RK3399|Firefly-RK3399]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [http://en.t-firefly.com/product/rocrk3399pc ROC-RK3399-PC] [https://www.theobroma-systems.com/ Theobroma Systems]: [[RK3399-Q7|RK3399-Q7]] Pine64: [https://www.pine64.org/?page_id=61454 ROCK64pro] Vmars: [https://www.96rocks.com/ ROCK960] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[https://wiki.radxa.com/Rockpi4 Rock Pi 4] Pico-ITX: [http://www.aaeon.com/en/p/pico-itx-boards-rico-3399 RICO-3399] Orange Pi: [http://www.orangepi.org/Orange%20Pi%20RK3399/ Orangepi-rk3399] FriendlyARM: [http://wiki.friendlyarm.com/wiki/index.php/NanoPC-T4 Nano PC T4] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[http://wiki.friendlyarm.com/wiki/index.php/NanoPi_NEO4 NanoPi NEO4] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[http://wiki.friendlyarm.com/wiki/index.php/NanoPi_M4 NanoPi M4] Khadas: [https://www.khadas.com/edge Edge-rk3399] = RK3328 Boards = Pine64:&nbsp;[[ROCK64|ROCK64]] Firefly: [[ROC-RK3328-CC|ROC-RK3328-CC]] f1311470a4e6bbf14689677317692cbabe232f9b 2143 2142 2019-08-22T02:50:11Z Kever 2 wikitext text/x-wiki Here list the sbc boards that purchase available on market. &nbsp; = RK3036 Boards = Rockchip:&nbsp;[http://rockchip.wikidot.com/kylin Kylin-RK3036] = RK3288 Boards = &nbsp; ASUS:&nbsp;[[ASUS_Tinker|Tinker Board]] Firefly:&nbsp;[[Firefly-RK3288|Firefly-RK3288]] Mqmaker: [[MiQi|MiQi]] PHYTEC: [[PhyCORE-RK3288|phyCore-RK3288]] Pico-ITX: [http://www.aaeon.com/en/p/pico-itx-boards-rico-3288 RICO-3288] = RK3399 Boards = Rockchip: RK3399&nbsp;[[Excavator_sapphire_board|Excavator sapphire]] Firefly: [[Firefly-RK3399|Firefly-RK3399]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [http://en.t-firefly.com/product/rocrk3399pc ROC-RK3399-PC] [https://www.theobroma-systems.com/ Theobroma Systems]: [[RK3399-Q7|RK3399-Q7]] Pine64: [https://www.pine64.org/?page_id=61454 ROCK64pro] Vmars: [https://www.96rocks.com/ ROCK960] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[https://wiki.radxa.com/Rockpi4 Rock Pi 4] Pico-ITX: [http://www.aaeon.com/en/p/pico-itx-boards-rico-3399 RICO-3399] Orange Pi: [http://www.orangepi.org/Orange%20Pi%20RK3399/ Orangepi-rk3399] FriendlyARM: [http://wiki.friendlyarm.com/wiki/index.php/NanoPC-T4 Nano PC T4] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[http://wiki.friendlyarm.com/wiki/index.php/NanoPi_NEO4 NanoPi NEO4] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[http://wiki.friendlyarm.com/wiki/index.php/NanoPi_M4 NanoPi M4] Khadas: [https://www.khadas.com/edge Edge-rk3399] = RK3328 Boards = Pine64:&nbsp;[[ROCK64|ROCK64]] Firefly: [[ROC-RK3328-CC|ROC-RK3328-CC]] eae4b515d4754981bca4f16d47e42dee35bb27d8 2144 2143 2019-08-22T02:51:19Z Kever 2 wikitext text/x-wiki Here list the sbc boards that purchase available on market. &nbsp; = RK3036 Boards = Rockchip:&nbsp;[http://rockchip.wikidot.com/kylin Kylin-RK3036] = RK3288 Boards = Amarula Electronics: [https://www.amarula-electronics.com/product/vyasa-pico-itx-2-5-single-board-computer Vyasa-RK3288] ASUS:&nbsp;[[ASUS_Tinker|Tinker Board]] Firefly:&nbsp;[[Firefly-RK3288|Firefly-RK3288]] Mqmaker: [[MiQi|MiQi]] PHYTEC: [[PhyCORE-RK3288|phyCore-RK3288]] Pico-ITX: [http://www.aaeon.com/en/p/pico-itx-boards-rico-3288 RICO-3288] Rdaxa: [https://wiki.radxa.com/Rock2 Rock2] = RK3399 Boards = Rockchip: RK3399&nbsp;[[Excavator_sapphire_board|Excavator sapphire]] Firefly: [[Firefly-RK3399|Firefly-RK3399]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [http://en.t-firefly.com/product/rocrk3399pc ROC-RK3399-PC] [https://www.theobroma-systems.com/ Theobroma Systems]: [[RK3399-Q7|RK3399-Q7]] Pine64: [https://www.pine64.org/?page_id=61454 ROCK64pro] Vmars: [https://www.96rocks.com/ ROCK960] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[https://wiki.radxa.com/Rockpi4 Rock Pi 4] Pico-ITX: [http://www.aaeon.com/en/p/pico-itx-boards-rico-3399 RICO-3399] Orange Pi: [http://www.orangepi.org/Orange%20Pi%20RK3399/ Orangepi-rk3399] FriendlyARM: [http://wiki.friendlyarm.com/wiki/index.php/NanoPC-T4 Nano PC T4] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[http://wiki.friendlyarm.com/wiki/index.php/NanoPi_NEO4 NanoPi NEO4] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[http://wiki.friendlyarm.com/wiki/index.php/NanoPi_M4 NanoPi M4] Khadas: [https://www.khadas.com/edge Edge-rk3399] = RK3328 Boards = Pine64:&nbsp;[[ROCK64|ROCK64]] Firefly: [[ROC-RK3328-CC|ROC-RK3328-CC]] bf6185e0ba0f3b6212508ad23b06d891d25552ce 2145 2144 2019-08-22T03:03:50Z Kever 2 wikitext text/x-wiki Here list the sbc boards that purchase available on market. &nbsp; = RK3036 Boards = Rockchip:&nbsp;[http://rockchip.wikidot.com/kylin Kylin-RK3036] &nbsp; = RK3288 Boards = Amarula Electronics: [https://www.amarula-electronics.com/product/vyasa-pico-itx-2-5-single-board-computer Vyasa-RK3288] ASUS:&nbsp;[[ASUS_Tinker|Tinker Board]] Firefly:&nbsp;[[Firefly-RK3288|Firefly-RK3288]] Mqmaker: [[MiQi|MiQi]] PHYTEC: [[PhyCORE-RK3288|phyCore-RK3288]] Pico-ITX: [http://www.aaeon.com/en/p/pico-itx-boards-rico-3288 RICO-3288] Rdaxa: [https://wiki.radxa.com/Rock2 Rock2] = RK3399 Boards = Rockchip: RK3399&nbsp;[[Excavator_sapphire_board|Excavator sapphire]] Firefly: [[Firefly-RK3399|Firefly-RK3399]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [http://en.t-firefly.com/product/rocrk3399pc ROC-RK3399-PC] [https://www.theobroma-systems.com/ Theobroma Systems]: [[RK3399-Q7|RK3399-Q7]] Pine64: [https://www.pine64.org/?page_id=61454 ROCK64pro] Vmars: [https://www.96rocks.com/ ROCK960] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[https://wiki.radxa.com/Rockpi4 Rock Pi 4] Pico-ITX: [http://www.aaeon.com/en/p/pico-itx-boards-rico-3399 RICO-3399] Orange Pi: [http://www.orangepi.org/Orange%20Pi%20RK3399/ Orangepi-rk3399] FriendlyARM: [http://wiki.friendlyarm.com/wiki/index.php/NanoPC-T4 Nano PC T4] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[http://wiki.friendlyarm.com/wiki/index.php/NanoPi_NEO4 NanoPi NEO4] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[http://wiki.friendlyarm.com/wiki/index.php/NanoPi_M4 NanoPi M4] Khadas: [https://www.khadas.com/edge Edge-rk3399] = RK3328 Boards = Pine64:&nbsp;[[ROCK64|ROCK64]] Firefly: [[ROC-RK3328-CC|ROC-RK3328-CC]] = RK3399Pro&nbsp;Boards = Rockchip:&nbsp;[http://t.rock-chips.com/en/portal.php?mod=view&aid=4 TB-RK3399] &nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[https://www.96boards.org/documentation/som/tb-96ai TB-96AI] = RK1808 Boards = Rockchip:&nbsp;[http://t.rock-chips.com/portal.php?mod=view&aid=28 TB-RK1808] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[https://www.96boards.org/documentation/som/tb-96aiot/ TB-96AIoT] 49b218e293463557617e0793c2a7193aeea1b9ef 2146 2145 2019-08-22T03:10:11Z Kever 2 wikitext text/x-wiki Here list the sbc boards that purchase available on market. &nbsp; = RK3288 Boards = Amarula Electronics: [https://www.amarula-electronics.com/product/vyasa-pico-itx-2-5-single-board-computer Vyasa-RK3288] ASUS:&nbsp;[[ASUS_Tinker|Tinker Board]] Firefly:&nbsp;[[Firefly-RK3288|Firefly-RK3288]] Mqmaker: [[MiQi|MiQi]] PHYTEC: [[PhyCORE-RK3288|phyCore-RK3288]] Pico-ITX: [http://www.aaeon.com/en/p/pico-itx-boards-rico-3288 RICO-3288] Rdaxa: [https://wiki.radxa.com/Rock2 Rock2] = RK3399 Boards = Rockchip: RK3399&nbsp;[[Excavator_sapphire_board|Excavator sapphire]] Firefly: [[Firefly-RK3399|Firefly-RK3399]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [http://en.t-firefly.com/product/rocrk3399pc ROC-RK3399-PC] [https://www.theobroma-systems.com/ Theobroma Systems]: [[RK3399-Q7|RK3399-Q7]] Pine64: [https://www.pine64.org/?page_id=61454 ROCK64pro] Vmars: [https://www.96rocks.com/ ROCK960] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[https://wiki.radxa.com/Rockpi4 Rock Pi 4] Pico-ITX: [http://www.aaeon.com/en/p/pico-itx-boards-rico-3399 RICO-3399] Orange Pi: [http://www.orangepi.org/Orange%20Pi%20RK3399/ Orangepi-rk3399] FriendlyARM: [http://wiki.friendlyarm.com/wiki/index.php/NanoPC-T4 Nano PC T4] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[http://wiki.friendlyarm.com/wiki/index.php/NanoPi_NEO4 NanoPi NEO4] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[http://wiki.friendlyarm.com/wiki/index.php/NanoPi_M4 NanoPi M4] Khadas: [https://www.khadas.com/edge Edge-rk3399] = RK3328 Boards = Pine64:&nbsp;[[ROCK64|ROCK64]] Firefly: [[ROC-RK3328-CC|ROC-RK3328-CC]] = RK3399Pro&nbsp;Boards = Rockchip:&nbsp;[http://t.rock-chips.com/en/portal.php?mod=view&aid=4 TB-RK3399] &nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[https://www.96boards.org/documentation/som/tb-96ai TB-96AI] = RK1808 Boards = Rockchip:&nbsp;[http://t.rock-chips.com/portal.php?mod=view&aid=28 TB-RK1808] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[https://www.96boards.org/documentation/som/tb-96aiot/ TB-96AIoT] c545b7e4f15fb2ab37610aad4295d27525369cb4 2147 2146 2019-08-22T03:31:28Z Kever 2 wikitext text/x-wiki Here list the sbc boards that purchase available on market. &nbsp; = RK3288 Boards = Amarula Electronics: [https://www.amarula-electronics.com/product/vyasa-pico-itx-2-5-single-board-computer Vyasa-RK3288] ASUS:&nbsp;[[ASUS_Tinker|Tinker Board]] Firefly:&nbsp;[[Firefly-RK3288|Firefly-RK3288]] Lenovo:[https://leez.lenovo.com/#/p710 Leez P710] Mqmaker: [[MiQi|MiQi]] PHYTEC: [[PhyCORE-RK3288|phyCore-RK3288]] Pico-ITX: [http://www.aaeon.com/en/p/pico-itx-boards-rico-3288 RICO-3288] Rdaxa: [https://wiki.radxa.com/Rock2 Rock2] = RK3399 Boards = Rockchip: RK3399&nbsp;[[Excavator_sapphire_board|Excavator sapphire]] Firefly: [[Firefly-RK3399|Firefly-RK3399]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [http://en.t-firefly.com/product/rocrk3399pc ROC-RK3399-PC] [https://www.theobroma-systems.com/ Theobroma Systems]: [[RK3399-Q7|RK3399-Q7]] Pine64: [https://www.pine64.org/?page_id=61454 ROCK64pro] Vmars: [https://www.96rocks.com/ ROCK960] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[https://wiki.radxa.com/Rockpi4 Rock Pi 4] Pico-ITX: [http://www.aaeon.com/en/p/pico-itx-boards-rico-3399 RICO-3399] Orange Pi: [http://www.orangepi.org/Orange%20Pi%20RK3399/ Orangepi-rk3399] FriendlyARM: [http://wiki.friendlyarm.com/wiki/index.php/NanoPC-T4 Nano PC T4] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[http://wiki.friendlyarm.com/wiki/index.php/NanoPi_NEO4 NanoPi NEO4] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[http://wiki.friendlyarm.com/wiki/index.php/NanoPi_M4 NanoPi M4] Khadas: [https://www.khadas.com/edge Edge-rk3399] = RK3328 Boards = Pine64:&nbsp;[[ROCK64|ROCK64]] Firefly: [[ROC-RK3328-CC|ROC-RK3328-CC]] = RK3399Pro&nbsp;Boards = Rockchip:&nbsp;[http://t.rock-chips.com/en/portal.php?mod=view&aid=4 TB-RK3399] &nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[https://www.96boards.org/documentation/som/tb-96ai TB-96AI] = RK1808 Boards = Rockchip:&nbsp;[http://t.rock-chips.com/portal.php?mod=view&aid=28 TB-RK1808] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[https://www.96boards.org/documentation/som/tb-96aiot/ TB-96AIoT] 6c7c7c4e539afad1d6e656c65d512b64d7827742 2148 2147 2019-08-22T03:32:36Z Kever 2 wikitext text/x-wiki Here list the sbc boards that purchase available on market. &nbsp; &nbsp; = RK3288 Boards = Amarula Electronics: [https://www.amarula-electronics.com/product/vyasa-pico-itx-2-5-single-board-computer Vyasa-RK3288] ASUS:&nbsp;[[ASUS_Tinker|Tinker Board]] Firefly:&nbsp;[[Firefly-RK3288|Firefly-RK3288]] Mqmaker: [[MiQi|MiQi]] PHYTEC: [[PhyCORE-RK3288|phyCore-RK3288]] Pico-ITX: [http://www.aaeon.com/en/p/pico-itx-boards-rico-3288 RICO-3288] Rdaxa: [https://wiki.radxa.com/Rock2 Rock2] = RK3399 Boards = Rockchip: RK3399&nbsp;[[Excavator_sapphire_board|Excavator sapphire]] Firefly: [[Firefly-RK3399|Firefly-RK3399]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [http://en.t-firefly.com/product/rocrk3399pc ROC-RK3399-PC] Lenovo:[https://leez.lenovo.com/#/p710 Leez P710] [https://www.theobroma-systems.com/ Theobroma Systems]: [[RK3399-Q7|RK3399-Q7]] Pine64: [https://www.pine64.org/?page_id=61454 ROCK64pro] Vmars: [https://www.96rocks.com/ ROCK960] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[https://wiki.radxa.com/Rockpi4 Rock Pi 4] Pico-ITX: [http://www.aaeon.com/en/p/pico-itx-boards-rico-3399 RICO-3399] Orange Pi: [http://www.orangepi.org/Orange%20Pi%20RK3399/ Orangepi-rk3399] FriendlyARM: [http://wiki.friendlyarm.com/wiki/index.php/NanoPC-T4 Nano PC T4] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[http://wiki.friendlyarm.com/wiki/index.php/NanoPi_NEO4 NanoPi NEO4] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[http://wiki.friendlyarm.com/wiki/index.php/NanoPi_M4 NanoPi M4] Khadas: [https://www.khadas.com/edge Edge-rk3399] = RK3328 Boards = Pine64:&nbsp;[[ROCK64|ROCK64]] Firefly: [[ROC-RK3328-CC|ROC-RK3328-CC]] = RK3399Pro&nbsp;Boards = Rockchip:&nbsp;[http://t.rock-chips.com/en/portal.php?mod=view&aid=4 TB-RK3399] &nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[https://www.96boards.org/documentation/som/tb-96ai TB-96AI] = RK1808 Boards = Rockchip:&nbsp;[http://t.rock-chips.com/portal.php?mod=view&aid=28 TB-RK1808] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[https://www.96boards.org/documentation/som/tb-96aiot/ TB-96AIoT] 29173b91834dfc1f57d36278191526a8317d0296 2149 2148 2019-08-22T03:53:00Z Kever 2 wikitext text/x-wiki Here list the sbc boards that purchase available on market. &nbsp; &nbsp; = RK3288 Boards = Amarula Electronics: [https://www.amarula-electronics.com/product/vyasa-pico-itx-2-5-single-board-computer Vyasa-RK3288] ASUS:&nbsp;[[ASUS_Tinker|Tinker Board]] Firefly:&nbsp;[[Firefly-RK3288|Firefly-RK3288]] Mqmaker: [[MiQi|MiQi]] PHYTEC: [[PhyCORE-RK3288|phyCore-RK3288]] Pico-ITX: [http://www.aaeon.com/en/p/pico-itx-boards-rico-3288 RICO-3288] Rdaxa: [https://wiki.radxa.com/Rock2 Rock2] = RK3399 Boards = Firefly: [[Firefly-RK3399|Firefly-RK3399]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [http://en.t-firefly.com/product/rocrk3399pc ROC-RK3399-PC] FriendlyARM: [http://wiki.friendlyarm.com/wiki/index.php/NanoPC-T4 Nano PC T4] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[http://wiki.friendlyarm.com/wiki/index.php/NanoPi_NEO4 NanoPi NEO4] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[http://wiki.friendlyarm.com/wiki/index.php/NanoPi_M4 NanoPi M4] Khadas: [https://www.khadas.com/edge Edge-rk3399] Lenovo:&nbsp;[https://leez.lenovo.com/#/p710 Leez P710] Pine64: [https://www.pine64.org/?page_id=61454 ROCK64pro] Rockchip: RK3399&nbsp;[[Excavator_sapphire_board|Excavator sapphire]] [https://www.theobroma-systems.com/ Theobroma Systems]: [[RK3399-Q7|RK3399-Q7]] Vmars: [https://www.96rocks.com/ ROCK960] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[https://wiki.radxa.com/Rockpi4 Rock Pi 4]Pico-ITX: [http://www.aaeon.com/en/p/pico-itx-boards-rico-3399 RICO-3399]Orange Pi: [http://www.orangepi.org/Orange%20Pi%20RK3399/ Orangepi-rk3399] = RK3328 Boards = Pine64:&nbsp;[[ROCK64|ROCK64]] Firefly: [[ROC-RK3328-CC|ROC-RK3328-CC]] = RK3399Pro&nbsp;Boards = Rockchip:&nbsp;[http://t.rock-chips.com/en/portal.php?mod=view&aid=4 TB-RK3399] &nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[https://www.96boards.org/documentation/som/tb-96ai TB-96AI] = RK1808 Boards = Rockchip:&nbsp;[http://t.rock-chips.com/portal.php?mod=view&aid=28 TB-RK1808] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[https://www.96boards.org/documentation/som/tb-96aiot/ TB-96AIoT] 88fdd9d77b69083923a29b5ba03737f15ca5bbce 2150 2149 2019-08-22T07:15:23Z Kever 2 wikitext text/x-wiki Here list the sbc boards that purchase available on market. &nbsp; &nbsp; = RK3288 Boards = Amarula Electronics: [https://www.amarula-electronics.com/product/vyasa-pico-itx-2-5-single-board-computer Vyasa-RK3288] ASUS:&nbsp;[[ASUS_Tinker|Tinker Board]] Firefly:&nbsp;[[Firefly-RK3288|Firefly-RK3288]] Mqmaker: [[MiQi|MiQi]] PHYTEC: [[PhyCORE-RK3288|phyCore-RK3288]] Pico-ITX: [http://www.aaeon.com/en/p/pico-itx-boards-rico-3288 RICO-3288] Radxa: [https://wiki.radxa.com/Rock2 Rock2] &nbsp; = RK3399 Boards = Firefly: [[Firefly-RK3399|Firefly-RK3399]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [http://en.t-firefly.com/product/rocrk3399pc ROC-RK3399-PC] FriendlyARM: [http://wiki.friendlyarm.com/wiki/index.php/NanoPC-T4 Nano PC T4] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[http://wiki.friendlyarm.com/wiki/index.php/NanoPi_NEO4 NanoPi NEO4] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[http://wiki.friendlyarm.com/wiki/index.php/NanoPi_M4 NanoPi M4] Khadas: [https://www.khadas.com/edge Edge-rk3399] Lenovo:&nbsp;[https://leez.lenovo.com/#/p710 Leez P710] Pine64: [https://www.pine64.org/?page_id=61454 ROCK64pro] Rockchip: RK3399&nbsp;[[Excavator_sapphire_board|Excavator sapphire]] [https://www.theobroma-systems.com/ Theobroma Systems]: [[RK3399-Q7|RK3399-Q7]] Vmars: [https://www.96rocks.com/ ROCK960] Radxa:&nbsp;[https://wiki.radxa.com/Rockpi4 Rock Pi 4] Pico-ITX: [http://www.aaeon.com/en/p/pico-itx-boards-rico-3399 RICO-3399]Orange Pi: [http://www.orangepi.org/Orange%20Pi%20RK3399/ Orangepi-rk3399] = RK3328 Boards = Pine64:&nbsp;[[ROCK64|ROCK64]] Firefly: [[ROC-RK3328-CC|ROC-RK3328-CC]] = RK3399Pro&nbsp;Boards = Rockchip:&nbsp;[http://t.rock-chips.com/en/portal.php?mod=view&aid=4 TB-RK3399] &nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[https://www.96boards.org/documentation/som/tb-96ai TB-96AI] = RK1808 Boards = Rockchip:&nbsp;[http://t.rock-chips.com/portal.php?mod=view&aid=28 TB-RK1808] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[https://www.96boards.org/documentation/som/tb-96aiot/ TB-96AIoT] 867505a566d1658658b48598ebb0790d2e469e13 2151 2150 2019-08-22T07:17:05Z Kever 2 wikitext text/x-wiki Here list the sbc boards that purchase available on market. &nbsp; &nbsp; = RK3288 Boards = Amarula Electronics: [https://www.amarula-electronics.com/product/vyasa-pico-itx-2-5-single-board-computer Vyasa-RK3288] ASUS:&nbsp;[[ASUS_Tinker|Tinker Board]] Firefly:&nbsp;[[Firefly-RK3288|Firefly-RK3288]] Mqmaker: [[MiQi|MiQi]] PHYTEC: [[PhyCORE-RK3288|phyCore-RK3288]] Pico-ITX: [http://www.aaeon.com/en/p/pico-itx-boards-rico-3288 RICO-3288] Radxa: [https://wiki.radxa.com/Rock2 Rock2] &nbsp; = RK3399 Boards = Firefly: [[Firefly-RK3399|Firefly-RK3399]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [http://en.t-firefly.com/product/rocrk3399pc ROC-RK3399-PC] FriendlyARM: [http://wiki.friendlyarm.com/wiki/index.php/NanoPC-T4 Nano PC T4] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[http://wiki.friendlyarm.com/wiki/index.php/NanoPi_NEO4 NanoPi NEO4] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[http://wiki.friendlyarm.com/wiki/index.php/NanoPi_M4 NanoPi M4] Khadas: [https://www.khadas.com/edge Edge-rk3399] Lenovo:&nbsp;[https://leez.lenovo.com/#/p710 Leez P710] Orange Pi: [http://www.orangepi.org/Orange%20Pi%20RK3399/ Orangepi-rk3399] Pico-ITX: [http://www.aaeon.com/en/p/pico-itx-boards-rico-3399 RICO-3399] &nbsp; Pine64: [https://www.pine64.org/?page_id=61454 ROCK64pro] Radxa:&nbsp;[https://wiki.radxa.com/Rockpi4 Rock Pi 4] Rockchip: RK3399&nbsp;[[Excavator_sapphire_board|Excavator sapphire]] [https://www.theobroma-systems.com/ Theobroma Systems]: [[RK3399-Q7|RK3399-Q7]] Vmars: [https://www.96rocks.com/ ROCK960] = RK3328 Boards = Pine64:&nbsp;[[ROCK64|ROCK64]] Firefly: [[ROC-RK3328-CC|ROC-RK3328-CC]] = RK3399Pro&nbsp;Boards = Rockchip:&nbsp;[http://t.rock-chips.com/en/portal.php?mod=view&aid=4 TB-RK3399] &nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[https://www.96boards.org/documentation/som/tb-96ai TB-96AI] = RK1808 Boards = Rockchip:&nbsp;[http://t.rock-chips.com/portal.php?mod=view&aid=28 TB-RK1808] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[https://www.96boards.org/documentation/som/tb-96aiot/ TB-96AIoT] 5bb77b9cfc17415f1629f4f164ee414d93294110 2152 2151 2019-08-22T07:17:30Z Kever 2 wikitext text/x-wiki Here list the sbc boards that purchase available on market. &nbsp; &nbsp; = RK3288 Boards = Amarula Electronics: [https://www.amarula-electronics.com/product/vyasa-pico-itx-2-5-single-board-computer Vyasa-RK3288] ASUS:&nbsp;[[ASUS_Tinker|Tinker Board]] Firefly:&nbsp;[[Firefly-RK3288|Firefly-RK3288]] Mqmaker: [[MiQi|MiQi]] PHYTEC: [[PhyCORE-RK3288|phyCore-RK3288]] Pico-ITX: [http://www.aaeon.com/en/p/pico-itx-boards-rico-3288 RICO-3288] Radxa: [https://wiki.radxa.com/Rock2 Rock2] &nbsp; = RK3399 Boards = Firefly: [[Firefly-RK3399|Firefly-RK3399]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [http://en.t-firefly.com/product/rocrk3399pc ROC-RK3399-PC] FriendlyARM: [http://wiki.friendlyarm.com/wiki/index.php/NanoPC-T4 Nano PC T4] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[http://wiki.friendlyarm.com/wiki/index.php/NanoPi_NEO4 NanoPi NEO4] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[http://wiki.friendlyarm.com/wiki/index.php/NanoPi_M4 NanoPi M4] Khadas: [https://www.khadas.com/edge Edge-rk3399] Lenovo:&nbsp;[https://leez.lenovo.com/#/p710 Leez P710] Orange Pi: [http://www.orangepi.org/Orange%20Pi%20RK3399/ Orangepi-rk3399] Pico-ITX: [http://www.aaeon.com/en/p/pico-itx-boards-rico-3399 RICO-3399] Pine64: [https://www.pine64.org/?page_id=61454 ROCK64pro] Radxa:&nbsp;[https://wiki.radxa.com/Rockpi4 Rock Pi 4] Rockchip: RK3399&nbsp;[[Excavator_sapphire_board|Excavator sapphire]] [https://www.theobroma-systems.com/ Theobroma Systems]: [[RK3399-Q7|RK3399-Q7]] Vmars: [https://www.96rocks.com/ ROCK960] = RK3328 Boards = Pine64:&nbsp;[[ROCK64|ROCK64]] Firefly: [[ROC-RK3328-CC|ROC-RK3328-CC]] = RK3399Pro&nbsp;Boards = Rockchip:&nbsp;[http://t.rock-chips.com/en/portal.php?mod=view&aid=4 TB-RK3399] &nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[https://www.96boards.org/documentation/som/tb-96ai TB-96AI] = RK1808 Boards = Rockchip:&nbsp;[http://t.rock-chips.com/portal.php?mod=view&aid=28 TB-RK1808] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[https://www.96boards.org/documentation/som/tb-96aiot/ TB-96AIoT] 68f34276de3f27d1abe9c60cc57789ee3e64e747 2174 2152 2019-09-04T03:11:41Z Admin 1 wikitext text/x-wiki Here list the sbc boards that purchase available on market. &nbsp; &nbsp; = RK3288 Boards = Amarula Electronics: [https://www.amarula-electronics.com/product/vyasa-pico-itx-2-5-single-board-computer Vyasa-RK3288] ASUS:&nbsp;[[ASUS_Tinker|Tinker Board]] Firefly:&nbsp;[[Firefly-RK3288|Firefly-RK3288]] PHYTEC: [[PhyCORE-RK3288|phyCore-RK3288]] Pico-ITX: [http://www.aaeon.com/en/p/pico-itx-boards-rico-3288 RICO-3288] Radxa: [https://wiki.radxa.com/Rock2 Rock2] &nbsp; = RK3399 Boards = Firefly: [[Firefly-RK3399|Firefly-RK3399]] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [http://en.t-firefly.com/product/rocrk3399pc ROC-RK3399-PC] FriendlyARM: [http://wiki.friendlyarm.com/wiki/index.php/NanoPC-T4 Nano PC T4] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[http://wiki.friendlyarm.com/wiki/index.php/NanoPi_NEO4 NanoPi NEO4] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[http://wiki.friendlyarm.com/wiki/index.php/NanoPi_M4 NanoPi M4] Khadas: [https://www.khadas.com/edge Edge-rk3399] Lenovo:&nbsp;[https://leez.lenovo.com/#/p710 Leez P710] Orange Pi: [http://www.orangepi.org/Orange%20Pi%20RK3399/ Orangepi-rk3399] Pico-ITX: [http://www.aaeon.com/en/p/pico-itx-boards-rico-3399 RICO-3399] Pine64: [https://www.pine64.org/?page_id=61454 ROCK64pro] Radxa:&nbsp;[https://wiki.radxa.com/Rockpi4 Rock Pi 4] Rockchip: RK3399&nbsp;[[Excavator_sapphire_board|Excavator sapphire]] [https://www.theobroma-systems.com/ Theobroma Systems]: [[RK3399-Q7|RK3399-Q7]] Vmars: [https://www.96rocks.com/ ROCK960] = RK3328 Boards = Pine64:&nbsp;[[ROCK64|ROCK64]] Firefly: [[ROC-RK3328-CC|ROC-RK3328-CC]] = RK3399Pro&nbsp;Boards = Rockchip:&nbsp;[http://t.rock-chips.com/en/portal.php?mod=view&aid=4 TB-RK3399] &nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[https://www.96boards.org/documentation/som/tb-96ai TB-96AI] = RK1808 Boards = Rockchip:&nbsp;[http://t.rock-chips.com/portal.php?mod=view&aid=28 TB-RK1808] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[https://www.96boards.org/documentation/som/tb-96aiot/ TB-96AIoT] 69a20b5eb9fd9a1ed9f78c0519735e9f0b6b7530 RK3399 0 21 2153 2077 2019-08-22T07:19:38Z Kever 2 wikitext text/x-wiki Rockchip RK3399 SoC integrates&nbsp;dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor, and with&nbsp;ARM Mali-T864 GPU. {| border="0" cellpadding="1" cellspacing="1" class="infobox" style="width: 300px;" |- | [[File:RK3399 Soc.png|RTENOTITLE]] |} = Overview = RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications. &nbsp; = SoC Features = {| border="0" cellpadding="1" cellspacing="1" style="width: 972px;" |- | style="width: 530px;" | *CPU: **Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU **Frequency is over 1.8GHz (Big cluster) **L1 cache ***48KB Icache and 32KB Dcache for each A72 ***32KB Icache and 32KB Dcache for each A53 **L2 cache ***1024KB for big cluster ***512KB for little cluster *Internal SRAM **192KB total **4KB used by bootrom when bootup *GPU: **&nbsp;Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11 **Supports AFBC (ARM Frame Buffer Compression) *Display: **Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600 **Dual channel MIPI-DSI (4 lanes per channel) **eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR **HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2 **DisplayPort 1.2 (4 lanes, up to 4K 60Hz) **Supports Rec.2020 and conversion to Rec.709 *Camera: **&nbsp;Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels *Memory: **Dual channels 64-bit DRAM controller **Support DDR3/DDR3L, LPDDR3, LPDDR4 *Connectivity: **PCIe 2.1 (4 full-duplex lanes with 20Gbps) **Embedded low power MCU for other application **8 channels I2S supports 8 channels RX or 8 channels TX | style="width: 429px;" | [[File:RK3399 Block Diagram.png|RTENOTITLE]] |} &nbsp; = Documentation = #[http://opensource.rock-chips.com/images/6/60/Rockchip_RK3399_Datasheet_V1.6-20170301.pdf Rockchip_RK3399_Datasheet_V1.6-20170301.pdf] #[[Media:Rockchip_RK3399TRM_V1.4_Part1-20170408.pdf|Rockchip RK3399TRM V1.4 Part1-20170408.pdf]] #[http://opensource.rock-chips.com/images/f/f9/RK3399_Linux_Debain_V1.1_Development_Guide170620.pdf RK3399_Linux_Debain_V1.1_Development_Guide170620.pdf] #[http://opensource.rock-chips.com/images/5/5d/RK3399_Linux_Debian_v1.1开发说明170620.pdf RK3399 Linux Debian v1.1开发说明170620.pdf] #[http://opensource.rock-chips.com/images/9/92/RK3399_Linux_Buildroot_V1.2_Development_Guide170619.pdf RK3399_Linux_Buildroot_V1.2_Development_Guide170619.pdf] #[http://opensource.rock-chips.com/images/0/05/RK3399_Linux_Buildroot_V1.2开发说明170619.pdf RK3399_Linux_Buildroot_V1.2开发说明170619.pdf] #[http://opensource.rock-chips.com/images/2/20/RK3399_Multimedia_Codec_Benchmark_v1.0.pdf RK3399_Multimedia_Codec_Benchmark_v1.0.pdf] #[[Media:RK3399_Design_Guide_V1.0_20170420.pdf|RK3399 Design Guide_V1.0_20170420.pdf]] = Software = See [[Linux_user_guide|Linux User Guide]]&nbsp;setup LInux OS generally; See&nbsp;[[U-Boot|U-Boot]]&nbsp;guide to develop U-Boot; See&nbsp;[[Rockchip_Kernel|Rockchip kernel]]&nbsp;to develop kernel; See [[Buildroot|buildroot and]] [[Debian|debian&nbsp;to]] develop and rootfs. &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" class="table_style" style="width: 859px;" |- ! style="width: 68px; text-align: center;" | '''chip''' ! style="width: 181px; text-align: center;" | '''Kernel eMMC index''' ! style="width: 142px; text-align: center;" | '''Kernel SD index''' ! style="width: 158px; text-align: center;" | '''Uboot eMMC index''' ! style="width: 146px; text-align: center;" | '''Uboot SD index''' ! style="width: 132px; text-align: center;" | '''Baud speed''' |- | style="width: 68px; text-align: center;" | RK3399 | style="width: 181px; text-align: center;" | 1 | style="width: 142px; text-align: center;" | 0 | style="width: 158px; text-align: center;" | 0 | style="width: 146px; text-align: center;" | 1 | style="width: 132px; text-align: center;" | 1500000 |} &nbsp; = [http://opensource.rock-chips.com/wiki_Devices#RK3399_Boards RK3399 Devices List] = &nbsp; = References = [https://en.wikipedia.org/wiki/ARM_Cortex-A72 https://en.wikipedia.org/wiki/ARM_Cortex-A72] [http://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html http://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html] [https://www.arm.com/zh/products/multimedia/mali-gpu/high-performance/mali-t860-t880.php https://www.arm.com/zh/products/multimedia/mali-gpu/high-performance/mali-t860-t880.php] f43bf079f17578633b3d2950457af3ebb47a3144 2157 2153 2019-08-29T01:43:59Z Admin 1 wikitext text/x-wiki Rockchip RK3399 SoC integrates&nbsp;dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor, and with&nbsp;ARM Mali-T864 GPU. {| border="0" cellpadding="1" cellspacing="1" class="infobox" style="width: 300px;" |- | [[File:RK3399 Soc.png|RTENOTITLE]] |} = Overview = RK3399 is a low power, high performance processor for computing, personal mobile internet devices and other smart device applications. Based on Big.Little architecture, it integrates dual-core Cortex-A72 and quad-core Cortex-A53 with separate NEON coprocessor.<br/> Many embedded powerful hardware engines provide optimized performance for high-end application. RK3399 supports multi-format video decoders including H.264/H.265/VP9 up to4Kx2K@60fps, especially, H.264/H.265 decoders support 10bits coding, and also supports H.264/MVC/VP8 encoders by 1080p@30fps, high-quality JPEG encoder/decoder, and special image preprocessor and postprocessor.<br/> Embedded 3D GPU makes RK3399 completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenCL and DirectX 11.1. Special 2D hardware engine with MMU will maximize display performance and provide very smooth operation.<br/> RK3399 has high-performance dual channel external memory interface (DDR3/DDR3L/LPDDR3/LPDDR4) capable of sustaining demanding memory bandwidths, also provides a complete set of peripheral interface to support very flexible applications. &nbsp; = SoC Features = {| border="0" cellpadding="1" cellspacing="1" style="width: 972px;" |- | style="width: 530px;" | *CPU: **Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU **Frequency is over 1.8GHz (Big cluster) **L1 cache ***48KB Icache and 32KB Dcache for each A72 ***32KB Icache and 32KB Dcache for each A53 **L2 cache ***1024KB for big cluster ***512KB for little cluster *Internal SRAM **192KB total **4KB used by bootrom when bootup *GPU: **&nbsp;Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11 **Supports AFBC (ARM Frame Buffer Compression) *Display: **Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600 **Dual channel MIPI-DSI (4 lanes per channel) **eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR **HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2 **DisplayPort 1.2 (4 lanes, up to 4K 60Hz) **Supports Rec.2020 and conversion to Rec.709 *Camera: **&nbsp;Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels *Memory: **Dual channels 64-bit DRAM controller **Support DDR3/DDR3L, LPDDR3, LPDDR4 *Connectivity: **PCIe 2.1 (4 full-duplex lanes with 20Gbps) **Embedded low power MCU for other application **8 channels I2S supports 8 channels RX or 8 channels TX | style="width: 429px;" | [[File:RK3399 Block Diagram.png|RTENOTITLE]] |} &nbsp; = Documentation = #[http://opensource.rock-chips.com/images/f/f9/RK3399_Linux_Debain_V1.1_Development_Guide170620.pdf RK3399_Linux_Debain_V1.1_Development_Guide170620.pdf] #[http://opensource.rock-chips.com/images/5/5d/RK3399_Linux_Debian_v1.1开发说明170620.pdf RK3399 Linux Debian v1.1开发说明170620.pdf] #[http://opensource.rock-chips.com/images/9/92/RK3399_Linux_Buildroot_V1.2_Development_Guide170619.pdf RK3399_Linux_Buildroot_V1.2_Development_Guide170619.pdf] #[http://opensource.rock-chips.com/images/0/05/RK3399_Linux_Buildroot_V1.2开发说明170619.pdf RK3399_Linux_Buildroot_V1.2开发说明170619.pdf] #[http://opensource.rock-chips.com/images/2/20/RK3399_Multimedia_Codec_Benchmark_v1.0.pdf RK3399_Multimedia_Codec_Benchmark_v1.0.pdf] = Software = See [[Linux_user_guide|Linux User Guide]]&nbsp;setup LInux OS generally; See&nbsp;[[U-Boot|U-Boot]]&nbsp;guide to develop U-Boot; See&nbsp;[[Rockchip_Kernel|Rockchip kernel]]&nbsp;to develop kernel; See [[Buildroot|buildroot and]] [[Debian|debian&nbsp;to]] develop and rootfs. &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" class="table_style" style="width: 859px;" |- ! style="width: 68px; text-align: center;" | '''chip''' ! style="width: 181px; text-align: center;" | '''Kernel eMMC index''' ! style="width: 142px; text-align: center;" | '''Kernel SD index''' ! style="width: 158px; text-align: center;" | '''Uboot eMMC index''' ! style="width: 146px; text-align: center;" | '''Uboot SD index''' ! style="width: 132px; text-align: center;" | '''Baud speed''' |- | style="width: 68px; text-align: center;" | RK3399 | style="width: 181px; text-align: center;" | 1 | style="width: 142px; text-align: center;" | 0 | style="width: 158px; text-align: center;" | 0 | style="width: 146px; text-align: center;" | 1 | style="width: 132px; text-align: center;" | 1500000 |} &nbsp; = [http://opensource.rock-chips.com/wiki_Devices#RK3399_Boards RK3399 Devices List] = &nbsp; = References = [https://en.wikipedia.org/wiki/ARM_Cortex-A72 https://en.wikipedia.org/wiki/ARM_Cortex-A72] [http://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html http://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html] [https://www.arm.com/zh/products/multimedia/mali-gpu/high-performance/mali-t860-t880.php https://www.arm.com/zh/products/multimedia/mali-gpu/high-performance/mali-t860-t880.php] 4ef6b865d0b29983441e6ff28a64cc4c23b74af6 RK3288 0 20 2154 2128 2019-08-22T07:21:38Z Kever 2 wikitext text/x-wiki {{Infobox SoC | title = RK3288 | image = [[File:rk3288_soc.png|200px]] | manufacturer = Rockchip | process = 28nm | cpu = Quad-Core ARM Cortex-A17 | ltwo = | extensions = | memory = 2-channel LPDDR3/LPDDR2/DDR3/DDR3L | gpu = ARM Mali-T764 | vpu = | apu = | video = HDMI 1.4, MIPI DSI, LVDS, RGB LCD | audio = I2S, PCM | network = | storage = 4x SD Card, eMMC, NAND | usb = OTG, 2x Host | other = | release_date = June 2014 | website = http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html }} &nbsp; &nbsp; &nbsp; Integrated with a Quad-Core [https://en.wikipedia.org/wiki/ARM_Cortex-A17 Cortex-A17]&nbsp;which up to 1.8GHz and ARMMali-T764&nbsp;which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant&nbsp;interfaces provide&nbsp;a friendly solution for product&nbsp;development. Futhermore &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; = Overview = The RK3288 offers<big><var>&nbsp;</var></big>an extensible, <big><small><tt>leading&nbsp;performance</tt></small></big>, long-standing heritage platform,ideally suited for &nbsp;set-top box solution, tablet and chromebook.The platform is integrated with a Quad-Core Cortex-A17 which up to 1.8GHz and ARM Mali-T764&nbsp;which supports openGL ES1.1/2.0/3.0, openVG1.1, OpenCL and DirectX11. Abundant&nbsp;interfaces provide&nbsp;a friendly solution for product&nbsp;development. Futhermore, the power consumption is&nbsp;optimal for applications such as imaging/video, communication and broadband infrastructure,and performance audio applications. &nbsp; &nbsp; = RK3288 SoC Features = {| border="0" cellpadding="1" cellspacing="1" style="width: 972px;" |- | style="width: 530px;" | *CPU: **Quad Core Cortex-A17&nbsp;up to 1.8GHz **32KB L1-Cache **1MB L2-Cache *Internal SRAM **96KB total **First 16KB used by Bootrom when bootup *GPU: **ARM Mali-T764 GPU, with TE, ASTC, AFBC technology **Quad core 3D Graphics engine **Dual core 2D Graphics engine **Comply with&nbsp;OpenGL ES1.1/2.0/3.0, OpenVG1.1, OpenCL, DirectX11 *Display: **4Kx2K@60fpsHDMI2.0 **Up to 3840X2160 display resolution **Support dual-channel LVDS/dual-channel MIPI-DSI/eDP1.1 *Camera: **Support up to 5M pixels **8bits/10bits/12bits raw data interface&nbsp; *Memory: **Dual channels 64-bit DRAM controller **Support DDR3/DDR3L, LPDDR2, LPDDR3 *Connectivity: **Embedded 13M ISP and MIPI-CSI2 interface *Audio: **I2S/PCM with 8 channels | style="width: 429px;" | [[File:3288.png|RTENOTITLE]] |} &nbsp; &nbsp; = Documentation = #[[Media:Rockchip_RK3288_Datasheet_V2.2-20170301.pdf|Media:Rockchip RK3288 Datasheet V2.2-20170301.pdf]] #[[Media:Rockchip_RK3288_TRM_V1.2_Part1-20170321.pdf|Rockchip RK3288 TRM V1.2 Part1-20170321.pdf]] #[http://opensource.rock-chips.com/images/a/ae/Rk3288_hardware_reference.zip Rk3288_hardware_reference.zip] &nbsp; = Software = See&nbsp;[http://opensource.rock-chips.com/wiki_Linux_user_guide Linux User Guide]&nbsp;setup LInux OS generally; See&nbsp;[http://opensource.rock-chips.com/wiki_U-Boot U-Boot]&nbsp;guide to develop U-Boot; See&nbsp;[http://opensource.rock-chips.com/wiki_Rockchip_Kernel Rockchip kernel]&nbsp;to develop kernel; See&nbsp;[http://opensource.rock-chips.com/wiki_Buildroot buildroot and]&nbsp;[http://opensource.rock-chips.com/wiki_Debian debian&nbsp;to]&nbsp;develop and rootfs. &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" class="table_style" |- ! '''chip''' ! '''Kernel eMMC index''' ! '''Kernel SD index''' ! '''Uboot eMMC index''' ! '''Uboot SD index''' ! '''Baud speed''' |- | RK3288 | 1 | 0 | 0 | 1 | 115200 |} = [http://opensource.rock-chips.com/wiki_Devices#RK3288_Boards RK3288 Devices List] = = References = #[https://en.wikipedia.org/wiki/ARM_Cortex-A17 https://en.wikipedia.org/wiki/ARM_Cortex-A17] #[http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html http://www.rock-chips.com/a/en/products/RK32_Series/2014/0504/484.html] f331bcde9463ba4515135c1247cdc189cefeb9b1 File:RK3399 hardware reference2019.zip 6 237 2155 2019-08-28T10:08:42Z Kever 2 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 Rockchip Kernel 0 104 2158 2109 2019-09-02T10:08:43Z Kever 2 wikitext text/x-wiki == Download Kernel == You can clone the rockchip kernel repository from github which is kernel 4.4 based: <pre>git clone https://github.com/rockchip-linux/kernel.git</pre> &nbsp; = Supported SoCs and Devices = Rockchip kernel 4.4 supports: RK3036, RK3066, RK312X, RK3188, RK322X,[http://opensource.rock-chips.com/wiki_RK3288 RK3288],&nbsp;[http://opensource.rock-chips.com/wiki_RK3328 RK3328], RK3368,&nbsp;[http://opensource.rock-chips.com/wiki_RK3399 RK3399], PX30 &nbsp; = Configure and Build = You will need to use rockchip_linux_defconfig for Linux OS For ARM v7 <pre>make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- rockchip_linux_defconfig make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- -j4 </pre> For ARM V8 <pre>make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- -j4</pre> Then you can get Image/zImage and dtb file and used for LInux Distro boot. '''Rockchip RKIMG format image''' RKIMG is a format customized by Rockchip from Android boot image, usually only used by kernel developers. It's support by Rockchip&nbsp; U-Boot. For example, build for rk3399-evb with&nbsp;command: <pre>make rk3399-evb.img</pre> The output will be as below, boot.img is ramdisk with rockchip header, kernel is zImage/Image with rockchip header, resource is dtb and boot logo with rockchip header. <pre>kernel/ ├── boot.img ├── kernel.img └── resource.img</pre> = Install Boot/kernel for Distro = We use distro boot in U-Boot, so we need to make a boot partition for U-Boot with kernel image and dtb inside. <pre>mkdir boot cp arch/arm64/boot/dts/rockchip/rk3399-evb.dtb boot/rk3399.dtb cp arch/arm64/boot/Image boot/</pre> Add&nbsp;[http://opensource.rock-chips.com/images/6/60/Boot_extlinux.zip extlinux/extlinux.conf]&nbsp;for distro boot. <pre>mkdir boot/extlinux vi boot/extlinux/extlinux.conf</pre> &nbsp; <pre>label rockchip-kernel-4.4 kernel /Image fdt /rk3399.dtb append earlycon=uart8250,mmio32,0xff1a0000 root=PARTUUID=B921B045-1D rootwait rootfstype=ext4 init=/sbin/init</pre> For armv7 <pre>label rockchip-kernel-4.4 kernel /zImage fdt /rk3288.dtb append earlyprintk console=ttyS2,1500000n8 rw root=PARTUUID=69dad710-2c rootwait rootfstype=ext4 init=/sbin/init</pre> You need to change the base address of debug UART, root partition for your board. Pls reference to&nbsp;[http://opensource.rock-chips.com/wiki_Partitions rockchip Linux parttion definition]&nbsp;for rootfs partition and where boot to flash. After all these files prepare completely, we write the file to the boot partition Folder tree for armv8(rk3399, rk3328): <pre>boot ├── extlinux │ └── extlinux.conf ├── Image └── rk3399-evb.dtb</pre> Folder tree for armv7(rk3288), rootfs is optional, and we usually use compressed 'zImage': <pre>boot_rk3288/ ├── extlinux │ └── extlinux.conf ├── rk3288-evb-rk808.dtb ├── rootfs.cpio.gz └── zImage </pre> == Generate ext2fs&nbsp;boot partition == by genext2fs: <pre>genext2fs -b 32768 -B $((32*1024*1024/32768)) -d boot/ -i 8192 -U boot_rk3399.img</pre> According to Rockchip partition definition, you need to flash this image to boot partiton which offset is 0x8000. &nbsp; == Generate fatfs boot partition == === Generate boot.img in fatfs === Below commands can generate a fatfs boot.img <pre>dd if=/dev/zero of=boot.img bs=1M count=32 sudo mkfs.fat boot.img mkdir tmp sudo mount boot.img tmp/ cp -r boot/* tmp/ umount tmp</pre> Done! Flash this boot.img to boot partition, which is offset 0x8000 in Rockchip partition definition. === Update boot.img via U-Boot in target === After flash and&nbsp;boot the U-Boot, write the gpt table from default partition table <pre>gpt write mmc 0 $partitions gpt verify mmc 0 $partitions</pre> connect target to PC and start the ums in command line: <pre>ums 0 mmc 1:6</pre> We should able to see a device connect to PC, formate and copy data into the partition(dev/sdb6 for example). <pre>sudo mkfs.fat /dev/sdb6 cp -r boot/* /media/machine/9F35-9565/ </pre> Done! &nbsp; == Boot from U-Boot == If you are using genext2fs to genarate the boot.img, you need write the gpt table in U-Boot command line: <pre>gpt write mmc 0 $partitions</pre> Then boot from eMMC or reset: <pre>boot</pre> If everything is OK, you should able to see the U-Boot log like this: <pre>switch to partitions #0, OK mmc0(part 0) is current device Scanning mmc 0:6... Found /extlinux/extlinux.conf Retrieving file: /extlinux/extlinux.conf 205 bytes read in 82 ms (2 KiB/s) 1: upstream-4.10 Retrieving file: /Image 13484040 bytes read in 1833 ms (7 MiB/s) append: earlycon=uart8250,mmio32,0xff1a0000 console=ttyS2,1500000n8 rw root=PARTUUID=B921B045-1D rootwait rootfstype=ext4 init=/sbin/init Retrieving file: /rk3399.dtb 61714 bytes read in 54 ms (1.1 MiB/s) ## Flattened Device Tree blob at 01f00000 Booting using the fdt blob at 0x1f00000 Loading Device Tree to 000000007df14000, end 000000007df26111 ... OK Starting kernel ...</pre> 700ce6a8abcec07c284a826ff30e89a521b59ba6 Boot option 0 116 2159 2105 2019-09-04T02:32:41Z Kever 2 wikitext text/x-wiki = Boot introduce = First, let's make the concept clear, there are many boot stages when we boot up a Linux OS; Then we need to know about how the image should packaged, where&nbsp;the image locate; At last, we will explain how to write to different&nbsp;media and boot from there. Here is Rockchip pre-released binaries which may be mentioned later: [https://github.com/rockchip-linux/rkbin https://github.com/rockchip-linux/rkbin] And [http://opensource.rock-chips.com/wiki_Partitions Rockcip Linux GPT partition] here. &nbsp; &nbsp; == Boot flow == This chapter introduce the generic boot flow for Rockchip Application Processors, including&nbsp;the detail about what image we may use in Rockchip platform&nbsp;for kind of boot path: - use U-Boot TPL/SPL from upsream or rockchip U-Boot, fully source code; - use Rockchp idbLoader which is combinded by Rockchip ddr init bin and miniloader bin from Rockchip [https://github.com/rockchip-linux/rkbin rkbin project]; <pre>+--------+----------------+----------+-------------+---------+ | Boot | Terminology #1 | Actual | Rockchip | Image | | stage | | program | Image | Location| | number | | name | Name | (sector)| +--------+----------------+----------+-------------+---------+ | 1 | Primary | ROM code | BootRom | | | | Program | | | | | | Loader | | | | | | | | | | | 2 | Secondary | U-Boot |idbloader.img| 0x40 | pre-loader | | Program | TPL/SPL | | | | | Loader (SPL) | | | | | | | | | | | 3 | - | U-Boot | u-boot.itb | 0x4000 | including u-boot and atf | | | | uboot.img | | only used with miniloader | | | | | | | | | ATF/TEE | trust.img | 0x6000 | only used with miniloader | | | | | | | 4 | - | kernel | boot.img | 0x8000 | | | | | | | | 5 | - | rootfs | rootfs.img | 0x40000 | +--------+----------------+----------+-------------+---------+ </pre> Then when we talking about boot from eMMC/SD/U-Disk/net, they are in different concept: *Stage 1 is always in boot rom, it loads stage 2 and may load stage 3(when SPL_BACK_TO_BROM option enabled). *Boot from SPI flash means firmware for stage 2 and 3(SPL and U-Boot only) in SPI flash and stage 4/5 in other place; *Boot from eMMC means all the firmware(including stage 2, 3, 4, 5) in eMMC; *Boot from SD card means all the firmware(including stage 2, 3, 4, 5) in SD card; *Boot from U-Disk means firmware for stage 4 and 5(not including SPL and U-Boot) in Disk, optionally only including stage 5; *Boot from net/tftp means firmeware for stage 4 and 5(not including SPL and U-Boot) on the network; &nbsp; [[File:Rockchip bootflow20181122.jpg|1000x1000px|Rockchip bootflow.jpg]] Boot Flow 1 is typical Rockchip boot flow with Rockchip miniloader;<br/> Boot Flow 2 is used for most SoCs with U-Boot TPL for ddr init and SPL for trust(ATF/OP-TEE) load and run into next stage;<br/> <br/> Note 1. If loader1 have more than 1 stage, program will back to bootrom and bootrom load and run into next stage. eg. If loader1 is tpl and spl, the bootrom will run into tpl first, tpl init ddr and back to bootrom, bootrom then load and run into spl.<br/> Note 2. If trust is enabled, loader1 need to load both trust and u-boot, and then run into trust in secure mode(EL3 in armv8), trust do the initialize and run into U-Boot in non-secure mode(EL2 in armv8).<br/> Note 3. For trust(in trust.img or u-boot.itb), armv7 has only one tee.bin with or without ta, armv8 has bl31.elf and option with bl32.<br/> Note 4. In boot.img, content can be zImage and its dtb for Linux, and can optionally be grub.efi, and can be AOSP boot.img, ramdisk is option; == Package option == After we know about the boot stages, Here are the file list before package for stage 2~4: *From source code: **From U-Boot: '''u-boot-spl.bin''', '''u-boot.bin'''(may use u-boot-nodtb.bin and u-boot.dtb instead), **From kernel: kernel '''Image/zImage''' file, kernel dtb, **From ATF: '''bl31.elf'''; *From Rockchip binary: **ddr, usbplug, miniloader, bl31/op-tee, (all with&nbsp;chip 'rkxx_'&nbsp; prefix and with version '_x.xx.bin' postfix); We offer two different boot-loader methods for different solutions, the steps and request files are also complete different. But not all the platforms supports the both boot-loader methods. Here are the types to&nbsp;package image from those files: &nbsp; === The Pre-bootloader === ==== Rockchip Miniloader ==== Package the image from Rockchip binary: No need to package a idbloader for eMMC because you can use below command to write idbloader from loader: <pre>rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool ul rkxx_loader_vx.xx.bin</pre> For SD boot, you need a idbloader(combinded with ddr and miniloader) to write to SD card. <pre>tools/mkimage -n rkxxxx -T rksd -d rkxx_ddr_vx.xx.bin idbloader.img cat rkxx_miniloader_vx.xx.bin >> idbloader.img </pre> ==== idbloader.img with tpl/spl ==== <pre>tools/mkimage -n rkxxxx -T rksd -d tpl/u-boot-tpl.bin idbloader.img cat spl/u-boot-spl.bin >> idbloader.img </pre> Flash the idbloader.img/idbspl.img&nbsp;to offset 0x40 which including stage 2, and you will need a uboot.img for boot stage 3. === U-Boot === ==== uboot.img ==== When using idbLoader from&nbsp;Rockchip miniloader, need package u-boot.bin into miniloader loadable format by Rockchip tool loaderimage. <pre>tools/loaderimage --pack --uboot u-boot.bin uboot.img $SYS_TEXT_BASE</pre> Where SoCs may have different&nbsp;$SYS_TEXT_BASE. ==== u-boot.itb ==== When using SPL to load the ATF/OP-TEE, package the bl31.bin, u-boot-nodtb.bin and uboot.dtb into one FIT image. You can skip the step to package the Trust image and flash that image in the next section. <pre>make u-boot.itb </pre> Note: please copy the trust binary() to u-boot root directory and rename it to tee.bin(armv7) or bl31.elf(armv8). === Trust === ==== trust.img ==== When using idbLoader from&nbsp;Rockchip miniloader, need package bl31.bin into miniloader loadable format by Rockchip tool trustmerge. <pre>tools/trustmerge tools/rk_tools/RKTRUST_RKXXXXTRUST.ini</pre> Flash the trust.img to offset 0x6000 which is for using Rockchip miniloader === boot.img === This image is package the kernel Image and dtb file into a know filesystem(FAT or EXT2) image for distro boot. See [[Rockchip_Kernel#Install_Boot.2Fkernel|Install kernel]] for detail about generate boot.img from kernel zImage/Image, dtb. Flash the boot.img to offset 0x8000 which is stage 4. === rootfs.img === Flash the rootfs.img to offset 0x40000 which is stage 5. As long as the kernel you chosen can support that filesystem, there is not limit in the format of the image. === rkxx_loader_vx.xx.xxx.bin === This is provide by Rockchip in binary mode, which is used for firmware upgrade to eMMC with [[Rkdeveloptool|rkdeveloptool]], can not be wirte to media device directly. This is a package from ddr.bin, usbplug.bin, miniloader.bin, Rockchip tool ''DB ''command will make usbplug.bin running in target which perform as a Rockusb device. You can skip to package this image, Rockchip will offer this image at the most of time. &nbsp; = Flash and boot from Media device = Here we introduce how to write image to different Medeia device. Get image Ready: *For&nbsp;with SPL: **idbloader.img **u-boot.itb **boot.img or&nbsp;boot folder with Image, dtb and exitlinulx inside **rootfs.img *For&nbsp;with miniloader **idbloader.img **uboot.img **trust.img **boot.img or&nbsp;boot folder with Image, dtb and exitlinulx inside **rootfs.img &nbsp; == Boot from eMMC == The eMMC is on the hardware board, so we need: *Get the board into [[Rockusb#Maskrom_mode|maskrom mode]]; *Connect the target to PC with USB cable; *Flash the image to eMMC with [[Rkdeveloptool|rkdeveloptool]] Example commands for flash image to target. Flash the gpt partition to target: <pre style="margin-left: 40px;">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool gpt parameter_gpt.txt</pre> *For&nbsp;with SPL: <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbloader.img rkdeveloptool wl 0x4000 u-boot.itb rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> *For&nbsp;with miniloader <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool ul rkxx_loader_vx.xx.bin rkdeveloptool wl 0x4000 uboot.img rkdeveloptool wl 0x6000 trust.img rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> &nbsp; == Boot from SD/TF Card == We can write SD/TF card with Linux PC ''dd'' command very easily. Insert SD card to PC and we assume the /dev/sdb is the SD card device. *For&nbsp;with SPL: <pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64 dd if=u-boot.itb of=sdb seek=16384 dd if=boot.img of=sdb seek=32768 dd if=rootfs.img of=sdb seek=262144 </pre> *For&nbsp;with miniloader: <pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64 dd if=uboot.img of=sdb seek=16384 dd if=trust.img of=sdb seek=24576 dd if=boot.img of=sdb seek=32768 dd if=rootfs.img of=sdb seek=262144</pre> In order to make sure everything has write to SD card before unpluged, recommand to run below command: <pre>sync</pre> Note, when using boot from SD card, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value. <pre>append earlyprintk console=ttyS2,115200n8 rw root=/dev/mmcblk1p7 rootwait rootfstype=ext4 init=/sbin/init </pre> Write GPT partition table to SD card&nbsp;in U-Boot, and then U-Boot can find the boot partition and run into kernel. <pre>gpt write mmc 0 $partitions </pre> == Boot from U-Disk == Same as&nbsp;[[#Boot_from_SD.2FTF_Card|boot-from-sdcard]], but please note that U-Disk&nbsp;only support stage 4 and 5, see [[#Boot_Stage|Boot Stage]] for detail. If U-Disk used for stage 4 and 5, format the U-Disk in gpt format and at least 2 partitions, write ''boot.img'' and ''rootfs.img'' in those partitions; if U-Dist is only used for stage 5, we can ''dd ''the ''rootfs.img'' to U-Disk device directly. Note, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value. <pre> append earlyprintk console=ttyS2,115200n8 rw root=/dev/sda1 rootwait rootfstype=ext4 init=/sbin/init </pre> == Boot from Network == To be continued. = See also = [[Rkdeveloptool|rkdeveloptool]] [[Rockusb|rockusb]] [[Partitions|Rockchip Linux partition definition]] e977b4b9609baf414d87c8797878eb27980bc5c6 2160 2159 2019-09-04T02:34:06Z Kever 2 wikitext text/x-wiki = Boot introduce = First, let's make the concept clear, there are many boot stages when we boot up a Linux OS; Then we need to know about how the image should packaged, where&nbsp;the image locate; At last, we will explain how to write to different&nbsp;media and boot from there. Here is Rockchip pre-released binaries which may be mentioned later: [https://github.com/rockchip-linux/rkbin https://github.com/rockchip-linux/rkbin] And [http://opensource.rock-chips.com/wiki_Partitions Rockcip Linux GPT partition] here. &nbsp; == Boot flow == This chapter introduce the generic boot flow for Rockchip Application Processors, including&nbsp;the detail about what image we may use in Rockchip platform&nbsp;for kind of boot path: - use U-Boot TPL/SPL from upsream or rockchip U-Boot, fully source code; - use Rockchp idbLoader which is combinded by Rockchip ddr init bin and miniloader bin from Rockchip [https://github.com/rockchip-linux/rkbin rkbin project]; <pre>+--------+----------------+----------+-------------+---------+ | Boot | Terminology #1 | Actual | Rockchip | Image | | stage | | program | Image | Location| | number | | name | Name | (sector)| +--------+----------------+----------+-------------+---------+ | 1 | Primary | ROM code | BootRom | | | | Program | | | | | | Loader | | | | | | | | | | | 2 | Secondary | U-Boot |idbloader.img| 0x40 | pre-loader | | Program | TPL/SPL | | | | | Loader (SPL) | | | | | | | | | | | 3 | - | U-Boot | u-boot.itb | 0x4000 | including u-boot and atf | | | | uboot.img | | only used with miniloader | | | | | | | | | ATF/TEE | trust.img | 0x6000 | only used with miniloader | | | | | | | 4 | - | kernel | boot.img | 0x8000 | | | | | | | | 5 | - | rootfs | rootfs.img | 0x40000 | +--------+----------------+----------+-------------+---------+ </pre> Then when we talking about boot from eMMC/SD/U-Disk/net, they are in different concept: *Stage 1 is always in boot rom, it loads stage 2 and may load stage 3(when SPL_BACK_TO_BROM option enabled). *Boot from SPI flash means firmware for stage 2 and 3(SPL and U-Boot only) in SPI flash and stage 4/5 in other place; *Boot from eMMC means all the firmware(including stage 2, 3, 4, 5) in eMMC; *Boot from SD card means all the firmware(including stage 2, 3, 4, 5) in SD card; *Boot from U-Disk means firmware for stage 4 and 5(not including SPL and U-Boot) in Disk, optionally only including stage 5; *Boot from net/tftp means firmeware for stage 4 and 5(not including SPL and U-Boot) on the network; &nbsp; [[File:Rockchip bootflow20181122.jpg|1000x1000px|Rockchip bootflow.jpg]] Boot Flow 1 is typical Rockchip boot flow with Rockchip miniloader;<br/> Boot Flow 2 is used for most SoCs with U-Boot TPL for ddr init and SPL for trust(ATF/OP-TEE) load and run into next stage;<br/> <br/> Note 1. If loader1 have more than 1 stage, program will back to bootrom and bootrom load and run into next stage. eg. If loader1 is tpl and spl, the bootrom will run into tpl first, tpl init ddr and back to bootrom, bootrom then load and run into spl.<br/> Note 2. If trust is enabled, loader1 need to load both trust and u-boot, and then run into trust in secure mode(EL3 in armv8), trust do the initialize and run into U-Boot in non-secure mode(EL2 in armv8).<br/> Note 3. For trust(in trust.img or u-boot.itb), armv7 has only one tee.bin with or without ta, armv8 has bl31.elf and option with bl32.<br/> Note 4. In boot.img, content can be zImage and its dtb for Linux, and can optionally be grub.efi, and can be AOSP boot.img, ramdisk is option; == Package option == After we know about the boot stages, Here are the file list before package for stage 2~4: *From source code: **From U-Boot: '''u-boot-spl.bin''', '''u-boot.bin'''(may use u-boot-nodtb.bin and u-boot.dtb instead), **From kernel: kernel '''Image/zImage''' file, kernel dtb, **From ATF: '''bl31.elf'''; *From Rockchip binary: **ddr, usbplug, miniloader, bl31/op-tee, (all with&nbsp;chip 'rkxx_'&nbsp; prefix and with version '_x.xx.bin' postfix); We offer two different boot-loader methods for different solutions, the steps and request files are also complete different. But not all the platforms supports the both boot-loader methods. Here are the types to&nbsp;package image from those files: &nbsp; === The Pre-bootloader === ==== Rockchip Miniloader ==== Package the image from Rockchip binary: No need to package a idbloader for eMMC because you can use below command to write idbloader from loader: <pre>rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool ul rkxx_loader_vx.xx.bin</pre> For SD boot, you need a idbloader(combinded with ddr and miniloader) to write to SD card. <pre>tools/mkimage -n rkxxxx -T rksd -d rkxx_ddr_vx.xx.bin idbloader.img cat rkxx_miniloader_vx.xx.bin >> idbloader.img </pre> ==== idbloader.img with tpl/spl ==== <pre>tools/mkimage -n rkxxxx -T rksd -d tpl/u-boot-tpl.bin idbloader.img cat spl/u-boot-spl.bin >> idbloader.img </pre> Flash the idbloader.img/idbspl.img&nbsp;to offset 0x40 which including stage 2, and you will need a uboot.img for boot stage 3. === U-Boot === ==== uboot.img ==== When using idbLoader from&nbsp;Rockchip miniloader, need package u-boot.bin into miniloader loadable format by Rockchip tool loaderimage. <pre>tools/loaderimage --pack --uboot u-boot.bin uboot.img $SYS_TEXT_BASE</pre> Where SoCs may have different&nbsp;$SYS_TEXT_BASE. ==== u-boot.itb ==== When using SPL to load the ATF/OP-TEE, package the bl31.bin, u-boot-nodtb.bin and uboot.dtb into one FIT image. You can skip the step to package the Trust image and flash that image in the next section. <pre>make u-boot.itb </pre> Note: please copy the trust binary() to u-boot root directory and rename it to tee.bin(armv7) or bl31.elf(armv8). === Trust === ==== trust.img ==== When using idbLoader from&nbsp;Rockchip miniloader, need package bl31.bin into miniloader loadable format by Rockchip tool trustmerge. <pre>tools/trustmerge tools/rk_tools/RKTRUST_RKXXXXTRUST.ini</pre> Flash the trust.img to offset 0x6000 which is for using Rockchip miniloader === boot.img === This image is package the kernel Image and dtb file into a know filesystem(FAT or EXT2) image for distro boot. See [[Rockchip_Kernel#Install_Boot.2Fkernel|Install kernel]] for detail about generate boot.img from kernel zImage/Image, dtb. Flash the boot.img to offset 0x8000 which is stage 4. === rootfs.img === Flash the rootfs.img to offset 0x40000 which is stage 5. As long as the kernel you chosen can support that filesystem, there is not limit in the format of the image. === rkxx_loader_vx.xx.xxx.bin === This is provide by Rockchip in binary mode, which is used for firmware upgrade to eMMC with [[Rkdeveloptool|rkdeveloptool]], can not be wirte to media device directly. This is a package from ddr.bin, usbplug.bin, miniloader.bin, Rockchip tool ''DB ''command will make usbplug.bin running in target which perform as a Rockusb device. You can skip to package this image, Rockchip will offer this image at the most of time. &nbsp; = Flash and boot from Media device = Here we introduce how to write image to different Medeia device. Get image Ready: *For&nbsp;with SPL: **idbloader.img **u-boot.itb **boot.img or&nbsp;boot folder with Image, dtb and exitlinulx inside **rootfs.img *For&nbsp;with miniloader **idbloader.img **uboot.img **trust.img **boot.img or&nbsp;boot folder with Image, dtb and exitlinulx inside **rootfs.img &nbsp; == Boot from eMMC == The eMMC is on the hardware board, so we need: *Get the board into [[Rockusb#Maskrom_mode|maskrom mode]]; *Connect the target to PC with USB cable; *Flash the image to eMMC with [[Rkdeveloptool|rkdeveloptool]] Example commands for flash image to target. Flash the gpt partition to target: <pre style="margin-left: 40px;">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool gpt parameter_gpt.txt</pre> *For&nbsp;with SPL: <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbloader.img rkdeveloptool wl 0x4000 u-boot.itb rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> *For&nbsp;with miniloader <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool ul rkxx_loader_vx.xx.bin rkdeveloptool wl 0x4000 uboot.img rkdeveloptool wl 0x6000 trust.img rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> &nbsp; == Boot from SD/TF Card == We can write SD/TF card with Linux PC ''dd'' command very easily. Insert SD card to PC and we assume the /dev/sdb is the SD card device. *For&nbsp;with SPL: <pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64 dd if=u-boot.itb of=sdb seek=16384 dd if=boot.img of=sdb seek=32768 dd if=rootfs.img of=sdb seek=262144 </pre> *For&nbsp;with miniloader: <pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64 dd if=uboot.img of=sdb seek=16384 dd if=trust.img of=sdb seek=24576 dd if=boot.img of=sdb seek=32768 dd if=rootfs.img of=sdb seek=262144</pre> In order to make sure everything has write to SD card before unpluged, recommand to run below command: <pre>sync</pre> Note, when using boot from SD card, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value. <pre>append earlyprintk console=ttyS2,115200n8 rw root=/dev/mmcblk1p7 rootwait rootfstype=ext4 init=/sbin/init </pre> Write GPT partition table to SD card&nbsp;in U-Boot, and then U-Boot can find the boot partition and run into kernel. <pre>gpt write mmc 0 $partitions </pre> == Boot from U-Disk == Same as&nbsp;[[#Boot_from_SD.2FTF_Card|boot-from-sdcard]], but please note that U-Disk&nbsp;only support stage 4 and 5, see [[#Boot_Stage|Boot Stage]] for detail. If U-Disk used for stage 4 and 5, format the U-Disk in gpt format and at least 2 partitions, write ''boot.img'' and ''rootfs.img'' in those partitions; if U-Dist is only used for stage 5, we can ''dd ''the ''rootfs.img'' to U-Disk device directly. Note, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value. <pre> append earlyprintk console=ttyS2,115200n8 rw root=/dev/sda1 rootwait rootfstype=ext4 init=/sbin/init </pre> == Boot from Network == To be continued. = See also = [[Rkdeveloptool|rkdeveloptool]] [[Rockusb|rockusb]] [[Partitions|Rockchip Linux partition definition]] cc59c7c992412d0f13c18a761bb69e99a4ccf78c 2184 2160 2019-11-15T03:46:20Z Kever 2 wikitext text/x-wiki = Boot introduce = First, let's make the concept clear, there are many boot stages when we boot up a Linux OS; Then we need to know about how the image should packaged, where&nbsp;the image locate; At last, we will explain how to write to different&nbsp;media and boot from there. Here is Rockchip pre-released binaries which may be mentioned later: [https://github.com/rockchip-linux/rkbin https://github.com/rockchip-linux/rkbin] And [http://opensource.rock-chips.com/wiki_Partitions Rockcip Linux GPT partition] here. &nbsp; == Boot flow == This chapter introduce the generic boot flow for Rockchip Application Processors, including&nbsp;the detail about what image we may use in Rockchip platform&nbsp;for kind of boot path: - use U-Boot TPL/SPL from upsream or rockchip U-Boot, fully source code; - use Rockchp idbLoader which is combinded by Rockchip ddr init bin and miniloader bin from Rockchip [https://github.com/rockchip-linux/rkbin rkbin project]; <pre>+--------+----------------+----------+-------------+---------+ | Boot | Terminology #1 | Actual | Rockchip | Image | | stage | | program | Image | Location| | number | | name | Name | (sector)| +--------+----------------+----------+-------------+---------+ | 1 | Primary | ROM code | BootRom | | | | Program | | | | | | Loader | | | | | | | | | | | 2 | Secondary | U-Boot |idbloader.img| 0x40 | pre-loader | | Program | TPL/SPL | | | | | Loader (SPL) | | | | | | | | | | | 3 | - | U-Boot | u-boot.itb | 0x4000 | including u-boot and atf | | | | uboot.img | | only used with miniloader | | | | | | | | | ATF/TEE | trust.img | 0x6000 | only used with miniloader | | | | | | | 4 | - | kernel | boot.img | 0x8000 | | | | | | | | 5 | - | rootfs | rootfs.img | 0x40000 | +--------+----------------+----------+-------------+---------+ </pre> Then when we talking about boot from eMMC/SD/U-Disk/net, they are in different concept: *Stage 1 is always in boot rom, it loads stage 2 and may load stage 3(when SPL_BACK_TO_BROM option enabled). *Boot from SPI flash means firmware for stage 2 and 3(SPL and U-Boot only) in SPI flash and stage 4/5 in other place; *Boot from eMMC means all the firmware(including stage 2, 3, 4, 5) in eMMC; *Boot from SD card means all the firmware(including stage 2, 3, 4, 5) in SD card; *Boot from U-Disk means firmware for stage 4 and 5(not including SPL and U-Boot) in Disk, optionally only including stage 5; *Boot from net/tftp means firmeware for stage 4 and 5(not including SPL and U-Boot) on the network; &nbsp; [[File:Rockchip bootflow20181122.jpg|1000x1000px|Rockchip bootflow.jpg]] Boot Flow 1 is typical Rockchip boot flow with Rockchip miniloader;<br/> Boot Flow 2 is used for most SoCs with U-Boot TPL for ddr init and SPL for trust(ATF/OP-TEE) load and run into next stage;<br/> <br/> Note 1. If loader1 have more than 1 stage, program will back to bootrom and bootrom load and run into next stage. eg. If loader1 is tpl and spl, the bootrom will run into tpl first, tpl init ddr and back to bootrom, bootrom then load and run into spl.<br/> Note 2. If trust is enabled, loader1 need to load both trust and u-boot, and then run into trust in secure mode(EL3 in armv8), trust do the initialize and run into U-Boot in non-secure mode(EL2 in armv8).<br/> Note 3. For trust(in trust.img or u-boot.itb), armv7 has only one tee.bin with or without ta, armv8 has bl31.elf and option with bl32.<br/> Note 4. In boot.img, content can be zImage and its dtb for Linux, and can optionally be grub.efi, and can be AOSP boot.img, ramdisk is option; == Package option == After we know about the boot stages, Here are the file list before package for stage 2~4: *From source code: **From U-Boot: '''u-boot-spl.bin''', '''u-boot.bin'''(may use u-boot-nodtb.bin and u-boot.dtb instead), **From kernel: kernel '''Image/zImage''' file, kernel dtb, **From ATF: '''bl31.elf'''; *From Rockchip binary: **ddr, usbplug, miniloader, bl31/op-tee, (all with&nbsp;chip 'rkxx_'&nbsp; prefix and with version '_x.xx.bin' postfix); We offer two different boot-loader methods for different solutions, the steps and request files are also complete different. But not all the platforms supports the both boot-loader methods. Here are the types to&nbsp;package image from those files: &nbsp; === The Pre-bootloader(IDBloader) === ==== idbloader.img ==== idbloader.img is a Rockchip format pre-loader with: - IDBlock header which is known by Rockchip BootRom; - DRAM init program which is load by MaskRom and running at internal SRAM; - loader for next stage which is load by MaskRom and running at DDR SDRAM; You can get idbloader with below methods. No need to package a idbloader for eMMC if you are using Rockchip release loader, you can get idbloader on eMMC with below command: <pre>rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool ul rkxx_loader_vx.xx.bin</pre> Package the idbloader.img from Rockchip binary: For SD boot or eMMC(update with rockusb wl cmd), you need a idbloader(combinded with ddr and miniloader) . <pre>tools/mkimage -n rkxxxx -T rksd -d rkxx_ddr_vx.xx.bin idbloader.img cat rkxx_miniloader_vx.xx.bin >> idbloader.img </pre> ==== Package the idbloader.img from U-Boot&nbsp;TPL/SPL(which is fully open source): ==== <pre>tools/mkimage -n rkxxxx -T rksd -d tpl/u-boot-tpl.bin idbloader.img cat spl/u-boot-spl.bin >> idbloader.img </pre> Flash the idbloader.img to offset 0x40 which including stage 2, and you will need a uboot.img for boot stage 3. === U-Boot === ==== uboot.img ==== When using idbLoader from&nbsp;Rockchip miniloader, need package u-boot.bin into miniloader loadable format by Rockchip tool loaderimage. <pre>tools/loaderimage --pack --uboot u-boot.bin uboot.img $SYS_TEXT_BASE</pre> Where SoCs may have different&nbsp;$SYS_TEXT_BASE. ==== u-boot.itb ==== When using SPL to load the ATF/OP-TEE, package the bl31.bin, u-boot-nodtb.bin and uboot.dtb into one FIT image. You can skip the step to package the Trust image and flash that image in the next section. <pre>make u-boot.itb </pre> Note: please copy the trust binary() to u-boot root directory and rename it to tee.bin(armv7) or bl31.elf(armv8). === Trust === ==== trust.img ==== When using idbLoader from&nbsp;Rockchip miniloader, need package bl31.bin into miniloader loadable format by Rockchip tool trustmerge. <pre>tools/trustmerge tools/rk_tools/RKTRUST_RKXXXXTRUST.ini</pre> Flash the trust.img to offset 0x6000 which is for using Rockchip miniloader === boot.img === This image is package the kernel Image and dtb file into a know filesystem(FAT or EXT2) image for distro boot. See [[Rockchip_Kernel#Install_Boot.2Fkernel|Install kernel]] for detail about generate boot.img from kernel zImage/Image, dtb. Flash the boot.img to offset 0x8000 which is stage 4. === rootfs.img === Flash the rootfs.img to offset 0x40000 which is stage 5. As long as the kernel you chosen can support that filesystem, there is not limit in the format of the image. === rkxx_loader_vx.xx.xxx.bin === This is provide by Rockchip in binary mode, which is used for firmware upgrade to eMMC with [[Rkdeveloptool|rkdeveloptool]], can not be wirte to media device directly. This is a package from ddr.bin, usbplug.bin, miniloader.bin, Rockchip tool ''DB ''command will make usbplug.bin running in target which perform as a Rockusb device. You can skip to package this image, Rockchip will offer this image at the most of time. &nbsp; = Flash and boot from Media device = Here we introduce how to write image to different Medeia device. Get image Ready: *For&nbsp;with SPL: **idbloader.img **u-boot.itb **boot.img or&nbsp;boot folder with Image, dtb and exitlinulx inside **rootfs.img *For&nbsp;with miniloader **idbloader.img **uboot.img **trust.img **boot.img or&nbsp;boot folder with Image, dtb and exitlinulx inside **rootfs.img &nbsp; == Boot from eMMC == The eMMC is on the hardware board, so we need: *Get the board into [[Rockusb#Maskrom_mode|maskrom mode]]; *Connect the target to PC with USB cable; *Flash the image to eMMC with [[Rkdeveloptool|rkdeveloptool]] Example commands for flash image to target. Flash the gpt partition to target: <pre style="margin-left: 40px;">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool gpt parameter_gpt.txt</pre> *For&nbsp;with SPL: <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbloader.img rkdeveloptool wl 0x4000 u-boot.itb rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> *For&nbsp;with miniloader <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool ul rkxx_loader_vx.xx.bin rkdeveloptool wl 0x4000 uboot.img rkdeveloptool wl 0x6000 trust.img rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> &nbsp; == Boot from SD/TF Card == We can write SD/TF card with Linux PC ''dd'' command very easily. Insert SD card to PC and we assume the /dev/sdb is the SD card device. *For&nbsp;with SPL: <pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64 dd if=u-boot.itb of=sdb seek=16384 dd if=boot.img of=sdb seek=32768 dd if=rootfs.img of=sdb seek=262144 </pre> *For&nbsp;with miniloader: <pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64 dd if=uboot.img of=sdb seek=16384 dd if=trust.img of=sdb seek=24576 dd if=boot.img of=sdb seek=32768 dd if=rootfs.img of=sdb seek=262144</pre> In order to make sure everything has write to SD card before unpluged, recommand to run below command: <pre>sync</pre> Note, when using boot from SD card, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value. <pre>append earlyprintk console=ttyS2,115200n8 rw root=/dev/mmcblk1p7 rootwait rootfstype=ext4 init=/sbin/init </pre> Write GPT partition table to SD card&nbsp;in U-Boot, and then U-Boot can find the boot partition and run into kernel. <pre>gpt write mmc 0 $partitions </pre> == Boot from U-Disk == Same as&nbsp;[[#Boot_from_SD.2FTF_Card|boot-from-sdcard]], but please note that U-Disk&nbsp;only support stage 4 and 5, see [[#Boot_Stage|Boot Stage]] for detail. If U-Disk used for stage 4 and 5, format the U-Disk in gpt format and at least 2 partitions, write ''boot.img'' and ''rootfs.img'' in those partitions; if U-Dist is only used for stage 5, we can ''dd ''the ''rootfs.img'' to U-Disk device directly. Note, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value. <pre> append earlyprintk console=ttyS2,115200n8 rw root=/dev/sda1 rootwait rootfstype=ext4 init=/sbin/init </pre> == Boot from Network == To be continued. = See also = [[Rkdeveloptool|rkdeveloptool]] [[Rockusb|rockusb]] [[Partitions|Rockchip Linux partition definition]] 311884bc73e51233683fde3cd6037609bb70cd3e 2185 2184 2019-11-15T03:48:50Z Kever 2 wikitext text/x-wiki = Boot introduce = First, let's make the concept clear, there are many boot stages when we boot up a Linux OS; Then we need to know about how the image should packaged, where&nbsp;the image locate; At last, we will explain how to write to different&nbsp;media and boot from there. Here is Rockchip pre-released binaries which may be mentioned later: [https://github.com/rockchip-linux/rkbin https://github.com/rockchip-linux/rkbin] And [http://opensource.rock-chips.com/wiki_Partitions Rockcip Linux GPT partition] here. &nbsp; == Boot flow == This chapter introduce the generic boot flow for Rockchip Application Processors, including&nbsp;the detail about what image we may use in Rockchip platform&nbsp;for kind of boot path: - use U-Boot TPL/SPL from upsream or rockchip U-Boot, fully source code; - use Rockchp idbLoader which is combinded by Rockchip ddr init bin and miniloader bin from Rockchip [https://github.com/rockchip-linux/rkbin rkbin project]; <pre>+--------+----------------+----------+-------------+---------+ | Boot | Terminology #1 | Actual | Rockchip | Image | | stage | | program | Image | Location| | number | | name | Name | (sector)| +--------+----------------+----------+-------------+---------+ | 1 | Primary | ROM code | BootRom | | | | Program | | | | | | Loader | | | | | | | | | | | 2 | Secondary | U-Boot |idbloader.img| 0x40 | pre-loader | | Program | TPL/SPL | | | | | Loader (SPL) | | | | | | | | | | | 3 | - | U-Boot | u-boot.itb | 0x4000 | including u-boot and atf | | | | uboot.img | | only used with miniloader | | | | | | | | | ATF/TEE | trust.img | 0x6000 | only used with miniloader | | | | | | | 4 | - | kernel | boot.img | 0x8000 | | | | | | | | 5 | - | rootfs | rootfs.img | 0x40000 | +--------+----------------+----------+-------------+---------+ </pre> Then when we talking about boot from eMMC/SD/U-Disk/net, they are in different concept: *Stage 1 is always in boot rom, it loads stage 2 and may load stage 3(when SPL_BACK_TO_BROM option enabled). *Boot from SPI flash means firmware for stage 2 and 3(SPL and U-Boot only) in SPI flash and stage 4/5 in other place; *Boot from eMMC means all the firmware(including stage 2, 3, 4, 5) in eMMC; *Boot from SD card means all the firmware(including stage 2, 3, 4, 5) in SD card; *Boot from U-Disk means firmware for stage 4 and 5(not including SPL and U-Boot) in Disk, optionally only including stage 5; *Boot from net/tftp means firmeware for stage 4 and 5(not including SPL and U-Boot) on the network; &nbsp; [[File:Rockchip bootflow20181122.jpg|1000x1000px|Rockchip bootflow.jpg]] Boot Flow 1 is typical Rockchip boot flow with Rockchip miniloader;<br/> Boot Flow 2 is used for most SoCs with U-Boot TPL for ddr init and SPL for trust(ATF/OP-TEE) load and run into next stage;<br/> <br/> Note 1. If loader1 have more than 1 stage, program will back to bootrom and bootrom load and run into next stage. eg. If loader1 is tpl and spl, the bootrom will run into tpl first, tpl init ddr and back to bootrom, bootrom then load and run into spl.<br/> Note 2. If trust is enabled, loader1 need to load both trust and u-boot, and then run into trust in secure mode(EL3 in armv8), trust do the initialize and run into U-Boot in non-secure mode(EL2 in armv8).<br/> Note 3. For trust(in trust.img or u-boot.itb), armv7 has only one tee.bin with or without ta, armv8 has bl31.elf and option with bl32.<br/> Note 4. In boot.img, content can be zImage and its dtb for Linux, and can optionally be grub.efi, and can be AOSP boot.img, ramdisk is option; == Package option == After we know about the boot stages, Here are the file list before package for stage 2~4: *From source code: **From U-Boot: '''u-boot-spl.bin''', '''u-boot.bin'''(may use u-boot-nodtb.bin and u-boot.dtb instead), **From kernel: kernel '''Image/zImage''' file, kernel dtb, **From ATF: '''bl31.elf'''; *From Rockchip binary: **ddr, usbplug, miniloader, bl31/op-tee, (all with&nbsp;chip 'rkxx_'&nbsp; prefix and with version '_x.xx.bin' postfix); We offer two different boot-loader methods for different solutions, the steps and request files are also complete different. But not all the platforms supports the both boot-loader methods. Here are the types to&nbsp;package image from those files: &nbsp; === The Pre-bootloader(IDBloader) === ==== What is idbloader ==== idbloader.img is a Rockchip format pre-loader with: - IDBlock header which is known by Rockchip BootRom; - DRAM init program which is load by MaskRom and running at internal SRAM; - loader for next stage which is load by MaskRom and running at DDR SDRAM; You can get idbloader with below methods. ==== Get idbloader for eMMC from Rockchip release loader ==== No need to package a idbloader for eMMC if you are using Rockchip release loader, you can get idbloader on eMMC with below command: <pre>rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool ul rkxx_loader_vx.xx.bin</pre> ==== Package the idbloader.img from Rockchip binary: ==== ==== For SD boot or eMMC(update with rockusb wl cmd), you need a idbloader(combinded with ddr and miniloader) . ==== <pre>tools/mkimage -n rkxxxx -T rksd -d rkxx_ddr_vx.xx.bin idbloader.img cat rkxx_miniloader_vx.xx.bin >> idbloader.img </pre> ==== Package the idbloader.img from U-Boot&nbsp;TPL/SPL(which is fully open source): ==== <pre>tools/mkimage -n rkxxxx -T rksd -d tpl/u-boot-tpl.bin idbloader.img cat spl/u-boot-spl.bin >> idbloader.img </pre> Flash the idbloader.img to offset 0x40 which including stage 2, and you will need a uboot.img for boot stage 3. === U-Boot === ==== uboot.img ==== When using idbLoader from&nbsp;Rockchip miniloader, need package u-boot.bin into miniloader loadable format by Rockchip tool loaderimage. <pre>tools/loaderimage --pack --uboot u-boot.bin uboot.img $SYS_TEXT_BASE</pre> Where SoCs may have different&nbsp;$SYS_TEXT_BASE. ==== u-boot.itb ==== When using SPL to load the ATF/OP-TEE, package the bl31.bin, u-boot-nodtb.bin and uboot.dtb into one FIT image. You can skip the step to package the Trust image and flash that image in the next section. <pre>make u-boot.itb </pre> Note: please copy the trust binary() to u-boot root directory and rename it to tee.bin(armv7) or bl31.elf(armv8). === Trust === ==== trust.img ==== When using idbLoader from&nbsp;Rockchip miniloader, need package bl31.bin into miniloader loadable format by Rockchip tool trustmerge. <pre>tools/trustmerge tools/rk_tools/RKTRUST_RKXXXXTRUST.ini</pre> Flash the trust.img to offset 0x6000 which is for using Rockchip miniloader === boot.img === This image is package the kernel Image and dtb file into a know filesystem(FAT or EXT2) image for distro boot. See [[Rockchip_Kernel#Install_Boot.2Fkernel|Install kernel]] for detail about generate boot.img from kernel zImage/Image, dtb. Flash the boot.img to offset 0x8000 which is stage 4. === rootfs.img === Flash the rootfs.img to offset 0x40000 which is stage 5. As long as the kernel you chosen can support that filesystem, there is not limit in the format of the image. === rkxx_loader_vx.xx.xxx.bin === This is provide by Rockchip in binary mode, which is used for firmware upgrade to eMMC with [[Rkdeveloptool|rkdeveloptool]], can not be wirte to media device directly. This is a package from ddr.bin, usbplug.bin, miniloader.bin, Rockchip tool ''DB ''command will make usbplug.bin running in target which perform as a Rockusb device. You can skip to package this image, Rockchip will offer this image at the most of time. &nbsp; = Flash and boot from Media device = Here we introduce how to write image to different Medeia device. Get image Ready: *For&nbsp;with SPL: **idbloader.img **u-boot.itb **boot.img or&nbsp;boot folder with Image, dtb and exitlinulx inside **rootfs.img *For&nbsp;with miniloader **idbloader.img **uboot.img **trust.img **boot.img or&nbsp;boot folder with Image, dtb and exitlinulx inside **rootfs.img &nbsp; == Boot from eMMC == The eMMC is on the hardware board, so we need: *Get the board into [[Rockusb#Maskrom_mode|maskrom mode]]; *Connect the target to PC with USB cable; *Flash the image to eMMC with [[Rkdeveloptool|rkdeveloptool]] Example commands for flash image to target. Flash the gpt partition to target: <pre style="margin-left: 40px;">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool gpt parameter_gpt.txt</pre> *For&nbsp;with SPL: <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbloader.img rkdeveloptool wl 0x4000 u-boot.itb rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> *For&nbsp;with miniloader <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool ul rkxx_loader_vx.xx.bin rkdeveloptool wl 0x4000 uboot.img rkdeveloptool wl 0x6000 trust.img rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> &nbsp; == Boot from SD/TF Card == We can write SD/TF card with Linux PC ''dd'' command very easily. Insert SD card to PC and we assume the /dev/sdb is the SD card device. *For&nbsp;with SPL: <pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64 dd if=u-boot.itb of=sdb seek=16384 dd if=boot.img of=sdb seek=32768 dd if=rootfs.img of=sdb seek=262144 </pre> *For&nbsp;with miniloader: <pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64 dd if=uboot.img of=sdb seek=16384 dd if=trust.img of=sdb seek=24576 dd if=boot.img of=sdb seek=32768 dd if=rootfs.img of=sdb seek=262144</pre> In order to make sure everything has write to SD card before unpluged, recommand to run below command: <pre>sync</pre> Note, when using boot from SD card, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value. <pre>append earlyprintk console=ttyS2,115200n8 rw root=/dev/mmcblk1p7 rootwait rootfstype=ext4 init=/sbin/init </pre> Write GPT partition table to SD card&nbsp;in U-Boot, and then U-Boot can find the boot partition and run into kernel. <pre>gpt write mmc 0 $partitions </pre> == Boot from U-Disk == Same as&nbsp;[[#Boot_from_SD.2FTF_Card|boot-from-sdcard]], but please note that U-Disk&nbsp;only support stage 4 and 5, see [[#Boot_Stage|Boot Stage]] for detail. If U-Disk used for stage 4 and 5, format the U-Disk in gpt format and at least 2 partitions, write ''boot.img'' and ''rootfs.img'' in those partitions; if U-Dist is only used for stage 5, we can ''dd ''the ''rootfs.img'' to U-Disk device directly. Note, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value. <pre> append earlyprintk console=ttyS2,115200n8 rw root=/dev/sda1 rootwait rootfstype=ext4 init=/sbin/init </pre> == Boot from Network == To be continued. = See also = [[Rkdeveloptool|rkdeveloptool]] [[Rockusb|rockusb]] [[Partitions|Rockchip Linux partition definition]] 4e2cbe6c21bfd9b5eebe35159ce73223b6acce42 2186 2185 2019-11-15T03:49:25Z Kever 2 wikitext text/x-wiki = Boot introduce = First, let's make the concept clear, there are many boot stages when we boot up a Linux OS; Then we need to know about how the image should packaged, where&nbsp;the image locate; At last, we will explain how to write to different&nbsp;media and boot from there. Here is Rockchip pre-released binaries which may be mentioned later: [https://github.com/rockchip-linux/rkbin https://github.com/rockchip-linux/rkbin] And [http://opensource.rock-chips.com/wiki_Partitions Rockcip Linux GPT partition] here. &nbsp; == Boot flow == This chapter introduce the generic boot flow for Rockchip Application Processors, including&nbsp;the detail about what image we may use in Rockchip platform&nbsp;for kind of boot path: - use U-Boot TPL/SPL from upsream or rockchip U-Boot, fully source code; - use Rockchp idbLoader which is combinded by Rockchip ddr init bin and miniloader bin from Rockchip [https://github.com/rockchip-linux/rkbin rkbin project]; <pre>+--------+----------------+----------+-------------+---------+ | Boot | Terminology #1 | Actual | Rockchip | Image | | stage | | program | Image | Location| | number | | name | Name | (sector)| +--------+----------------+----------+-------------+---------+ | 1 | Primary | ROM code | BootRom | | | | Program | | | | | | Loader | | | | | | | | | | | 2 | Secondary | U-Boot |idbloader.img| 0x40 | pre-loader | | Program | TPL/SPL | | | | | Loader (SPL) | | | | | | | | | | | 3 | - | U-Boot | u-boot.itb | 0x4000 | including u-boot and atf | | | | uboot.img | | only used with miniloader | | | | | | | | | ATF/TEE | trust.img | 0x6000 | only used with miniloader | | | | | | | 4 | - | kernel | boot.img | 0x8000 | | | | | | | | 5 | - | rootfs | rootfs.img | 0x40000 | +--------+----------------+----------+-------------+---------+ </pre> Then when we talking about boot from eMMC/SD/U-Disk/net, they are in different concept: *Stage 1 is always in boot rom, it loads stage 2 and may load stage 3(when SPL_BACK_TO_BROM option enabled). *Boot from SPI flash means firmware for stage 2 and 3(SPL and U-Boot only) in SPI flash and stage 4/5 in other place; *Boot from eMMC means all the firmware(including stage 2, 3, 4, 5) in eMMC; *Boot from SD card means all the firmware(including stage 2, 3, 4, 5) in SD card; *Boot from U-Disk means firmware for stage 4 and 5(not including SPL and U-Boot) in Disk, optionally only including stage 5; *Boot from net/tftp means firmeware for stage 4 and 5(not including SPL and U-Boot) on the network; &nbsp; [[File:Rockchip bootflow20181122.jpg|1000x1000px|Rockchip bootflow.jpg]] Boot Flow 1 is typical Rockchip boot flow with Rockchip miniloader;<br/> Boot Flow 2 is used for most SoCs with U-Boot TPL for ddr init and SPL for trust(ATF/OP-TEE) load and run into next stage;<br/> <br/> Note 1. If loader1 have more than 1 stage, program will back to bootrom and bootrom load and run into next stage. eg. If loader1 is tpl and spl, the bootrom will run into tpl first, tpl init ddr and back to bootrom, bootrom then load and run into spl.<br/> Note 2. If trust is enabled, loader1 need to load both trust and u-boot, and then run into trust in secure mode(EL3 in armv8), trust do the initialize and run into U-Boot in non-secure mode(EL2 in armv8).<br/> Note 3. For trust(in trust.img or u-boot.itb), armv7 has only one tee.bin with or without ta, armv8 has bl31.elf and option with bl32.<br/> Note 4. In boot.img, content can be zImage and its dtb for Linux, and can optionally be grub.efi, and can be AOSP boot.img, ramdisk is option; == Package option == After we know about the boot stages, Here are the file list before package for stage 2~4: *From source code: **From U-Boot: '''u-boot-spl.bin''', '''u-boot.bin'''(may use u-boot-nodtb.bin and u-boot.dtb instead), **From kernel: kernel '''Image/zImage''' file, kernel dtb, **From ATF: '''bl31.elf'''; *From Rockchip binary: **ddr, usbplug, miniloader, bl31/op-tee, (all with&nbsp;chip 'rkxx_'&nbsp; prefix and with version '_x.xx.bin' postfix); We offer two different boot-loader methods for different solutions, the steps and request files are also complete different. But not all the platforms supports the both boot-loader methods. Here are the types to&nbsp;package image from those files: &nbsp; === The Pre-bootloader(IDBloader) === ==== What is idbloader ==== idbloader.img is a Rockchip format pre-loader with: - IDBlock header which is known by Rockchip BootRom; - DRAM init program which is load by MaskRom and running at internal SRAM; - loader for next stage which is load by MaskRom and running at DDR SDRAM; You can get idbloader with below methods. ==== Get idbloader for eMMC from Rockchip release loader ==== No need to package a idbloader for eMMC if you are using Rockchip release loader, you can get idbloader on eMMC with below command: <pre>rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool ul rkxx_loader_vx.xx.bin</pre> ==== Package the idbloader.img from Rockchip binary: ==== For SD boot or eMMC(update with rockusb wl cmd), you need a idbloader(combinded with ddr and miniloader) . <pre>tools/mkimage -n rkxxxx -T rksd -d rkxx_ddr_vx.xx.bin idbloader.img cat rkxx_miniloader_vx.xx.bin >> idbloader.img </pre> ==== Package the idbloader.img from U-Boot&nbsp;TPL/SPL(which is fully open source): ==== <pre>tools/mkimage -n rkxxxx -T rksd -d tpl/u-boot-tpl.bin idbloader.img cat spl/u-boot-spl.bin >> idbloader.img </pre> Flash the idbloader.img to offset 0x40 which including stage 2, and you will need a uboot.img for boot stage 3. === U-Boot === ==== uboot.img ==== When using idbLoader from&nbsp;Rockchip miniloader, need package u-boot.bin into miniloader loadable format by Rockchip tool loaderimage. <pre>tools/loaderimage --pack --uboot u-boot.bin uboot.img $SYS_TEXT_BASE</pre> Where SoCs may have different&nbsp;$SYS_TEXT_BASE. ==== u-boot.itb ==== When using SPL to load the ATF/OP-TEE, package the bl31.bin, u-boot-nodtb.bin and uboot.dtb into one FIT image. You can skip the step to package the Trust image and flash that image in the next section. <pre>make u-boot.itb </pre> Note: please copy the trust binary() to u-boot root directory and rename it to tee.bin(armv7) or bl31.elf(armv8). === Trust === ==== trust.img ==== When using idbLoader from&nbsp;Rockchip miniloader, need package bl31.bin into miniloader loadable format by Rockchip tool trustmerge. <pre>tools/trustmerge tools/rk_tools/RKTRUST_RKXXXXTRUST.ini</pre> Flash the trust.img to offset 0x6000 which is for using Rockchip miniloader === boot.img === This image is package the kernel Image and dtb file into a know filesystem(FAT or EXT2) image for distro boot. See [[Rockchip_Kernel#Install_Boot.2Fkernel|Install kernel]] for detail about generate boot.img from kernel zImage/Image, dtb. Flash the boot.img to offset 0x8000 which is stage 4. === rootfs.img === Flash the rootfs.img to offset 0x40000 which is stage 5. As long as the kernel you chosen can support that filesystem, there is not limit in the format of the image. === rkxx_loader_vx.xx.xxx.bin === This is provide by Rockchip in binary mode, which is used for firmware upgrade to eMMC with [[Rkdeveloptool|rkdeveloptool]], can not be wirte to media device directly. This is a package from ddr.bin, usbplug.bin, miniloader.bin, Rockchip tool ''DB ''command will make usbplug.bin running in target which perform as a Rockusb device. You can skip to package this image, Rockchip will offer this image at the most of time. &nbsp; = Flash and boot from Media device = Here we introduce how to write image to different Medeia device. Get image Ready: *For&nbsp;with SPL: **idbloader.img **u-boot.itb **boot.img or&nbsp;boot folder with Image, dtb and exitlinulx inside **rootfs.img *For&nbsp;with miniloader **idbloader.img **uboot.img **trust.img **boot.img or&nbsp;boot folder with Image, dtb and exitlinulx inside **rootfs.img &nbsp; == Boot from eMMC == The eMMC is on the hardware board, so we need: *Get the board into [[Rockusb#Maskrom_mode|maskrom mode]]; *Connect the target to PC with USB cable; *Flash the image to eMMC with [[Rkdeveloptool|rkdeveloptool]] Example commands for flash image to target. Flash the gpt partition to target: <pre style="margin-left: 40px;">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool gpt parameter_gpt.txt</pre> *For&nbsp;with SPL: <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbloader.img rkdeveloptool wl 0x4000 u-boot.itb rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> *For&nbsp;with miniloader <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool ul rkxx_loader_vx.xx.bin rkdeveloptool wl 0x4000 uboot.img rkdeveloptool wl 0x6000 trust.img rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> &nbsp; == Boot from SD/TF Card == We can write SD/TF card with Linux PC ''dd'' command very easily. Insert SD card to PC and we assume the /dev/sdb is the SD card device. *For&nbsp;with SPL: <pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64 dd if=u-boot.itb of=sdb seek=16384 dd if=boot.img of=sdb seek=32768 dd if=rootfs.img of=sdb seek=262144 </pre> *For&nbsp;with miniloader: <pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64 dd if=uboot.img of=sdb seek=16384 dd if=trust.img of=sdb seek=24576 dd if=boot.img of=sdb seek=32768 dd if=rootfs.img of=sdb seek=262144</pre> In order to make sure everything has write to SD card before unpluged, recommand to run below command: <pre>sync</pre> Note, when using boot from SD card, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value. <pre>append earlyprintk console=ttyS2,115200n8 rw root=/dev/mmcblk1p7 rootwait rootfstype=ext4 init=/sbin/init </pre> Write GPT partition table to SD card&nbsp;in U-Boot, and then U-Boot can find the boot partition and run into kernel. <pre>gpt write mmc 0 $partitions </pre> == Boot from U-Disk == Same as&nbsp;[[#Boot_from_SD.2FTF_Card|boot-from-sdcard]], but please note that U-Disk&nbsp;only support stage 4 and 5, see [[#Boot_Stage|Boot Stage]] for detail. If U-Disk used for stage 4 and 5, format the U-Disk in gpt format and at least 2 partitions, write ''boot.img'' and ''rootfs.img'' in those partitions; if U-Dist is only used for stage 5, we can ''dd ''the ''rootfs.img'' to U-Disk device directly. Note, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value. <pre> append earlyprintk console=ttyS2,115200n8 rw root=/dev/sda1 rootwait rootfstype=ext4 init=/sbin/init </pre> == Boot from Network == To be continued. = See also = [[Rkdeveloptool|rkdeveloptool]] [[Rockusb|rockusb]] [[Partitions|Rockchip Linux partition definition]] 0bc16dd2645ab2bd0288b52b3455a61f7211176d 2187 2186 2019-11-15T03:52:05Z Kever 2 wikitext text/x-wiki = Boot introduce = First, let's make the concept clear, there are many boot stages when we boot up a Linux OS; Then we need to know about how the image should packaged, where&nbsp;the image locate; At last, we will explain how to write to different&nbsp;media and boot from there. Here is Rockchip pre-released binaries which may be mentioned later: [https://github.com/rockchip-linux/rkbin https://github.com/rockchip-linux/rkbin] And [http://opensource.rock-chips.com/wiki_Partitions Rockcip Linux GPT partition] here. &nbsp; == Boot flow == This chapter introduce the generic boot flow for Rockchip Application Processors, including&nbsp;the detail about what image we may use in Rockchip platform&nbsp;for kind of boot path: - use U-Boot TPL/SPL from upsream or rockchip U-Boot, fully source code; - use Rockchp idbLoader which is combinded by Rockchip ddr init bin and miniloader bin from Rockchip [https://github.com/rockchip-linux/rkbin rkbin project]; <pre>+--------+----------------+----------+-------------+---------+ | Boot | Terminology #1 | Actual | Rockchip | Image | | stage | | program | Image | Location| | number | | name | Name | (sector)| +--------+----------------+----------+-------------+---------+ | 1 | Primary | ROM code | BootRom | | | | Program | | | | | | Loader | | | | | | | | | | | 2 | Secondary | U-Boot |idbloader.img| 0x40 | pre-loader | | Program | TPL/SPL | | | | | Loader (SPL) | | | | | | | | | | | 3 | - | U-Boot | u-boot.itb | 0x4000 | including u-boot and atf | | | | uboot.img | | only used with miniloader | | | | | | | | | ATF/TEE | trust.img | 0x6000 | only used with miniloader | | | | | | | 4 | - | kernel | boot.img | 0x8000 | | | | | | | | 5 | - | rootfs | rootfs.img | 0x40000 | +--------+----------------+----------+-------------+---------+ </pre> Then when we talking about boot from eMMC/SD/U-Disk/net, they are in different concept: *Stage 1 is always in boot rom, it loads stage 2 and may load stage 3(when SPL_BACK_TO_BROM option enabled). *Boot from SPI flash means firmware for stage 2 and 3(SPL and U-Boot only) in SPI flash and stage 4/5 in other place; *Boot from eMMC means all the firmware(including stage 2, 3, 4, 5) in eMMC; *Boot from SD card means all the firmware(including stage 2, 3, 4, 5) in SD card; *Boot from U-Disk means firmware for stage 4 and 5(not including SPL and U-Boot) in Disk, optionally only including stage 5; *Boot from net/tftp means firmeware for stage 4 and 5(not including SPL and U-Boot) on the network; &nbsp; [[File:Rockchip bootflow20181122.jpg|1000x1000px|Rockchip bootflow.jpg]] Boot Flow 1 is typical Rockchip boot flow with Rockchip miniloader;<br/> Boot Flow 2 is used for most SoCs with U-Boot TPL for ddr init and SPL for trust(ATF/OP-TEE) load and run into next stage;<br/> <br/> Note 1. If loader1 have more than 1 stage, program will back to bootrom and bootrom load and run into next stage. eg. If loader1 is tpl and spl, the bootrom will run into tpl first, tpl init ddr and back to bootrom, bootrom then load and run into spl.<br/> Note 2. If trust is enabled, loader1 need to load both trust and u-boot, and then run into trust in secure mode(EL3 in armv8), trust do the initialize and run into U-Boot in non-secure mode(EL2 in armv8).<br/> Note 3. For trust(in trust.img or u-boot.itb), armv7 has only one tee.bin with or without ta, armv8 has bl31.elf and option with bl32.<br/> Note 4. In boot.img, content can be zImage and its dtb for Linux, and can optionally be grub.efi, and can be AOSP boot.img, ramdisk is option; == Package option == After we know about the boot stages, Here are the file list before package for stage 2~4: *From source code: **From U-Boot: '''u-boot-spl.bin''', '''u-boot.bin'''(may use u-boot-nodtb.bin and u-boot.dtb instead), **From kernel: kernel '''Image/zImage''' file, kernel dtb, **From ATF: '''bl31.elf'''; *From Rockchip binary: **ddr, usbplug, miniloader, bl31/op-tee, (all with&nbsp;chip 'rkxx_'&nbsp; prefix and with version '_x.xx.bin' postfix); We offer two different boot-loader methods for different solutions, the steps and request files are also complete different. But not all the platforms supports the both boot-loader methods. Here are the types to&nbsp;package image from those files: &nbsp; === The Pre-bootloader(IDBLoader) === ==== What is idbloader ==== idbloader.img is a Rockchip format pre-loader suppose to work at SoC start up, it contains: - IDBlock header which is known by Rockchip BootRom; - DRAM init program which is load by MaskRom and running at internal SRAM; - loader for next stage which is load by MaskRom and running at DDR SDRAM; You can get idbloader with below methods. ==== Get idbloader for eMMC from Rockchip release loader ==== No need to package a idbloader.img for eMMC if you are using Rockchip release loader, you can get idbloader on eMMC with below command: <pre>rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool ul rkxx_loader_vx.xx.bin</pre> ==== Package the idbloader.img from Rockchip binary: ==== For SD boot or eMMC(update with rockusb wl cmd), you need a idbloader(combinded with ddr and miniloader) . <pre>tools/mkimage -n rkxxxx -T rksd -d rkxx_ddr_vx.xx.bin idbloader.img cat rkxx_miniloader_vx.xx.bin >> idbloader.img </pre> ==== Package the idbloader.img from U-Boot&nbsp;TPL/SPL(which is fully open source): ==== <pre>tools/mkimage -n rkxxxx -T rksd -d tpl/u-boot-tpl.bin idbloader.img cat spl/u-boot-spl.bin >> idbloader.img </pre> Flash the idbloader.img to offset 0x40 which including stage 2, and you will need a uboot.img for boot stage 3. === U-Boot === ==== uboot.img ==== When using idbLoader from&nbsp;Rockchip miniloader, need package u-boot.bin into miniloader loadable format by Rockchip tool loaderimage. <pre>tools/loaderimage --pack --uboot u-boot.bin uboot.img $SYS_TEXT_BASE</pre> Where SoCs may have different&nbsp;$SYS_TEXT_BASE. ==== u-boot.itb ==== When using SPL to load the ATF/OP-TEE, package the bl31.bin, u-boot-nodtb.bin and uboot.dtb into one FIT image. You can skip the step to package the Trust image and flash that image in the next section. <pre>make u-boot.itb </pre> Note: please copy the trust binary() to u-boot root directory and rename it to tee.bin(armv7) or bl31.elf(armv8). === Trust === ==== trust.img ==== When using idbLoader from&nbsp;Rockchip miniloader, need package bl31.bin into miniloader loadable format by Rockchip tool trustmerge. <pre>tools/trustmerge tools/rk_tools/RKTRUST_RKXXXXTRUST.ini</pre> Flash the trust.img to offset 0x6000 which is for using Rockchip miniloader === boot.img === This image is package the kernel Image and dtb file into a know filesystem(FAT or EXT2) image for distro boot. See [[Rockchip_Kernel#Install_Boot.2Fkernel|Install kernel]] for detail about generate boot.img from kernel zImage/Image, dtb. Flash the boot.img to offset 0x8000 which is stage 4. === rootfs.img === Flash the rootfs.img to offset 0x40000 which is stage 5. As long as the kernel you chosen can support that filesystem, there is not limit in the format of the image. === rkxx_loader_vx.xx.xxx.bin === This is provide by Rockchip in binary mode, which is used for firmware upgrade to eMMC with [[Rkdeveloptool|rkdeveloptool]], can not be wirte to media device directly. This is a package from ddr.bin, usbplug.bin, miniloader.bin, Rockchip tool ''DB ''command will make usbplug.bin running in target which perform as a Rockusb device. You can skip to package this image, Rockchip will offer this image at the most of time. &nbsp; = Flash and boot from Media device = Here we introduce how to write image to different Medeia device. Get image Ready: *For&nbsp;with SPL: **idbloader.img **u-boot.itb **boot.img or&nbsp;boot folder with Image, dtb and exitlinulx inside **rootfs.img *For&nbsp;with miniloader **idbloader.img **uboot.img **trust.img **boot.img or&nbsp;boot folder with Image, dtb and exitlinulx inside **rootfs.img &nbsp; == Boot from eMMC == The eMMC is on the hardware board, so we need: *Get the board into [[Rockusb#Maskrom_mode|maskrom mode]]; *Connect the target to PC with USB cable; *Flash the image to eMMC with [[Rkdeveloptool|rkdeveloptool]] Example commands for flash image to target. Flash the gpt partition to target: <pre style="margin-left: 40px;">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool gpt parameter_gpt.txt</pre> *For&nbsp;with SPL: <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool wl 0x40 idbloader.img rkdeveloptool wl 0x4000 u-boot.itb rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> *For&nbsp;with miniloader <pre style="margin-left: 40px">rkdeveloptool db rkxx_loader_vx.xx.bin rkdeveloptool ul rkxx_loader_vx.xx.bin rkdeveloptool wl 0x4000 uboot.img rkdeveloptool wl 0x6000 trust.img rkdeveloptool wl 0x8000 boot.img rkdeveloptool wl 0x40000 rootfs.img rkdeveloptool rd </pre> &nbsp; == Boot from SD/TF Card == We can write SD/TF card with Linux PC ''dd'' command very easily. Insert SD card to PC and we assume the /dev/sdb is the SD card device. *For&nbsp;with SPL: <pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64 dd if=u-boot.itb of=sdb seek=16384 dd if=boot.img of=sdb seek=32768 dd if=rootfs.img of=sdb seek=262144 </pre> *For&nbsp;with miniloader: <pre style="margin-left: 40px">dd if=idbloader.img of=sdb seek=64 dd if=uboot.img of=sdb seek=16384 dd if=trust.img of=sdb seek=24576 dd if=boot.img of=sdb seek=32768 dd if=rootfs.img of=sdb seek=262144</pre> In order to make sure everything has write to SD card before unpluged, recommand to run below command: <pre>sync</pre> Note, when using boot from SD card, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value. <pre>append earlyprintk console=ttyS2,115200n8 rw root=/dev/mmcblk1p7 rootwait rootfstype=ext4 init=/sbin/init </pre> Write GPT partition table to SD card&nbsp;in U-Boot, and then U-Boot can find the boot partition and run into kernel. <pre>gpt write mmc 0 $partitions </pre> == Boot from U-Disk == Same as&nbsp;[[#Boot_from_SD.2FTF_Card|boot-from-sdcard]], but please note that U-Disk&nbsp;only support stage 4 and 5, see [[#Boot_Stage|Boot Stage]] for detail. If U-Disk used for stage 4 and 5, format the U-Disk in gpt format and at least 2 partitions, write ''boot.img'' and ''rootfs.img'' in those partitions; if U-Dist is only used for stage 5, we can ''dd ''the ''rootfs.img'' to U-Disk device directly. Note, need to update the kernel cmdline(which is in extlinux.conf) for the correct ''root ''value. <pre> append earlyprintk console=ttyS2,115200n8 rw root=/dev/sda1 rootwait rootfstype=ext4 init=/sbin/init </pre> == Boot from Network == To be continued. = See also = [[Rkdeveloptool|rkdeveloptool]] [[Rockusb|rockusb]] [[Partitions|Rockchip Linux partition definition]] 9aa7efccb0aa425a813da28c03607e618024f19c File:Rockchip RK1808 TRM Part1 V1.2--20190826 open source.rar 6 238 2161 2019-09-04T02:48:41Z Kever 2 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 Popmetal 0 29 2164 1141 2019-09-04T02:57:25Z Admin 1 wikitext text/x-wiki &nbsp;&nbsp; &nbsp; = Image = = See also = #[http://10.10.10.12:8444/index.php?title=Firefly-RK3288 Firefly-RK3288] #[[Firefly-RK3288_reload|Firefly-RK3288_reload]] #[[Rock2_Square|Rock2_Square]] #[[Rock2_Full|Rock2_Full]] #[[MiQi|MiQi]] #[[PhyCORE-RK3288|phyCORE-RK328]][[PhyCORE-RK3288|8]] = References = 1.[http://10.10.10.12:8444/images/f/f4/PopMetal_EVB.rar PopMetal_EVB] 6cbc3366c32b9f5233116e547fb06f8b42c1d39c 2165 2164 2019-09-04T02:58:43Z Admin 1 wikitext text/x-wiki &nbsp;&nbsp; &nbsp; = Image = = See also = #[[Firefly-RK3288|Firefly-RK3288]] #[[Firefly-RK3288_reload|Firefly-RK3288_reload]] #[[Rock2_Square|Rock2_Square]] #[[Rock2_Full|Rock2_Full]] #[[MiQi|MiQi]] #[[PhyCORE-RK3288|phyCORE-RK328]][[PhyCORE-RK3288|8]] = References = 1.[http://10.10.10.12:8444/images/f/f4/PopMetal_EVB.rar PopMetal_EVB] 4087265201a6e671f5a3c651b1a4466c594ed1be 2177 2165 2019-09-04T03:15:15Z Kever 2 wikitext text/x-wiki &nbsp;&nbsp; &nbsp; = Image = = See also = #[[Firefly-RK3288|Firefly-RK3288]] #[[Firefly-RK3288_reload|Firefly-RK3288_reload]] #[[Rock2_Square|Rock2_Square]] #[[Rock2_Full|Rock2_Full]] #[[PhyCORE-RK3288|phyCORE-RK328]][[PhyCORE-RK3288|8]] = References = 1.[http://10.10.10.12:8444/images/f/f4/PopMetal_EVB.rar PopMetal_EVB] 4317510f0c694054ecc8a9c74bf90dc74d0ef71c Upstream Kernel 0 19 2175 1703 2019-09-04T03:12:20Z Admin 1 wikitext text/x-wiki Rockchip is working on upstream SoC support to Mainline kernel: &nbsp; &nbsp; = Download Kernel = Get the source code from the upstream mainline&nbsp;repository: <pre>git clone git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git</pre> Alternatively you can use linux-rockchip instead which may with some patches not get in mainline: <pre>git clone git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip.git</pre> &nbsp; = Supported SoCs and Devices = Mainline&nbsp;kernel supports: RV1108, RK3036, RK3066, RK3188, RK3228, [[RK3288|RK3288]], RK3368, [[RK3399|RK3399]] *RV1108 boards: <ol style="margin-left: 40px;"> <li>EVB RV1108- use&nbsp;rk1108-evb.dts</li> </ol> *RK3036 boards: <ol style="margin-left: 40px;"> <li>EVB RK3036 - use rk3036-evb.dts</li> <li>Kylin RK3036- use&nbsp;rk3036-kylin.dts</li> </ol> *RK3066 boards: <ol style="margin-left: 40px;"> <li>Marsboard - use&nbsp;rk3066a-marsboard.dts</li> <li>Bqcurie2 - use&nbsp;rk3066a-bqcurie2.dts</li> <li>Rayeager - use rk3066a-rayeager.dts</li> </ol> *RK3188 boards: <ol style="margin-left: 40px;"> <li>Radxa Rock - rk3188-radxarock.dts</li> </ol> *RK3288 boards: <ol style="margin-left: 40px;"> <li>EVB RK3288 - use rk3288-evb-rk808.dts or&nbsp;rk3288-evb-act8846.dts</li> <li>Firefly RK3288 - use rk3288-firefly.dts</li> <li>Firefly beta RK3288 - use rk3288-firefly-beta.dts</li> <li>Firefly reload RK3288 - use rk3288-firefly-reload.dts</li> <li>Hisense Chromebook - use rk3288-veyron-jerry.dts</li> <li>PopMetal RK3288 - use rk3288-popmetal.dts</li> <li>Radxa Rock 2 - use rk3288-rock2-square.dts</li> </ol> *RK3368 boards: <ol style="margin-left: 40px;"> <li>Geekbok RK3368 - use&nbsp;rk3368-geekbox.dts</li> <li>Orion r68 - use rk3368-orion-r68-meta.dts</li> </ol> *RK3399 boards: <ol style="margin-left: 40px;"> <li>EVB RK3399 - use rk3399-evb.dts</li> </ol> &nbsp; = Configure and Build = You will need to use multi_v7_defconfig&nbsp;for armv7 SoCs: <pre>make multi_v7_defconfig</pre> configure for aarch64: <pre>make ARCH=arm64 defconfig</pre> The arm64 defconfig on upstream is more for server,&nbsp;we recommend you to use rockchip_linux_defconfig from&nbsp;Rockchip github <pre>make ARCH=arm64 rockchip_linux_defconfig</pre> After configure, build the kernel. For armv7: <pre>make CROSS_COMPILE=arm-linux-gnueabi-</pre> For aarch64: <pre>make CROSS_COMPILE=aarch64-linux-gnu- ARCH=arm64</pre> Then you can get Image/zImage and dtb files. &nbsp; &nbsp; = Install Boot/kernel = We use distro boot in U-Boot, so we need to make a boot partition for U-Boot with kernel image and dtb inside. <pre>mkdir boot cp arch/arm64/boot/dts/rockchip/rockchip/rk3399-evb.dtb boot/rk3399.dtb cp arch/arm64/boot/Image boot/</pre> Add extlinux/extlinux.conf for distro boot. <pre>mkdir boot/extlinux vi boot/extlinux/extlinux.conf</pre> &nbsp; <pre>lable kernel-mainline kernel /Image fdt /rk3399.dtb append earlycon=uart8250,mmio,0xff1a0000 console=ttyS2,1500000n8 root=dev/mmcblk0p7 rootwait rootfstype=ext4 init=/sbin/init</pre> You need to change the base address of debug UART, root partition for your board. Pls reference to&nbsp;[[Partitions|rockchip Linux parttion definition]]&nbsp;for rootfs partition and where boot to flash. After all these file prepare complete, we write the file to the boot partition See [[Rockchip_Kernel|rockchip kernel]] for boot partition generate. = Non-upstream module = [[Graphics|Rockchp Graphics]] [[Mpp|Rockchip Video]] [[Camera|Rockchip Camera]] c5af2cd1951d9aa131d445be1728ff427705bf94 Board Config 0 160 2176 1796 2019-09-04T03:14:08Z Kever 2 wikitext text/x-wiki = Board config = == defconfig and dts == <span style="font-size: 13px; line-height: 1.6;">Every Board has its device tree file and config file required by the kernel and uboot. Therefore, you will need to choose the correct dts and config to build the source.Below list various Boards and the matching file.</span> {| border="1" class="table_style" style="width: 1020px;" |- ! rowspan="2" style="width: 253px;" | board ! rowspan="2" style="width: 172px;" | uboot ! rowspan="2" style="width: 167px;" | kernel config ! rowspan="2" style="width: 287px;" | kernel dts ! colspan="3" rowspan="1" style="width: 287px;" | Hardware |- ! style="width: 287px;" | DDR ! style="width: 287px;" | PMIC ! style="width: 287px;" | Boot |- | style="width: 153px;" | rk3288-evb | style="width: 172px;" | evb-rk3288_defconfig | style="width: 167px;" | rockchip_linux_defconfig | style="width: 287px;" | rk3288-evb-act8846.dts&nbsp; | style="width: 287px; text-align: center;" | &nbsp;LPDDR3 | style="width: 287px; text-align: center;" | &nbsp;act8846 | style="width: 287px; text-align: center;" | emmc boot |- | style="width: 153px;" | rk3288-evb-rk808 | style="width: 172px;" | <del>fennec-rk3288_defconfig</del> | style="width: 167px;" | rockchip_linux_defconfig | style="width: 287px;" | rk3288-evb-rk808-linux.dts | style="width: 287px; text-align: center;" | LPDDR3 | style="width: 287px; text-align: center;" | rk808 | style="width: 287px; text-align: center;" | emmc boot |- | style="width: 153px;" | rk3288-miniarm | style="width: 172px;" | tinker-rk3288_defconfig | style="width: 167px;" | rockchip_linux_defconfig | style="width: 287px;" | rk3288-miniarm.dts | style="width: 287px; text-align: center;" | LPDDR3 | style="width: 287px; text-align: center;" | rk808 | style="width: 287px; text-align: center;" | sd-card boot |- | style="width: 153px;" | rk3288-firefly | style="width: 172px;" | firefly-rk3288_defconfig | style="width: 167px;" | rockchip_linux_defconfig | style="width: 287px;" | rk3288-firefly.dts | style="width: 287px; text-align: center;" | DDR3 | style="width: 287px; text-align: center;" | act8846 | style="width: 287px; text-align: center;" | sd-card boot |- | style="width: 153px;" | rk3288-firefly-reload | style="width: 172px;" | <del>f<var>irefly-rk3288_defconfig</var></del> | style="width: 167px;" | rockchip_linux_defconfig | style="width: 287px;" | rk3288-firefly-reload-linux.dts | style="width: 287px; text-align: center;" | DDR3 | style="width: 287px; text-align: center;" | rk808 | style="width: 287px; text-align: center;" | sd-card boot |- | style="width: 153px;" | rk3288-phytec | style="width: 172px;" | phtec-rk3288_defconfig | style="width: 167px;" | rockchip_linux_defconfig | style="width: 287px;" | rk3288-phytec-rdk.dts | style="width: 287px; text-align: center;" | DDR3 | style="width: 287px; text-align: center;" | rk818 | style="width: 287px; text-align: center;" | emmc boot |- | style="width: 153px;" | rk3328-evb | style="width: 172px;" | evb-rk3328_defconfig | style="width: 167px;" | rockchip_linux_defconfig | style="width: 287px;" | rk3328-evb.dts | style="width: 287px; text-align: center;" | DDR3 | style="width: 287px; text-align: center;" | rk805 | style="width: 287px; text-align: center;" | emmc boot |- | style="width: 153px;" | rk3399-excavator | style="width: 172px;" | evb-rk3399_defconfig | style="width: 167px;" | rockchip_linux_defconfig | style="width: 287px;" | rk3399-sapphire-excavator-linux.dts | style="width: 287px; text-align: center;" | LPDDR4 | style="width: 287px; text-align: center;" | rk808 | style="width: 287px; text-align: center;" | emmc boot |- | style="width: 153px;" | rk3399-firefly | style="width: 172px;" | firefly-rk3399_defconfig | style="width: 167px;" | rockchip_linux_defconfig | style="width: 287px;" | rk3399-firefly-linux.dts | style="width: 287px; text-align: center;" | LPDDR4 | style="width: 287px; text-align: center;" | rk808 | style="width: 287px; text-align: center;" | emmc boot |- | style="width: 153px;" | rk3036-kylin | style="width: 172px;" | kylin-rk3036_defconfig | style="width: 167px;" | rockchip_linux_defconfig | style="width: 287px;" | rk3036-kylin.dts | style="width: 287px; text-align: center;" | DDR3 | style="width: 287px; text-align: center;" | rk808 | style="width: 287px; text-align: center;" | emmc boot |} &nbsp; == Config Per Chip == {| border="1" class="table_style" |- ! chip ! Kernel eMMC index ! Kernel SD index ! Uboot eMMC index ! Uboot SD index ! Baud speed |- | rk3399 | 1 | 0 | 0 | 1 | 1500000 |- | rk3328 | 2 | 0 | 0 | 1 | 1500000 |- | rk3288 | 2 | 0 | 0 | 1 | 115200 |- | rk3036 | 2 | 0 | 0 | - | 115200 |} ---- 518d78d0541d83d5d9520633e4260ba9b7db599d Kernel 0 201 2178 2125 2019-09-04T03:15:56Z Kever 2 wikitext text/x-wiki We recommand use below command to build kernel. It will use&nbsp;RK_KERNEL_DEFCONFIG and RK_KERNEL_DTS in&nbsp;device/rockchip/.BoardConfig.mk to build kernel. Please modify RK_KERNEL_DEFCONFIG and RK_KERNEL_DTS if it don't&nbsp;match your board.&nbsp; In your linux SDK root directory. <pre>./build.sh kernel </pre> Or, you can use a separate command.&nbsp;In your linux SDK root directory. enter to kernel directory.&nbsp; <pre>cd kernel </pre> Config your kernel. For ARM v7: RK3288 <pre>make ARCH=arm rockchip_linux_defconfig </pre> For ARM V8: RK3399, RK3328, RK1808, RK3399Pro, PX30 <pre>make ARCH=arm64 rockchip_linux_defconfig </pre> For RK3399&nbsp;sapphire-excavator board, VS-RK3399 board,&nbsp;Rock960 board. Use below command to build the kernel:&nbsp; <pre>make ARCH=arm64 rk3399-sapphire-excavator-linux.img -j8 </pre> For firefly-rk3399&nbsp;board. Use below command to build the kernel:&nbsp; <pre>make ARCH=arm64 rk3399-firefly-linux.img -j8 </pre> For rk1808-evb&nbsp;board. Use below command to build the kernel:&nbsp; <pre>make ARCH=arm64 rk1808-evb-v10.img -j8</pre> For rk3399pro-evb board. Use below command to build the kernel:&nbsp; <pre>make ARCH=arm64 rk3399pro-evb-v11-linux.img -j8</pre> For px30-evb board. Use below command to build the kernel:&nbsp; <pre>make ARCH=arm64 px30-evb-ddr3-v10-linux.img -j8</pre> For firefly-rk3288 board. Use below command to build the kernel:&nbsp; <pre>make ARCH=arm rk3288-firefly.img -j8 </pre> For rk3288-evb-act8846&nbsp;board. Use below command to build the kernel:&nbsp; <pre>make ARCH=arm rk3288-evb-act8846.img -j8 </pre> For rk3288-evb-rk808&nbsp;board. Use below command to build the kernel:&nbsp; <pre>make ARCH=arm rk3288-evb-rk808-linux.img -j8 </pre> For rk3288 tinker&nbsp;board. Use below command to build the kernel:&nbsp; <pre>make ARCH=arm rk3288-miniarm.img -j8 </pre> For phytec-rk3288&nbsp;board. Use below command to build the kernel:&nbsp; <pre>make ARCH=arm rk3288-phycore-rdk.img -j8 </pre> For rk3288-evb-rk1608 board. Use below command to build the kernel:&nbsp; <pre>make ARCH=arm rk3288-evb-rk1608.img -j8</pre> It will generate boot.img(ARM v8) or zboot.img(ARM v7):&nbsp;&nbsp;it pack kernel image and&nbsp;resource image into Android boot image format. Please flash this binary to boot partition 4720c629545c975697a602d815eb7e430702ed45 Uboot 0 200 2179 2124 2019-09-04T03:16:37Z Kever 2 wikitext text/x-wiki We recommand use below command to build U-Boot. It will use&nbsp;RK_UBOOT_DEFCONFIG in&nbsp;device/rockchip/.BoardConfig.mk to build U-Boot. Please modify RK_UBOOT_DEFCONFIG if it don't match your board.&nbsp; In your linux SDK root directory. <pre>./build.sh uboot </pre> Or, you can use a separate command. In your linux SDK root directory. enter to U-Boot directory.&nbsp; <pre>cd u-boot </pre> For RK3399&nbsp;sapphire-excavator board, VS-RK3399 board,&nbsp;Rock960 board. Use below command to build the U-Boot:&nbsp; <pre>./make.sh evb-rk3399 </pre> For firefly-rk3399&nbsp;board. Use below command to build the U-Boot:&nbsp; <pre>./make.sh firefly-rk3399 </pre> For all other rk3399&nbsp;board. Use below command to build the U-Boot:&nbsp; <pre>./make.sh rk3399 </pre> For firefly-rk3288 board. Use below command to build the U-Boot:&nbsp; <pre>./make.sh firefly-rk3288 </pre> For rk3288-evb-act8846&nbsp;board. Use below command to build the U-Boot:&nbsp; <pre>./make.sh evb-rk3288 </pre> For rk3288-evb-rk808&nbsp;board. Use below command to build the U-Boot:&nbsp; <pre>./make.sh fennec-rk3288 </pre> For rk3288 tinker&nbsp;board. Use below command to build the U-Boot:&nbsp; <pre>./make.sh tinker-rk3288 </pre> For phytec-rk3288&nbsp;board. Use below command to build the U-Boot:&nbsp; <pre>./make.sh phycore-rk3288 </pre> For rk3288-evb-rk1608 board. Use below command to build the U-Boot:&nbsp; <pre>./make.sh evb-rk3288-rk1608</pre> For all other rk3288 board. Use below command to build the U-Boot:&nbsp; <pre>./make.sh rk3288</pre> For all rk1808 board. Use below command to build the U-Boot:&nbsp; <pre>./make.sh rk1808</pre> For px30 board. Use below command to build the U-Boot:&nbsp; <pre>./make.sh evb-px30</pre> For all other px30 board. Use below command to build the U-Boot:&nbsp; <pre>./make.sh px30</pre> For all RK3399Pro board. Use below command to build the U-Boot:&nbsp; <pre>./make.sh rk3399pro</pre> It will generate 3 binary image: rk3xxx_loader_vx.xx.xxx.bin, trust.img, uboot.img.&nbsp; rk3xxx_loader_vx.xx.xxx.bin: Rockchip miniloader. rk3xxx is the part number of the chip. vx.xx.xxx is the version number. Please flash this binary to miniloader partition.&nbsp; trust.img:&nbsp;ARM Trusted Firmware, Please flash this binary to trust partition uboot.img: The U-Boot image, Please flash this binary to uboot partition <pre>u-boot/ ├── rk3399_loader_v1.09.112.bin ├── trust.img └── uboot.img </pre> Rockchip now only offically support miniloader+U-Boot boot to simplify the customer product design.&nbsp; You can refer to&nbsp;[http://opensource.rock-chips.com/wiki_Boot_option boot option]&nbsp;page for more boot path. But do remember that you should do it all by your own. Rockchip won't provide technical support for these boot option.&nbsp; b196635e1b210db0c1909504de35bb76fa458a18 Rockusb 0 122 2181 2028 2019-09-04T06:42:07Z Kever 2 wikitext text/x-wiki = Introduce = Rockusb is a vendor specific USB class from Rockchip, which is for firmware dowmload for Rockchip SoCs. &nbsp; = Get into Rockusb = There are a few cases for&nbsp;Rockchip SoCs to get into Rockusb. *maskrom mode, no firmware found on chip, target run maskrom rockusb driver; *usbplug mode,&nbsp; *miniLoader rockusb mode, target run miniloader rockusb driver. *uboot rockusb mode. &nbsp; == Maskrom mode == If&nbsp;there is no bootable&nbsp;firmware found on board, the SoC will run&nbsp;Rockusb driver&nbsp;automatically, we call it Bootrom mode or Maskrom mode. If firmware is at somewhere of the board,&nbsp;in order to get into this mode, we can do something to prevent cpu read the firmware successful: *for SD-card, unplug the SD-card; *for eMMC, short the eMMC clock to GND; *for NAND, short the data line or clock line; *for SPI, short the spi signal to GND; *By "reboot bootrom" command in U-Boot and Kernel, WIP. *erase bootable region with non-bootable data&nbsp;in eMMC or other media devices In Maskrom mode, the DRAM is not available, so the download size is limit by the internal memory size. Use db command in rkdeveloptool, system will init the DRAM and run into usbplug(with rockusb driver) mode which have no size limitation in download size. == Usbplug mode == The usbplug is a firmware used for USB download with rkdeveloptool db command, with rockusb driver inside, the DRAM already initialized in this mode. == Miniloader Rockusb&nbsp;mode == Rockchip legacy image(with U-Boot 2014.10) using miniloader as default USB firmware upgrade path,&nbsp;enter this mode with: - Press 'recovery' or 'volumn +' key pressed when power up; - &nbsp;there is no next stage firmware found. &nbsp; For example, erase bootable data in U-Boot: <pre style="margin-left: 40px;">mmc erase 0x4000 0x2000</pre> - &nbsp;run "reboot loader" command in kernel. NOTE: In this miniloader rockusb, the offset for rkdeveloptool&nbsp;is not the physical address, the physical offset 0~0x2000 is no able to write by wl command; '''The physical address of &nbsp;offset in&nbsp;''wl'' command is&nbsp;the offset plus 0x2000''', eg: "rkdeveloptool wl 0x2000 uboot.img" will write uboot.img to emmc 0x4000 address. == U-Boot&nbsp;Rockusb&nbsp;mode == enter this mode with: - Press 'recovery' or 'volumn +' key pressed when power up; -&nbsp;Run "reboot loader" command in kernel; - Start with cmd in U-Boot shell <pre>rockusb 0 mmc 0</pre> &nbsp; = USB VID/PID for rockusb = Rockchip Vendor ID is 0x2207, and the product ID for different SoCs are different. Rockusb product ID: *RK3288: 0x320a *RK3328: 0x320c *RK3399: 0x330c Please use ''lsusb ''command in Linux PC to check if there is a Rockusb device connect. &nbsp; = Firmware download = [[Rkdeveloptool|rkdeveloptool]]&nbsp;and [[Upgradetool|upgrade_tool]] is the tool to do the firmware upgrade for Rockchip SoCs which is using Rockusb protocol via USB. Please follow the steps for boot from eMMC for how to use the tool. b05f28d2fc52df617341ca452a0cd37b8716d031 Roadmap 0 206 2182 2122 2019-10-09T00:56:45Z Admin 1 wikitext text/x-wiki This page discribe the road map of Rockchip Linux SDK. It is just let people know&nbsp;our plan&nbsp;in advance. not promise. It may change without inform you. Please understand. = 2019 Q4 = support&nbsp;MPV support ffmpeg hardware codec MPEG4 dec,&nbsp;H264 enc, Jpeg enc, VP8 enc &nbsp; &nbsp; 484ba85ea970a5f73ed1b1ec1da78bfaebea825e 2183 2182 2019-10-09T00:57:23Z Admin 1 wikitext text/x-wiki This page discribe the road map of Rockchip Linux SDK. It is just let people know&nbsp;our plan&nbsp;in advance. not promise. It may change without inform you. Please understand. = 2019 Q4 = support&nbsp;mpv support ffmpeg hardware codec MPEG4 dec,&nbsp;H264 enc, Jpeg enc, VP8 enc &nbsp; &nbsp; 64e086ff2f6b3aca8b366377521619ea6a65cf86 File:Rockchip RK3288 Datasheet V2.7-20191227.pdf 6 242 2194 2020-01-02T08:17:19Z Admin 1 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 File:Rockchip PX30 Datasheet V1.4-20191227.pdf 6 243 2196 2020-01-02T08:20:57Z Admin 1 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 File:Rockchip RK3328 Datasheet V1.3-20200310.pdf 6 244 2198 2020-03-30T03:45:24Z Admin 1 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 Main Page 0 16 2199 2197 2020-03-30T03:46:20Z Admin 1 wikitext text/x-wiki <span style="font-size:xx-large;">'''[[Linux_SDK|Rockchip Linux SDK]]'''</span><span style="font-size:small;">(click to enter)</span> <span style="font-size:small;">Rockchip Linux SDK is an&nbsp;official Linux release.&nbsp; Please contact&nbsp;'''service@rock-chips.com''' if you need business support.&nbsp;This page is for open source community. Please go to [[Linux_SDK|here]]&nbsp;if you want to use&nbsp;Rockchip Linux SDK</span> *[[Download|<span style="font-size:large;">Firmware Download</span>]] **<span style="font-size:small;">Please go to [[Download|here]] if you want to download prebuilt Image for Rockchip Linux SDK</span> &nbsp; = '''Source code''' = Rockchip provide open source software on Github including fully support for Linux Based OS: *Github: [https://github.com/rockchip-linux rockchip-linux] You can also find software for Rockchip SoCs from Upstream: *[https://www.kernel.org/ Linux kernel] *[http://www.denx.de/wiki/U-Boot/WebHome U-Boot] *[https://github.com/ARM-software/arm-trusted-firmware ARM Trusted Firmware] *[https://github.com/OP-TEE/optee_os OP-TEE OS] If you are using a Chrombook with Rockchip SoC, you can use: *[https://chromium.googlesource.com/chromiumos/third_party/coreboot Chromium OS&nbsp;Coreboot] *[https://chromium.googlesource.com/chromiumos/third_party/kernel Chromium OS kernel] &nbsp; = '''Hardware Support''' = Rockchip official hardware document release(please click to enter soc detail or download): {| border="1" cellpadding="0" cellspacing="0" class="table_style" |- ! style="width:92px;" | <p style="text-align: center;">SoC</p> ! style="width:286px;" | <p style="text-align: center;">Description</p> ! style="width:189px;" | <p style="text-align: center;">Download</p> |- | style="text-align: center;" | PX30 | Quad-core Cortex-A35 CPU Mali-G31 MP2 GPU | TRM [[Media:Rockchip_PX30_Datasheet_V1.4-20191227.pdf|Datasheet]] [[Media:Px30_hardware_reference.zip|Schematic&Layout Guide]] |- | style="text-align: center;" | RK1808 | Dual-core Cortex-A35 CPU NPU up to 3.0TOPs | [[Media:Rockchip_RK1808_TRM_Part1_V1.2--20190826_open_source.rar|TRM]] [[Media:Rockchip_RK1808_Datasheet_V1.2_20190527.pdf|Datasheet]] [[Media:Rk1808_hardware_reference.zip|Schematic&Layout Guide]] |- | style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p> | style="width:286px;" | Quad-core Cortex-A17 CPU MALI-T760 MP4 GPU | style="width:189px;" | [[Media:Rockchip_RK3288_TRM_V1.2_Part1-20170321.pdf|TRM]] [[Media:Rockchip_RK3288_Datasheet_V2.7-20191227.pdf|Datasheet]] [[Media:Rk3288_hardware_reference.zip|Schematic&Layout Guide]] |- | style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p> | style="width:286px;" | Quad-core Cortex-A53 CPU MALI-450 MP2 GPU | style="width:189px;" | [[Media:Rockchip_RK3328TRM_V1.1-Part1-20170321.pdf|TRM]] [[Media:Rockchip_RK3328_Datasheet_V1.3-20200310.pdf|Datasheet]] [[Media:Rk3328_hardware_reference.zip|Schematic&Layout Guide]] |- | style="width: 92px; text-align: center;" | [[RK3399|RK3399]] | style="width:286px;" | Dual-core Cortex-A72 Quad-core Cortex-A53 CPU MALI-T860 MP4 GPU | style="width:189px;" | [[Media:Rockchip_RK3399TRM_V1.4_Part1-20170408.pdf|TRM]] [[Media:Rockchip_RK3399_Datasheet_V2.0-20191010.pdf|Datasheet]] [[Media:RK3399_hardware_reference2019.zip|Schematic&Layout Guide]] |- | style="text-align: center;" | RK3399Pro | Dual-core Cortex-A72 Quad-core Cortex-A53 CPU MALI-T860 MP4 GPU NPU up to 3.0TOPS | TRM Datasheet [[Media:Rk3399pro_hardware_reference.zip|Schematic&Layout Guide]] |} &nbsp; <span style="font-size:medium;">'''Hardware dev board on market:'''</span> [[Devices|Device List]] &nbsp; = '''Software development&nbsp;''' = *'''Software Feature Supoort status''' **'''[[Status_Matrix|Status_Matrix]]''' *'''BSP''' **[[U-Boot|U-Boot]]&nbsp; **[[Rockchip_Kernel|Kernel]] **[[ATF|ARM Trusted&nbsp;Firmware]] **[[Distribution|Distro]] *'''Graphics and Multimedia&nbsp;user guide''' **[[Graphics|Graphics and Display]] **[[Mpp|Multimedia--Video Codec]] **[[Rockchip-isp1|Multimedia--Camera]] *'''Tool and Firmware Upgrade''' **[[Boot_option|Boot Option]] **[[Rockusb|Rockusb]] **[[Tools|Firmware Upgrade Tools]] '''<span style="font-size:xx-large;">Feedback</span>''' Any question about software module on github, please ask&nbsp;at issue page of github project. If you have any other questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website, Email-to: '''opensource@rock-chips.com''' 4c4c71dfedeb5f87ad0edc073a355d96eb943f60 2201 2199 2020-03-30T03:52:56Z Admin 1 wikitext text/x-wiki <span style="font-size:xx-large;">'''[[Linux_SDK|Rockchip Linux SDK]]'''</span><span style="font-size:small;">(click to enter)</span> <span style="font-size:small;">Rockchip Linux SDK is an&nbsp;official Linux release.&nbsp; Please contact&nbsp;'''service@rock-chips.com''' if you need business support.&nbsp;This page is for open source community. Please go to [[Linux_SDK|here]]&nbsp;if you want to use&nbsp;Rockchip Linux SDK</span> *[[Download|<span style="font-size:large;">Firmware Download</span>]] **<span style="font-size:small;">Please go to [[Download|here]] if you want to download prebuilt Image for Rockchip Linux SDK</span> &nbsp; = '''Source code''' = Rockchip provide open source software on Github including fully support for Linux Based OS: *Github: [https://github.com/rockchip-linux rockchip-linux] You can also find software for Rockchip SoCs from Upstream: *[https://www.kernel.org/ Linux kernel] *[http://www.denx.de/wiki/U-Boot/WebHome U-Boot] *[https://github.com/ARM-software/arm-trusted-firmware ARM Trusted Firmware] *[https://github.com/OP-TEE/optee_os OP-TEE OS] If you are using a Chrombook with Rockchip SoC, you can use: *[https://chromium.googlesource.com/chromiumos/third_party/coreboot Chromium OS&nbsp;Coreboot] *[https://chromium.googlesource.com/chromiumos/third_party/kernel Chromium OS kernel] &nbsp; = '''Hardware Support''' = Rockchip official hardware document release(please click to enter soc detail or download): {| border="1" cellpadding="0" cellspacing="0" class="table_style" |- ! style="width:92px;" | <p style="text-align: center;">SoC</p> ! style="width:286px;" | <p style="text-align: center;">Description</p> ! style="width:189px;" | <p style="text-align: center;">Download</p> |- | style="text-align: center;" | PX30 | Quad-core Cortex-A35 CPU Mali-G31 MP2 GPU | TRM [[Media:Rockchip_PX30_Datasheet_V1.4-20191227.pdf|Datasheet]] [[Media:Px30_hardware_reference.zip|Schematic&Layout Guide]] |- | style="text-align: center;" | RK1808 | Dual-core Cortex-A35 CPU NPU up to 3.0TOPs | [[Media:Rockchip_RK1808_TRM_Part1_V1.2--20190826_open_source.rar|TRM]] [[Media:Rockchip_RK1808_Datasheet_V1.2_20190527.pdf|Datasheet]] [[Media:Rk1808_hardware_reference.zip|Schematic&Layout Guide]] |- | style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p> | style="width:286px;" | Quad-core Cortex-A17 CPU MALI-T760 MP4 GPU | style="width:189px;" | [[Media:Rockchip_RK3288_TRM_V1.2_Part1-20170321.pdf|TRM]] [[Media:Rockchip_RK3288_Datasheet_V2.7-20191227.pdf|Datasheet]] [[Media:Rk3288_hardware_reference.zip|Schematic&Layout Guide]] |- | style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p> | style="width:286px;" | Quad-core Cortex-A53 CPU MALI-450 MP2 GPU | style="width:189px;" | [[Media:Rockchip_RK3328TRM_V1.1-Part1-20170321.pdf|TRM]] [[Media:Rockchip_RK3328_Datasheet_V1.3-20200310.pdf|Datasheet]] [[Media:Rk3328_hardware_reference.zip|Schematic&Layout Guide]] |- | style="width: 92px; text-align: center;" | [[RK3399|RK3399]] | style="width:286px;" | Dual-core Cortex-A72 Quad-core Cortex-A53 CPU MALI-T860 MP4 GPU | style="width:189px;" | [[Media:Rockchip_RK3399TRM_V1.4_Part1-20170408.pdf|TRM]] [[Media:Rockchip_RK3399_Datasheet_V2.1-20200323.pdf|Datasheet]] [[Media:RK3399_hardware_reference2019.zip|Schematic&Layout Guide]] |- | style="text-align: center;" | RK3399Pro | Dual-core Cortex-A72 Quad-core Cortex-A53 CPU MALI-T860 MP4 GPU NPU up to 3.0TOPS | TRM Datasheet [[Media:Rk3399pro_hardware_reference.zip|Schematic&Layout Guide]] |} &nbsp; <span style="font-size:medium;">'''Hardware dev board on market:'''</span> [[Devices|Device List]] &nbsp; = '''Software development&nbsp;''' = *'''Software Feature Supoort status''' **'''[[Status_Matrix|Status_Matrix]]''' *'''BSP''' **[[U-Boot|U-Boot]]&nbsp; **[[Rockchip_Kernel|Kernel]] **[[ATF|ARM Trusted&nbsp;Firmware]] **[[Distribution|Distro]] *'''Graphics and Multimedia&nbsp;user guide''' **[[Graphics|Graphics and Display]] **[[Mpp|Multimedia--Video Codec]] **[[Rockchip-isp1|Multimedia--Camera]] *'''Tool and Firmware Upgrade''' **[[Boot_option|Boot Option]] **[[Rockusb|Rockusb]] **[[Tools|Firmware Upgrade Tools]] '''<span style="font-size:xx-large;">Feedback</span>''' Any question about software module on github, please ask&nbsp;at issue page of github project. If you have any other questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website, Email-to: '''opensource@rock-chips.com''' abd6ffcc6d4cd18ea5186e52db964cf563f78e40 2202 2201 2020-03-30T03:54:50Z Admin 1 wikitext text/x-wiki <span style="font-size:xx-large;">'''[[Linux_SDK|Rockchip Linux SDK]]'''</span><span style="font-size:small;">(click to enter)</span> <span style="font-size:small;">Rockchip Linux SDK is an&nbsp;official Linux release.&nbsp; Please contact&nbsp;'''service@rock-chips.com''' if you need business support.&nbsp;This page is for open source community. Please go to [[Linux_SDK|here]]&nbsp;if you want to use&nbsp;Rockchip Linux SDK</span> *[[Download|<span style="font-size:large;">Firmware Download</span>]] **<span style="font-size:small;">Please go to [[Download|here]] if you want to download prebuilt Image for Rockchip Linux SDK</span> &nbsp; = '''Source code''' = Rockchip provide open source software on Github including fully support for Linux Based OS: *Github: [https://github.com/rockchip-linux rockchip-linux] You can also find software for Rockchip SoCs from Upstream: *[https://www.kernel.org/ Linux kernel] *[http://www.denx.de/wiki/U-Boot/WebHome U-Boot] *[https://github.com/ARM-software/arm-trusted-firmware ARM Trusted Firmware] *[https://github.com/OP-TEE/optee_os OP-TEE OS] If you are using a Chrombook with Rockchip SoC, you can use: *[https://chromium.googlesource.com/chromiumos/third_party/coreboot Chromium OS&nbsp;Coreboot] *[https://chromium.googlesource.com/chromiumos/third_party/kernel Chromium OS kernel] &nbsp; = '''Hardware Support''' = Rockchip official hardware document release(please click to enter soc detail or download): {| border="1" cellpadding="0" cellspacing="0" class="table_style" |- ! style="width:92px;" | <p style="text-align: center;">SoC</p> ! style="width:286px;" | <p style="text-align: center;">Description</p> ! style="width:189px;" | <p style="text-align: center;">Download</p> |- | style="text-align: center;" | PX30 | Quad-core Cortex-A35 CPU Mali-G31 MP2 GPU | TRM [[Media:Rockchip_PX30_Datasheet_V1.4-20191227.pdf|Datasheet]] [[Media:Px30_hardware_reference.zip|Schematic&Layout Guide]] |- | style="text-align: center;" | RK1808 | Dual-core Cortex-A35 CPU NPU up to 3.0TOPs | [[Media:Rockchip_RK1808_TRM_Part1_V1.2--20190826_open_source.rar|TRM]] [[Media:Rockchip_RK1808_Datasheet_V1.2_20190527.pdf|Datasheet]] [[Media:Rk1808_hardware_reference.zip|Schematic&Layout Guide]] |- | style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p> | style="width:286px;" | Quad-core Cortex-A17 CPU MALI-T760 MP4 GPU | style="width:189px;" | [[Media:Rockchip_RK3288_TRM_V1.2_Part1-20170321.pdf|TRM]] [[Media:Rockchip_RK3288_Datasheet_V2.7-20191227.pdf|Datasheet]] [[Media:Rk3288_hardware_reference.zip|Schematic&Layout Guide]] |- | style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p> | style="width:286px;" | Quad-core Cortex-A53 CPU MALI-450 MP2 GPU | style="width:189px;" | [[Media:Rockchip_RK3328TRM_V1.1-Part1-20170321.pdf|TRM]] [[Media:Rockchip_RK3328_Datasheet_V1.3-20200310.pdf|Datasheet]] [[Media:Rk3328_hardware_reference.zip|Schematic&Layout Guide]] |- | style="width: 92px; text-align: center;" | [[RK3399|RK3399]] | style="width:286px;" | Dual-core Cortex-A72 Quad-core Cortex-A53 CPU MALI-T860 MP4 GPU | style="width:189px;" | [[Media:Rockchip_RK3399TRM_V1.4_Part1-20170408.pdf|TRM]] [[Media:Rockchip_RK3399_Datasheet_V2.1-20200323.pdf|Datasheet]] [[Media:RK3399_hardware_reference2019.zip|Schematic&Layout Guide]] |- | style="text-align: center;" | RK3399Pro | Dual-core Cortex-A72 Quad-core Cortex-A53 CPU MALI-T860 MP4 GPU NPU up to 3.0TOPS | TRM Datasheet [[Media:Rk3399pro_hardware_reference.zip|Schematic&Layout Guide]] |} &nbsp; <span style="font-size:medium;">'''Hardware dev board on market:'''</span> [[Devices|Device List]] &nbsp; = '''Software development&nbsp;''' = *'''Software Feature Supoort status''' **'''[[Status_Matrix|Status_Matrix]]''' *'''BSP''' **[[U-Boot|U-Boot]]&nbsp; **[[Rockchip_Kernel|Kernel]] **[[ATF|ARM Trusted&nbsp;Firmware]] **[[Distribution|Distro]] *'''Graphics and Multimedia&nbsp;user guide''' **[[Graphics|Graphics and Display]] **[[Mpp|Multimedia--Video Codec]] **[[Rockchip-isp1|Multimedia--Camera]] *'''Tool and Firmware Upgrade''' **[[Boot_option|Boot Option]] **[[Rockusb|Rockusb]] **[[Tools|Firmware Upgrade Tools]] '''<span style="font-size:xx-large;">Feedback</span>''' Any question about software module on github, please ask&nbsp;at issue page of github project. If you have any other questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website, Email-to: '''opensource@rock-chips.com''' e6083756abb70a98e3dbddd94c83817687a879c3 2205 2202 2020-09-22T02:57:25Z Admin 1 wikitext text/x-wiki = '''Source code''' = Rockchip provide open source software on Github including fully support for Linux Based OS: *Github: [https://github.com/rockchip-linux rockchip-linux] You can also find software for Rockchip SoCs from Upstream: *[https://www.kernel.org/ Linux kernel] *[http://www.denx.de/wiki/U-Boot/WebHome U-Boot] *[https://github.com/ARM-software/arm-trusted-firmware ARM Trusted Firmware] *[https://github.com/OP-TEE/optee_os OP-TEE OS] If you are using a Chrombook with Rockchip SoC, you can use: *[https://chromium.googlesource.com/chromiumos/third_party/coreboot Chromium OS&nbsp;Coreboot] *[https://chromium.googlesource.com/chromiumos/third_party/kernel Chromium OS kernel] &nbsp; = '''Hardware Support''' = Rockchip official hardware document release(please click to enter soc detail or download): {| border="1" cellpadding="0" cellspacing="0" class="table_style" |- ! style="width:92px;" | <p style="text-align: center;">SoC</p> ! style="width:286px;" | <p style="text-align: center;">Description</p> ! style="width:189px;" | <p style="text-align: center;">Download</p> |- | style="text-align: center;" | PX30 | Quad-core Cortex-A35 CPU Mali-G31 MP2 GPU | TRM [[Media:Rockchip_PX30_Datasheet_V1.4-20191227.pdf|Datasheet]] [[Media:Px30_hardware_reference.zip|Schematic&Layout Guide]] |- | style="text-align: center;" | RK1808 | Dual-core Cortex-A35 CPU NPU up to 3.0TOPs | [[Media:Rockchip_RK1808_TRM_Part1_V1.2--20190826_open_source.rar|TRM]] [[Media:Rockchip_RK1808_Datasheet_V1.2_20190527.pdf|Datasheet]] [[Media:Rk1808_hardware_reference.zip|Schematic&Layout Guide]] |- | style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p> | style="width:286px;" | Quad-core Cortex-A17 CPU MALI-T760 MP4 GPU | style="width:189px;" | [[Media:Rockchip_RK3288_TRM_V1.2_Part1-20170321.pdf|TRM]] [[Media:Rockchip_RK3288_Datasheet_V2.7-20191227.pdf|Datasheet]] [[Media:Rk3288_hardware_reference.zip|Schematic&Layout Guide]] |- | style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p> | style="width:286px;" | Quad-core Cortex-A53 CPU MALI-450 MP2 GPU | style="width:189px;" | [[Media:Rockchip_RK3328TRM_V1.1-Part1-20170321.pdf|TRM]] [[Media:Rockchip_RK3328_Datasheet_V1.3-20200310.pdf|Datasheet]] [[Media:Rk3328_hardware_reference.zip|Schematic&Layout Guide]] |- | style="width: 92px; text-align: center;" | [[RK3399|RK3399]] | style="width:286px;" | Dual-core Cortex-A72 Quad-core Cortex-A53 CPU MALI-T860 MP4 GPU | style="width:189px;" | [[Media:Rockchip_RK3399TRM_V1.4_Part1-20170408.pdf|TRM]] [[Media:Rockchip_RK3399_Datasheet_V2.1-20200323.pdf|Datasheet]] [[Media:RK3399_hardware_reference2019.zip|Schematic&Layout Guide]] |- | style="text-align: center;" | RK3399Pro | Dual-core Cortex-A72 Quad-core Cortex-A53 CPU MALI-T860 MP4 GPU NPU up to 3.0TOPS | TRM Datasheet [[Media:Rk3399pro_hardware_reference.zip|Schematic&Layout Guide]] |} &nbsp; <span style="font-size:medium;">'''Hardware dev board on market:'''</span> [[Devices|Device List]] &nbsp; = '''Software development&nbsp;''' = *'''Software Feature Supoort status''' **'''[[Status_Matrix|Status_Matrix]]''' *'''BSP''' **[[U-Boot|U-Boot]]&nbsp; **[[Rockchip_Kernel|Kernel]] **[[ATF|ARM Trusted&nbsp;Firmware]] **[[Distribution|Distro]] *'''Graphics and Multimedia&nbsp;user guide''' **[[Graphics|Graphics and Display]] **[[Mpp|Multimedia--Video Codec]] **[[Rockchip-isp1|Multimedia--Camera]] *'''Tool and Firmware Upgrade''' **[[Boot_option|Boot Option]] **[[Rockusb|Rockusb]] **[[Tools|Firmware Upgrade Tools]] '''<span style="font-size:xx-large;">Feedback</span>''' Any question about software module on github, please ask&nbsp;at issue page of github project. If you have any other questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website, Email-to: '''opensource@rock-chips.com''' e0dbc28866803dffe07a52b3698de74746fddf15 2207 2205 2020-09-22T03:11:58Z Admin 1 wikitext text/x-wiki = '''Source code''' = Community source code: *Github: [https://github.com/rockchip-linux rockchip-linux] Mainline&nbsp;sourcecode: *[https://www.kernel.org/ Linux kernel] *[http://www.denx.de/wiki/U-Boot/WebHome U-Boot] *[https://github.com/ARM-software/arm-trusted-firmware ARM Trusted Firmware] *[https://github.com/OP-TEE/optee_os OP-TEE OS] If you are using a Chrombook with Rockchip SoC, you can use: *[https://chromium.googlesource.com/chromiumos/third_party/coreboot Chromium OS&nbsp;Coreboot] *[https://chromium.googlesource.com/chromiumos/third_party/kernel Chromium OS kernel] &nbsp; = '''Hardware Support''' = Rockchip official hardware document release(please click to enter soc detail or download): {| border="1" cellpadding="0" cellspacing="0" class="table_style" |- ! style="width:92px;" | <p style="text-align: center;">SoC</p> ! style="width:286px;" | <p style="text-align: center;">Description</p> ! style="width:189px;" | <p style="text-align: center;">Download</p> |- | style="text-align: center;" | PX30 | Quad-core Cortex-A35 CPU Mali-G31 MP2 GPU | TRM [[Media:Rockchip_PX30_Datasheet_V1.4-20191227.pdf|Datasheet]] [[Media:Px30_hardware_reference.zip|Schematic&Layout Guide]] |- | style="text-align: center;" | RK1808 | Dual-core Cortex-A35 CPU NPU up to 3.0TOPs | [[Media:Rockchip_RK1808_TRM_Part1_V1.2--20190826_open_source.rar|TRM]] [[Media:Rockchip_RK1808_Datasheet_V1.2_20190527.pdf|Datasheet]] [[Media:Rk1808_hardware_reference.zip|Schematic&Layout Guide]] |- | style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p> | style="width:286px;" | Quad-core Cortex-A17 CPU MALI-T760 MP4 GPU | style="width:189px;" | [[Media:Rockchip_RK3288_TRM_V1.2_Part1-20170321.pdf|TRM]] [[Media:Rockchip_RK3288_Datasheet_V2.7-20191227.pdf|Datasheet]] [[Media:Rk3288_hardware_reference.zip|Schematic&Layout Guide]] |- | style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p> | style="width:286px;" | Quad-core Cortex-A53 CPU MALI-450 MP2 GPU | style="width:189px;" | [[Media:Rockchip_RK3328TRM_V1.1-Part1-20170321.pdf|TRM]] [[Media:Rockchip_RK3328_Datasheet_V1.3-20200310.pdf|Datasheet]] [[Media:Rk3328_hardware_reference.zip|Schematic&Layout Guide]] |- | style="width: 92px; text-align: center;" | [[RK3399|RK3399]] | style="width:286px;" | Dual-core Cortex-A72 Quad-core Cortex-A53 CPU MALI-T860 MP4 GPU | style="width:189px;" | [[Media:Rockchip_RK3399TRM_V1.4_Part1-20170408.pdf|TRM]] [[Media:Rockchip_RK3399_Datasheet_V2.1-20200323.pdf|Datasheet]] [[Media:RK3399_hardware_reference2019.zip|Schematic&Layout Guide]] |- | style="text-align: center;" | RK3399Pro | Dual-core Cortex-A72 Quad-core Cortex-A53 CPU MALI-T860 MP4 GPU NPU up to 3.0TOPS | TRM Datasheet [[Media:Rk3399pro_hardware_reference.zip|Schematic&Layout Guide]] |} &nbsp; <span style="font-size:medium;">'''Hardware dev board on market:'''</span> [[Devices|Device List]] &nbsp; = '''Software development&nbsp;''' = *'''Software Feature Supoort status''' **'''[[Status_Matrix|Status_Matrix]]''' *'''BSP''' **[[U-Boot|U-Boot]]&nbsp; **[[Rockchip_Kernel|Kernel]] **[[ATF|ARM Trusted&nbsp;Firmware]] **[[Distribution|Distro]] *'''Graphics and Multimedia&nbsp;user guide''' **[[Graphics|Graphics and Display]] **[[Mpp|Multimedia--Video Codec]] **[[Rockchip-isp1|Multimedia--Camera]] *'''Tool and Firmware Upgrade''' **[[Boot_option|Boot Option]] **[[Rockusb|Rockusb]] **[[Tools|Firmware Upgrade Tools]] '''<span style="font-size:xx-large;">Feedback</span>''' Any question about software module on github, please ask&nbsp;at issue page of github project. If you have any other questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website, Email-to: '''opensource@rock-chips.com''' f67d12f209ca595ea7ee2c8a915b8385fb26dc10 2227 2207 2020-09-30T00:59:15Z Admin 1 wikitext text/x-wiki = '''Source code''' = Community source code: *Github: [https://github.com/rockchip-linux rockchip-linux] Mainline&nbsp;sourcecode: *[https://www.kernel.org/ Linux kernel] *[http://www.denx.de/wiki/U-Boot/WebHome U-Boot] *[https://github.com/ARM-software/arm-trusted-firmware ARM Trusted Firmware] *[https://github.com/OP-TEE/optee_os OP-TEE OS] If you are using a Chrombook with Rockchip SoC, you can use: *[https://chromium.googlesource.com/chromiumos/third_party/coreboot Chromium OS&nbsp;Coreboot] *[https://chromium.googlesource.com/chromiumos/third_party/kernel Chromium OS kernel] &nbsp; = '''Hardware Support''' = Rockchip official hardware document release(please click to enter soc detail or download): {| border="1" cellpadding="0" cellspacing="0" class="table_style" |- ! style="width:92px;" | <p style="text-align: center;">SoC</p> ! style="width:286px;" | <p style="text-align: center;">Description</p> ! style="width:189px;" | <p style="text-align: center;">Download</p> |- | style="text-align: center;" | PX30 | Quad-core Cortex-A35 CPU Mali-G31 MP2 GPU | TRM [[Media:Rockchip_PX30_Datasheet_V1.4-20191227.pdf|Datasheet]] [[Media:Px30_hardware_reference.zip|Schematic&Layout Guide]] |- | style="text-align: center;" | RK1808 | Dual-core Cortex-A35 CPU NPU up to 3.0TOPs | [[Media:Rockchip_RK1808_TRM_Part1_V1.2--20190826_open_source.zip|TRM]] [[Media:Rockchip_RK1808_Datasheet_V1.2_20190527.pdf|Datasheet]] [[Media:Rk1808_hardware_reference.zip|Schematic&Layout Guide]] |- | style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p> | style="width:286px;" | Quad-core Cortex-A17 CPU MALI-T760 MP4 GPU | style="width:189px;" | [[Media:Rockchip_RK3288_TRM_V1.2_Part1-20170321.pdf|TRM]] [[Media:Rockchip_RK3288_Datasheet_V2.7-20191227.pdf|Datasheet]] [[Media:Rk3288_hardware_reference.zip|Schematic&Layout Guide]] |- | style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p> | style="width:286px;" | Quad-core Cortex-A53 CPU MALI-450 MP2 GPU | style="width:189px;" | [[Media:Rockchip_RK3328TRM_V1.1-Part1-20170321.pdf|TRM]] [[Media:Rockchip_RK3328_Datasheet_V1.3-20200310.pdf|Datasheet]] [[Media:Rk3328_hardware_reference.zip|Schematic&Layout Guide]] |- | style="width: 92px; text-align: center;" | [[RK3399|RK3399]] | style="width:286px;" | Dual-core Cortex-A72 Quad-core Cortex-A53 CPU MALI-T860 MP4 GPU | style="width:189px;" | [[Media:Rockchip_RK3399TRM_V1.4_Part1-20170408.pdf|TRM]] [[Media:Rockchip_RK3399_Datasheet_V2.1-20200323.pdf|Datasheet]] [[Media:RK3399_hardware_reference2019.zip|Schematic&Layout Guide]] |- | style="text-align: center;" | RK3399Pro | Dual-core Cortex-A72 Quad-core Cortex-A53 CPU MALI-T860 MP4 GPU NPU up to 3.0TOPS | TRM Datasheet [[Media:Rk3399pro_hardware_reference.zip|Schematic&Layout Guide]] |} &nbsp; <span style="font-size:medium;">'''Hardware dev board on market:'''</span> [[Devices|Device List]] &nbsp; = '''Software development&nbsp;''' = *'''Software Feature Supoort status''' **'''[[Status_Matrix|Status_Matrix]]''' *'''BSP''' **[[U-Boot|U-Boot]]&nbsp; **[[Rockchip_Kernel|Kernel]] **[[ATF|ARM Trusted&nbsp;Firmware]] **[[Distribution|Distro]] *'''Graphics and Multimedia&nbsp;user guide''' **[[Graphics|Graphics and Display]] **[[Mpp|Multimedia--Video Codec]] **[[Rockchip-isp1|Multimedia--Camera]] *'''Tool and Firmware Upgrade''' **[[Boot_option|Boot Option]] **[[Rockusb|Rockusb]] **[[Tools|Firmware Upgrade Tools]] '''<span style="font-size:xx-large;">Feedback</span>''' Any question about software module on github, please ask&nbsp;at issue page of github project. If you have any other questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website, Email-to: '''opensource@rock-chips.com''' 98ba74459d7d43dda0c607a6b96bf1dcf94cfda9 2228 2227 2020-09-30T01:00:02Z Admin 1 wikitext text/x-wiki = '''Source code''' = Community source code: *Github: [https://github.com/rockchip-linux rockchip-linux] Mainline&nbsp;sourcecode: *[https://www.kernel.org/ Linux kernel] *[http://www.denx.de/wiki/U-Boot/WebHome U-Boot] *[https://github.com/ARM-software/arm-trusted-firmware ARM Trusted Firmware] *[https://github.com/OP-TEE/optee_os OP-TEE OS] If you are using a Chromebook with Rockchip SoC, you can use: *[https://chromium.googlesource.com/chromiumos/third_party/coreboot Chromium OS&nbsp;Coreboot] *[https://chromium.googlesource.com/chromiumos/third_party/kernel Chromium OS kernel] &nbsp; &nbsp; = '''Hardware Support''' = Rockchip official hardware document release(please click to enter soc detail or download): {| border="1" cellpadding="0" cellspacing="0" class="table_style" |- ! style="width:92px;" | <p style="text-align: center;">SoC</p> ! style="width:286px;" | <p style="text-align: center;">Description</p> ! style="width:189px;" | <p style="text-align: center;">Download</p> |- | style="text-align: center;" | PX30 | Quad-core Cortex-A35 CPU Mali-G31 MP2 GPU | TRM [[Media:Rockchip_PX30_Datasheet_V1.4-20191227.pdf|Datasheet]] [[Media:Px30_hardware_reference.zip|Schematic&Layout Guide]] |- | style="text-align: center;" | RK1808 | Dual-core Cortex-A35 CPU NPU up to 3.0TOPs | [[Media:Rockchip_RK1808_TRM_Part1_V1.2--20190826_open_source.zip|TRM]] [[Media:Rockchip_RK1808_Datasheet_V1.2_20190527.pdf|Datasheet]] [[Media:Rk1808_hardware_reference.zip|Schematic&Layout Guide]] |- | style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p> | style="width:286px;" | Quad-core Cortex-A17 CPU MALI-T760 MP4 GPU | style="width:189px;" | [[Media:Rockchip_RK3288_TRM_V1.2_Part1-20170321.pdf|TRM]] [[Media:Rockchip_RK3288_Datasheet_V2.7-20191227.pdf|Datasheet]] [[Media:Rk3288_hardware_reference.zip|Schematic&Layout Guide]] |- | style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p> | style="width:286px;" | Quad-core Cortex-A53 CPU MALI-450 MP2 GPU | style="width:189px;" | [[Media:Rockchip_RK3328TRM_V1.1-Part1-20170321.pdf|TRM]] [[Media:Rockchip_RK3328_Datasheet_V1.3-20200310.pdf|Datasheet]] [[Media:Rk3328_hardware_reference.zip|Schematic&Layout Guide]] |- | style="width: 92px; text-align: center;" | [[RK3399|RK3399]] | style="width:286px;" | Dual-core Cortex-A72 Quad-core Cortex-A53 CPU MALI-T860 MP4 GPU | style="width:189px;" | [[Media:Rockchip_RK3399TRM_V1.4_Part1-20170408.pdf|TRM]] [[Media:Rockchip_RK3399_Datasheet_V2.1-20200323.pdf|Datasheet]] [[Media:RK3399_hardware_reference2019.zip|Schematic&Layout Guide]] |- | style="text-align: center;" | RK3399Pro | Dual-core Cortex-A72 Quad-core Cortex-A53 CPU MALI-T860 MP4 GPU NPU up to 3.0TOPS | TRM Datasheet [[Media:Rk3399pro_hardware_reference.zip|Schematic&Layout Guide]] |} &nbsp; <span style="font-size:medium;">'''Hardware dev board on market:'''</span> [[Devices|Device List]] &nbsp; = '''Software development&nbsp;''' = *'''Software Feature Supoort status''' **'''[[Status_Matrix|Status_Matrix]]''' *'''BSP''' **[[U-Boot|U-Boot]]&nbsp; **[[Rockchip_Kernel|Kernel]] **[[ATF|ARM Trusted&nbsp;Firmware]] **[[Distribution|Distro]] *'''Graphics and Multimedia&nbsp;user guide''' **[[Graphics|Graphics and Display]] **[[Mpp|Multimedia--Video Codec]] **[[Rockchip-isp1|Multimedia--Camera]] *'''Tool and Firmware Upgrade''' **[[Boot_option|Boot Option]] **[[Rockusb|Rockusb]] **[[Tools|Firmware Upgrade Tools]] '''<span style="font-size:xx-large;">Feedback</span>''' Any question about software module on github, please ask&nbsp;at issue page of github project. If you have any other questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website, Email-to: '''opensource@rock-chips.com''' 01a0ac05dad69f352b3ccf1d0c7afcc355c90c9b 2235 2228 2022-10-13T07:43:48Z Admin 1 wikitext text/x-wiki = '''Source code''' = Community source code: *Github: [https://github.com/rockchip-linux rockchip-linux] Mainline&nbsp;sourcecode: *[https://www.kernel.org/ Linux kernel] *[http://www.denx.de/wiki/U-Boot/WebHome U-Boot] *[https://github.com/ARM-software/arm-trusted-firmware ARM Trusted Firmware] *[https://github.com/OP-TEE/optee_os OP-TEE OS] If you are using a Chromebook with Rockchip SoC, you can use: *[https://chromium.googlesource.com/chromiumos/third_party/coreboot Chromium OS&nbsp;Coreboot] *[https://chromium.googlesource.com/chromiumos/third_party/kernel Chromium OS kernel] &nbsp; &nbsp; = '''Hardware Support''' = Rockchip official hardware document release(please click to enter soc detail or download): {| border="1" cellpadding="0" cellspacing="0" class="table_style" |- ! style="width:92px;" | <p style="text-align: center;">SoC</p> ! style="width:286px;" | <p style="text-align: center;">Description</p> ! style="width:189px;" | <p style="text-align: center;">Download</p> |- | style="text-align: center;" | PX30 | Quad-core Cortex-A35 CPU Mali-G31 MP2 GPU | TRM [[Media:Rockchip_PX30_Datasheet_V1.4-20191227.pdf|Datasheet]] [[Media:Px30_hardware_reference.zip|Schematic&Layout Guide]] |- | style="text-align: center;" | RK1808 | Dual-core Cortex-A35 CPU NPU up to 3.0TOPs | [[Media:Rockchip_RK1808_TRM_Part1_V1.2--20190826_open_source.zip|TRM]] [[Media:Rockchip_RK1808_Datasheet_V1.2_20190527.pdf|Datasheet]] [[Media:Rk1808_hardware_reference.zip|Schematic&Layout Guide]] |- | style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p> | style="width:286px;" | Quad-core Cortex-A17 CPU MALI-T760 MP4 GPU | style="width:189px;" | [[Media:Rockchip_RK3288_TRM_V1.2_Part1-20170321.pdf|TRM]] [[Media:Rockchip_RK3288_Datasheet_V2.7-20191227.pdf|Datasheet]] [[Media:Rk3288_hardware_reference.zip|Schematic&Layout Guide]] |- | style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p> | style="width:286px;" | Quad-core Cortex-A53 CPU MALI-450 MP2 GPU | style="width:189px;" | [[Media:Rockchip_RK3328TRM_V1.1-Part1-20170321.pdf|TRM]] [[Media:Rockchip_RK3328_Datasheet_V1.3-20200310.pdf|Datasheet]] [[Media:Rk3328_hardware_reference.zip|Schematic&Layout Guide]] |- | style="width: 92px; text-align: center;" | [[RK3399|RK3399]] | style="width:286px;" | Dual-core Cortex-A72 Quad-core Cortex-A53 CPU MALI-T860 MP4 GPU | style="width:189px;" | [[Media:Rockchip_RK3399TRM_V1.4_Part1-20170408.pdf|TRM]] [[Media:Rockchip_RK3399_Datasheet_V2.1-20200323.pdf|Datasheet]] [[Media:RK3399_hardware_reference2019.zip|Schematic&Layout Guide]] |- | style="text-align: center;" | RK3399Pro | Dual-core Cortex-A72 Quad-core Cortex-A53 CPU MALI-T860 MP4 GPU NPU up to 3.0TOPS | TRM Datasheet [[Media:Rk3399pro_hardware_reference.zip|Schematic&Layout Guide]] |- | style="width: 92px; text-align: center;" | [[RK3568|RK3568]] | style="width:286px;" | Quad-core Cortex-A55 up to 2.0GHz Mali-G52 GPU 1TOPS NPU | style="width:189px;" | [[Media:Rockchip_RK3568_TRM_Part1_V1.3-20220930P.pdf|TRM]] [[Media:Rockchip_RK3568_Datasheet_V1.3-20220929P.pdf|Datasheet]] [[Media:RK3568_hardware_reference_20220806.zip|Schematic&Layout Guide]] |} &nbsp; <span style="font-size:medium;">'''Hardware dev board on market:'''</span> [[Devices|Device List]] &nbsp; = '''Software development&nbsp;''' = *'''Software Feature Supoort status''' **'''[[Status_Matrix|Status_Matrix]]''' *'''BSP''' **[[U-Boot|U-Boot]]&nbsp; **[[Rockchip_Kernel|Kernel]] **[[ATF|ARM Trusted&nbsp;Firmware]] **[[Distribution|Distro]] *'''Graphics and Multimedia&nbsp;user guide''' **[[Graphics|Graphics and Display]] **[[Mpp|Multimedia--Video Codec]] **[[Rockchip-isp1|Multimedia--Camera]] *'''Tool and Firmware Upgrade''' **[[Boot_option|Boot Option]] **[[Rockusb|Rockusb]] **[[Tools|Firmware Upgrade Tools]] '''<span style="font-size:xx-large;">Feedback</span>''' Any question about software module on github, please ask&nbsp;at issue page of github project. If you have any other questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website, Email-to: '''opensource@rock-chips.com''' ad58918005f466b03283f0ecc742e7cb6ce3fe3b 2236 2235 2022-10-13T07:45:44Z Admin 1 wikitext text/x-wiki = '''Source code''' = Community source code: *Github: [https://github.com/rockchip-linux rockchip-linux] Mainline&nbsp;sourcecode: *[https://www.kernel.org/ Linux kernel] *[http://www.denx.de/wiki/U-Boot/WebHome U-Boot] *[https://github.com/ARM-software/arm-trusted-firmware ARM Trusted Firmware] *[https://github.com/OP-TEE/optee_os OP-TEE OS] If you are using a Chromebook with Rockchip SoC, you can use: *[https://chromium.googlesource.com/chromiumos/third_party/coreboot Chromium OS&nbsp;Coreboot] *[https://chromium.googlesource.com/chromiumos/third_party/kernel Chromium OS kernel] &nbsp; &nbsp; = '''Hardware Support''' = Rockchip official hardware document release(please click to enter soc detail or download): {| border="1" cellpadding="0" cellspacing="0" class="table_style" |- ! style="width:92px;" | <p style="text-align: center;">SoC</p> ! style="width:286px;" | <p style="text-align: center;">Description</p> ! style="width:189px;" | <p style="text-align: center;">Download</p> |- | style="text-align: center;" | PX30 | Quad-core Cortex-A35 CPU Mali-G31 MP2 GPU | TRM [[Media:Rockchip_PX30_Datasheet_V1.4-20191227.pdf|Datasheet]] [[Media:Px30_hardware_reference.zip|Schematic&Layout Guide]] |- | style="text-align: center;" | RK1808 | Dual-core Cortex-A35 CPU NPU up to 3.0TOPs | [[Media:Rockchip_RK1808_TRM_Part1_V1.2--20190826_open_source.zip|TRM]] [[Media:Rockchip_RK1808_Datasheet_V1.2_20190527.pdf|Datasheet]] [[Media:Rk1808_hardware_reference.zip|Schematic&Layout Guide]] |- | style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p> | style="width:286px;" | Quad-core Cortex-A17 CPU MALI-T760 MP4 GPU | style="width:189px;" | [[Media:Rockchip_RK3288_TRM_V1.2_Part1-20170321.pdf|TRM]] [[Media:Rockchip_RK3288_Datasheet_V2.7-20191227.pdf|Datasheet]] [[Media:Rk3288_hardware_reference.zip|Schematic&Layout Guide]] |- | style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p> | style="width:286px;" | Quad-core Cortex-A53 CPU MALI-450 MP2 GPU | style="width:189px;" | [[Media:Rockchip_RK3328TRM_V1.1-Part1-20170321.pdf|TRM]] [[Media:Rockchip_RK3328_Datasheet_V1.3-20200310.pdf|Datasheet]] [[Media:Rk3328_hardware_reference.zip|Schematic&Layout Guide]] |- | style="width: 92px; text-align: center;" | [[RK3399|RK3399]] | style="width:286px;" | Dual-core Cortex-A72 Quad-core Cortex-A53 CPU MALI-T860 MP4 GPU | style="width:189px;" | [[Media:Rockchip_RK3399TRM_V1.4_Part1-20170408.pdf|TRM]] [[Media:Rockchip_RK3399_Datasheet_V2.1-20200323.pdf|Datasheet]] [[Media:RK3399_hardware_reference2019.zip|Schematic&Layout Guide]] |- | style="text-align: center;" | RK3399Pro | Dual-core Cortex-A72 Quad-core Cortex-A53 CPU MALI-T860 MP4 GPU NPU up to 3.0TOPS | TRM Datasheet [[Media:Rk3399pro_hardware_reference.zip|Schematic&Layout Guide]] |- | style="width: 92px; text-align: center;" | [[RK3568|RK3568]] | style="width:286px;" | Quad-core Cortex-A55 up to 2.0GHz Mali-G52 GPU 1TOPS NPU | style="width:189px;" | [[Media:Rockchip_RK3568_TRM_Part1_V1.3-20220930P.PDF|TRM]] [[Media:Rockchip_RK3568_Datasheet_V1.3-20220929P.PDF|Datasheet]] [[Media:RK3568_hardware_reference_20220806.zip|Schematic&Layout Guide]] |} &nbsp; <span style="font-size:medium;">'''Hardware dev board on market:'''</span> [[Devices|Device List]] &nbsp; = '''Software development&nbsp;''' = *'''Software Feature Supoort status''' **'''[[Status_Matrix|Status_Matrix]]''' *'''BSP''' **[[U-Boot|U-Boot]]&nbsp; **[[Rockchip_Kernel|Kernel]] **[[ATF|ARM Trusted&nbsp;Firmware]] **[[Distribution|Distro]] *'''Graphics and Multimedia&nbsp;user guide''' **[[Graphics|Graphics and Display]] **[[Mpp|Multimedia--Video Codec]] **[[Rockchip-isp1|Multimedia--Camera]] *'''Tool and Firmware Upgrade''' **[[Boot_option|Boot Option]] **[[Rockusb|Rockusb]] **[[Tools|Firmware Upgrade Tools]] '''<span style="font-size:xx-large;">Feedback</span>''' Any question about software module on github, please ask&nbsp;at issue page of github project. If you have any other questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website, Email-to: '''opensource@rock-chips.com''' 8ff1a2546f01ccf2490ef2f624d4313f293c541c 2240 2236 2023-02-24T01:44:42Z Admin 1 wikitext text/x-wiki = '''Source code''' = Community source code: *Github: [https://github.com/rockchip-linux rockchip-linux] Mainline&nbsp;sourcecode: *[https://www.kernel.org/ Linux kernel] *[http://www.denx.de/wiki/U-Boot/WebHome U-Boot] *[https://github.com/ARM-software/arm-trusted-firmware ARM Trusted Firmware] *[https://github.com/OP-TEE/optee_os OP-TEE OS] If you are using a Chromebook with Rockchip SoC, you can use: *[https://chromium.googlesource.com/chromiumos/third_party/coreboot Chromium OS&nbsp;Coreboot] *[https://chromium.googlesource.com/chromiumos/third_party/kernel Chromium OS kernel] &nbsp; &nbsp; = '''Hardware Support''' = Rockchip official hardware document release(please click to enter soc detail or download): {| border="1" cellpadding="0" cellspacing="0" class="table_style" |- ! style="width:92px;" | <p style="text-align: center;">SoC</p> ! style="width:286px;" | <p style="text-align: center;">Description</p> ! style="width:189px;" | <p style="text-align: center;">Download</p> |- | style="text-align: center;" | PX30 | Quad-core Cortex-A35 CPU Mali-G31 MP2 GPU | TRM [[Media:Rockchip_PX30_Datasheet_V1.4-20191227.pdf|Datasheet]] [[Media:Px30_hardware_reference.zip|Schematic&Layout Guide]] |- | style="text-align: center;" | RK1808 | Dual-core Cortex-A35 CPU NPU up to 3.0TOPs | [[Media:Rockchip_RK1808_TRM_Part1_V1.2--20190826_open_source.rar|TRM]] [[Media:Rockchip_RK1808_Datasheet_V1.2_20190527.pdf|Datasheet]] [[Media:Rk1808_hardware_reference.zip|Schematic&Layout Guide]] |- | style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p> | style="width:286px;" | Quad-core Cortex-A17 CPU MALI-T760 MP4 GPU | style="width:189px;" | [[Media:Rockchip_RK3288_TRM_V1.2_Part1-20170321.pdf|TRM]] [[Media:Rockchip_RK3288_Datasheet_V2.7-20191227.pdf|Datasheet]] [[Media:Rk3288_hardware_reference.zip|Schematic&Layout Guide]] |- | style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p> | style="width:286px;" | Quad-core Cortex-A53 CPU MALI-450 MP2 GPU | style="width:189px;" | [[Media:Rockchip_RK3328TRM_V1.1-Part1-20170321.pdf|TRM]] [[Media:Rockchip_RK3328_Datasheet_V1.3-20200310.pdf|Datasheet]] [[Media:Rk3328_hardware_reference.zip|Schematic&Layout Guide]] |- | style="width: 92px; text-align: center;" | [[RK3399|RK3399]] | style="width:286px;" | Dual-core Cortex-A72 Quad-core Cortex-A53 CPU MALI-T860 MP4 GPU | style="width:189px;" | [[Media:Rockchip_RK3399TRM_V1.4_Part1-20170408.pdf|TRM]] [[Media:Rockchip_RK3399_Datasheet_V2.1-20200323.pdf|Datasheet]] [[Media:RK3399_hardware_reference2019.zip|Schematic&Layout Guide]] |- | style="text-align: center;" | RK3399Pro | Dual-core Cortex-A72 Quad-core Cortex-A53 CPU MALI-T860 MP4 GPU NPU up to 3.0TOPS | TRM Datasheet [[Media:Rk3399pro_hardware_reference.zip|Schematic&Layout Guide]] |- | style="width: 92px; text-align: center;" | [[RK3568|RK3568]] | style="width:286px;" | Quad-core Cortex-A55 up to 2.0GHz Mali-G52 GPU 1TOPS NPU | style="width:189px;" | [[Media:Rockchip_RK3568_TRM_Part1_V1.3-20220930P.PDF|TRM]] [[Media:Rockchip_RK3568_Datasheet_V1.3-20220929P.PDF|Datasheet]] [[Media:RK3568_hardware_reference_20220806.zip|Schematic&Layout Guide]] |} &nbsp; <span style="font-size:medium;">'''Hardware dev board on market:'''</span> [[Devices|Device List]] &nbsp; = '''Software development&nbsp;''' = *'''Software Feature Supoort status''' **'''[[Status_Matrix|Status_Matrix]]''' *'''BSP''' **[[U-Boot|U-Boot]]&nbsp; **[[Rockchip_Kernel|Kernel]] **[[ATF|ARM Trusted&nbsp;Firmware]] **[[Distribution|Distro]] *'''Graphics and Multimedia&nbsp;user guide''' **[[Graphics|Graphics and Display]] **[[Mpp|Multimedia--Video Codec]] **[[Rockchip-isp1|Multimedia--Camera]] *'''Tool and Firmware Upgrade''' **[[Boot_option|Boot Option]] **[[Rockusb|Rockusb]] **[[Tools|Firmware Upgrade Tools]] '''<span style="font-size:xx-large;">Feedback</span>''' Any question about software module on github, please ask&nbsp;at issue page of github project. If you have any other questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website, Email-to: '''opensource@rock-chips.com''' 9958907ce22b3c7ae69de80180001a5af0a2358e 2242 2240 2023-10-24T06:19:58Z Admin 1 wikitext text/x-wiki = '''Source code''' = Community source code: *Github: [https://github.com/rockchip-linux rockchip-linux] Mainline&nbsp;sourcecode: *[https://www.kernel.org/ Linux kernel] *[http://www.denx.de/wiki/U-Boot/WebHome U-Boot] *[https://github.com/ARM-software/arm-trusted-firmware ARM Trusted Firmware] *[https://github.com/OP-TEE/optee_os OP-TEE OS] If you are using a Chromebook with Rockchip SoC, you can use: *[https://chromium.googlesource.com/chromiumos/third_party/coreboot Chromium OS&nbsp;Coreboot] *[https://chromium.googlesource.com/chromiumos/third_party/kernel Chromium OS kernel] &nbsp; &nbsp; &nbsp; &nbsp; = '''Hardware Support''' = Rockchip official hardware document release(please click to enter soc detail or download): {| border="1" cellpadding="0" cellspacing="0" class="table_style" |- ! style="width:92px;" | <p style="text-align: center;">SoC</p> ! style="width:286px;" | <p style="text-align: center;">Description</p> ! style="width:189px;" | <p style="text-align: center;">Download</p> |- | style="text-align: center;" | PX30 | Quad-core Cortex-A35 CPU Mali-G31 MP2 GPU | TRM [[Media:Rockchip_PX30_Datasheet_V1.4-20191227.pdf|Datasheet]] [[Media:Px30_hardware_reference.zip|Schematic&Layout Guide]] |- | style="width:92px;" | <p style="text-align: center;">[[RK3288|RK3288]]</p> | style="width:286px;" | Quad-core Cortex-A17 CPU MALI-T760 MP4 GPU | style="width:189px;" | [[Media:Rockchip_RK3288_TRM_V1.2_Part1-20170321.pdf|TRM]] [[Media:Rockchip_RK3288_Datasheet_V2.7-20191227.pdf|Datasheet]] [[Media:Rk3288_hardware_reference.zip|Schematic&Layout Guide]] |- | style="width:92px;" | <p style="text-align: center;">[[RK3328|RK3328]]</p> | style="width:286px;" | Quad-core Cortex-A53 CPU MALI-450 MP2 GPU | style="width:189px;" | [[Media:Rockchip_RK3328TRM_V1.1-Part1-20170321.pdf|TRM]] [[Media:Rockchip_RK3328_Datasheet_V1.3-20200310.pdf|Datasheet]] [[Media:Rk3328_hardware_reference.zip|Schematic&Layout Guide]] |- | style="width: 92px; text-align: center;" | [[RK3399|RK3399]] | style="width:286px;" | Dual-core Cortex-A72 Quad-core Cortex-A53 CPU MALI-T860 MP4 GPU | style="width:189px;" | [[Media:Rockchip_RK3399TRM_V1.4_Part1-20170408.pdf|TRM]] [[Media:Rockchip_RK3399_Datasheet_V2.1-20200323.pdf|Datasheet]] [[Media:RK3399_hardware_reference2019.zip|Schematic&Layout Guide]] |- | style="width: 92px; text-align: center;" | [[RK3568|RK3568]] | style="width:286px;" | Quad-core Cortex-A55 up to 2.0GHz Mali-G52 GPU 1TOPS NPU | style="width:189px;" | [[Media:Rockchip_RK3568_TRM_Part1_V1.3-20220930P.PDF|TRM]] [[Media:Rockchip_RK3568_Datasheet_V1.3-20220929P.PDF|Datasheet]] [[Media:RK3568_hardware_reference_20220806.zip|Schematic&Layout Guide]] |} &nbsp; <span style="font-size:medium;">'''Hardware dev board on market:'''</span> [[Devices|Device List]] &nbsp; = '''Software development&nbsp;''' = *'''Software Feature Supoort status''' **'''[[Status_Matrix|Status_Matrix]]''' *'''BSP''' **[[U-Boot|U-Boot]]&nbsp; **[[Rockchip_Kernel|Kernel]] **[[ATF|ARM Trusted&nbsp;Firmware]] **[[Distribution|Distro]] *'''Graphics and Multimedia&nbsp;user guide''' **[[Graphics|Graphics and Display]] **[[Mpp|Multimedia--Video Codec]] **[[Rockchip-isp1|Multimedia--Camera]] *'''Tool and Firmware Upgrade''' **[[Boot_option|Boot Option]] **[[Rockusb|Rockusb]] **[[Tools|Firmware Upgrade Tools]] '''<span style="font-size:xx-large;">Feedback</span>''' Any question about software module on github, please ask&nbsp;at issue page of github project. If you have any other questions, please feel free to contact us, your feedback is the motivation for us to improve this Document website, Email-to: '''opensource@rock-chips.com''' 2b8774296206063ba93525bb329713fb00d60d78 File:Rockchip RK3399 Datasheet V2.1-20200323.pdf 6 245 2200 2020-03-30T03:52:12Z Admin 1 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 Rockusb 0 122 2203 2181 2020-06-30T00:44:58Z Kever 2 wikitext text/x-wiki = Introduce = Rockusb is a vendor specific USB class from Rockchip, which is for firmware dowmload for Rockchip SoCs. &nbsp; = Get into Rockusb = There are a few cases for&nbsp;Rockchip SoCs to get into Rockusb. *maskrom mode, no firmware found on chip, target run maskrom rockusb driver; *usbplug mode,&nbsp; *miniLoader rockusb mode, target run miniloader rockusb driver. *uboot rockusb mode. &nbsp; == Maskrom mode == If&nbsp;there is no bootable&nbsp;firmware found on board, the SoC will run&nbsp;Rockusb driver&nbsp;automatically, we call it Bootrom mode or Maskrom mode. If firmware is at somewhere of the board,&nbsp;in order to get into this mode, we can do something to prevent cpu read the firmware successful: *for SD-card, unplug the SD-card; *for eMMC, short the eMMC clock to GND; *for NAND, short the data line or clock line; *for SPI, short the spi signal to GND; *By "reboot bootrom" command in U-Boot and Kernel, WIP. *erase bootable region with non-bootable data&nbsp;in eMMC or other media devices In Maskrom mode, the DRAM is not available, so the download size is limit by the internal memory size. Available command in this mode: 'db' command: system&nbsp;init the DRAM and run into usbplug(with rockusb driver) mode which have no size limitation in download size. 'ul' command: 'db' command and download idbloader into eMMC 0x40; 'uf' command: 'db' command and download image in update.img into eMMC; == Usbplug mode == The usbplug is a firmware used for USB download with rkdeveloptool db command, with rockusb driver inside, the DRAM already initialized in this mode. == Miniloader Rockusb&nbsp;mode == Rockchip legacy image(with U-Boot 2014.10) using miniloader as default USB firmware upgrade path,&nbsp;enter this mode with: - Press 'recovery' or 'volumn +' key pressed when power up; - &nbsp;there is no next stage firmware found. &nbsp; For example, erase bootable data in U-Boot: <pre style="margin-left: 40px;">mmc erase 0x4000 0x2000</pre> - &nbsp;run "reboot loader" command in kernel. NOTE: In this miniloader rockusb, the offset for rkdeveloptool&nbsp;is not the physical address, the physical offset 0~0x2000 is no able to write by wl command; '''The physical address of &nbsp;offset in&nbsp;''wl'' command is&nbsp;the offset plus 0x2000''', eg: "rkdeveloptool wl 0x2000 uboot.img" will write uboot.img to emmc 0x4000 address. == U-Boot&nbsp;Rockusb&nbsp;mode == enter this mode with: - Press 'recovery' or 'volumn +' key pressed when power up; -&nbsp;Run "reboot loader" command in kernel; - Start with cmd in U-Boot shell <pre>rockusb 0 mmc 0</pre> &nbsp; = USB VID/PID for rockusb = Rockchip Vendor ID is 0x2207, and the product ID for different SoCs are different. Rockusb product ID: *RK3288: 0x320a *RK3328: 0x320c *RK3399: 0x330c Please use ''lsusb ''command in Linux PC to check if there is a Rockusb device connect. &nbsp; = Firmware download = [[Rkdeveloptool|rkdeveloptool]]&nbsp;and [[Upgradetool|upgrade_tool]] is the tool to do the firmware upgrade for Rockchip SoCs which is using Rockusb protocol via USB. Please follow the steps for boot from eMMC for how to use the tool. 351bff3cbbc8e9a2230b97616ec29245d0cb0908 2204 2203 2020-06-30T00:46:16Z Kever 2 wikitext text/x-wiki = Introduce = Rockusb is a vendor specific USB class from Rockchip, which is for firmware dowmload for Rockchip SoCs. &nbsp; = Get into Rockusb = There are a few cases for&nbsp;Rockchip SoCs to get into Rockusb. *maskrom mode, no firmware found on chip, target run maskrom rockusb driver; *usbplug mode,&nbsp; *miniLoader rockusb mode, target run miniloader rockusb driver. *uboot rockusb mode. &nbsp; == Maskrom mode == If&nbsp;there is no bootable&nbsp;firmware found on board, the SoC will run&nbsp;Rockusb driver&nbsp;automatically, we call it Bootrom mode or Maskrom mode. If firmware is at somewhere of the board,&nbsp;in order to get into this mode, we can do something to prevent cpu read the firmware successful: *for SD-card, unplug the SD-card; *for eMMC, short the eMMC clock to GND; *for NAND, short the data line or clock line; *for SPI, short the spi signal to GND; *By "reboot bootrom" command in U-Boot and Kernel, WIP. *erase bootable region with non-bootable data&nbsp;in eMMC or other media devices In Maskrom mode, the DRAM is not available, so the download size is limit by the internal memory size. Available command in this mode: 'db' command: system&nbsp;init the DRAM and run into usbplug(with rockusb driver) mode which have no size limitation in download size. 'ul' command: 'db' command and download idbloader into eMMC 0x40; 'uf' command: 'db' command and download image in update.img into eMMC; all the other commands need to access DRAM should be after 'db' command. == Usbplug mode == The usbplug is a firmware used for USB download with rkdeveloptool db command, with rockusb driver inside, the DRAM already initialized in this mode. == Miniloader Rockusb&nbsp;mode == Rockchip legacy image(with U-Boot 2014.10) using miniloader as default USB firmware upgrade path,&nbsp;enter this mode with: - Press 'recovery' or 'volumn +' key pressed when power up; - &nbsp;there is no next stage firmware found. &nbsp; For example, erase bootable data in U-Boot: <pre style="margin-left: 40px;">mmc erase 0x4000 0x2000</pre> - &nbsp;run "reboot loader" command in kernel. NOTE: In this miniloader rockusb, the offset for rkdeveloptool&nbsp;is not the physical address, the physical offset 0~0x2000 is no able to write by wl command; '''The physical address of &nbsp;offset in&nbsp;''wl'' command is&nbsp;the offset plus 0x2000''', eg: "rkdeveloptool wl 0x2000 uboot.img" will write uboot.img to emmc 0x4000 address. == U-Boot&nbsp;Rockusb&nbsp;mode == enter this mode with: - Press 'recovery' or 'volumn +' key pressed when power up; -&nbsp;Run "reboot loader" command in kernel; - Start with cmd in U-Boot shell <pre>rockusb 0 mmc 0</pre> &nbsp; = USB VID/PID for rockusb = Rockchip Vendor ID is 0x2207, and the product ID for different SoCs are different. Rockusb product ID: *RK3288: 0x320a *RK3328: 0x320c *RK3399: 0x330c Please use ''lsusb ''command in Linux PC to check if there is a Rockusb device connect. &nbsp; = Firmware download = [[Rkdeveloptool|rkdeveloptool]]&nbsp;and [[Upgradetool|upgrade_tool]] is the tool to do the firmware upgrade for Rockchip SoCs which is using Rockusb protocol via USB. Please follow the steps for boot from eMMC for how to use the tool. a12ac77ba261c06be2c49aa154a1644b3c0248b0 File:Rockchip RK1808 TRM Part1 V1.2--20190826 open source.zip 6 246 2206 2020-09-22T03:09:38Z Kever 2 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 Distribution 0 105 2208 1293 2020-09-22T03:14:01Z Admin 1 wikitext text/x-wiki The release rootfs image is based on linaro-alip-jessie.If you want to use other distributions, you need to compile and install components we provide.Do not install the deb under rk-rootfs-build directly. We currently provide several components, the guide below only help you make xserver work.<br/> For more details Please refer to each package's wiki. There are also many other districbutions support by community or developers. = ARCH Linux = Here is the guide from Arch Linux to support RK3288 and RK3399 based Chromebook: [https://archlinuxarm.org/platforms/armv7/rockchip https://archlinuxarm.org/platforms/armv7/rockchip] [https://archlinuxarm.org/platforms/armv8/rockchip/ https://archlinuxarm.org/platforms/armv8/rockchip/] and source code here: [https://www.google.com/url?q=https://github.com/archlinuxarm/PKGBUILDs/tree/master/core/linux-gru&sa=D&sntz=1&usg=AFQjCNE-M4mxRkDn10G8xLOVN02TsJJKag https://github.com/archlinuxarm/PKGBUILDs/tree/master/core/linux-gru] &nbsp; = Fedora = Here is the guide from Fedora to support RK3288 chromebook: [https://fedoraproject.org/wiki/Architectures/ARM/Chromebook https://fedoraproject.org/wiki/Architectures/ARM/Chromebook] &nbsp; = See also = [[Yocto|yocto]] [[Buildroot|buildroot]] 68373440f7724c22416e47aea83d42d74f75e285 2214 2208 2020-09-22T09:09:17Z Kever 2 wikitext text/x-wiki The release rootfs image is based on linaro-alip-jessie.If you want to use other distributions, you need to compile and install components we provide.Do not install the deb under rk-rootfs-build directly. We currently provide several components, the guide below only help you make xserver work.<br/> For more details Please refer to each package's wiki. There are also many other districbutions support by community or developers. = ARCH Linux = Here is the guide from Arch Linux to support RK3288 and RK3399 based Chromebook: [https://archlinuxarm.org/platforms/armv7/rockchip https://archlinuxarm.org/platforms/armv7/rockchip] [https://archlinuxarm.org/platforms/armv8/rockchip/ https://archlinuxarm.org/platforms/armv8/rockchip/] and source code here: [https://www.google.com/url?q=https://github.com/archlinuxarm/PKGBUILDs/tree/master/core/linux-gru&sa=D&sntz=1&usg=AFQjCNE-M4mxRkDn10G8xLOVN02TsJJKag https://github.com/archlinuxarm/PKGBUILDs/tree/master/core/linux-gru] &nbsp; = Fedora = Here is the guide from Fedora to support RK3288 chromebook: [https://fedoraproject.org/wiki/Architectures/ARM/Chromebook https://fedoraproject.org/wiki/Architectures/ARM/Chromebook] &nbsp; = See also = &nbsp; c10020956ebc50eb89197277e517a43314e13c24 Rockchip-isp1 0 171 2210 1799 2020-09-22T03:56:12Z Admin 1 wikitext text/x-wiki &nbsp; = Overview = The document below&nbsp;provide&nbsp;basical informations&nbsp;about the&nbsp;rockchip-isp1 driver driver and&nbsp;Image Signal Processing block on Rockchip SoC&nbsp;with&nbsp;examples and details. = Hardware = More detailed information could be found in TRM chapter "Image Signal Processing", "MIPI D-PHY"&nbsp;, but they are only available under&nbsp;NDA. == ISP Details == ISP comprises with: *MIPI serial camera interface *Image Signal Processing *Many Image Enhancement Blocks *Crop *Resize === Block diagram === The completed block diagram&nbsp;can not be pasted from&nbsp;datasheet&nbsp;to here, below&nbsp;diagram&nbsp;is an abstract version: [[File:Block.png|1200px|Blocks.png]] &nbsp; == MIPI Details == There are three D-PHY instances in rockchip SoC, their connection are shown as following figure: [[File:Phy.png|600px|Phy.png]] = Software = == Driver == rockchip-isp1 is a V4L2 based driver for Image Signal Processing block on Rockchip SoC. Compared to the earlier driver&nbsp;rk-isp10, it use&nbsp;Media Controller&nbsp;framework, which it's different from plain v4L2. While the plain v4L2 had a view of the device as a plain DMA based image drabber which connects the input data to the host memory, the Media Controller takes into consideration the fact that a typical video device might consist of multiple sub-devices. === Media Controller Basics === Please read below link carefully,&nbsp;especially if you don't have use it before. [https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.html https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.html] === Block diagram === ==== File view ==== [[File:Code.png|1200px|Code.png]] ==== V4l2 view ==== [[File:Rockchip-isp1-v4l2.png|800px|Rockchip-isp1-v4l2.png]] {| border="1" class="table_style" style="width: 768px;" |- ! style="width: 165px;" | Name ! style="width: 131px;" | Type ! style="width: 450px;" | Description |- | style="width: 165px;" | rkisp1_mainpath | style="width: 131px;" | v4l2_vdev, capture | style="width: 450px;" | Format: YUV, RAW Bayer; Max resolution: 4416*3312;&nbsp;Support: Crop |- | style="width: 165px;" | rkisp1_selfpath | style="width: 131px;" | v4l2_vdev, capture | style="width: 450px;" | Format: YUV, RGB; Max resolution: 1920*1080; Support: Crop |- | style="width: 165px;" | rkisp1-isp-subdev | style="width: 131px;" | v4l2_subdev | style="width: 450px;" | Internal isp blocks; Support: source/sink pad crop. The format on sink pad&nbsp;should be equal to sensor input format, the size should be equal/less than&nbsp;sensor input size. The format on source pad&nbsp;should be equal to vdev output format if output format is raw bayer, otherwise it should be&nbsp; YUYV2X8. The size should be equal/less than&nbsp;sink pad size. |- | style="width: 165px;" | rockchip-sy-mipi-dphy | style="width: 131px;" | v4l2_subdev | style="width: 450px;" | MIPI-DPHY&nbsp;Configure |- | style="width: 165px;" | rkisp1-statistics | style="width: 131px;" | v4l2_vdev, capture | style="width: 450px;" | Provide Image color Statistics information. |- | style="width: 165px;" | rkisp1-input-params | style="width: 131px;" | v4l2_vdev, output | style="width: 450px;" | Accept params for AWB, BLC...... Image enhancement blcoks |} === Sensor Driver Requirement === The sensor driver should implement controls in the following table.&nbsp; {| border="1" class="table_style" |- ! Controls ! Description ! R/W ! Needed by |- | V4L2_CID_VBLANK | <span style="font-size:smaller;">Vertical blanking. The idle period after every frame during which no image data is produced. The unit of vertical blanking is a line. Every line has length of the image width plus horizontal blanking at the pixel rate defined by&nbsp;<code>V4L2_CID_PIXEL_RATE</code>&nbsp;control in the same sub-device.</span> | R | Ae |- | V4L2_CID_HBLANK | <span style="font-size:smaller;">Horizontal blanking. The idle period after every line of image data during which no image data is produced. The unit of horizontal blanking is pixels.</span> | R | Ae |- | V4L2_CID_EXPOSURE | <span style="font-size:smaller;">Determines the exposure time of the camera sensor. The exposure time is limited by the frame interval. Drivers should interpret the values as 100 µs units, where the value 1 stands for 1/10000th of a second, 10000 for 1 second and 100000 for 10 seconds.</span> | R/W | Ae |- | V4L2_CID_ANALOGUE_GAIN | <span style="font-size:smaller;">Analogue gain is gain affecting all colour components in the pixel matrix. The gain operation is performed in the analogue domain before A/D conversion.</span> | R/W | Ae |- | V4L2_CID_DIGITAL_GAIN | <span style="font-size:smaller;">Digital gain is the value by which all colour components are multiplied by. Typically the digital gain applied is the control value divided by e.g. 0x100, meaning that to get no digital gain the control value needs to be 0x100. The no-gain configuration is also typically the default.</span> | R/W | Ae |- | V4L2_CID_PIXEL_RATE | <span style="font-size:smaller;">Pixel rate in the source pads of the subdev. This control is read-only and its unit is pixels / second.</span> | R | Ae |- | V4L2_CID_LINK_FREQ | <span style="font-size:smaller;">Data bus frequency. Together with the media bus pixel code, bus type (clock cycles per sample), the data bus frequency defines the pixel rate (<code>V4L2_CID_PIXEL_RATE</code>) in the pixel array (or possibly elsewhere, if the device is not an image sensor). The frame rate can be calculated from the pixel clock, image width and height and horizontal and vertical blanking. While the pixel rate control may be defined elsewhere than in the subdev containing the pixel array, the frame rate cannot be obtained from that information. This is because only on the pixel array it can be assumed that the vertical and horizontal blanking information is exact: no other blanking is allowed in the pixel array. The selection of frame rate is performed by selecting the desired horizontal and vertical blanking. The unit of this control is Hz.</span> | R | mipi-dphy |} === Devicetree Bindings === [https://github.com/wzyy2/linux/blob/rkisp1/Documentation/devicetree/bindings/media/rockchip-isp1.txt https://github.com/torvalds/linux/tree/master/Documentation/devicetree/bindings/media/rockchip-isp1.txt] [https://github.com/wzyy2/linux/blob/rkisp1/Documentation/devicetree/bindings/media/rockchip-mipi-dphy.txt https://github.com/torvalds/linux/tree/master/Documentation/devicetree/bindings/media/rockchip-mipi-dphy.txt] == Linux == === User applications&nbsp; === The applcation for&nbsp;plain v4L2 capture device still can be used(like gstreamer v4l2src plugins, v4l2ctl), but the media&nbsp;controller must be setup in a&nbsp;proper state before starting capture.<br/> The applications for Video Capture with rockchip-isp1 driver&nbsp;should do things like the following commands: <pre># Media graph have been initializated when kernel driver probing, so below commands don't have to be called, though # please note that they can be changed during runtime. media-ctl -l '"rockchip-sy-mipi-dphy":1->"rkisp1-isp-subdev":0[1]' media-ctl -l '"rkisp1-input-params":0->"rkisp1-isp-subdev":1[1]' media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_selfpath":0[1]' media-ctl -l '"rkisp1-isp-subdev":2->"rkisp1_mainpath":0[1]' media-ctl -l '"rkisp1-isp-subdev":3->"rkisp1-statistics":0[1]' # Set pad formats ## rkisp1 source pad&nbsp;: format\selection media-ctl -set-v4l2 '"rkisp1-isp-subdev":2[fmt:YUYV2X8/800x600]' media-ctl -set-v4l2 '"rkisp1-isp-subdev":2[fmt:YUYV2X8/800x600]' --set-v4l2 '"rkisp1-isp-subdev":0[crop:(0,0)/800x600]' ## rkisp1 sink pad&nbsp;: format\selection media-ctl --set-v4l2 '"rkisp1-isp-subdev":0[fmt:SRGGB10/800*600]' media-ctl --set-v4l2 '"rkisp1-isp-subdev":0[fmt:SBGGR10/800x600]' --set-v4l2 '"rkisp1-isp-subdev":0[crop:(0,0)/800x600]' ## sensor source pad format media-ctl --set-v4l2 '"ov2685 7-0010":0[fmt:SRGGB10/800*600]' # Set link(Assume there are two sensors in one mipi-phy) ## Enable sensor1 media-ctl -l '"ov2685 7-0010":0->"rockchip-sy-mipi-dphy":0[1]' ## Disable sensor2 media-ctl -l '"ov5695 7-0036":0->"rockchip-sy-mipi-dphy":0[0]' # start capture v4l2-ctl xxxx or gst-launch rkcamsrc xxxx </pre> ==== 3A ==== [https://github.com/rockchip-linux/gstreamer-rockchip-extra/tree/master/gst/rkv4l2/rkcamsrc/rkisp1 https://github.com/rockchip-linux/gstreamer-rockchip-extra/tree/master/gst/rkv4l2/rkcamsrc/rkisp1] === &nbsp; === == Android == === <del>Camera Hal3</del> === [https://source.android.com/devices/camera/camera3?hl=zh-cn https://source.android.com/devices/camera/camera3] = Reproduce = The driver currently can run&nbsp;on ASUS Tinker Board and Firefly-RK3288-Reload + Rockchip&nbsp;Debian/Yocto SDK. == Source Code == === Kernel === #4.15 + [https://patchwork.linuxtv.org/project/linux-media/list/?submitter=7231 FORMLIST Patches] #[https://github.com/rockchip-linux/kernel/tree/release-4.4 Rockchip 4.4 BSP] === Sensor Driver === #[https://github.com/rockchip-linux/kernel/blob/release-4.4/drivers/media/i2c/imx219.c IMX219] #[https://github.com/rockchip-linux/kernel/blob/release-4.4/drivers/media/i2c/ov5647.c OV5647] #[https://github.com/rockchip-linux/kernel/blob/release-4.4/drivers/media/i2c/tc35874x.c TC35874X] === Device Tree === #[https://github.com/rockchip-linux/kernel/blob/release-4.4/arch/arm/boot/dts/rk3288-miniarm.dts Tinker Board] #[https://github.com/rockchip-linux/kernel/blob/release-4.4/arch/arm/boot/dts/rk3288-firefly-reload-linux.dts Firefly-rk3288-Reload] &nbsp; == Test Command == <pre>cat /sys/class/video4linux/video*/name # get self_path videox and main_path videox+1 gst-launch-1.0 rkcamsrc device=/dev/videox+1 io-mode=4&nbsp;! videoconvert&nbsp;! video/x-raw,format=NV12,width=640,height=480&nbsp;! kmssink</pre> = Others = == Topology == <pre>Media device information ------------------------ driver rkisp1 model rkisp1 serial bus info hw revision 0x0 driver version 0.0.0 Device topology - entity 1: rkisp1-isp-subdev (4 pads, 5 links) type V4L2 subdev subtype Unknown flags 0 device node name /dev/v4l-subdev0 pad0: Sink [fmt:SBGGR10_1X10/800x600 field:none crop.bounds:(0,0)/800x600 crop:(0,0)/800x600] <- "rockchip-sy-mipi-dphy":1 [ENABLED] pad1: Sink <- "rkisp1-input-params":0 [ENABLED] pad2: Source [fmt:SBGGR10_1X10/800x600 field:none crop.bounds:(0,0)/800x600 crop:(0,0)/800x600] -> "rkisp1_selfpath":0 [ENABLED] -> "rkisp1_mainpath":0 [ENABLED] pad3: Source -> "rkisp1-statistics":0 [ENABLED] - entity 2: rkisp1_selfpath (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video0 pad0: Sink <- "rkisp1-isp-subdev":2 [ENABLED] - entity 3: rkisp1_mainpath (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video1 pad0: Sink <- "rkisp1-isp-subdev":2 [ENABLED] - entity 4: rkisp1-statistics (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video2 pad0: Sink <- "rkisp1-isp-subdev":3 [ENABLED] - entity 5: rkisp1-input-params (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video3 pad0: Source -> "rkisp1-isp-subdev":1 [ENABLED] - entity 6: rockchip-sy-mipi-dphy (2 pads, 2 links) type V4L2 subdev subtype Unknown flags 0 device node name /dev/v4l-subdev1 pad0: Sink [fmt:SRGGB10_1X10/3280x2464 field:none] <- "imx219 2-0010":0 [ENABLED] pad1: Source [fmt:SRGGB10_1X10/3280x2464 field:none] -> "rkisp1-isp-subdev":0 [ENABLED] - entity 7: imx219 2-0010 (1 pad, 1 link) type V4L2 subdev subtype Sensor flags 0 device node name /dev/v4l-subdev2 pad0: Source [fmt:SRGGB10_1X10/3280x2464 field:none] -> "rockchip-sy-mipi-dphy":0 [ENABLED]</pre> 047d9698648da57d3f1adf0adcbed97b562d3ade 2216 2210 2020-09-23T09:56:32Z Kever 2 wikitext text/x-wiki &nbsp; = Overview = The document below&nbsp;provide&nbsp;basical informations&nbsp;about the&nbsp;rockchip-isp1 driver driver and&nbsp;Image Signal Processing block on Rockchip SoC&nbsp;with&nbsp;examples and details. = Hardware = More detailed information could be found in TRM chapter "Image Signal Processing", "MIPI D-PHY"&nbsp;, but they are only available under&nbsp;NDA. == ISP Details == ISP comprises with: *MIPI serial camera interface *Image Signal Processing *Many Image Enhancement Blocks *Crop *Resize === Block diagram === The completed block diagram&nbsp;can not be pasted from&nbsp;datasheet&nbsp;to here, below&nbsp;diagram&nbsp;is an abstract version: [[File:Block.png|1200px|Blocks.png]] &nbsp; == MIPI Details == There are three D-PHY instances in rockchip SoC, their connection are shown as following figure: [[File:Phy.png|600px|Phy.png]] = Software = == Driver == rockchip-isp1 is a V4L2 based driver for Image Signal Processing block on Rockchip SoC. Compared to the earlier driver&nbsp;rk-isp10, it use&nbsp;Media Controller&nbsp;framework, which it's different from plain v4L2. While the plain v4L2 had a view of the device as a plain DMA based image drabber which connects the input data to the host memory, the Media Controller takes into consideration the fact that a typical video device might consist of multiple sub-devices. === Media Controller Basics === Please read below link carefully,&nbsp;especially if you don't have use it before. [https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.html https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.html] === Block diagram === ==== File view ==== [[File:Code.png|1200px|Code.png]] ==== V4l2 view ==== [[File:Rockchip-isp1-v4l2.png|800px|Rockchip-isp1-v4l2.png]] {| border="1" class="table_style" style="width: 768px;" |- ! style="width: 165px;" | Name ! style="width: 131px;" | Type ! style="width: 450px;" | Description |- | style="width: 165px;" | rkisp1_mainpath | style="width: 131px;" | v4l2_vdev, capture | style="width: 450px;" | Format: YUV, RAW Bayer; Max resolution: 4416*3312;&nbsp;Support: Crop |- | style="width: 165px;" | rkisp1_selfpath | style="width: 131px;" | v4l2_vdev, capture | style="width: 450px;" | Format: YUV, RGB; Max resolution: 1920*1080; Support: Crop |- | style="width: 165px;" | rkisp1-isp-subdev | style="width: 131px;" | v4l2_subdev | style="width: 450px;" | Internal isp blocks; Support: source/sink pad crop. The format on sink pad&nbsp;should be equal to sensor input format, the size should be equal/less than&nbsp;sensor input size. The format on source pad&nbsp;should be equal to vdev output format if output format is raw bayer, otherwise it should be&nbsp; YUYV2X8. The size should be equal/less than&nbsp;sink pad size. |- | style="width: 165px;" | rockchip-sy-mipi-dphy | style="width: 131px;" | v4l2_subdev | style="width: 450px;" | MIPI-DPHY&nbsp;Configure |- | style="width: 165px;" | rkisp1-statistics | style="width: 131px;" | v4l2_vdev, capture | style="width: 450px;" | Provide Image color Statistics information. |- | style="width: 165px;" | rkisp1-input-params | style="width: 131px;" | v4l2_vdev, output | style="width: 450px;" | Accept params for AWB, BLC...... Image enhancement blcoks |} === Sensor Driver Requirement === The sensor driver should implement controls in the following table.&nbsp; {| border="1" class="table_style" |- ! Controls ! Description ! R/W ! Needed by |- | V4L2_CID_VBLANK | <span style="font-size:smaller;">Vertical blanking. The idle period after every frame during which no image data is produced. The unit of vertical blanking is a line. Every line has length of the image width plus horizontal blanking at the pixel rate defined by&nbsp;<code>V4L2_CID_PIXEL_RATE</code>&nbsp;control in the same sub-device.</span> | R | Ae |- | V4L2_CID_HBLANK | <span style="font-size:smaller;">Horizontal blanking. The idle period after every line of image data during which no image data is produced. The unit of horizontal blanking is pixels.</span> | R | Ae |- | V4L2_CID_EXPOSURE | <span style="font-size:smaller;">Determines the exposure time of the camera sensor. The exposure time is limited by the frame interval. Drivers should interpret the values as 100 µs units, where the value 1 stands for 1/10000th of a second, 10000 for 1 second and 100000 for 10 seconds.</span> | R/W | Ae |- | V4L2_CID_ANALOGUE_GAIN | <span style="font-size:smaller;">Analogue gain is gain affecting all colour components in the pixel matrix. The gain operation is performed in the analogue domain before A/D conversion.</span> | R/W | Ae |- | V4L2_CID_DIGITAL_GAIN | <span style="font-size:smaller;">Digital gain is the value by which all colour components are multiplied by. Typically the digital gain applied is the control value divided by e.g. 0x100, meaning that to get no digital gain the control value needs to be 0x100. The no-gain configuration is also typically the default.</span> | R/W | Ae |- | V4L2_CID_PIXEL_RATE | <span style="font-size:smaller;">Pixel rate in the source pads of the subdev. This control is read-only and its unit is pixels / second.</span> | R | Ae |- | V4L2_CID_LINK_FREQ | <span style="font-size:smaller;">Data bus frequency. Together with the media bus pixel code, bus type (clock cycles per sample), the data bus frequency defines the pixel rate (<code>V4L2_CID_PIXEL_RATE</code>) in the pixel array (or possibly elsewhere, if the device is not an image sensor). The frame rate can be calculated from the pixel clock, image width and height and horizontal and vertical blanking. While the pixel rate control may be defined elsewhere than in the subdev containing the pixel array, the frame rate cannot be obtained from that information. This is because only on the pixel array it can be assumed that the vertical and horizontal blanking information is exact: no other blanking is allowed in the pixel array. The selection of frame rate is performed by selecting the desired horizontal and vertical blanking. The unit of this control is Hz.</span> | R | mipi-dphy |} === Devicetree Bindings === [https://github.com/wzyy2/linux/blob/rkisp1/Documentation/devicetree/bindings/media/rockchip-isp1.txt https://github.com/torvalds/linux/tree/master/Documentation/devicetree/bindings/media/rockchip-isp1.txt] [https://github.com/wzyy2/linux/blob/rkisp1/Documentation/devicetree/bindings/media/rockchip-mipi-dphy.txt https://github.com/torvalds/linux/tree/master/Documentation/devicetree/bindings/media/rockchip-mipi-dphy.txt] == Linux == === User applications&nbsp; === The v4l-utils tool and applications&nbsp;<br/> The v4l-utils tool is a V4L2 development kit maintained by Linuxtv[1] . It provides a set&nbsp;<br/> of V4L2 and media framework related tools for configuring V4L2 sub-device properties,&nbsp;<br/> testing V4L2 devices, and providing development libraries such as libv4l2.so and so on.&nbsp;<br/> This chapter mainly introduces two command-line tools in v4l-utils: media-ctl and v4l2-&nbsp;<br/> ctl&nbsp;<br/>  media-ctl, used to view and configure topology&nbsp;<br/>  v4l2-ctl, used to configure v4l2 controls, capture frames, set cif, isp, sensor&nbsp;<br/> parameters&nbsp;<br/> The format code of different versions of v4l-utils will be different, especially mbus-fmt&nbsp;<br/> part. The version used in this document is v4l-utils-1.14.1 integrated in Linux SDK.&nbsp; ==== 3A ==== [https://github.com/rockchip-linux/gstreamer-rockchip-extra/tree/master/gst/rkv4l2/rkcamsrc/rkisp1 https://github.com/rockchip-linux/gstreamer-rockchip-extra/tree/master/gst/rkv4l2/rkcamsrc/rkisp1] === &nbsp; === == Android == === <del>Camera Hal3</del> === [https://source.android.com/devices/camera/camera3?hl=zh-cn https://source.android.com/devices/camera/camera3] = Reproduce = The driver currently can run&nbsp;on ASUS Tinker Board and Firefly-RK3288-Reload + Rockchip&nbsp;Debian/Yocto SDK. == Source Code == === Kernel === #4.15 + [https://patchwork.linuxtv.org/project/linux-media/list/?submitter=7231 FORMLIST Patches] #[https://github.com/rockchip-linux/kernel/tree/release-4.4 Rockchip 4.4 BSP] === Sensor Driver === #[https://github.com/rockchip-linux/kernel/blob/release-4.4/drivers/media/i2c/imx219.c IMX219] #[https://github.com/rockchip-linux/kernel/blob/release-4.4/drivers/media/i2c/ov5647.c OV5647] #[https://github.com/rockchip-linux/kernel/blob/release-4.4/drivers/media/i2c/tc35874x.c TC35874X] === Device Tree === #[https://github.com/rockchip-linux/kernel/blob/release-4.4/arch/arm/boot/dts/rk3288-miniarm.dts Tinker Board] #[https://github.com/rockchip-linux/kernel/blob/release-4.4/arch/arm/boot/dts/rk3288-firefly-reload-linux.dts Firefly-rk3288-Reload] &nbsp; == Test Command == <pre>cat /sys/class/video4linux/video*/name # get self_path videox and main_path videox+1 gst-launch-1.0 rkcamsrc device=/dev/videox+1 io-mode=4&nbsp;! videoconvert&nbsp;! video/x-raw,format=NV12,width=640,height=480&nbsp;! kmssink</pre> = Others = == Topology == <pre>Media device information ------------------------ driver rkisp1 model rkisp1 serial bus info hw revision 0x0 driver version 0.0.0 Device topology - entity 1: rkisp1-isp-subdev (4 pads, 5 links) type V4L2 subdev subtype Unknown flags 0 device node name /dev/v4l-subdev0 pad0: Sink [fmt:SBGGR10_1X10/800x600 field:none crop.bounds:(0,0)/800x600 crop:(0,0)/800x600] <- "rockchip-sy-mipi-dphy":1 [ENABLED] pad1: Sink <- "rkisp1-input-params":0 [ENABLED] pad2: Source [fmt:SBGGR10_1X10/800x600 field:none crop.bounds:(0,0)/800x600 crop:(0,0)/800x600] -> "rkisp1_selfpath":0 [ENABLED] -> "rkisp1_mainpath":0 [ENABLED] pad3: Source -> "rkisp1-statistics":0 [ENABLED] - entity 2: rkisp1_selfpath (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video0 pad0: Sink <- "rkisp1-isp-subdev":2 [ENABLED] - entity 3: rkisp1_mainpath (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video1 pad0: Sink <- "rkisp1-isp-subdev":2 [ENABLED] - entity 4: rkisp1-statistics (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video2 pad0: Sink <- "rkisp1-isp-subdev":3 [ENABLED] - entity 5: rkisp1-input-params (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video3 pad0: Source -> "rkisp1-isp-subdev":1 [ENABLED] - entity 6: rockchip-sy-mipi-dphy (2 pads, 2 links) type V4L2 subdev subtype Unknown flags 0 device node name /dev/v4l-subdev1 pad0: Sink [fmt:SRGGB10_1X10/3280x2464 field:none] <- "imx219 2-0010":0 [ENABLED] pad1: Source [fmt:SRGGB10_1X10/3280x2464 field:none] -> "rkisp1-isp-subdev":0 [ENABLED] - entity 7: imx219 2-0010 (1 pad, 1 link) type V4L2 subdev subtype Sensor flags 0 device node name /dev/v4l-subdev2 pad0: Source [fmt:SRGGB10_1X10/3280x2464 field:none] -> "rockchip-sy-mipi-dphy":0 [ENABLED]</pre> f5ca1262c24bce3a3181a3486a806913174b24de 2217 2216 2020-09-23T09:57:08Z Kever 2 wikitext text/x-wiki &nbsp; = Overview = The document below&nbsp;provide&nbsp;basical informations&nbsp;about the&nbsp;rockchip-isp1 driver driver and&nbsp;Image Signal Processing block on Rockchip SoC&nbsp;with&nbsp;examples and details. = Hardware = More detailed information could be found in TRM chapter "Image Signal Processing", "MIPI D-PHY"&nbsp;, but they are only available under&nbsp;NDA. == ISP Details == ISP comprises with: *MIPI serial camera interface *Image Signal Processing *Many Image Enhancement Blocks *Crop *Resize === Block diagram === The completed block diagram&nbsp;can not be pasted from&nbsp;datasheet&nbsp;to here, below&nbsp;diagram&nbsp;is an abstract version: [[File:Block.png|1200px|Blocks.png]] &nbsp; == MIPI Details == There are three D-PHY instances in rockchip SoC, their connection are shown as following figure: [[File:Phy.png|600px|Phy.png]] = Software = == Driver == rockchip-isp1 is a V4L2 based driver for Image Signal Processing block on Rockchip SoC. Compared to the earlier driver&nbsp;rk-isp10, it use&nbsp;Media Controller&nbsp;framework, which it's different from plain v4L2. While the plain v4L2 had a view of the device as a plain DMA based image drabber which connects the input data to the host memory, the Media Controller takes into consideration the fact that a typical video device might consist of multiple sub-devices. === Media Controller Basics === Please read below link carefully,&nbsp;especially if you don't have use it before. [https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.html https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.html] === Block diagram === ==== File view ==== [[File:Code.png|1200px|Code.png]] ==== V4l2 view ==== [[File:Rockchip-isp1-v4l2.png|800px|Rockchip-isp1-v4l2.png]] {| border="1" class="table_style" style="width: 768px;" |- ! style="width: 165px;" | Name ! style="width: 131px;" | Type ! style="width: 450px;" | Description |- | style="width: 165px;" | rkisp1_mainpath | style="width: 131px;" | v4l2_vdev, capture | style="width: 450px;" | Format: YUV, RAW Bayer; Max resolution: 4416*3312;&nbsp;Support: Crop |- | style="width: 165px;" | rkisp1_selfpath | style="width: 131px;" | v4l2_vdev, capture | style="width: 450px;" | Format: YUV, RGB; Max resolution: 1920*1080; Support: Crop |- | style="width: 165px;" | rkisp1-isp-subdev | style="width: 131px;" | v4l2_subdev | style="width: 450px;" | Internal isp blocks; Support: source/sink pad crop. The format on sink pad&nbsp;should be equal to sensor input format, the size should be equal/less than&nbsp;sensor input size. The format on source pad&nbsp;should be equal to vdev output format if output format is raw bayer, otherwise it should be&nbsp; YUYV2X8. The size should be equal/less than&nbsp;sink pad size. |- | style="width: 165px;" | rockchip-sy-mipi-dphy | style="width: 131px;" | v4l2_subdev | style="width: 450px;" | MIPI-DPHY&nbsp;Configure |- | style="width: 165px;" | rkisp1-statistics | style="width: 131px;" | v4l2_vdev, capture | style="width: 450px;" | Provide Image color Statistics information. |- | style="width: 165px;" | rkisp1-input-params | style="width: 131px;" | v4l2_vdev, output | style="width: 450px;" | Accept params for AWB, BLC...... Image enhancement blcoks |} === Sensor Driver Requirement === The sensor driver should implement controls in the following table.&nbsp; {| border="1" class="table_style" |- ! Controls ! Description ! R/W ! Needed by |- | V4L2_CID_VBLANK | <span style="font-size:smaller;">Vertical blanking. The idle period after every frame during which no image data is produced. The unit of vertical blanking is a line. Every line has length of the image width plus horizontal blanking at the pixel rate defined by&nbsp;<code>V4L2_CID_PIXEL_RATE</code>&nbsp;control in the same sub-device.</span> | R | Ae |- | V4L2_CID_HBLANK | <span style="font-size:smaller;">Horizontal blanking. The idle period after every line of image data during which no image data is produced. The unit of horizontal blanking is pixels.</span> | R | Ae |- | V4L2_CID_EXPOSURE | <span style="font-size:smaller;">Determines the exposure time of the camera sensor. The exposure time is limited by the frame interval. Drivers should interpret the values as 100 µs units, where the value 1 stands for 1/10000th of a second, 10000 for 1 second and 100000 for 10 seconds.</span> | R/W | Ae |- | V4L2_CID_ANALOGUE_GAIN | <span style="font-size:smaller;">Analogue gain is gain affecting all colour components in the pixel matrix. The gain operation is performed in the analogue domain before A/D conversion.</span> | R/W | Ae |- | V4L2_CID_DIGITAL_GAIN | <span style="font-size:smaller;">Digital gain is the value by which all colour components are multiplied by. Typically the digital gain applied is the control value divided by e.g. 0x100, meaning that to get no digital gain the control value needs to be 0x100. The no-gain configuration is also typically the default.</span> | R/W | Ae |- | V4L2_CID_PIXEL_RATE | <span style="font-size:smaller;">Pixel rate in the source pads of the subdev. This control is read-only and its unit is pixels / second.</span> | R | Ae |- | V4L2_CID_LINK_FREQ | <span style="font-size:smaller;">Data bus frequency. Together with the media bus pixel code, bus type (clock cycles per sample), the data bus frequency defines the pixel rate (<code>V4L2_CID_PIXEL_RATE</code>) in the pixel array (or possibly elsewhere, if the device is not an image sensor). The frame rate can be calculated from the pixel clock, image width and height and horizontal and vertical blanking. While the pixel rate control may be defined elsewhere than in the subdev containing the pixel array, the frame rate cannot be obtained from that information. This is because only on the pixel array it can be assumed that the vertical and horizontal blanking information is exact: no other blanking is allowed in the pixel array. The selection of frame rate is performed by selecting the desired horizontal and vertical blanking. The unit of this control is Hz.</span> | R | mipi-dphy |} === Devicetree Bindings === [https://github.com/wzyy2/linux/blob/rkisp1/Documentation/devicetree/bindings/media/rockchip-isp1.txt https://github.com/torvalds/linux/tree/master/Documentation/devicetree/bindings/media/rockchip-isp1.txt] [https://github.com/wzyy2/linux/blob/rkisp1/Documentation/devicetree/bindings/media/rockchip-mipi-dphy.txt https://github.com/torvalds/linux/tree/master/Documentation/devicetree/bindings/media/rockchip-mipi-dphy.txt] == Linux == === User applications&nbsp; === The v4l-utils tool and applications&nbsp;<br/> The v4l-utils tool is a V4L2 development kit maintained by Linuxtv[1] . It provides a set&nbsp;<br/> of V4L2 and media framework related tools for configuring V4L2 sub-device properties,&nbsp;<br/> testing V4L2 devices, and providing development libraries such as libv4l2.so and so on.&nbsp;<br/> This chapter mainly introduces two command-line tools in v4l-utils: media-ctl and v4l2-&nbsp;<br/> ctl&nbsp;<br/>  media-ctl, used to view and configure topology&nbsp;<br/>  v4l2-ctl, used to configure v4l2 controls, capture frames, set cif, isp, sensor&nbsp;<br/> parameters&nbsp;<br/> The format code of different versions of v4l-utils will be different, especially mbus-fmt&nbsp;<br/> part. The version used in this document is v4l-utils-1.14.1 integrated in Linux SDK.&nbsp; ==== 3A ==== [https://github.com/rockchip-linux/gstreamer-rockchip-extra/tree/master/gst/rkv4l2/rkcamsrc/rkisp1 https://github.com/rockchip-linux/gstreamer-rockchip-extra/tree/master/gst/rkv4l2/rkcamsrc/rkisp1] &nbsp; == Android == === <del>Camera Hal3</del> === [https://source.android.com/devices/camera/camera3?hl=zh-cn https://source.android.com/devices/camera/camera3] = Reproduce = The driver currently can run&nbsp;on ASUS Tinker Board and Firefly-RK3288-Reload + Rockchip&nbsp;Debian/Yocto SDK. == Source Code == === Kernel === #4.15 + [https://patchwork.linuxtv.org/project/linux-media/list/?submitter=7231 FORMLIST Patches] #[https://github.com/rockchip-linux/kernel/tree/release-4.4 Rockchip 4.4 BSP] === Sensor Driver === #[https://github.com/rockchip-linux/kernel/blob/release-4.4/drivers/media/i2c/imx219.c IMX219] #[https://github.com/rockchip-linux/kernel/blob/release-4.4/drivers/media/i2c/ov5647.c OV5647] #[https://github.com/rockchip-linux/kernel/blob/release-4.4/drivers/media/i2c/tc35874x.c TC35874X] === Device Tree === #[https://github.com/rockchip-linux/kernel/blob/release-4.4/arch/arm/boot/dts/rk3288-miniarm.dts Tinker Board] #[https://github.com/rockchip-linux/kernel/blob/release-4.4/arch/arm/boot/dts/rk3288-firefly-reload-linux.dts Firefly-rk3288-Reload] &nbsp; == Test Command == <pre>cat /sys/class/video4linux/video*/name # get self_path videox and main_path videox+1 gst-launch-1.0 rkcamsrc device=/dev/videox+1 io-mode=4&nbsp;! videoconvert&nbsp;! video/x-raw,format=NV12,width=640,height=480&nbsp;! kmssink</pre> = Others = == Topology == <pre>Media device information ------------------------ driver rkisp1 model rkisp1 serial bus info hw revision 0x0 driver version 0.0.0 Device topology - entity 1: rkisp1-isp-subdev (4 pads, 5 links) type V4L2 subdev subtype Unknown flags 0 device node name /dev/v4l-subdev0 pad0: Sink [fmt:SBGGR10_1X10/800x600 field:none crop.bounds:(0,0)/800x600 crop:(0,0)/800x600] <- "rockchip-sy-mipi-dphy":1 [ENABLED] pad1: Sink <- "rkisp1-input-params":0 [ENABLED] pad2: Source [fmt:SBGGR10_1X10/800x600 field:none crop.bounds:(0,0)/800x600 crop:(0,0)/800x600] -> "rkisp1_selfpath":0 [ENABLED] -> "rkisp1_mainpath":0 [ENABLED] pad3: Source -> "rkisp1-statistics":0 [ENABLED] - entity 2: rkisp1_selfpath (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video0 pad0: Sink <- "rkisp1-isp-subdev":2 [ENABLED] - entity 3: rkisp1_mainpath (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video1 pad0: Sink <- "rkisp1-isp-subdev":2 [ENABLED] - entity 4: rkisp1-statistics (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video2 pad0: Sink <- "rkisp1-isp-subdev":3 [ENABLED] - entity 5: rkisp1-input-params (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video3 pad0: Source -> "rkisp1-isp-subdev":1 [ENABLED] - entity 6: rockchip-sy-mipi-dphy (2 pads, 2 links) type V4L2 subdev subtype Unknown flags 0 device node name /dev/v4l-subdev1 pad0: Sink [fmt:SRGGB10_1X10/3280x2464 field:none] <- "imx219 2-0010":0 [ENABLED] pad1: Source [fmt:SRGGB10_1X10/3280x2464 field:none] -> "rkisp1-isp-subdev":0 [ENABLED] - entity 7: imx219 2-0010 (1 pad, 1 link) type V4L2 subdev subtype Sensor flags 0 device node name /dev/v4l-subdev2 pad0: Source [fmt:SRGGB10_1X10/3280x2464 field:none] -> "rockchip-sy-mipi-dphy":0 [ENABLED]</pre> f2a926b34bac5ad9ba57d10632eed94a0da6dde0 2218 2217 2020-09-23T09:57:42Z Kever 2 wikitext text/x-wiki &nbsp; = Overview = The document below&nbsp;provide&nbsp;basical informations&nbsp;about the&nbsp;rockchip-isp1 driver driver and&nbsp;Image Signal Processing block on Rockchip SoC&nbsp;with&nbsp;examples and details. = Hardware = More detailed information could be found in TRM chapter "Image Signal Processing", "MIPI D-PHY"&nbsp;, but they are only available under&nbsp;NDA. == ISP Details == ISP comprises with: *MIPI serial camera interface *Image Signal Processing *Many Image Enhancement Blocks *Crop *Resize === Block diagram === The completed block diagram&nbsp;can not be pasted from&nbsp;datasheet&nbsp;to here, below&nbsp;diagram&nbsp;is an abstract version: [[File:Block.png|1200px|Blocks.png]] &nbsp; == MIPI Details == There are three D-PHY instances in rockchip SoC, their connection are shown as following figure: [[File:Phy.png|600px|Phy.png]] = Software = == Driver == rockchip-isp1 is a V4L2 based driver for Image Signal Processing block on Rockchip SoC. Compared to the earlier driver&nbsp;rk-isp10, it use&nbsp;Media Controller&nbsp;framework, which it's different from plain v4L2. While the plain v4L2 had a view of the device as a plain DMA based image drabber which connects the input data to the host memory, the Media Controller takes into consideration the fact that a typical video device might consist of multiple sub-devices. === Media Controller Basics === Please read below link carefully,&nbsp;especially if you don't have use it before. [https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.html https://linuxtv.org/downloads/v4l-dvb-apis/uapi/mediactl/media-controller-intro.html] === Block diagram === ==== File view ==== [[File:Code.png|1200px|Code.png]] ==== V4l2 view ==== [[File:Rockchip-isp1-v4l2.png|800px|Rockchip-isp1-v4l2.png]] {| border="1" class="table_style" style="width: 768px;" |- ! style="width: 165px;" | Name ! style="width: 131px;" | Type ! style="width: 450px;" | Description |- | style="width: 165px;" | rkisp1_mainpath | style="width: 131px;" | v4l2_vdev, capture | style="width: 450px;" | Format: YUV, RAW Bayer; Max resolution: 4416*3312;&nbsp;Support: Crop |- | style="width: 165px;" | rkisp1_selfpath | style="width: 131px;" | v4l2_vdev, capture | style="width: 450px;" | Format: YUV, RGB; Max resolution: 1920*1080; Support: Crop |- | style="width: 165px;" | rkisp1-isp-subdev | style="width: 131px;" | v4l2_subdev | style="width: 450px;" | Internal isp blocks; Support: source/sink pad crop. The format on sink pad&nbsp;should be equal to sensor input format, the size should be equal/less than&nbsp;sensor input size. The format on source pad&nbsp;should be equal to vdev output format if output format is raw bayer, otherwise it should be&nbsp; YUYV2X8. The size should be equal/less than&nbsp;sink pad size. |- | style="width: 165px;" | rockchip-sy-mipi-dphy | style="width: 131px;" | v4l2_subdev | style="width: 450px;" | MIPI-DPHY&nbsp;Configure |- | style="width: 165px;" | rkisp1-statistics | style="width: 131px;" | v4l2_vdev, capture | style="width: 450px;" | Provide Image color Statistics information. |- | style="width: 165px;" | rkisp1-input-params | style="width: 131px;" | v4l2_vdev, output | style="width: 450px;" | Accept params for AWB, BLC...... Image enhancement blcoks |} === Sensor Driver Requirement === The sensor driver should implement controls in the following table.&nbsp; {| border="1" class="table_style" |- ! Controls ! Description ! R/W ! Needed by |- | V4L2_CID_VBLANK | <span style="font-size:smaller;">Vertical blanking. The idle period after every frame during which no image data is produced. The unit of vertical blanking is a line. Every line has length of the image width plus horizontal blanking at the pixel rate defined by&nbsp;<code>V4L2_CID_PIXEL_RATE</code>&nbsp;control in the same sub-device.</span> | R | Ae |- | V4L2_CID_HBLANK | <span style="font-size:smaller;">Horizontal blanking. The idle period after every line of image data during which no image data is produced. The unit of horizontal blanking is pixels.</span> | R | Ae |- | V4L2_CID_EXPOSURE | <span style="font-size:smaller;">Determines the exposure time of the camera sensor. The exposure time is limited by the frame interval. Drivers should interpret the values as 100 µs units, where the value 1 stands for 1/10000th of a second, 10000 for 1 second and 100000 for 10 seconds.</span> | R/W | Ae |- | V4L2_CID_ANALOGUE_GAIN | <span style="font-size:smaller;">Analogue gain is gain affecting all colour components in the pixel matrix. The gain operation is performed in the analogue domain before A/D conversion.</span> | R/W | Ae |- | V4L2_CID_DIGITAL_GAIN | <span style="font-size:smaller;">Digital gain is the value by which all colour components are multiplied by. Typically the digital gain applied is the control value divided by e.g. 0x100, meaning that to get no digital gain the control value needs to be 0x100. The no-gain configuration is also typically the default.</span> | R/W | Ae |- | V4L2_CID_PIXEL_RATE | <span style="font-size:smaller;">Pixel rate in the source pads of the subdev. This control is read-only and its unit is pixels / second.</span> | R | Ae |- | V4L2_CID_LINK_FREQ | <span style="font-size:smaller;">Data bus frequency. Together with the media bus pixel code, bus type (clock cycles per sample), the data bus frequency defines the pixel rate (<code>V4L2_CID_PIXEL_RATE</code>) in the pixel array (or possibly elsewhere, if the device is not an image sensor). The frame rate can be calculated from the pixel clock, image width and height and horizontal and vertical blanking. While the pixel rate control may be defined elsewhere than in the subdev containing the pixel array, the frame rate cannot be obtained from that information. This is because only on the pixel array it can be assumed that the vertical and horizontal blanking information is exact: no other blanking is allowed in the pixel array. The selection of frame rate is performed by selecting the desired horizontal and vertical blanking. The unit of this control is Hz.</span> | R | mipi-dphy |} === Devicetree Bindings === [https://github.com/wzyy2/linux/blob/rkisp1/Documentation/devicetree/bindings/media/rockchip-isp1.txt https://github.com/torvalds/linux/tree/master/Documentation/devicetree/bindings/media/rockchip-isp1.txt] [https://github.com/wzyy2/linux/blob/rkisp1/Documentation/devicetree/bindings/media/rockchip-mipi-dphy.txt https://github.com/torvalds/linux/tree/master/Documentation/devicetree/bindings/media/rockchip-mipi-dphy.txt] == Linux == === User applications&nbsp; === The v4l-utils tool and applications&nbsp;<br/> The v4l-utils tool is a V4L2 development kit maintained by Linuxtv[1] . It provides a set&nbsp;<br/> of V4L2 and media framework related tools for configuring V4L2 sub-device properties,&nbsp;<br/> testing V4L2 devices, and providing development libraries such as libv4l2.so and so on.&nbsp;<br/> This chapter mainly introduces two command-line tools in v4l-utils: media-ctl and v4l2-&nbsp;<br/> ctl&nbsp;<br/>  media-ctl, used to view and configure topology&nbsp;<br/>  v4l2-ctl, used to configure v4l2 controls, capture frames, set cif, isp, sensor&nbsp;<br/> parameters&nbsp;<br/> The format code of different versions of v4l-utils will be different, especially mbus-fmt&nbsp;<br/> part. The version used in this document is v4l-utils-1.14.1 integrated in Linux SDK.&nbsp; == Android == === <del>Camera Hal3</del> === [https://source.android.com/devices/camera/camera3?hl=zh-cn https://source.android.com/devices/camera/camera3] = Reproduce = The driver currently can run&nbsp;on ASUS Tinker Board and Firefly-RK3288-Reload + Rockchip&nbsp;Debian/Yocto SDK. == Source Code == === Kernel === #4.15 + [https://patchwork.linuxtv.org/project/linux-media/list/?submitter=7231 FORMLIST Patches] #[https://github.com/rockchip-linux/kernel/tree/release-4.4 Rockchip 4.4 BSP] === Sensor Driver === #[https://github.com/rockchip-linux/kernel/blob/release-4.4/drivers/media/i2c/imx219.c IMX219] #[https://github.com/rockchip-linux/kernel/blob/release-4.4/drivers/media/i2c/ov5647.c OV5647] #[https://github.com/rockchip-linux/kernel/blob/release-4.4/drivers/media/i2c/tc35874x.c TC35874X] === Device Tree === #[https://github.com/rockchip-linux/kernel/blob/release-4.4/arch/arm/boot/dts/rk3288-miniarm.dts Tinker Board] #[https://github.com/rockchip-linux/kernel/blob/release-4.4/arch/arm/boot/dts/rk3288-firefly-reload-linux.dts Firefly-rk3288-Reload] &nbsp; == Test Command == <pre>cat /sys/class/video4linux/video*/name # get self_path videox and main_path videox+1 gst-launch-1.0 rkcamsrc device=/dev/videox+1 io-mode=4&nbsp;! videoconvert&nbsp;! video/x-raw,format=NV12,width=640,height=480&nbsp;! kmssink</pre> = Others = == Topology == <pre>Media device information ------------------------ driver rkisp1 model rkisp1 serial bus info hw revision 0x0 driver version 0.0.0 Device topology - entity 1: rkisp1-isp-subdev (4 pads, 5 links) type V4L2 subdev subtype Unknown flags 0 device node name /dev/v4l-subdev0 pad0: Sink [fmt:SBGGR10_1X10/800x600 field:none crop.bounds:(0,0)/800x600 crop:(0,0)/800x600] <- "rockchip-sy-mipi-dphy":1 [ENABLED] pad1: Sink <- "rkisp1-input-params":0 [ENABLED] pad2: Source [fmt:SBGGR10_1X10/800x600 field:none crop.bounds:(0,0)/800x600 crop:(0,0)/800x600] -> "rkisp1_selfpath":0 [ENABLED] -> "rkisp1_mainpath":0 [ENABLED] pad3: Source -> "rkisp1-statistics":0 [ENABLED] - entity 2: rkisp1_selfpath (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video0 pad0: Sink <- "rkisp1-isp-subdev":2 [ENABLED] - entity 3: rkisp1_mainpath (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video1 pad0: Sink <- "rkisp1-isp-subdev":2 [ENABLED] - entity 4: rkisp1-statistics (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video2 pad0: Sink <- "rkisp1-isp-subdev":3 [ENABLED] - entity 5: rkisp1-input-params (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video3 pad0: Source -> "rkisp1-isp-subdev":1 [ENABLED] - entity 6: rockchip-sy-mipi-dphy (2 pads, 2 links) type V4L2 subdev subtype Unknown flags 0 device node name /dev/v4l-subdev1 pad0: Sink [fmt:SRGGB10_1X10/3280x2464 field:none] <- "imx219 2-0010":0 [ENABLED] pad1: Source [fmt:SRGGB10_1X10/3280x2464 field:none] -> "rkisp1-isp-subdev":0 [ENABLED] - entity 7: imx219 2-0010 (1 pad, 1 link) type V4L2 subdev subtype Sensor flags 0 device node name /dev/v4l-subdev2 pad0: Source [fmt:SRGGB10_1X10/3280x2464 field:none] -> "rockchip-sy-mipi-dphy":0 [ENABLED]</pre> 03de0131ecfb16c0ad69f39187ab12e5028c1c63 Roadmap 0 206 2213 2183 2020-09-22T05:59:06Z Admin 1 Replaced content with " &nbsp; &nbsp; &nbsp;" wikitext text/x-wiki &nbsp; &nbsp; &nbsp; 60a2661a5a6ef4c018940f317ddb28d94b9b6a23 Status Matrix 0 154 2219 2140 2020-09-24T00:57:19Z Kever 2 wikitext text/x-wiki &nbsp; &nbsp; &nbsp; &nbsp; == Rockchip 4.4 Kernel Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! RK3399 ! RK3288 ! RK3328 |- | rowspan="2" style="text-align: left;" | ADC | style="text-align: left;" | SARADC | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | TSADC | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | Clocks | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | CPUFreq | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | Crypto | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | Mipi-CSI | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | N/A |- | colspan="2" style="text-align: left;" | ISP | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: rgb(255, 255, 255);" | N/A |- | colspan="2" style="text-align: left;" | DVP/CIF | style="background: rgb(255, 255, 255);" | N/A | style="background: lightgreen;" | SUPPORT | style="background: orange;" | WIP |- | rowspan="8" style="text-align: left;" | Display (DRM) | style="text-align: left;" | RGB | style="background: rgb(255, 255, 255);" | N/A | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | EDP | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | N/A |- | style="text-align: left;" | LVDS | style="background: rgb(255, 255, 255);" | &nbsp;N/A | style="background: lightgreen;" | SUPPORT | N/A |- | style="text-align: left;" | MIPI DSI | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | N/A |- | style="text-align: left;" | CVBS | N/A | N/A | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | VGA | N/A | N/A | N/A |- | style="text-align: left;" | HDMI | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | CEC | style="background: red;" | NO | style="background: red;" | NO | style="background: orange;" | WIP |- | colspan="2" style="text-align: left;" | DMA | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | DDR DVFS | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: red;" | NO |- | rowspan="2" style="text-align: left;" | Ethernet | style="text-align: left;" | GMAC | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | EMAC | N/A | N/A | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | I2S | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left" | I2C | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | MsgBox | N/A | N/A | N/A |- | colspan="2" style="text-align: left;" | Pinctrl | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | PWM | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | Power Domain | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | PCIE | style="background-color: lightgreen;" | SUPPORT | N/A | N/A |- | colspan="2" style="text-align: left;" | SD / SDIO / MMC | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | SPDIF | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | SPI | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | SUSPEND / RESUME | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | USB | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | USB OTG | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | TYPEC | style="background-color: lightgreen;" | SUPPORT | N/A | N/A |- | colspan="2" style="text-align: left;" | Watchdog | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | GPU | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | VPU | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | RGA | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | IEP | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |} &nbsp; &nbsp; &nbsp; &nbsp; == Mainline Kernel Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! RK3399 ! RK3288 ! RK3328 |- | rowspan="2" style="text-align: left;" | ADC | style="text-align: left;" | SARADC | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 |- | style="text-align: left;" | TSADC1 | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | Clocks | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | CPUFreq | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | Crypto | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | CSI/ISP | style="background: lightgreen;" | 4.14 | style="background: orange;" | WIP | N/A |- | colspan="2" style="text-align: left;" | CIF | style="background: orange;" | WIP | style="background: orange;" | WIP | style="background: orange;" | WIP |- | rowspan="8" style="text-align: left;" | Display (DRM) | style="text-align: left;" | RGB | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |- | style="text-align: left;" | EDP | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.4 | N/A |- | style="text-align: left;" | LVDS | style="background: red;" | NO | style="background: red;" | NO | N/A |- | style="text-align: left;" | MIPI DSI | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.4 | N/A |- | style="text-align: left;" | CVBS | N/A | N/A | style="background: darkgreen;" | INCOMPLETE |- | style="text-align: left;" | VGA | N/A | N/A | N/A |- | style="text-align: left;" | HDMI | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE |- | style="text-align: left;" | CEC | style="background: red;" | NO | style="background: red;" | NO | style="background: darkgreen;" | INCOMPLETE |- | colspan="2" style="text-align: left;" | DMA | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | DDR DVFS | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |- | rowspan="2" style="text-align: left;" | Ethernet | style="text-align: left;" | GMAC | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 |- | style="text-align: left;" | EMAC | N/A | N/A | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | I2S | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left" | I2C | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | MsgBox | N/A | N/A | N/A |- | colspan="2" style="text-align: left;" | Pinctrl | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | PWM | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | Power Domain | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | PCIE | style="background-color: lightgreen;" | 4.14 | N/A | N/A |- | colspan="2" style="text-align: left;" | SD / SDIO / MMC | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | SPDIF | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | SPI | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | SUSPEND / RESUME | style="background: darkgreen;" | INCOMPLETE | style="background: darkgreen;" | INCOMPLETE | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | USB | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | USB OTG | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | TYPEC | style="background-color: lightgreen;" | 4.14 | N/A | N/A |- | colspan="2" style="text-align: left;" | Watchdog | style="background: lightgreen;" | 4.14 | style="background: lightgreen;" | 4.4 | style="background: lightgreen;" | 4.14 |- | colspan="2" style="text-align: left;" | GPU | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |- | colspan="2" style="text-align: left;" | VPU | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |- | colspan="2" style="text-align: left;" | RGA | style="background: lightgreen;" | 4.15 | style="background: lightgreen;" | 4.15 | style="background: orange;" | WIP |- | colspan="2" style="text-align: left;" | IEP | style="background: red;" | NO | style="background: red;" | NO | style="background: red;" | NO |} &nbsp; &nbsp; &nbsp; &nbsp; == Linux SDK CHIP Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! RK3399 ! RK3288 ! RK3328 |- | colspan="2" style="text-align: left;" | Debian | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | Buildroot | style="background-color: lightgreen;" | SUPPORT | style="background-color: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | rowspan="5" style="text-align: left;" | Decode | style="text-align: left;" | H264 | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | H265 | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | VP8 | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | VP9 | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | JPEG | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | rowspan="3" style="text-align: left;" | Encode | style="text-align: left;" | H264 | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | style="text-align: left;" | H265 | style="background-color: white;" | N/A | style="background: white;" | N/A | style="background-color: lightgreen;" | SUPPORT |- | style="text-align: left;" | JPEG | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT | style="background: lightgreen;" | SUPPORT |- | colspan="2" style="text-align: left;" | ISP(3A) | style="background: lightgreen;" | SUPPORT | style="background-color: lightgreen;" | SUPPORT | style="background: white;" | N/A |} <br/> &nbsp; == Linux&nbsp;Function Status Matrix == {| class="wikitable" style="text-align: center; width: 100%;" |- ! colspan="2" style="width: 10%; text-align: left;" | Model ! Status |- | rowspan="2" style="text-align: left;" | GPU | style="text-align: left;" | GLES | style="background: lightgreen;" | libmali |- | style="text-align: left;" | OPENCL | style="background: lightgreen;" | libmali |- | colspan="2" rowspan="1" style="text-align: left;" | QT | style="background: lightgreen;" | QT 5.x |- | colspan="2" style="text-align: left;" | Browser(HTML5 Accelerate) | style="background: yellow;" | Community |- | colspan="2" style="text-align: left;" | IOT(Third part Could Service) | style="background: lightgreen;" | ROS |- | colspan="2" style="text-align: left;" | MPV | style="background: yellow;" | Community |} 6b0b847c6a68c2d52f37a485410c7bb003259185 Devices 0 49 2220 2174 2020-09-24T01:01:10Z Kever 2 wikitext text/x-wiki Here list the sbc boards that purchase available on market. &nbsp; &nbsp; &nbsp; = RK3288 Boards = Amarula Electronics: Vyasa-RK3288 ASUS:&nbsp;Tinker Board Firefly:&nbsp;Firefly-RK3288 PHYTEC: phyCore-RK3288 Pico-ITX: RICO-3288 Radxa: Rock2 &nbsp; = RK3399 Boards = Firefly: Firefly-RK3399 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ROC-RK3399-PC FriendlyARM: Nano PC T4 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;NanoPi NEO4 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;NanoPi M4 Khadas: Edge-rk3399 Lenovo:&nbsp;Leez P710 Orange Pi: Orangepi-rk3399 Pico-ITX: RICO-3399 Pine64: ROCK64pro Radxa:&nbsp;Rock Pi 4 Rockchip: RK3399&nbsp;Excavator sapphire [https://www.theobroma-systems.com/ Theobroma Systems]: RK3399-Q7 Vmars: ROCK960 = RK3328 Boards = Pine64:&nbsp;ROCK64 Firefly: ROC-RK3328-CC = RK3399Pro&nbsp;Boards = Rockchip:&nbsp;TB-RK3399 &nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;TB-96AI = RK1808 Boards = Rockchip:&nbsp;TB-RK1808 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;TB-96AIoT 39fdf323bcea4a1b01e2231215df317ba0e96cd4 2225 2220 2020-09-24T07:47:24Z Kever 2 wikitext text/x-wiki Here list the sbc boards that purchase available on market. &nbsp; &nbsp; &nbsp; = RK3288 Boards = Amarula Electronics: Vyasa-RK3288 ASUS:&nbsp;Tinker Board Firefly:&nbsp;Firefly-RK3288 PHYTEC: phyCore-RK3288 Pico-ITX: RICO-3288 Radxa: Rock2 &nbsp; = RK3399 Boards = Firefly: Firefly-RK3399 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ROC-RK3399-PC FriendlyARM: Nano PC T4 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;NanoPi NEO4 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;NanoPi M4 Khadas: Edge-rk3399 Lenovo:&nbsp;Leez P710 Orange Pi: Orangepi-rk3399 Pico-ITX: RICO-3399 Pine64: ROCK64pro Radxa:&nbsp;Rock Pi 4 Rockchip: RK3399&nbsp;Excavator sapphire Theobroma Systems: RK3399-Q7 Vmars: ROCK960 = RK3328 Boards = Pine64:&nbsp;ROCK64 Firefly: ROC-RK3328-CC = RK3399Pro&nbsp;Boards = Rockchip:&nbsp;TB-RK3399 &nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;TB-96AI = RK1808 Boards = Rockchip:&nbsp;TB-RK1808 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;TB-96AIoT 70af8eb2b6c371a80e30efa4f5a5d868551b28fd 2226 2225 2020-09-24T07:50:23Z Kever 2 wikitext text/x-wiki Here list the sbc boards that purchase available on the market, they are maintained by the board vendors. &nbsp; = RK3288 Boards = Amarula Electronics: Vyasa-RK3288 ASUS:&nbsp;Tinker Board Firefly:&nbsp;Firefly-RK3288 PHYTEC: phyCore-RK3288 Pico-ITX: RICO-3288 Radxa: Rock2 &nbsp; = RK3399 Boards = Firefly: Firefly-RK3399 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ROC-RK3399-PC FriendlyARM: Nano PC T4 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;NanoPi NEO4 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;NanoPi M4 Khadas: Edge-rk3399 Lenovo:&nbsp;Leez P710 Orange Pi: Orangepi-rk3399 Pico-ITX: RICO-3399 Pine64: ROCK64pro Radxa:&nbsp;Rock Pi 4 Rockchip: RK3399&nbsp;Excavator sapphire Theobroma Systems: RK3399-Q7 Vmars: ROCK960 = RK3328 Boards = Pine64:&nbsp;ROCK64 Firefly: ROC-RK3328-CC = RK3399Pro&nbsp;Boards = Rockchip:&nbsp;TB-RK3399 &nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;TB-96AI = RK1808 Boards = Rockchip:&nbsp;TB-RK1808 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;TB-96AIoT 0bc30c984ba5cf79626714d04bd8f0b7ebb9c14f Excavator sapphire board 0 59 2221 2108 2020-09-24T01:24:16Z Admin 1 wikitext text/x-wiki = {{Infobox | image = [[File:RK3399 Excavator Board.jpg |500px]] }}Documentation = [[Media:RK3399_EVB_User_Guide-20160920.pdf|RK3399 EVB User Guide]] [[Media:Rockchip_RK3399_Excavator_User_Guide_CN_V3.0_20190305.pdf|RK3399 EVB User Guide&nbsp;V3&nbsp;CN]] [[Media:Design_documents.rar|Design documents]] [[Media:Component_datasheet.rar|Component datasheet]] == RK3399 Excavator EVB == [[Media:RK_Excavator_MainBoard.rar|RK_Excavator_MainBoard]] [[Media:RK_Excavator_ExtBoard_MipiDisplay.rar|RK_Excavator_ExtBoard_MipiDisplay]] [[Media:RK_Sapphire_RK3399.rar|RK_Sapphire_RK3399]] = References = &nbsp;&nbsp;[http://www.rock-chips.com/a/en/News/Press_Releases/2017/0224/832.html http://www.rock-chips.com/a/en/News/Press_Releases/2017/0224/832.html] To buy this board call: 4007700590 &nbsp; &nbsp; &nbsp; &nbsp;Email: service@rock-chips.com 0cbcd1db8a32600882584410f52283d3c6a4abe8 2222 2221 2020-09-24T01:24:47Z Admin 1 wikitext text/x-wiki == {{Infobox | image = [[File:RK3399 Excavator Board.jpg |500px]] }}Documentation == [[Media:RK3399_EVB_User_Guide-20160920.pdf|RK3399 EVB User Guide]] [[Media:Rockchip_RK3399_Excavator_User_Guide_CN_V3.0_20190305.pdf|RK3399 EVB User Guide&nbsp;V3&nbsp;CN]] [[Media:Design_documents.rar|Design documents]] [[Media:Component_datasheet.rar|Component datasheet]] == RK3399 Excavator EVB == [[Media:RK_Excavator_MainBoard.rar|RK_Excavator_MainBoard]] [[Media:RK_Excavator_ExtBoard_MipiDisplay.rar|RK_Excavator_ExtBoard_MipiDisplay]] [[Media:RK_Sapphire_RK3399.rar|RK_Sapphire_RK3399]] = References = &nbsp;&nbsp;[http://www.rock-chips.com/a/en/News/Press_Releases/2017/0224/832.html http://www.rock-chips.com/a/en/News/Press_Releases/2017/0224/832.html] To buy this board call: 4007700590 &nbsp; &nbsp; &nbsp; &nbsp;Email: service@rock-chips.com a4c26a2e013eb2d06247261df5bd89b0ce0bbea9 2223 2222 2020-09-24T01:25:07Z Admin 1 wikitext text/x-wiki == {{Infobox | image = [[File:RK3399 Excavator Board.jpg |500px]] }} == == Documentation == [[Media:RK3399_EVB_User_Guide-20160920.pdf|RK3399 EVB User Guide]] [[Media:Rockchip_RK3399_Excavator_User_Guide_CN_V3.0_20190305.pdf|RK3399 EVB User Guide&nbsp;V3&nbsp;CN]] [[Media:Design_documents.rar|Design documents]] [[Media:Component_datasheet.rar|Component datasheet]] == RK3399 Excavator EVB == [[Media:RK_Excavator_MainBoard.rar|RK_Excavator_MainBoard]] [[Media:RK_Excavator_ExtBoard_MipiDisplay.rar|RK_Excavator_ExtBoard_MipiDisplay]] [[Media:RK_Sapphire_RK3399.rar|RK_Sapphire_RK3399]] = References = &nbsp;&nbsp;[http://www.rock-chips.com/a/en/News/Press_Releases/2017/0224/832.html http://www.rock-chips.com/a/en/News/Press_Releases/2017/0224/832.html] To buy this board call: 4007700590 &nbsp; &nbsp; &nbsp; &nbsp;Email: service@rock-chips.com fb54eb209a1f5f333a661b5fa72db64f86989d42 2224 2223 2020-09-24T01:26:42Z Admin 1 wikitext text/x-wiki {{Infobox | image = [[File:RK3399 Excavator Board.jpg |500px]] }}Excavator sapphire is a RK3399 EVB. == Documentation == [[Media:RK3399_EVB_User_Guide-20160920.pdf|RK3399 EVB User Guide]] [[Media:Rockchip_RK3399_Excavator_User_Guide_CN_V3.0_20190305.pdf|RK3399 EVB User Guide&nbsp;V3&nbsp;CN]] [[Media:Design_documents.rar|Design documents]] [[Media:Component_datasheet.rar|Component datasheet]] == RK3399 Excavator EVB == [[Media:RK_Excavator_MainBoard.rar|RK_Excavator_MainBoard]] [[Media:RK_Excavator_ExtBoard_MipiDisplay.rar|RK_Excavator_ExtBoard_MipiDisplay]] [[Media:RK_Sapphire_RK3399.rar|RK_Sapphire_RK3399]] = References = &nbsp;&nbsp;[http://www.rock-chips.com/a/en/News/Press_Releases/2017/0224/832.html http://www.rock-chips.com/a/en/News/Press_Releases/2017/0224/832.html] To buy this board call: 4007700590 &nbsp; &nbsp; &nbsp; &nbsp;Email: service@rock-chips.com 555f0f0199e30f20cf93becbef61367d621c7daf Mpp 0 109 2229 2021-07-12T02:25:00Z Kever 2 wikitext text/x-wiki Multimedia Overview on Rockchip platform '''MPP: Media Process Platform '''is the video codec parser and<span class="_Tgc">Hardware Abstraction Layer library for the Rockchip platforms.</span> &nbsp; == Get source code == You can get mpp source from git.&nbsp; <code>git clone -b release&nbsp;[https://github.com/rockchip-linux/mpp.git https://github.com/rockchip-linux/mpp.git]</code> == Build == === Unix/Linux === If you are using a Debian relation distribution, there is a debian build rulles in the source code. You may check the debian directory for the future information. You may use the following command to build the deb packages, supporting architecture are: armhf, arm64. <code>DEB_BUILD_OPTIONS="parallel=4 nocheck" dpkg-buildpackage -a<arch></code> Please install the all requirement cross compiling tools and Debian packages tools before.&nbsp; You may use the following command to build it in&nbsp;the board: cmake -DRKPLATFORM=ON -DHAVE_DRM=ON && make === Android === Build in Android need android ndk package, usually we use android-ndk-r10d.<br/> &nbsp;&nbsp; &nbsp;you can download ndk from google website and modify ndk path in make-Android.bash. Auto path is<br/> &nbsp;&nbsp; &nbsp;/home/pub/ndk/android-ndk-r10d.<br/> &nbsp;&nbsp; &nbsp;Then, Carry out build/andorid/xx/make-Android.bash. There may be some errors in the first execution<br/> &nbsp;&nbsp; &nbsp;Re-execution make-Android.bash the probelm can be resolved. === Windows === Carry out build/xx-x86_64/build-all.bat and make-solutions.bat &nbsp; == System Diagram == <span style="font-family:courier new,courier,monospace">&nbsp; &nbsp;</span> <span style="font-family:courier new,courier,monospace">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; +---------------------------------------+<br/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; |<br/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; |&nbsp;OpenMax &nbsp;/ libva &nbsp;|<br/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; |<br/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; +---------------------------------------+</span> <span style="font-family:courier new,courier,monospace">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; +-------------------- MPP ----------------------+<br/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; |<br/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | &nbsp; +-------------------------+ &nbsp; &nbsp;+--------+ &nbsp; |<br/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | &nbsp; | &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | &nbsp; &nbsp;| &nbsp; &nbsp; &nbsp; &nbsp;| &nbsp; |<br/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | &nbsp; | &nbsp; &nbsp; &nbsp; &nbsp;MPI / MPP &nbsp; &nbsp; &nbsp; &nbsp;| &nbsp; &nbsp;| &nbsp; &nbsp; &nbsp; &nbsp;| &nbsp; |<br/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | &nbsp; | &nbsp; buffer queue manage &nbsp; | &nbsp; &nbsp;| &nbsp; &nbsp; &nbsp; &nbsp;| &nbsp; |<br/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | &nbsp; | &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | &nbsp; &nbsp;| &nbsp; &nbsp; &nbsp; &nbsp;| &nbsp; |<br/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | &nbsp; +-------------------------+ &nbsp; &nbsp;| &nbsp; &nbsp; &nbsp; &nbsp;| &nbsp; |<br/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;| &nbsp; &nbsp; &nbsp; &nbsp;| &nbsp; |<br/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | &nbsp; +-------------------------+ &nbsp; &nbsp;| &nbsp; &nbsp; &nbsp; &nbsp;| &nbsp; |<br/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | &nbsp; | &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | &nbsp; &nbsp;| &nbsp; &nbsp; &nbsp; &nbsp;| &nbsp; |<br/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | &nbsp; | &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;codec &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;| &nbsp; &nbsp;| &nbsp;OSAL &nbsp;| &nbsp; |<br/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | &nbsp; | &nbsp; &nbsp;decoder / encoder &nbsp; &nbsp;| &nbsp; &nbsp;| &nbsp; &nbsp; &nbsp; &nbsp;| &nbsp; |<br/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | &nbsp; | &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | &nbsp; &nbsp;| &nbsp; &nbsp; &nbsp; &nbsp;| &nbsp; |<br/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | &nbsp; +-------------------------+ &nbsp; &nbsp;| &nbsp; &nbsp; &nbsp; &nbsp;| &nbsp; |<br/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;| &nbsp; &nbsp; &nbsp; &nbsp;| &nbsp; |<br/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | &nbsp; +-----------+ +-----------+ &nbsp; &nbsp;| &nbsp; &nbsp; &nbsp; &nbsp;| &nbsp; |<br/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | &nbsp; | &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | | &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | &nbsp; &nbsp;| &nbsp; &nbsp; &nbsp; &nbsp;| &nbsp; |<br/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | &nbsp; | &nbsp;parser &nbsp; | | &nbsp; &nbsp;HAL &nbsp; &nbsp;| &nbsp; &nbsp;| &nbsp; &nbsp; &nbsp; &nbsp;| &nbsp; |<br/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | &nbsp; | &nbsp;control &nbsp;| | &nbsp;reg_gen &nbsp;| &nbsp; &nbsp;| &nbsp; &nbsp; &nbsp; &nbsp;| &nbsp; |<br/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | &nbsp; | &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | | &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | &nbsp; &nbsp;| &nbsp; &nbsp; &nbsp; &nbsp;| &nbsp; |<br/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | &nbsp; +-----------+ +-----------+ &nbsp; &nbsp;+--------| &nbsp; |<br/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; |<br/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; +-------------------- MPP ----------------------+</span> <span style="font-family:courier new,courier,monospace">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; +---------------------------------------+<br/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; |<br/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;kernel &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; |<br/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | &nbsp; &nbsp; &nbsp; RK vcodec_service / v4l2 &nbsp; &nbsp; &nbsp; &nbsp;|<br/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; |<br/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; +---------------------------------------+</span> == About Mpp == The mpp is a middleware library for Rockchip SoC's cross platform media process.<br/> The main purpose of mpp is to provide very high performance, high flexibility<br/> and expansibility on multimedia (mainly video and image) process. The design target of mpp is to connect different Rockchip hardware kernel driver<br/> and different userspace application. Rockchip has two sets of hardware kernel driver. The first one is vcodec_service/vpu_service/mpp_service which is a high<br/> performance stateless frame base hardware kernel driver. This driver supports<br/> all available codecs that hardware can provide. This driver is used on Android/<br/> Linux. The second one is v4l2 driver which is developed for ChromeOS. It currently<br/> supports H.264/H.265/vp8/vp9. This driver is used on ChomeOS/Linux. Mpp plans to support serval userspace applications including OpenMax,&nbsp;libva. &nbsp; == Mpp Feature == 1. Cross Platform<br/> The target OS platform including Android, Linux, ChromeOS and windows. &nbsp;Mpp uses<br/> cmake to compile on different platform. 2. High Performance<br/> Mpp supports sync / async interface to reduce the time blocked in interface. And<br/> mpp internally make hardware and software run parallelly. When hardware is<br/> running sofware will prepare next hardware task at the same time. 3. High Flexibility<br/> mpi (Media Process Interface) is easy to extend by different control function.<br/> The input/output element packet/frame/buffer is easy to extend different<br/> components. == Mpp Components == === OSAL (Operation System Abstraction Layer) === This module shutters the differences between different operation systems and<br/> provide basic components including memory, time, thread, log and hardware memory<br/> allocator. === MPI (Media Process Interface) / MPP === This module is on charge of interaction with external user. Mpi layer has two<br/> ways for user. The simple way - User can use put/get packet/frame function set.<br/> The advanced way - User has to config MppTask and use dequeue/enqueue funciton<br/> set to communicate with mpp. MppTask can carry different meta data and complete<br/> complex work. === Codec (encoder / decoder) === This module implements the high efficiency internal work flow. The codec module<br/> provides a general call flow for different video format. Software process will<br/> be separated from hardware specified process. The software will communicate with<br/> hardware with a common task interface which combines the buffer information and<br/> codec specified infomation. === Parser/Controller and hal (Hardware Abstraction Layer) === This layer provides the implement function call of different video format and<br/> different hardware. For decoder parser provide the video stream parse function<br/> and output format related syntax structure to hal. The hal will translate the<br/> syntax structure to register set on different hardware. Current hal supports<br/> vcodec_service kernel driver and plan to support v4l2 driver later. &nbsp; &nbsp; == Mpp Kernel Driver == Rockchip has two sets of hardware kernel driver. The first one is vcodec_service/vpu_service/mpp_service which is a high<br/> performance stateless frame base hardware kernel driver. This driver supports<br/> all available codecs that hardware can provide. This driver is used on Android/<br/> Linux. Here is the vcodec_service kernel driver framework diagram. &nbsp; <span style="font-family:courier new,courier,monospace">&nbsp; &nbsp; +-------------+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; +-------------+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; +-------------+<br/> &nbsp; &nbsp; | &nbsp;client &nbsp;A &nbsp;| &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | &nbsp;client &nbsp;B &nbsp;| &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | &nbsp;client &nbsp;C &nbsp;|<br/> &nbsp; &nbsp; +-------------+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; +-------------+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; +-------------+</span> <span style="font-family:courier new,courier,monospace">userspace<br/> +------------------------------------------------------------------------------+<br/> &nbsp;kernel</span> <span style="font-family:courier new,courier,monospace">&nbsp; &nbsp; +-------------+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; +-------------+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; +-------------+<br/> &nbsp; &nbsp; | &nbsp;session A &nbsp;| &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | &nbsp;session B &nbsp;| &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | &nbsp;session C &nbsp;|<br/> &nbsp; &nbsp; +-------------+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; +-------------+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; +-------------+<br/> &nbsp; &nbsp; | &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; |<br/> &nbsp;waiting &nbsp; &nbsp; &nbsp; &nbsp; done &nbsp; &nbsp; &nbsp; &nbsp;waiting &nbsp; &nbsp; &nbsp; &nbsp; done &nbsp; &nbsp; &nbsp; &nbsp;waiting &nbsp; &nbsp; &nbsp; &nbsp; done<br/> &nbsp; &nbsp; | &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; |<br/> +---+---+ &nbsp; &nbsp; +---+---+ &nbsp; &nbsp; +---+---+ &nbsp; &nbsp; +---+---+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; +---+---+<br/> | task3 | &nbsp; &nbsp; | task0 | &nbsp; &nbsp; | task1 | &nbsp; &nbsp; | task0 | &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | task0 |<br/> +---+---+ &nbsp; &nbsp; +-------+ &nbsp; &nbsp; +-------+ &nbsp; &nbsp; +-------+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; +---+---+<br/> &nbsp; &nbsp; | &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; |<br/> +---+---+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; +---+---+<br/> | task2 | &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | task1 |<br/> +-------+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; +-------+<br/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;+-----------+<br/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;| &nbsp;service &nbsp;|<br/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;+---------+-----------+---------+<br/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;| &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; |<br/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; waiting &nbsp; &nbsp; &nbsp; &nbsp; running &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;done<br/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;| &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; |<br/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;+-----+-----+ &nbsp; +-----+-----+ &nbsp; +-----+-----+<br/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;| &nbsp;task A2 &nbsp;| &nbsp; | &nbsp;task A1 &nbsp;| &nbsp; | &nbsp;task C0 &nbsp;|<br/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;+-----+-----+ &nbsp; +-----------+ &nbsp; +-----+-----+<br/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;| &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; |<br/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;+-----+-----+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; +-----+-----+<br/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;| &nbsp;task B1 &nbsp;| &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | &nbsp;task C1 &nbsp;|<br/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;+-----+-----+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; +-----+-----+<br/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;| &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; |<br/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;+-----+-----+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; +-----+-----+<br/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;| &nbsp;task A3 &nbsp;| &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | &nbsp;task A0 &nbsp;|<br/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;+-----------+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; +-----+-----+<br/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;|<br/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;+-----+-----+<br/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;| &nbsp;task B0 &nbsp;|<br/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;+-----------+</span> The principle of this design is to separate user task handling and hardware<br/> resource management and minimize the kernel serial process time between two<br/> hardware process operation. The driver uses session as communication channel. Each userspace client (client)<br/> will have a kernel session. Client will commit tasks to session. Then hardware<br/> is managed by service (vpu_service/vcodec_service). Service will provide the<br/> ability to process tasks in sessions. When client commits a task to kernel the task will be set to waiting status and<br/> link to both session waiting list and service waiting list. Then service will<br/> get task from waiting list to running list and run. When hardware finishs a task<br/> the task will be moved to done list and put to both service done list and<br/> session done list. Finally client will get the finished task from session. &nbsp; &nbsp; == Mpp Buffer == Mpp buffer is the warpper of the buffer used by hardware. Hardware usually can<br/> not use the buffer malloc by cpu. Then we design MppBuffer for different memory<br/> allocator on different platform. Currently it is designed for ion buffer on<br/> Android and drm buffer on Linux. Later may support vb2_buffer in v4l2 devices. In order to manage buffer usage in different user mpp buffer module introduces<br/> MppBufferGroup as bufffer manager. All MppBuffer will connect to its manager.<br/> MppBufferGroup provides allocator service and buffer reuse ability. Different MppBufferGroup has different allocator. And besides normal malloc/free<br/> function the allocator can also accept buffer from external file descriptor. MppBufferGroup has two lists, unused buffer list and used buffer list. When<br/> buffer is free buffer will not be released immediately. Buffer will be moved to<br/> unused list for later reuse. There is a good reason for doing so. When video<br/> resolution comes to 4K the buffer size will be above 12M. It will take a long<br/> time to allocate buffer and generate map table for it. So reusing the buffer<br/> will save the allocate/free time. Here is the diagram of Mpp buffer status transaction. <span style="font-family:courier new,courier,monospace">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; +----------+ &nbsp; &nbsp; +---------+<br/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | &nbsp;create &nbsp;| &nbsp; &nbsp; | &nbsp;commit |<br/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; +-----+----+ &nbsp; &nbsp; +----+----+<br/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; |<br/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; |<br/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;+----v----+<br/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; +----------+ unused &nbsp;<-----------+<br/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;+---------+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; |<br/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;| &nbsp; &nbsp; &nbsp; &nbsp; | &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; |<br/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;| &nbsp; &nbsp; &nbsp; &nbsp; | &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; |<br/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; +-----v----+ &nbsp; &nbsp; | &nbsp; &nbsp; &nbsp; &nbsp; | &nbsp; &nbsp; +-----+----+<br/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | &nbsp;malloc &nbsp;| &nbsp; &nbsp; | &nbsp; &nbsp; &nbsp; &nbsp; | &nbsp; &nbsp; | &nbsp; free &nbsp; |<br/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; +----------+ &nbsp; &nbsp; | &nbsp; &nbsp; &nbsp; &nbsp; | &nbsp; &nbsp; +----------+<br/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | inc_ref &nbsp;| &nbsp; &nbsp; +---------+ &nbsp; &nbsp; | &nbsp;dec_ref |<br/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; +-----+----+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; +-----^----+<br/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;|<br/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;|<br/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;+---------+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; |<br/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; +----------> &nbsp;used &nbsp; +-----------+<br/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;+---------+<br/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;| &nbsp; &nbsp; &nbsp; &nbsp; |<br/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;| &nbsp; &nbsp; &nbsp; &nbsp; |<br/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;| &nbsp; &nbsp; &nbsp; &nbsp; |<br/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;| &nbsp; &nbsp; &nbsp; &nbsp; |<br/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;| &nbsp; &nbsp; &nbsp; &nbsp; |<br/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;+----^----+<br/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; |<br/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; |<br/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;+----+----+<br/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;| import &nbsp;|<br/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;+---------+</span> &nbsp; &nbsp; == Mpp Task == Mpp task is the contain component for transaction with external user in advanced<br/> mode. The target of advanced mode is to provide flexible, multiple input/output<br/> content for extension. Mpp task has mpp_meta as the rich content carrier. Mpp meta uses KEY and value<br/> pair for extension. One task can carries multiple data into or out of mpp.<br/> The typical case is encoder with OSD and motion detection. One task may contain<br/> OSD buffer, motion detection buffer, frame buffer and stream buffer as input and<br/> output stream buffer and motion detection buffer with data. And this case can<br/> also be used on decoder if decoder wants to output some side information. 1. Mpp task queue<br/> Mpp task queue is the manager of tasks. Due to user may incorrectly use the task<br/> we choose the design that hold all task inside mpp. Task queue will create and<br/> release task. But task queue will not interact with user directly. We use port<br/> and task status to control the transaction. 2. Mpp port<br/> Mpp port is the transaction interface of task queue. External user and internal<br/> worker thread will use mpp_port_poll / mpp_port_dequeue / mpp_port_enqueue<br/> interface to poll / dequeue / enqueue the task task queue. Mpp advanced mode is<br/> using port to connect external user, interface storage and internal process<br/> thread. Each task queue has two port: input port and output port. And from a<br/> global view the task will always flow from input port to output port. 3. Mpp task status<br/> There are four status for one task. Mpp use list_head to represent the status. INPUT_PORT&nbsp;: Initial status for input port user to dequeue. Or when output port<br/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;successfully enqueue a task then the task is on this status. INPUT_HOLD&nbsp;: When input port user successfully dequeue a task then the task is<br/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;on this status. OUTPUT_PORT: When input port user successfully enqueue a task then the task is<br/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;on OUTPUT_PORT status. And this task is ready for dequeue from<br/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;output port. OUTPUT_HOLD: When output port user successfully dequeue a task then the task is<br/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;on this status. 4. Mpp task / port transaction<br/> There are three transaction functions on a port: poll / dequeue / enqueue.<br/> When port user call the transaction function task will be transfer from one<br/> status to next status. The status transform flow is unidirectional from input<br/> port to output port. The overall relationship graph of task / port / status is shown below. <span style="font-family:courier new,courier,monospace">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;1. task queue<br/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;+------------------------------+<br/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;| &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;|<br/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; +----+----+ &nbsp;+--------------+ &nbsp;+----+----+<br/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | &nbsp; &nbsp;4 &nbsp; &nbsp;| &nbsp;| &nbsp; &nbsp; &nbsp; 3 &nbsp; &nbsp; &nbsp;| &nbsp;| &nbsp; 2.1 &nbsp; |<br/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;+--------+ dequeue <--+ &nbsp; &nbsp;status &nbsp; &nbsp;<--+ enqueue <---------+<br/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;| &nbsp; &nbsp; &nbsp; &nbsp;| &nbsp; &nbsp; &nbsp; &nbsp; | &nbsp;| &nbsp;INPUT_PORT &nbsp;| &nbsp;| &nbsp; &nbsp; &nbsp; &nbsp; | &nbsp; &nbsp; &nbsp; &nbsp; |<br/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;| &nbsp; &nbsp; &nbsp; &nbsp;+---------+ &nbsp;| &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;| &nbsp;+---------+ &nbsp; &nbsp; &nbsp; &nbsp; |<br/> &nbsp; +------v-----+ &nbsp;| &nbsp; &nbsp; &nbsp; &nbsp; | &nbsp;+--------------+ &nbsp;| &nbsp; &nbsp; &nbsp; &nbsp; | &nbsp;+------+------+<br/> &nbsp; | &nbsp; &nbsp; &nbsp;3 &nbsp; &nbsp; | &nbsp;| &nbsp; &nbsp;2 &nbsp; &nbsp;| &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;| &nbsp; &nbsp;2 &nbsp; &nbsp;| &nbsp;| &nbsp; &nbsp; &nbsp;3 &nbsp; &nbsp; &nbsp;|<br/> &nbsp; | &nbsp; status &nbsp; | &nbsp;| &nbsp;input &nbsp;| &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;| &nbsp;output | &nbsp;| &nbsp; status &nbsp; &nbsp;|<br/> &nbsp; | INPUT_HOLD | &nbsp;| &nbsp; port &nbsp;| &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;| &nbsp; port &nbsp;| &nbsp;| OUTPUT_HOLD |<br/> &nbsp; | &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;| &nbsp;| &nbsp; &nbsp; &nbsp; &nbsp; | &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;| &nbsp; &nbsp; &nbsp; &nbsp; | &nbsp;| &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; |<br/> &nbsp; +------+-----+ &nbsp;| &nbsp; &nbsp; &nbsp; &nbsp; | &nbsp;+--------------+ &nbsp;| &nbsp; &nbsp; &nbsp; &nbsp; | &nbsp;+------^------+<br/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;| &nbsp; &nbsp; &nbsp; &nbsp;+---------+ &nbsp;| &nbsp; &nbsp; &nbsp; 3 &nbsp; &nbsp; &nbsp;| &nbsp;+---------+ &nbsp; &nbsp; &nbsp; &nbsp; |<br/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;| &nbsp; &nbsp; &nbsp; &nbsp;| &nbsp; &nbsp;4 &nbsp; &nbsp;| &nbsp;| &nbsp; &nbsp;status &nbsp; &nbsp;| &nbsp;| &nbsp; 2.1 &nbsp; | &nbsp; &nbsp; &nbsp; &nbsp; |<br/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;+--------> enqueue +--> &nbsp;INPUT_PORT &nbsp;+--> dequeue +---------+<br/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | &nbsp; &nbsp; &nbsp; &nbsp; | &nbsp;| &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;| &nbsp;| &nbsp; &nbsp; &nbsp; &nbsp; |<br/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; +----+----+ &nbsp;+--------------+ &nbsp;-----+----+<br/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;| &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;|<br/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;+------------------------------+</span> On advanced mode mpp uses two task queue: input task queue and output task<br/> queue.<br/> Input task queue connects input side external user to internal worker thread.<br/> Output task queue connects internal worker thread to output side external user.<br/> Then there will be three threads to parallelize internal process and external<br/> transation. This will maximize mpp efficiency. The work flow is demonstrated as below graph. <span style="font-family:courier new,courier,monospace">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; +-------------------+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; +-------------------+<br/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | &nbsp;input side user &nbsp;| &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | output side user &nbsp;|<br/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; +----^---------+----+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; +----^---------+----+<br/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;| &nbsp; &nbsp; &nbsp; &nbsp; | &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | &nbsp; &nbsp; &nbsp; &nbsp; |<br/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; +----+----+----v----+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; +----+----+----v----+<br/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | dequeue | enqueue | &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | dequeue | enqueue |<br/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; +----^----+----+----+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; +----^----+----+----+<br/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;| &nbsp; &nbsp; &nbsp; &nbsp; | &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | &nbsp; &nbsp; &nbsp; &nbsp; |<br/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; +----+---------+----+ &nbsp; &nbsp;MPP &nbsp; &nbsp;+----+---------v----+<br/> &nbsp; &nbsp; &nbsp; &nbsp; +---+ &nbsp; &nbsp; input port &nbsp; &nbsp;+-----------+ &nbsp; &nbsp;output port &nbsp; &nbsp;+---+<br/> &nbsp; &nbsp; &nbsp; &nbsp; | &nbsp; +-------------------+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; +-------------------+ &nbsp; |<br/> &nbsp; &nbsp; &nbsp; &nbsp; | &nbsp; | &nbsp;input task queue | &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | output task queue | &nbsp; |<br/> &nbsp; &nbsp; &nbsp; &nbsp; | &nbsp; +-------------------+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; +-------------------+ &nbsp; |<br/> &nbsp; &nbsp; &nbsp; &nbsp; | &nbsp; | &nbsp; &nbsp;output port &nbsp; &nbsp;| &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | &nbsp; &nbsp; input port &nbsp; &nbsp;| &nbsp; |<br/> &nbsp; &nbsp; &nbsp; &nbsp; | &nbsp; +----+---------^----+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; +----+---------^----+ &nbsp; |<br/> &nbsp; &nbsp; &nbsp; &nbsp; | &nbsp; &nbsp; &nbsp; &nbsp;| &nbsp; &nbsp; &nbsp; &nbsp; | &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | &nbsp; &nbsp; &nbsp; &nbsp; | &nbsp; &nbsp; &nbsp; &nbsp;|<br/> &nbsp; &nbsp; &nbsp; &nbsp; | &nbsp; +----v----+----+----+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; +----v----+----+----+ &nbsp; |<br/> &nbsp; &nbsp; &nbsp; &nbsp; | &nbsp; | dequeue | enqueue | &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | dequeue | enqueue | &nbsp; |<br/> &nbsp; &nbsp; &nbsp; &nbsp; | &nbsp; +----+----+----^----+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; +----+----+----^----+ &nbsp; |<br/> &nbsp; &nbsp; &nbsp; &nbsp; | &nbsp; &nbsp; &nbsp; &nbsp;| &nbsp; &nbsp; &nbsp; &nbsp; | &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | &nbsp; &nbsp; &nbsp; &nbsp; | &nbsp; &nbsp; &nbsp; &nbsp;|<br/> &nbsp; &nbsp; &nbsp; &nbsp; | &nbsp; +----v---------+---------------------v---------+----+ &nbsp; |<br/> &nbsp; &nbsp; &nbsp; &nbsp; | &nbsp; | &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;internal work thread &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | &nbsp; |<br/> &nbsp; &nbsp; &nbsp; &nbsp; | &nbsp; +---------------------------------------------------+ &nbsp; |<br/> &nbsp; &nbsp; &nbsp; &nbsp; | &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; |<br/> &nbsp; &nbsp; &nbsp; &nbsp; +-----------------------------------------------------------+</span> = &nbsp; = = Mpp User Guide = == Multithreading&nbsp; == Mpp don't directly provide thread api, so you should use the correspoding<br/> os interface.<br/> About multithreading encode/decode, something must be done. 1. Resources should apply for multiple copies rather than one, To avoid the<br/> competition of resources 2. The timing of resource release is different, release resource should be done after<br/> a frmae or a packet end to used. For specific details about multithreading, see test/mpi_enc_test and test/mpi_dec_test. == param set == Mpp nees some param to decide work mode, param include MPP, OSAL, CODEC, ISP, HAL&nbsp;<br/> and Mode module cmd. All cmd is define in Inc/Rk_mpi_cmd.h Usually cmd is set after mpp_create and mpp_init, but work mode should be set<br/> before mpp_init. you need to indicate work mode(single or advanced) to help mpp cho<br/> se thread. <pre>typedef enum { &nbsp; &nbsp; MPP_OSAL_CMD_BASE &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; = CMD_MODULE_OSAL, &nbsp; &nbsp; MPP_OSAL_CMD_END, &nbsp; &nbsp; MPP_CMD_BASE &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;= CMD_MODULE_MPP, &nbsp; &nbsp; MPP_ENABLE_DEINTERLACE, &nbsp; &nbsp; MPP_SET_INPUT_BLOCK, &nbsp; &nbsp; MPP_SET_OUTPUT_BLOCK, &nbsp; &nbsp; MPP_CMD_END, &nbsp; &nbsp; MPP_CODEC_CMD_BASE &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;= CMD_MODULE_CODEC, &nbsp; &nbsp; MPP_CODEC_GET_FRAME_INFO, &nbsp; &nbsp; MPP_CODEC_CMD_END, &nbsp; &nbsp; MPP_DEC_CMD_BASE &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;= CMD_MODULE_CODEC | CMD_CTX_ID_DEC, &nbsp; &nbsp; MPP_DEC_SET_FRAME_INFO, &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; /* vpu api legacy control for buffer slot dimension init */ &nbsp; &nbsp; MPP_DEC_SET_EXT_BUF_GROUP, &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;/* IMPORTANT: set external buffer group to mpp decoder */ &nbsp; &nbsp; MPP_DEC_SET_INFO_CHANGE_READY, &nbsp; &nbsp; MPP_DEC_SET_INTERNAL_PTS_ENABLE, &nbsp; &nbsp; MPP_DEC_SET_PARSER_SPLIT_MODE, &nbsp; &nbsp; &nbsp;/* Need to setup before init */ &nbsp; &nbsp; MPP_DEC_SET_PARSER_FAST_MODE, &nbsp; &nbsp; &nbsp; /* Need to setup before init */ &nbsp; &nbsp; MPP_DEC_GET_STREAM_COUNT, &nbsp; &nbsp; MPP_DEC_GET_VPUMEM_USED_COUNT, &nbsp; &nbsp; MPP_DEC_SET_VC1_EXTRA_DATA, &nbsp; &nbsp; MPP_DEC_SET_OUTPUT_FORMAT, &nbsp; &nbsp; MPP_DEC_CMD_END, &nbsp; &nbsp; MPP_ENC_CMD_BASE &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;= CMD_MODULE_CODEC | CMD_CTX_ID_ENC, &nbsp; &nbsp; /* basic encoder setup control */ &nbsp; &nbsp; MPP_ENC_SET_ALL_CFG, &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;/* set MppEncCfgSet structure */ &nbsp; &nbsp; MPP_ENC_GET_ALL_CFG, &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;/* get MppEncCfgSet structure */ &nbsp; &nbsp; MPP_ENC_SET_PREP_CFG, &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; /* set MppEncPrepCfg structure */ &nbsp; &nbsp; MPP_ENC_GET_PREP_CFG, &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; /* get MppEncPrepCfg structure */ &nbsp; &nbsp; MPP_ENC_SET_RC_CFG, &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; /* set MppEncRcCfg structure */ &nbsp; &nbsp; MPP_ENC_GET_RC_CFG, &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; /* get MppEncRcCfg structure */ &nbsp; &nbsp; MPP_ENC_SET_CODEC_CFG, &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;/* set MppEncCodecCfg structure */ &nbsp; &nbsp; MPP_ENC_GET_CODEC_CFG, &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;/* get MppEncCodecCfg structure */ &nbsp; &nbsp; /* runtime encoder setup control */ &nbsp; &nbsp; MPP_ENC_SET_IDR_FRAME, &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;/* next frame will be encoded as intra frame */ &nbsp; &nbsp; MPP_ENC_SET_OSD_PLT_CFG, &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;/* set OSD palette, parameter should be pointer to&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;MppEncOSDPlt */ &nbsp; &nbsp; MPP_ENC_SET_OSD_DATA_CFG, &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; /* set OSD data with at most 8 regions, parameter&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;should be pointer to MppEncOSDData */ &nbsp; &nbsp; MPP_ENC_GET_OSD_CFG, &nbsp; &nbsp; MPP_ENC_SET_EXTRA_INFO, &nbsp; &nbsp; MPP_ENC_GET_EXTRA_INFO, &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; /* get vps / sps / pps from hal */ &nbsp; &nbsp; MPP_ENC_SET_SEI_CFG, &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;/* SEI: Supplement Enhancemant Information, parameter&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;is MppSeiMode */ &nbsp; &nbsp; MPP_ENC_GET_SEI_DATA, &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; /* SEI: Supplement Enhancemant Information, parameter &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;is MppPacket */ &nbsp; &nbsp; MPP_ENC_CMD_END, &nbsp; &nbsp; MPP_ISP_CMD_BASE &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;= CMD_MODULE_CODEC | CMD_CTX_ID_ISP, &nbsp; &nbsp; MPP_ISP_CMD_END, &nbsp; &nbsp; MPP_HAL_CMD_BASE &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;= CMD_MODULE_HAL, &nbsp; &nbsp; MPP_HAL_CMD_END, &nbsp; &nbsp; MPI_CMD_BUTT, } MpiCmd; you can call like this. ret = mpi->control(ctx, xx_xx_cmd, &data); </pre> &nbsp; &nbsp; &nbsp; == Rate Control == Mpp support three mode of rate control, CBR(constant bitrate),VBR(variable&nbsp;<br/> bitrate) and CQP(FIX QP). &nbsp;Mpp control rate according to the set of three&nbsp;<br/> parameters, include MppEncCodecCfg, MppEncPrepCfg and MppEncRcCfg. <pre>MppEncPrepCfg +-----------+----------------------------------------+ | param &nbsp; | &nbsp;effect &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;| | &nbsp; &nbsp; &nbsp; | &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | +----------------------------------------------------+ | &nbsp; &nbsp; &nbsp; | &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;| | format &nbsp;| &nbsp;input pix format, such as NV12, RGB24| | &nbsp; &nbsp; &nbsp; | &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;| +----------------------------------------------------+ | &nbsp; &nbsp; &nbsp; | &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;| | width &nbsp; | &nbsp;wdith of picture &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;| | &nbsp; &nbsp; &nbsp; | &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;| +----------------------------------------------------+ | &nbsp; &nbsp; &nbsp; | &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;| | height &nbsp; | &nbsp;height of picture &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | | &nbsp; &nbsp; &nbsp; | &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;| +----------------------------------------------------+ | &nbsp; &nbsp; &nbsp; | &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;| | stride &nbsp; | &nbsp;span of a line in picture, must align| | &nbsp; &nbsp; &nbsp; | &nbsp;in 8 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;| +-----------+----------------------------------------+ MppEncRcCfg +-----------+----------------------------------------+ | param &nbsp; | &nbsp;effect &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;| | &nbsp; &nbsp; &nbsp; | &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;| +----------------------------------------------------+ | &nbsp; &nbsp; &nbsp; | &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;| | rc_mode &nbsp;| &nbsp;0:CBR &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | | &nbsp; &nbsp; &nbsp; | &nbsp;1:VBR &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | +----------------------------------------------------+ | &nbsp; &nbsp; &nbsp; | &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | | bps_target| &nbsp;target bitrate &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | | &nbsp; &nbsp; &nbsp; | &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;| +----------------------------------------------------+ | &nbsp; &nbsp; &nbsp; | &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; | |bps_max/min &nbsp;max/min value of target bitrate &nbsp; &nbsp; | | &nbsp; &nbsp; &nbsp; | &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | +----------------------------------------------------+ | &nbsp; &nbsp; &nbsp; | &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; | |fps_in_num | &nbsp;input frame rate / denorm &nbsp; &nbsp; &nbsp; &nbsp;| | /denorm | &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | +----------------------------------------------------+ | &nbsp; &nbsp; &nbsp; | &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;| |fps_out_num &nbsp;output frame rate / denorm &nbsp; &nbsp; &nbsp; &nbsp;| | /denorm | &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | +----------------------------------------------------+ | gop &nbsp; &nbsp; | &nbsp;group of picture, usually set as 4 * | | &nbsp; &nbsp; &nbsp; | &nbsp;fps &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | +-----------+----------------------------------------+ | &nbsp; &nbsp; &nbsp; | &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;| | uality &nbsp; | profile of VBR mode, worst,worse, &nbsp; &nbsp;| | &nbsp; &nbsp; &nbsp; | medium,better,best and CQP,note that | | &nbsp; &nbsp; &nbsp; | it will let qp_max/qp_min lose effect. | | &nbsp; &nbsp; &nbsp; | &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;| | &nbsp; &nbsp; &nbsp; | {31, &nbsp; &nbsp; &nbsp; 51}, // worst &nbsp; &nbsp; &nbsp; | | &nbsp; &nbsp; &nbsp; | {28, &nbsp; &nbsp; &nbsp; 46}, // worse &nbsp; &nbsp; &nbsp; | | &nbsp; &nbsp; &nbsp; | {24, &nbsp; &nbsp; &nbsp; 42}, // medium &nbsp; &nbsp; &nbsp;&nbsp;| | &nbsp; &nbsp; &nbsp; | {20, &nbsp; &nbsp; &nbsp; 39}, // better &nbsp; &nbsp; &nbsp;| | &nbsp; &nbsp; &nbsp; | {16, &nbsp; &nbsp; &nbsp; 35}, // best &nbsp; &nbsp; &nbsp; &nbsp; | | &nbsp; &nbsp; &nbsp; | {0, &nbsp; &nbsp; &nbsp; &nbsp; 0}, // cqp &nbsp; &nbsp; &nbsp; &nbsp; | | &nbsp; &nbsp; &nbsp; | cqp means use qp_init,qp will be const | | &nbsp; &nbsp; &nbsp; | in each frame. &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | +-----------+----------------------------------------+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; MppEncCodecCfg +-----------+----------------------------------------+ | param &nbsp; | &nbsp;effect &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | | &nbsp; &nbsp; &nbsp; | &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | +----------------------------------------------------+ | &nbsp; &nbsp; &nbsp; | &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;| | qp_init &nbsp;| &nbsp;usually set as 33, if set at 0, mpp | | &nbsp; &nbsp; &nbsp; | &nbsp;will estimate it by width,height... | +----------------------------------------------------+ | &nbsp; &nbsp; &nbsp; | &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;| | qp_min/qp_| &nbsp;min/max value of qp &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | | max &nbsp; &nbsp; | &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;| +----------------------------------------------------+ | &nbsp; &nbsp; &nbsp; | &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;| | qp_max_step &nbsp;The maximum range of QP differences | | &nbsp; &nbsp; &nbsp; | &nbsp;between two frames &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;| +----------------------------------------------------+ | &nbsp;profile | &nbsp;44 &nbsp; CAVLC 4:4:4 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;| | &nbsp; &nbsp; &nbsp; | &nbsp;66 &nbsp; Baseline &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | | &nbsp; &nbsp; &nbsp; | &nbsp;77 &nbsp; Main &nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | | &nbsp; &nbsp; &nbsp; | &nbsp;88 &nbsp; Extended &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | | &nbsp; &nbsp; &nbsp; | &nbsp;100 &nbsp;High (suggest) &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | +----------------------------------------------------+ | &nbsp;level &nbsp;| &nbsp;10 &nbsp; Level 1.0 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;| | &nbsp; &nbsp; &nbsp; | &nbsp;99 &nbsp; Level 1.b &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | | &nbsp; &nbsp; &nbsp; | &nbsp;11 &nbsp; Level 1.1 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | | &nbsp; &nbsp; &nbsp; | &nbsp;12 &nbsp; Level 1.2 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | | &nbsp; &nbsp; &nbsp; | &nbsp;13 &nbsp; Level 1.3 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | | &nbsp; &nbsp; &nbsp; | &nbsp;20 &nbsp; Level 2.0 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | | &nbsp; &nbsp; &nbsp; | &nbsp;21 &nbsp; Level 2.1 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | | &nbsp; &nbsp; &nbsp; | &nbsp;22 &nbsp; Level 2.2 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | | &nbsp; &nbsp; &nbsp; | &nbsp;30 &nbsp; Level 3.0 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | | &nbsp; &nbsp; &nbsp; | &nbsp;31 &nbsp; Level 3.1 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | | &nbsp; &nbsp; &nbsp; | &nbsp;32 &nbsp; Level 3.2 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | | &nbsp; &nbsp; &nbsp; | &nbsp;40 &nbsp; Level 4.0 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | | &nbsp; &nbsp; &nbsp; | &nbsp;41 &nbsp; Level 4.1 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | | &nbsp; &nbsp; &nbsp; | &nbsp;42 &nbsp; Level 4.2 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | | &nbsp; &nbsp; &nbsp; | &nbsp;50 &nbsp; Level 5.0 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;| | &nbsp; &nbsp; &nbsp; | &nbsp;51 &nbsp; Level 5.1 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;| +-----------+----------------------------------------+ | entroy_cod| &nbsp;entroy code mode 1:CAVLC &nbsp; &nbsp; &nbsp; &nbsp; | | ing_mode | &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 0:CABAC &nbsp; &nbsp; &nbsp; &nbsp;| +----------------------------------------------------+ | cabac_init| &nbsp;effect when entroy mode is CABAC &nbsp; | | _idc &nbsp; &nbsp;| &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;| +-----------+----------------------------------------+</pre> &nbsp; === 1. CBR === In CBR mode, the bitrate of encoded data is controlled whtnin the configured maximum<br/> bit rate and the minimum bitrate range. <pre>suggest param +-----------+----------------------------------------+ | param &nbsp; | &nbsp;effect &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | | &nbsp; &nbsp; &nbsp; | &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;| +----------------------------------------------------+ | &nbsp; &nbsp; &nbsp; | &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | | rc_mode &nbsp;| MPP_ENC_RC_MODE_CBR &nbsp; &nbsp; &nbsp; &nbsp; | +----------------------------------------------------+ | qp_init &nbsp;| 0(suggest, mpp internal will set it) | | &nbsp; &nbsp; &nbsp; | 24(high bitrate) &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | | &nbsp; &nbsp; &nbsp; | 32(medium bitrate) &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | | &nbsp; &nbsp; | 40(low bitrate) &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | +----------------------------------------------------+ | qp_min &nbsp; | suggest 0, mpp internal will set at 16 | | &nbsp; &nbsp; &nbsp; | &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | +----------------------------------------------------+ | qp_max &nbsp; | suggest 0, mpp internal will set at 48 | | &nbsp; &nbsp; &nbsp;&nbsp;| &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | +-----------+----------------------------------------+ | qp_max_step 16 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | +----------------------------------------------------+</pre> === 2. VBR === In VBR mode, mpp will try to keep the video quality stable and make the code rate of<br/> the encoded file fluctuate as much as possible within the given maximum and minimum<br/> bit rate ranges. <pre>suggest param +-----------+----------------------------------------+ | param &nbsp; | &nbsp;effect &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | | &nbsp; &nbsp; &nbsp; | &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;| +----------------------------------------------------+ | rc_mode | &nbsp; MPP_ENC_RC_MODE_VBR &nbsp; &nbsp; &nbsp; | +----------------------------------------------------+ | quality &nbsp;| &nbsp;worst(very low bitrate) &nbsp; &nbsp; &nbsp; &nbsp; | | &nbsp; &nbsp; &nbsp; | &nbsp;worse(low bitrate) &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | | &nbsp; &nbsp; &nbsp; | &nbsp;medium(medium bitrate) &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;| | &nbsp; &nbsp; &nbsp; | &nbsp;better(high bitrate) &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | | &nbsp; &nbsp; | &nbsp;best(very high bitrate) &nbsp; &nbsp; &nbsp; &nbsp; | | &nbsp; &nbsp; &nbsp; | &nbsp;CQP(const qp,rate control lose effect| +----------------------------------------------------+ | qp_init &nbsp;| &nbsp;0(suggest, mpp internal estimate) &nbsp; | | &nbsp; &nbsp; &nbsp; | &nbsp;24(high bitrate) &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;| | &nbsp; &nbsp; &nbsp; | &nbsp;32(medium bitrate) &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | | &nbsp; &nbsp; &nbsp; | &nbsp;40(low bitrate) &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | +----------------------------------------------------+ | qp_min &nbsp; | &nbsp;0 | +----------------------------------------------------+ | qp_max &nbsp; | &nbsp;0 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | +-----------+----------------------------------------+ | qp_max_step &nbsp;8, set at 0 when CQP &nbsp; | +----------------------------------------------------+ </pre> &nbsp; == Mpp Interface Use == 1. MPP_RET Mpp::put_packet(MppPacket packet)<br/> Is packaged as mpi->put_packet, and for interact with internal packet list in decoder. 2. MPP_RET Mpp::get_frame(MppFrame *frame)<br/> Is packaged as mpi->get_frame, and for interact with internal frame list in decoder. you can<br/> call like this when decode.<br/> &nbsp;&nbsp; &nbsp;mpi->put_packet<br/> &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;|<br/> &nbsp;&nbsp; &nbsp;mpi->get_frame 3. MPP_RET Mpp::put_frame(MppFrame frame)<br/> Is packaged as mpi->put_frame, and for interact with internal frame list in encoder. 4. MPP_RET Mpp::get_packet(MppPacket *packet)<br/> Is packaged as mpi->get_packet, and for interact eith internal packet list in encoder. you can<br/> call like this when encode.<br/> &nbsp;&nbsp; &nbsp;mpi->put_frame<br/> &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;|<br/> &nbsp;&nbsp; &nbsp;mpi->get_packet 5. MPP_RET Mpp::poll(MppPortType type, MppPollType timeout)<br/> Is packaged as mpi->poll, poll usually used in task mode(advance mode). poll will check internal<br/> task list, if MPP_INPUT_PORT/MPP_OUTPUT_PORT is empty, poll will block util task list get node,<br/> else poll will return immediately. about how does task modework, please see doc/design/4.mpp_task.txt 6. MPP_RET Mpp::dequeue(MppPortType type, MppTask *task)<br/> Is packaged as mpi->dequeue, will get a task with multiple data. when port is MPP_INPUT_PORT, get a<br/> task to set. when port is MPP_OUTPUT_PORT, get a task with encoded data. 7. &nbsp;MPP_RET Mpp::enqueue(MppPortType type, MppTask task)<br/> Is packaged as mpi->enqueue, will send a task to internal task list, so that list get a node. you<br/> can call like this when encode.<br/> &nbsp;&nbsp; &nbsp;mpi->poll(input, xx)<br/> &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;|<br/> &nbsp;&nbsp; &nbsp;mpi->dequeue(input, xx)<br/> &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;|<br/> &nbsp;&nbsp; &nbsp;mpi->enqueue(input, xx)<br/> &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;|<br/> &nbsp;&nbsp; &nbsp;mpi->poll(output, xx)<br/> &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;|<br/> &nbsp;&nbsp; &nbsp;mpi->dequeue(output, xx)<br/> &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;|<br/> &nbsp;&nbsp; &nbsp;mpi->enqueue(output, xx)<br/> 8. MPP_RET Mpp::control(MpiCmd cmd, MppParam param)<br/> Is packaged as mpi->control, will change mpp param. About how to use mpp encode/decode, please test/mpi_encode_test.c and test/mpi_decode_test.c = Mpp Development Reference Manual = [http://opensource.rock-chips.com/wiki_File:MPP_Development_Reference.pdf http://opensource.rock-chips.com/wiki_File:MPP_Development_Reference.pdf] = Mpp Development Guide (CN) = [http://opensource.rock-chips.com/wiki_File:MPP_开发参考_v0.3.pdf http://opensource.rock-chips.com/wiki_File:MPP_%E5%BC%80%E5%8F%91%E5%8F%82%E8%80%83_v0.3.pdf] 274aafa2f6dd069bce093b5c115c4f1549e3474e RK3328 0 24 2230 2129 2022-03-23T01:38:57Z Kever 2 wikitext text/x-wiki {{Infobox SoC | title = RK3328 | image = [[File:rk3328_soc.png|250px]] | manufacturer = Rockchip | process = 28nm | cpu = Quad-Core ARM Cortex-A53 | ltwo = | extensions = | memory = DDR3/DDR3L/LPDDR3/DDR4 | gpu = Mali-450MP4 | vpu = 4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps | apu = | video = HDMI 2.0a, | audio = 8 channels I2S/PDM | storage = 4x SD Card, eMMC | usb = 1* USB2.0 otg, 1* USB 2.0 Host, 1* USB 3.0 Host | other = | release_date = December 2016 | website = http://www.rock-chips.com/a/en/products/RK33_Series/2017/0118/829.html | Product Page }} &nbsp; &nbsp; &nbsp; = Overview = RK3328 offers a high-integration and power efficiency&nbsp;SOC for 4K HDR OTT/IPTV. It support HDR10 ,HLG HDR ,&nbsp;4K 10bits 30fps H.264 video decoder and 4K 10bits 60fps H265 video decoder.Comply with lots of high-performance interface,such as multi-channel display with HDMI2.0a, TV Encoder, the Quad-core GPU can acheive&nbsp;high-resolution display and game. == Cortex-A53 == Quad-core Cortex-A53 is integrated with separate Neon and FPU coprocessor, also with shared L2 Cache.&nbsp; [[File:3328.png|RTENOTITLE]] = RK3328 SoC Features = {| border="0" cellpadding="1" cellspacing="1" style="width: 972px;" |- | style="width: 530px;" | *CPU: **ARM Cortex-A53&nbsp;Quad-Core&nbsp; **32KB L1&nbsp;I cache and D cache for each CPU **256KB L2 cache *Internal SRAM **32KB total *GPU **&nbsp;Mali-450MP2 **Comply with Open GL ES1.1/2.0 *Multi-Media: **4K VP9 and 4K 10bits H265/H264 video decode, up to 60fps **1080P other video decoders (VC-1, MPEG-1/2/4, VP8) **1080P video encoder for H.264 and H.265 **Support HDR10 ,HLG HDR , Support conversion between SDR and HDR *Display: **HDMI 2.0a for 4K@60Hz with HDCP 1.4/2.2 **Support conversion between Rec.2020 and Rec.709 *Memory: **LPDDR3/DDR3/DDR3L/DDR4 **eMMC 4.51,SDCard, SPI Flash *External interface **USB 2.0 x2 and USB 3.0 x1 **100M Ethernet w/ built-in PHY **Built-in CVBS and audio DAC **8 channels I2S IO and 8 chanel digital PDM input (for MIC array) | style="width: 429px;" | &nbsp; |} &nbsp; = Documentation = #[http://opensource.rock-chips.com/images/d/d7/Rockchip_RK3328_Datasheet_V1.1-20170309.pdf Rockchip_RK3328_Datasheet_V1.1-20170309.pdf] #[http://opensource.rock-chips.com/images/d/d5/RK3328_Linux-Debian_V1.1_Development_Guide-20170711.pdf RK3328_Linux-Debian_V1.1_Development_Guide-20170711.pdf] #[[Media:Rockchip_RK3328TRM_V1.1-Part1-20170321.pdf|Rockchip RK3328TRM V1.1-Part1-20170321.pdf]] #[[Media:Rk3328_hardware_reference.zip|Rk3328 hardware reference.zip]] &nbsp; = Software = See&nbsp;[http://opensource.rock-chips.com/wiki_Linux_user_guide Linux User Guide]&nbsp;setup LInux OS generally; See&nbsp;[http://opensource.rock-chips.com/wiki_U-Boot U-Boot]&nbsp;guide to develop U-Boot; See&nbsp;[http://opensource.rock-chips.com/wiki_Rockchip_Kernel Rockchip kernel]&nbsp;to develop kernel; See&nbsp;[http://opensource.rock-chips.com/wiki_Buildroot buildroot and]&nbsp;[http://opensource.rock-chips.com/wiki_Debian debian&nbsp;to]&nbsp;develop and rootfs. &nbsp; == Chip configuration == {| border="1" cellpadding="1" cellspacing="1" class="table_style" |- ! '''chip''' ! '''Kernel eMMC index''' ! '''Kernel SD index''' ! '''Uboot eMMC index''' ! '''Uboot SD index''' ! '''Baud speed''' |- | RK3328 | 2 | 0 | 0 | 1 | 1500000 |} &nbsp; = References = 1.[https://en.wikipedia.org/wiki/ARM_Cortex-A53 https://en.wikipedia.org/wiki/ARM_Cortex-A53] &nbsp; 0e4671904e04595562feb67848b7f69948460d75 File:RK3568 hardware reference 20220806.zip 6 247 2231 2022-10-13T07:32:39Z Admin 1 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 File:Rockchip RK3568 TRM Part1 V1.3-20220930P.PDF 6 249 2233 2022-10-13T07:34:38Z Admin 1 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 File:Rockchip RK3568 Datasheet V1.3-20220929P.PDF 6 250 2234 2022-10-13T07:37:39Z Admin 1 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 RK3568 0 251 2237 2022-10-13T08:03:46Z Admin 1 Created page with " &nbsp; {| border="0" cellpadding="1" cellspacing="1" class="infobox" style="width: 300px;" |- | [[File:RK3568 Soc.png|RTENOTITLE]] |} = Overview = &nbsp; = SoC Features =..." wikitext text/x-wiki &nbsp; {| border="0" cellpadding="1" cellspacing="1" class="infobox" style="width: 300px;" |- | [[File:RK3568 Soc.png|RTENOTITLE]] |} = Overview = &nbsp; = SoC Features = {| border="0" cellpadding="1" cellspacing="1" style="width: 972px;" |- | style="width: 530px;" | *CPU: **Quad-Core ARM Cortex-A55,up to 2.0GHz *GPU: **&nbsp;ARM G52 2EE **Support OpenGL ES 1.1/2.0/3.2,OpenCL 2.0,Vulkan 1.1 **High performance dedicated 2D processor *NPU: **Support 1T *Multi-Media: **&nbsp;Support 4K 60fps H.265/H.264/VP9 decoder **Support 1080P 60fps H.265/H.264 encoder **Support 8M ISP with HDR *Display: **Support multi-display **Support eDp/HDMI2.0/MIPI/LVDS/24bit RGB/EBC *Interface: **Support USB2.0/USB3.0/PCIE3.0/PCIE2.1/SATA3.0/QSGMII &nbsp; |} [[Category:Pages with broken file links]] 13feac64b07d8b37d4748cbfc6860640b00eff4c 2239 2237 2022-10-13T08:05:59Z Admin 1 wikitext text/x-wiki &nbsp; {| border="0" cellpadding="1" cellspacing="1" class="infobox" style="width: 300px;" |- | [[File:RK3568 Soc.png|RTENOTITLE]] |} = Overview = &nbsp; = SoC Features = {| border="0" cellpadding="1" cellspacing="1" style="width: 972px;" |- | style="width: 530px;" | *CPU: **Quad-Core ARM Cortex-A55,up to 2.0GHz *GPU: **&nbsp;ARM G52 2EE **Support OpenGL ES 1.1/2.0/3.2,OpenCL 2.0,Vulkan 1.1 **High performance dedicated 2D processor *NPU: **Support 1T *Multi-Media: **&nbsp;Support 4K 60fps H.265/H.264/VP9 decoder **Support 1080P 60fps H.265/H.264 encoder **Support 8M ISP with HDR *Display: **Support multi-display **Support eDp/HDMI2.0/MIPI/LVDS/24bit RGB/EBC *Interface: **Support USB2.0/USB3.0/PCIE3.0/PCIE2.1/SATA3.0/QSGMII &nbsp; |} &nbsp; 2ae9171456c417f54403130b74bf735111892635 File:RK3568 Soc.png 6 252 2238 2022-10-13T08:04:02Z Admin 1 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 File:Rockchip RK1808 TRM Part1 V1.21--20190826 open source.rar 6 253 2241 2023-02-24T01:48:58Z Admin 1 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709